Workspaces
Create a workspace data source
POST /api/workspaces/{workspaceId}/data_sources
Creates a workspace data source
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Body parameters
New data source
-
name
string Required -
protocolVersion
integer uint8 Required -
providerType
string Required -
config
object Required -
description
string
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/data_sources \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "name", "protocolVersion", "providerType", "id" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string" }, "protocolVersion": { "type": "integer", "format": "uint8" }, "proxyName": { "type": "string" }, "providerType": { "type": "string" }, "config": { "type": "object" }, "description": { "type": "string" }, "status": { "type": "string", "enum": [ "connected", "error" ] }, "error": { "type": "object" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }}
Get all workspace data sources
GET /api/workspaces/{workspaceId}/data_sources
Get all workspace data sources
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/data_sources \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "array", "items": { "type": "object", "required": [ "name", "protocolVersion", "providerType", "id" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string" }, "protocolVersion": { "type": "integer", "format": "uint8" }, "proxyName": { "type": "string" }, "providerType": { "type": "string" }, "config": { "type": "object" }, "description": { "type": "string" }, "status": { "type": "string", "enum": [ "connected", "error" ] }, "error": { "type": "object" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }}
List all users
GET /api/workspaces/{workspaceId}/users
List all users for a workspace
Path parameters
-
sort_by
stringSort the resulting list by the following field (defaults to id)
-
sort_direction
stringSort the resulting list in the following direction (defaults to ascending)
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/users \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "array", "items": { "type": "object", "required": [ "id", "name", "role" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "email": { "type": "string" }, "role": { "type": "string", "enum": [ "read", "write", "admin" ] } } }}
List all workspaces
GET /api/workspaces
List all workspaces authenticated user has access to
Path parameters
-
sort_by
stringSort the resulting list by the following field (defaults to id)
-
sort_direction
stringSort the resulting list in the following direction (defaults to ascending)
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "array", "items": { "type": "object", "required": [ "id", "name", "displayName", "type", "createdAt", "updatedAt", "defaultDataSources", "ownerId" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string", "format": "name" }, "displayName": { "type": "string" }, "type": { "type": "string", "enum": [ "personal", "organization" ] }, "defaultDataSources": { "type": "object", "description": "This is a mapping from the provider type to the data source selected for that type", "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "proxyName": { "type": "string" } } } }, "ownerId": { "type": "string", "format": "base64uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }}
Create a new workspace
POST /api/workspaces
Creates a new workspace
Body parameters
Workspace creation payload
-
name
string name Required -
displayName
string -
defaultDataSources
objectThis is a mapping from the provider type to the data source selected for that type
Nested attributes
-
name
string -
proxyName
string
-
-
frontMatterSchemas
objectA mapping of front matter schemas belonging to a workspace, keyed by name
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/workspaces \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "id", "name", "displayName", "type", "createdAt", "updatedAt", "defaultDataSources", "ownerId" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string", "format": "name" }, "displayName": { "type": "string" }, "type": { "type": "string", "enum": [ "personal", "organization" ] }, "defaultDataSources": { "type": "object", "description": "This is a mapping from the provider type to the data source selected for that type", "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "proxyName": { "type": "string" } } } }, "ownerId": { "type": "string", "format": "base64uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }}
Get the workspace details
GET /api/workspaces/{workspaceId}
Get the workspace details
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "id", "name", "displayName", "type", "createdAt", "updatedAt", "defaultDataSources", "ownerId" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string", "format": "name" }, "displayName": { "type": "string" }, "type": { "type": "string", "enum": [ "personal", "organization" ] }, "defaultDataSources": { "type": "object", "description": "This is a mapping from the provider type to the data source selected for that type", "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "proxyName": { "type": "string" } } } }, "ownerId": { "type": "string", "format": "base64uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }}
Update workspace settings
PATCH /api/workspaces/{workspaceId}
Update workspace settings
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Body parameters
Workspace update payload
-
displayName
string -
owner
string base64uuid -
defaultDataSources
objectThis is a mapping from the provider type to the data source selected for that type
Nested attributes
-
name
string -
proxyName
string
-
Returns
200
OK
curl -X patch \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "id", "name", "displayName", "type", "createdAt", "updatedAt", "defaultDataSources", "ownerId" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string", "format": "name" }, "displayName": { "type": "string" }, "type": { "type": "string", "enum": [ "personal", "organization" ] }, "defaultDataSources": { "type": "object", "description": "This is a mapping from the provider type to the data source selected for that type", "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "proxyName": { "type": "string" } } } }, "ownerId": { "type": "string", "format": "base64uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }}
Delete a workspace
DELETE /api/workspaces/{workspaceId}
Permanently deletes a specified workspace
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Returns
200
OK
curl -X delete \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
Retrieve pending workspace invitations
GET /api/workspaces/{workspaceId}/invitations
Retrieves a list of pending workspace invitations
Path parameters
-
sort_by
stringSort the resulting list by the following field (defaults to id)
-
sort_direction
stringSort the resulting list in the following direction (defaults to ascending)
-
page
integerPage number which should be displayed; 0-indexed (defaults to 0)
-
limit
integerMaximum amount of results to display per page (defaults to 20)
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/invitations \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "array", "items": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "sender": { "type": "string", "format": "base64uuid" }, "receiver": { "type": "string" }, "role": { "type": "string", "enum": [ "read", "write", "admin" ] }, "createdAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time" } } }}
Invite a user to workspace
POST /api/workspaces/{workspaceId}/invitations
Invites a user to a workspace
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Body parameters
Workspace invitation payload
-
email
string Required -
role
string Required
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/invitations \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "format": "url" } }}
Delete a pending workspace invitation
DELETE /api/invitations/{invitationId}
Deletes a pending workspace invitation
Path parameters
-
invitationId
string base64uuid RequiredID of the invitation for which an action should be executed for
Returns
200
OK
curl -X delete \ https://studio.fiberplane.com/api/invitations/%7BinvitationId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
Accept the workspace invitation
POST /api/invitations/{invitationId}/{invitationSecret}/accept
Accepts the workspace invitation
Path parameters
-
invitationId
string base64uuid RequiredID of the invitation for which an action should be executed for
-
invitationSecret
string RequiredSecret key used to verify that the route belongs to a specific email address
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/invitations/%7BinvitationId%7D/%7BinvitationSecret%7D/accept \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "id", "name", "displayName", "type", "createdAt", "updatedAt", "defaultDataSources", "ownerId" ], "properties": { "id": { "type": "string", "format": "base64uuid" }, "name": { "type": "string", "format": "name" }, "displayName": { "type": "string" }, "type": { "type": "string", "enum": [ "personal", "organization" ] }, "defaultDataSources": { "type": "object", "description": "This is a mapping from the provider type to the data source selected for that type", "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "proxyName": { "type": "string" } } } }, "ownerId": { "type": "string", "format": "base64uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }}
Decline the workspace invitation
POST /api/invitations/{invitationId}/{invitationSecret}/decline
Declines the workspace invitation
Path parameters
-
invitationId
string base64uuid RequiredID of the invitation for which an action should be executed for
-
invitationSecret
string RequiredSecret key used to verify that the route belongs to a specific email address
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/invitations/%7BinvitationId%7D/%7BinvitationSecret%7D/decline \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
Leave a workspace
POST /api/workspaces/{workspaceId}/leave
Leaves a workspace
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/leave \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
Update user in a workspace
PATCH /api/workspaces/{workspaceId}/users/{userId}
Updates the user within a workspace
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
-
userId
string base64uuid RequiredUser ID
Body parameters
Workspace user update payload
-
role
string
Returns
200
OK
curl -X patch \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/users/%7BuserId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
{ "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "email": { "type": "string" } }}
Remove user from workspace
DELETE /api/workspaces/{workspaceId}/users/{userId}
Removes a user from the workspace
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
-
userId
string base64uuid RequiredUser ID
Returns
200
OK
curl -X delete \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/users/%7BuserId%7D \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'
Retrieve workspace image
GET /api/workspaces/{workspaceId}/picture
Retrieves a workspace image
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Returns
200
OK
curl -X get \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/picture
Upload workspace image
POST /api/workspaces/{workspaceId}/picture
Uploads a workspace image
Path parameters
-
workspaceId
string base64uuid RequiredThe workspace ID
Body parameters
file
-
picture
string binary Required
Returns
200
OK
curl -X post \ https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/picture \ -H 'Authorization: Bearer <YOUR_API_TOKEN>'