Skip to main content

Workspaces and collaborators

All paths below use https://api.lordbase.com. Read conventions for headers, authentication, pagination and error handling. Values in responses are illustrative; examples show selected fields, not fixed quotas or service guarantees.

Developer tokens authorize only explicitly supported operations. Required scopes appear below; account, billing and token-management operations require a dashboard session. See token permissions.

List or create workspaces — GET​

GET /e/v1/developer/workspaces/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with read_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: No body or pagination. Returns two arrays, not a bare workspace list.

Response: 200

{
"owned_workspaces": [],
"member_workspaces": []
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

List or create workspaces — POST​

POST /e/v1/developer/workspaces/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Required JSON name (string, trimmed, minimum 2 characters); optional description (string), is_active (boolean). Owner ID is assigned from your account; omit it.

Field reference: Workspace. The operation above defines which fields to send.

Example JSON body:

{
"name": "Example application",
"description": "Development workspace"
}

Response: 201

{
"id": "22222222-2222-4222-8222-222222222222",
"name": "Example application",
"description": "Development workspace",
"owner_id": "ACCOUNT_ID",
"is_active": true,
"database_count": 1,
"member_count": 1
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Read, update or deactivate a workspace — GET​

GET /e/v1/developer/workspaces/{workspace_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with read_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner or member; no body.

Required path parameters: workspace_id (UUID).

Response: 200

{
"id": "22222222-2222-4222-8222-222222222222",
"name": "Example application",
"description": "Development workspace",
"owner_id": "ACCOUNT_ID",
"is_active": true,
"database_count": 1,
"member_count": 1
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Read, update or deactivate a workspace — PUT​

PUT /e/v1/developer/workspaces/{workspace_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only. Partial update, same as PATCH. Use name, description, is_active; do not use this as a workspace-ownership transfer API.

Required path parameters: workspace_id (UUID).

Field reference: Workspace. The operation above defines which fields to send.

Example JSON body:

{
"description": "Application data"
}

Response: 200

{
"id": "22222222-2222-4222-8222-222222222222",
"name": "Example application",
"description": "Development workspace",
"owner_id": "ACCOUNT_ID",
"is_active": true,
"database_count": 1,
"member_count": 1
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Read, update or deactivate a workspace — PATCH​

PATCH /e/v1/developer/workspaces/{workspace_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only. Partial JSON name, description, is_active as needed.

Required path parameters: workspace_id (UUID).

Field reference: Workspace. The operation above defines which fields to send.

Example JSON body:

{
"name": "Renamed workspace"
}

Response: 200

{
"id": "22222222-2222-4222-8222-222222222222",
"name": "Example application",
"description": "Development workspace",
"owner_id": "ACCOUNT_ID",
"is_active": true,
"database_count": 1,
"member_count": 1
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Read, update or deactivate a workspace — DELETE​

DELETE /e/v1/developer/workspaces/{workspace_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only; no body. Deactivates the workspace. This is not proof that its database engines have been deleted; manage databases explicitly before retiring a workspace.

Required path parameters: workspace_id (UUID).

Response: 204

Empty body. Do not parse JSON for this response.

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

List or add workspace members — GET​

GET /e/v1/developer/workspaces/{workspace_id}/members/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with read_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Workspace membership required; no body.

Required path parameters: workspace_id (UUID).

Response: 200

[
{
"id": "11111111-1111-4111-8111-111111111111",
"workspace": "22222222-2222-4222-8222-222222222222",
"user_id": "ACCOUNT_ID",
"user_email": "[email protected]",
"workspace_name": "Example application",
"role": "member"
}
]

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

List or add workspace members — POST​

POST /e/v1/developer/workspaces/{workspace_id}/members/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only. Required user_id (developer account ID string), optional role (member or admin, default member). This directly creates membership; it does not require accepting an invitation. Use member/admin for collaborators; the owner role is not an ownership-transfer workflow. Do not reassign workspace/user identity through membership updates.

Required path parameters: workspace_id (UUID).

Example JSON body:

{
"user_id": "ACCOUNT_ID",
"role": "member"
}

Response: 201

{
"id": "11111111-1111-4111-8111-111111111111",
"workspace": "22222222-2222-4222-8222-222222222222",
"user_id": "ACCOUNT_ID",
"user_email": "[email protected]",
"workspace_name": "Example application",
"role": "member"
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Change a member role or remove a member — PATCH​

PATCH /e/v1/developer/workspaces/{workspace_id}/members/{member_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only. JSON role (member or admin). The owner’s membership cannot be changed. Use the membership record ID in the URL, not the account ID. Use member/admin for collaborators; the owner role is not an ownership-transfer workflow. Do not reassign workspace/user identity through membership updates.

Required path parameters: workspace_id (UUID); member_id (UUID).

Example JSON body:

{
"role": "admin"
}

Response: 200

{
"id": "11111111-1111-4111-8111-111111111111",
"workspace": "22222222-2222-4222-8222-222222222222",
"user_id": "ACCOUNT_ID",
"user_email": "[email protected]",
"workspace_name": "Example application",
"role": "member"
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Change a member role or remove a member — DELETE​

DELETE /e/v1/developer/workspaces/{workspace_id}/members/{member_id}/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only; no body. The workspace owner cannot be removed.

Required path parameters: workspace_id (UUID); member_id (UUID).

Response: 204

Empty body. Do not parse JSON for this response.

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

List pending invitations or record an invitation — GET​

GET /e/v1/developer/workspaces/{workspace_id}/invitations/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with read_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Workspace member; no body. Lists pending, unexpired invitations.

Required path parameters: workspace_id (UUID).

Response: 200

[
{
"id": "11111111-1111-4111-8111-111111111111",
"workspace": "22222222-2222-4222-8222-222222222222",
"invited_user_id": "ACCOUNT_ID",
"invited_user_email": "[email protected]",
"role": "member",
"status": "pending",
"expires_at": "2026-11-03T12:00:00Z",
"is_expired": false
}
]

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

List pending invitations or record an invitation — POST​

POST /e/v1/developer/workspaces/{workspace_id}/invitations/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Owner only. Required invited_user_id (developer account ID), optional role (default member). Invitations expire after 7 days; duplicate pending invitations/existing members return 400. No acceptance endpoint or email-delivery workflow is provided by this API; use direct membership for confirmed collaborators.

Required path parameters: workspace_id (UUID).

Example JSON body:

{
"invited_user_id": "ACCOUNT_ID",
"role": "member"
}

Response: 201

{
"id": "11111111-1111-4111-8111-111111111111",
"workspace": "22222222-2222-4222-8222-222222222222",
"invited_user_id": "ACCOUNT_ID",
"invited_user_email": "[email protected]",
"role": "member",
"status": "pending",
"expires_at": "2026-11-03T12:00:00Z",
"is_expired": false
}

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Cancel an invitation — DELETE​

DELETE /e/v1/developer/workspaces/invitations/{invitation_id}/cancel/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Workspace owner or invitation sender; no body.

Required path parameters: invitation_id (UUID).

Response: 204

Empty body. Do not parse JSON for this response.

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.

Find a developer account — GET​

GET /e/v1/developer/workspaces/{workspace_id}/developers/search/

Authentication: Authenticated developer with an active Lordbase subscription. Use the dashboard session, or Authorization: Bearer YOUR_DEVELOPER_TOKEN with write_workspaces (or api). Resource roles and quotas still apply.

Request and permissions: Workspace member. Query q (string); fewer than 3 characters returns an empty array. Returns up to 5 developer matches.

Required path parameters: workspace_id (UUID).

Response: 200

[
{
"id": "ACCOUNT_ID",
"email": "[email protected]",
"first_name": "Alex",
"last_name": "Developer"
}
]

Failures: Common API errors, plus the validation, role, state, engine and plan restrictions stated above.