Workspaces

Workspaces are used to divide up your organization into sub-categories such as departments. They can also be used to set up e.g. 'dev' and 'prod' workspaces for environment promotion.

List Workspaces

get/core/v1/workspaces

Lists all workspaces the token has access to i.e. will return all workspaces from the Tray Organization if the Org scope token is used, a single workspace for the workspace scoped token.

SecuritybearerAuth
Request
query Parameters
cursor
string

The cursor token for page starting point

first
integer <int32> > 0

The page size, in a forwards direction, with a maximum of 100. Default direction if last not defined

last
integer <int32> > 0
Array of Embedded (object) or Organization (object) or Personal (object) or PersonalExternal (object) or Shared (object) (WorkspaceType)

Filter by workspace type

header Parameters
Authorization
required
string

The authorization token.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Responses
200
Response Schema: application/json
Array of objects (WorkspaceExternalApiModel)
required
object (ExternalApiPageInfoModel)
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{
  • "elements": [
    • {
      • "id": "string",
      • "name": "string",
      • "type": { },
      • "description": "string",
      • "monthlyTaskLimit": 0
      }
    ],
  • "pageInfo": {
    • "startCursor": "string",
    • "endCursor": "string",
    • "hasNextPage": true,
    • "hasPreviousPage": true
    }
}

Get Workspace

get/core/v1/workspaces/{workspaceId}

Gets a workspace by Id.

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace

header Parameters
Authorization
required
string

The authorization token. You must use either an org scoped token or a token that has viewer or higher permission in the workspace you are trying to access.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Responses
200
Response Schema: application/json
id
required
string
name
required
string
required
Embedded (object) or Organization (object) or Personal (object) or PersonalExternal (object) or Shared (object) (WorkspaceType)
description
string
monthlyTaskLimit
integer <int64>
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": { },
  • "description": "string",
  • "monthlyTaskLimit": 0
}

List Users from a Workspace

get/core/v1/workspaces/{workspaceId}/users

List all users in the workspace

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace to list users

query Parameters
cursor
string

The cursor token for page starting point

first
integer <int32> > 0

The page size, in a forwards direction, with a maximum of 100. Default direction if last not defined

last
integer <int32> > 0
header Parameters
Authorization
required
string

The authorization token. You must use either an org scoped token or a token that has viewer or higher permission in the given workspace.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Responses
200
Response Schema: application/json
Array of objects (WorkspaceExternalApiModel)
required
object (ExternalApiPageInfoModel)
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{
  • "elements": [
    • {
      • "id": "string",
      • "name": "string",
      • "type": { },
      • "description": "string",
      • "monthlyTaskLimit": 0
      }
    ],
  • "pageInfo": {
    • "startCursor": "string",
    • "endCursor": "string",
    • "hasNextPage": true,
    • "hasPreviousPage": true
    }
}

Add User to Workspace

post/core/v1/workspaces/{workspaceId}/users

Adds a user to a workspace

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace to add a user to

header Parameters
Authorization
required
string

The authorization token. You must use either an org admin/owner token or a token that has Admin or higher permission in the workspace you are trying to access.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Request Body schema: application/json
required
userId
required
string^[a-zA-Z0-9-]+$
roleId
required
string <uuid>
Responses
200
Response Schema: application/json
object
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
application/json
{
  • "userId": "string",
  • "roleId": "7382d58e-652a-4905-b7c9-bcca1e0e5391"
}
Response samples
application/json
{ }

Get Workspace User by id

get/core/v1/workspaces/{workspaceId}/users/{userId}

Get workspace user by id

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace

userId
required
string^[a-zA-Z0-9-]+$

The id of the user

Responses
200
Response Schema: application/json
workspaceId
required
string
id
required
string
email
string
required
API (object) or External (object) or Integration (object) or Partner (object) or Regular (object) or System (object) (AccountType)
required
object (RoleExternalApiModel)
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{
  • "workspaceId": "string",
  • "id": "string",
  • "email": "string",
  • "accountType": { },
  • "role": {
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "name": "string"
    }
}

Update User's Workspace Role

put/core/v1/workspaces/{workspaceId}/users/{userId}

Updates the role of a user in a workspace

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of the workspace to update the users role

userId
required
string^[a-zA-Z0-9-]+$

The id of a user to update the role for

header Parameters
Authorization
required
string

The authorization token. You must use either an org admin/owner token or a token that has admin or higher permission in the given workspace.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Request Body schema: application/json
required
roleId
required
string <uuid>
Responses
200
Response Schema: application/json
object
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
application/json
{
  • "roleId": "7382d58e-652a-4905-b7c9-bcca1e0e5391"
}
Response samples
application/json
{ }

Remove User from Workspace

delete/core/v1/workspaces/{workspaceId}/users/{userId}

Removes a user from a workspace

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace to add a user to

userId
required
string^[a-zA-Z0-9-]+$

The id of a user to remove from a workspace

header Parameters
Authorization
required
string

The authorization token. You must use either an org admin/owner token or a token that has admin or higher permission in the given workspace.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Responses
200
Response Schema: application/json
object
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{ }

List Workspace Roles

get/core/v1/workspaces/{workspaceId}/roles

Get Workspace Roles

SecuritybearerAuth
Request
path Parameters
workspaceId
required
string^[a-zA-Z0-9-]+$

The id of a workspace to list roles for

query Parameters
cursor
string

The cursor token for page starting point

first
integer <int32> > 0

The page size, in a forwards direction, with a maximum of 100. Default direction if last not defined

last
integer <int32> > 0
header Parameters
Authorization
required
string

The authorization token. You must use either an org admin/owner token or a token that has admin or higher permission in the given workspace.

Example: Bearer 3fd74d349xxxxxxxxxxxxxxxxxxxxxxxxd90df521
Responses
200
Response Schema: application/json
Array of objects (WorkspaceExternalApiModel)
required
object (ExternalApiPageInfoModel)
400

Invalid Input

401

Unauthorized

403

Forbidden

404

Not Found

429

Limit exceeded

500

Internal Error

Request samples
Response samples
application/json
{
  • "elements": [
    • {
      • "id": "string",
      • "name": "string",
      • "type": { },
      • "description": "string",
      • "monthlyTaskLimit": 0
      }
    ],
  • "pageInfo": {
    • "startCursor": "string",
    • "endCursor": "string",
    • "hasNextPage": true,
    • "hasPreviousPage": true
    }
}