API Reference / Workspace Management
Verified against Flow 5.0.0-beta.39
| Name | Method | Endpoint |
|---|---|---|
| Create new workspace | POST | /api/v2/workspace |
| Delete Approver Groups | DELETE | /api/v2/workspace/{workspace}/approvers |
| Delete Workspace Parameter | DELETE | /api/v2/workspace/{workspace}/parameters/{name} |
| Delete Workspace | DELETE | /api/v2/workspace/{workspace} |
| Retrieve Default Workspace Quota | GET | /api/v2/workspace/quotas/default |
| Retrieve Workspace Roles | GET | /api/v2/workspace/roles |
| Get workspace | GET | /api/v2/workspace/{workspace} |
| Search for Workspaces | GET | /api/v2/workspace/query |
| Leave Workspace | DELETE | /api/v2/workspace/{workspace}/leave |
| Remove Workspace Members | DELETE | /api/v2/workspace/{workspace}/members |
| Reset Workspace Quota | DELETE | /api/v2/workspace/{workspace}/quotas |
| Patch or update a workspace | PATCH | /api/v2/workspace/{workspace} |
| Validate workspace name and check uniqueness. | POST | /api/v2/workspace/validate-name |
POST /api/v2/workspace
Requires the workspace/write permission, from a session, user, global token.
| Name | Type | Required | Description | Notes | Example |
|---|
| Schema | Required |
|---|---|
| WorkspaceRequest | true |
One of BearerAuth, x-access-token
application/json*/*curl -X POST "$FLOW_URL/api/v2/workspace" \
-H "Authorization: Bearer $FLOW_TOKEN" \
-H "Content-Type: application/json" \
-d @body.jsonThe request sends this as body.json:
{
"name": "my-workspace",
"displayName": "My workspace"
}DELETE /api/v2/workspace/{workspace}/approvers
Requires the workspace/delete permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. |
| Schema | Required |
|---|---|
| List of String | true |
One of BearerAuth, x-access-token
application/jsonNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE/approvers" \
-H "Authorization: Bearer $FLOW_TOKEN" \
-H "Content-Type: application/json" \
-d @body.jsonThe request sends this as body.json:
[
"<approver group id>"
]DELETE /api/v2/workspace/{workspace}/parameters/{name}
Requires the workspace/delete permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. | ||
| name | String | true |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not definedNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE/parameters/$PARAMETER" \
-H "Authorization: Bearer $FLOW_TOKEN"DELETE /api/v2/workspace/{workspace}
Requires the workspace/delete permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | ID of Workspace |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not definedNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE" \
-H "Authorization: Bearer $FLOW_TOKEN"GET /api/v2/workspace/quotas/default
Requires the workspace/read permission, from a session, user, key, global token.
This endpoint does not need any parameter.
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not defined*/*curl -X GET "$FLOW_URL/api/v2/workspace/quotas/default" \
-H "Authorization: Bearer $FLOW_TOKEN"GET /api/v2/workspace/roles
Requires the workspace/read permission, from a session, user, key, global token.
This endpoint does not need any parameter.
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not defined*/*List of Role
curl -X GET "$FLOW_URL/api/v2/workspace/roles" \
-H "Authorization: Bearer $FLOW_TOKEN"GET /api/v2/workspace/{workspace}
Requires the workspace/read permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. | my-amazing-workspace |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not defined*/*curl -X GET "$FLOW_URL/api/v2/workspace/$WORKSPACE" \
-H "Authorization: Bearer $FLOW_TOKEN"200 OK:
{
"approverGroups": [],
"creationDate": "2026-11-05T21:23:47.310Z",
"displayName": "Example workspace",
"externalRef": null,
"id": "6aecf3e3755e5fc7e99bea30",
"labels": {},
"members": [
{
"email": "grace.hopper@flow.local",
"id": "6aecf30e755e5fc7e99bea28",
"name": "Grace Hopper",
"role": "owner"
}
],
"name": "example-workspace",
"parameters": [
{
"description": "The deploy service's API token.",
"hiddenValue": true,
"label": "Deploy token",
"name": "deploy-token",
"readOnly": false,
"type": "password",
"value": "*****"
}
],
"quotas": {
"artifactRetentionDays": 30,
"currentArtifactStorage": 145,
"currentConcurrentRuns": 3,
"currentRunAverageDuration": 54060,
"currentRunTotalDuration": 1135265,
"currentRuns": 21,
"currentWorkflowCount": 18,
"maxArtifactStorage": 5,
"maxConcurrentRuns": 4,
"maxWorkflowCount": 20,
"maxWorkflowRunDuration": 30,
"maxWorkflowRunMonthly": 100,
"maxWorkspaceStorage": 2,
"monthlyResetDate": "2026-12-01T00:00:00.000Z"
},
"status": "active",
"type": null,
"workflows": []
}GET /api/v2/workspace/query
Requires the workspace/read permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| limit | Integer | true | Result Size | 10 |
|
| page | Integer | true | Page Number | Defaults to 0. |
0 |
| search | String | false | Free-text search on Workspace name and displayName (prefix match, case-insensitive). | ||
| labels | List of String | false | List of url encoded labels. For example Organization=Boomerang,customKey=test would be encoded as Organization%3DBoomerang,customKey%3Dtest) | ||
| statuses | List of String | false | List of statuses to filter for. Defaults to all. | active,inactive |
|
| workspaces | List of String | false | List of Workspace names to filter for. | my-amazing-workspace,boomerangs-return |
|
| externalRef | String | false | The one workspace carrying this external reference. | ||
| order | String | false | Ascending or Descending (default) order | Defaults to DESC. Enum: [ASC, DESC] |
0 |
| sort | String | false | The element to sort on | Defaults to name. |
0 |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not defined*/*curl -X GET "$FLOW_URL/api/v2/workspace/query?limit=10&page=0" \
-H "Authorization: Bearer $FLOW_TOKEN"DELETE /api/v2/workspace/{workspace}/leave
Requires the workspace/read permission, from a user, session token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not definedNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE/leave" \
-H "Authorization: Bearer $FLOW_TOKEN"DELETE /api/v2/workspace/{workspace}/members
Requires the workspace/delete permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. | my-amazing-workspace |
| Schema | Required |
|---|---|
| List of WorkspaceMember | true |
One of BearerAuth, x-access-token
application/jsonNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE/members" \
-H "Authorization: Bearer $FLOW_TOKEN" \
-H "Content-Type: application/json" \
-d @body.jsonThe request sends this as body.json:
[
{
"id": "<user id>"
}
]DELETE /api/v2/workspace/{workspace}/quotas
Requires the workspace/delete permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | Workspace as owner reference. |
This endpoint does not require a request body.
One of BearerAuth, x-access-token
Not definedNot definedNo response body
curl -X DELETE "$FLOW_URL/api/v2/workspace/$WORKSPACE/quotas" \
-H "Authorization: Bearer $FLOW_TOKEN"PATCH /api/v2/workspace/{workspace}
Requires the workspace/write permission, from a session, user, key, global token.
| Name | Type | Required | Description | Notes | Example |
|---|---|---|---|---|---|
| workspace | String | true | ID of Workspace |
| Schema | Required |
|---|---|
| WorkspaceRequest | true |
One of BearerAuth, x-access-token
application/json*/*curl -X PATCH "$FLOW_URL/api/v2/workspace/$WORKSPACE" \
-H "Authorization: Bearer $FLOW_TOKEN" \
-H "Content-Type: application/json" \
-d @body.jsonThe request sends this as body.json:
{
"displayName": "Platform workspace"
}POST /api/v2/workspace/validate-name
Requires the workspace/read permission, from a session, user, global token.
| Name | Type | Required | Description | Notes | Example |
|---|
| Schema | Required |
|---|---|
| WorkspaceNameCheckRequest | true |
One of BearerAuth, x-access-token
application/json*/*Object
curl -X POST "$FLOW_URL/api/v2/workspace/validate-name" \
-H "Authorization: Bearer $FLOW_TOKEN" \
-H "Content-Type: application/json" \
-d @body.jsonThe request sends this as body.json:
{
"name": "my-workspace"
}