Skip to content

Workspaces

Create a workspace data source

POST /api/workspaces/{workspaceId}/data_sources

Creates a workspace data source

Path parameters

  • workspaceId string base64uuid Required

    The 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

Example cURL request
curl -X post \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/data_sources \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

Returns

  • 200

    OK

Example cURL request
curl -X get \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/data_sources \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 string

    Sort the resulting list by the following field (defaults to id)

  • sort_direction string

    Sort the resulting list in the following direction (defaults to ascending)

Returns

  • 200

    OK

Example cURL request
curl -X get \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/users \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 string

    Sort the resulting list by the following field (defaults to id)

  • sort_direction string

    Sort the resulting list in the following direction (defaults to ascending)

Returns

  • 200

    OK

Example cURL request
curl -X get \
https://studio.fiberplane.com/api/workspaces \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 object

    This is a mapping from the provider type to the data source selected for that type

    Nested attributes
    • name string
    • proxyName string
  • frontMatterSchemas object

    A mapping of front matter schemas belonging to a workspace, keyed by name

Returns

  • 200

    OK

Example cURL request
curl -X post \
https://studio.fiberplane.com/api/workspaces \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

Returns

  • 200

    OK

Example cURL request
curl -X get \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

Body parameters

Workspace update payload

  • displayName string
  • owner string base64uuid
  • defaultDataSources object

    This is a mapping from the provider type to the data source selected for that type

    Nested attributes
    • name string
    • proxyName string

Returns

  • 200

    OK

Example cURL request
curl -X patch \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

Returns

  • 200

    OK

Example cURL request
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 string

    Sort the resulting list by the following field (defaults to id)

  • sort_direction string

    Sort the resulting list in the following direction (defaults to ascending)

  • page integer

    Page number which should be displayed; 0-indexed (defaults to 0)

  • limit integer

    Maximum amount of results to display per page (defaults to 20)

Returns

  • 200

    OK

Example cURL request
curl -X get \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/invitations \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

Body parameters

Workspace invitation payload

  • email string Required
  • role string Required

Returns

  • 200

    OK

Example cURL request
curl -X post \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/invitations \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    ID of the invitation for which an action should be executed for

Returns

  • 200

    OK

Example cURL request
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 Required

    ID of the invitation for which an action should be executed for

  • invitationSecret string Required

    Secret key used to verify that the route belongs to a specific email address

Returns

  • 200

    OK

Example cURL request
curl -X post \
https://studio.fiberplane.com/api/invitations/%7BinvitationId%7D/%7BinvitationSecret%7D/accept \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    ID of the invitation for which an action should be executed for

  • invitationSecret string Required

    Secret key used to verify that the route belongs to a specific email address

Returns

  • 200

    OK

Example cURL request
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 Required

    The workspace ID

Returns

  • 200

    OK

Example cURL request
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 Required

    The workspace ID

  • userId string base64uuid Required

    User ID

Body parameters

Workspace user update payload

  • role string

Returns

  • 200

    OK

Example cURL request
curl -X patch \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/users/%7BuserId%7D \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'
Response schema
{
"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 Required

    The workspace ID

  • userId string base64uuid Required

    User ID

Returns

  • 200

    OK

Example cURL request
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 Required

    The workspace ID

Returns

  • 200

    OK

Example cURL request
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 Required

    The workspace ID

Body parameters

file

  • picture string binary Required

Returns

  • 200

    OK

Example cURL request
curl -X post \
https://studio.fiberplane.com/api/workspaces/%7BworkspaceId%7D/picture \
-H 'Authorization: Bearer <YOUR_API_TOKEN>'