Magma API (1.0.0)

Download OpenAPI specification:Download

API support: [email protected]

Integrate Magma into your workflow. Fetch and upload assets, manage teams and feedback.
API is available for all paid Artspaces. To get the API token go to the API page under Profile.

For commercial questions please contact [email protected].

Glossary:

  • Entity - it is a user-created asset, could mean a Drawing, Folder or other content
  • Team - it's a technical definition for an Artspace
  • Entity with a Team set to null - such assets display as being part of the author's Artdesk

Resources:

Get user profile

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "avatar": "string",
  • "name": "string",
  • "email": "string",
  • "pro": true,
  • "newsletter": true,
  • "oauthOnly": true,
  • "createdAt": "string"
}

Get teams and projects

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0,
  • "data": [
    ]
}

Retrieve a specific team

Authorizations:
bearerAuth
path Parameters
id
required
string

Team Id

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0,
  • "_id": "string",
  • "name": "string",
  • "owner": {
    },
  • "pro": null,
  • "featureFlags": [
    ],
  • "slug": null,
  • "authorizations": [
    ],
  • "projects": [
    ]
}

Update team name

Authorizations:
bearerAuth
path Parameters
id
required
string

Team Id

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0
}

Get members of team

Authorizations:
bearerAuth
path Parameters
id
required
string

Team Id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update team member permission

Authorizations:
bearerAuth
path Parameters
id
required
string

Team Id

memberId
required
string

Team member's user Id

Request Body schema: application/json
permission
string
Enum: "read_only" "read_write"

Responses

Request samples

Content type
application/json
{
  • "permission": "read_only"
}

Remove a team member

Authorizations:
bearerAuth
path Parameters
id
required
string

Team Id

memberId
required
string

Team member's user Id. Or use "me" to remove self.

Responses

Create a new project

Authorizations:
bearerAuth
Request Body schema: application/json
name
required
string
team
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "team": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0,
  • "data": {
    }
}

Retrieve project

Authorizations:
bearerAuth
path Parameters
id
required
string

Project Id

query Parameters
folder
string

_id of folder

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0,
  • "data": {
    }
}

Update project

Authorizations:
bearerAuth
path Parameters
id
required
string

Project Id

Request Body schema: application/json
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0
}

Delete project

Authorizations:
bearerAuth
path Parameters
id
required
string

Project Id

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "processingTime": 0,
  • "statusCode": 0
}

Get private entities

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create entity

Authorizations:
bearerAuth
Request Body schema: application/json
Any of
type
"Folder"
name
required
string
project
string

_id of project

team
string

_id of team

Responses

Request samples

Content type
application/json
Example
{
  • "type": null,
  • "name": "string",
  • "project": "string",
  • "team": "string"
}

Move entities into project

Authorizations:
bearerAuth
Request Body schema: application/json
project
required
string
entities
required
Array of strings

Array of entity short ids (entity.shortId)

Responses

Request samples

Content type
application/json
{
  • "project": "string",
  • "entities": [
    ]
}

Response samples

Content type
application/json
{
  • "failure": {
    },
  • "success": [
    ]
}

Get entity by id

Authorizations:
bearerAuth
path Parameters
_id
required
string

Entity Id

Responses

Response samples

Content type
application/json
Example
{
  • "type": null,
  • "children": 0,
  • "_id": "string",
  • "shortId": "string",
  • "privateId": "string",
  • "name": "string",
  • "author": {
    },
  • "collaborators": [
    ],
  • "permission": "read_only",
  • "accessInfo": 0,
  • "teamAccess": 0,
  • "createdAt": "2019-08-24",
  • "updatedAt": "2019-08-24",
  • "archived": true
}

Edit entity

Authorizations:
bearerAuth
path Parameters
_id
required
string

Entity Id

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Delete entity

Authorizations:
bearerAuth
path Parameters
_id
required
string

Entity Id

Responses

Import entity from file

Import entity from file

Authorizations:
bearerAuth
path Parameters
_id
required
string

Entity Id

Request Body schema: multipart/form-data
Any of
name
string
project
string
team
string
type
"Drawing"
file
binary

Responses