Skip to main content
Browse docs

Workspaces API

17 endpoints — authenticate with a workspace access token via Authorization: Bearer. See the API introduction for base URLs, pagination, and rate limits.

List Workspaces

GET/api/workspaces/

List workspaces. **Scopes**: `workspaces:read` `workspaces:write`

Query parameters

slugstring | null

Filter by slug.

pageinteger

Page number, defaults to 1.

limitinteger

Size of a page, defaults to 10. Maximum is 100.

sorting"created_at" | "-created_at" | "slug" | "-slug" | "name" | "-name" | "next_review_threshold" | "-next_review_threshold" | "days_in_status" | "-days_in_status"[] | null

Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order.

Returns 200 with PaginatedList_Workspace_.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/ \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Create Workspace

POST/api/workspaces/

Create an workspace. **Scopes**: `workspaces:write`

Request body WorkspaceCreate

namestringrequired

Name

slugstringrequired

Slug

avatar_urlstring | null

Avatar Url

emailstring | null

Public support email.

websitestring | null

Official website of the workspace.

socialsWorkspaceSocialLink[] | null

Link to social profiles.

detailsWorkspaceDetails | null

Additional, private, business details Rapidly needs about active workspaces for compliance (KYC).

feature_settingsWorkspaceFeatureSettings | null
notification_settingsWorkspaceNotificationSettings | null
customer_email_settingsWorkspaceCustomerEmailSettings | null
customer_portal_settingsWorkspaceCustomerPortalSettings | null
default_presentment_currency"aud" | "brl" | "cad" | "chf" | "eur" | "inr" | "gbp" | "jpy" | "sek" | "usd"

PresentmentCurrency

Returns 201 with Workspace.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/ \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Get Workspace

GET/api/workspaces/{id}

Get an workspace by ID. **Scopes**: `workspaces:read` `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with Workspace.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/{id} \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Update Workspace

PATCH/api/workspaces/{id}

Update an workspace. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Request body WorkspaceUpdate

namestring | null

Name

avatar_urlstring | null

Avatar Url

emailstring | null

Public support email.

websitestring | null

Official website of the workspace.

socialsWorkspaceSocialLink[] | null

Links to social profiles.

detailsWorkspaceDetails | null

Additional, private, business details Rapidly needs about active workspaces for compliance (KYC).

default_presentment_currency"aud" | "brl" | "cad" | "chf" | "eur" | "inr" | "gbp" | "jpy" | "sek" | "usd" | null

Default presentment currency for the workspace

feature_settingsWorkspaceFeatureSettings | null
notification_settingsWorkspaceNotificationSettings | null
customer_email_settingsWorkspaceCustomerEmailSettings | null
customer_portal_settingsWorkspaceCustomerPortalSettings | null

Returns 200 with Workspace.

curl -X PATCH \
  https://api.rapidly.tech/api/workspaces/{id} \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Delete Workspace

DELETE/api/workspaces/{id}

Request deletion of a workspace. If the workspace has no blocking resources, it will be immediately soft-deleted. If it has a Stripe account, that will be deleted first. If deletion cannot proceed immediately (e.g. Stripe deletion fails), a support ticket will be created for manual handling. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with WorkspaceDeletionResponse.

curl -X DELETE \
  https://api.rapidly.tech/api/workspaces/{id} \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Get Workspace Account

GET/api/workspaces/{id}/account

Get the account for an workspace. **Scopes**: `workspaces:read` `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with Account.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/{id}/account \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Switch Workspace Stripe Account

POST/api/workspaces/{id}/switch-account

Switch the workspace's active Stripe account to an existing one. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Request body Body_workspaces_switch_account

account_idstringrequired

Account Id

Returns 200 with Account.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/{id}/switch-account \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Get Workspace Payment Status

GET/api/workspaces/{id}/payment-status

Get payment status and onboarding steps for an workspace.

Path parameters

idstringrequired

The workspace ID.

Query parameters

account_verification_onlyboolean

Only perform account verification checks, skip share and integration checks

Returns 200 with WorkspacePaymentStatus.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/{id}/payment-status \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Members

GET/api/workspaces/{id}/members

List members in an workspace. **Scopes**: `workspaces:read` `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Query parameters

pageinteger

Page number, defaults to 1.

limitinteger

Size of a page, defaults to 10. Maximum is 100.

Returns 200 with PaginatedList_WorkspaceMember_.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/{id}/members \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Invite Member

POST/api/workspaces/{id}/members/invite

Invite a user to join an workspace. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Request body WorkspaceMemberInvite

emailstringrequired

Email address of the user to invite

Returns 201 with WorkspaceMember.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/{id}/members/invite \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Leave Workspace

DELETE/api/workspaces/{id}/members/leave

Leave an workspace. Users can only leave an workspace if they are not the admin and there is at least one other member. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 204 with unknown.

curl -X DELETE \
  https://api.rapidly.tech/api/workspaces/{id}/members/leave \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Remove Member

DELETE/api/workspaces/{id}/members/{user_id}

Remove a member from an workspace. Only workspace admins can remove members. Admins cannot remove themselves. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

user_idstringrequired

Returns 204 with unknown.

curl -X DELETE \
  https://api.rapidly.tech/api/workspaces/{id}/members/{user_id} \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Validate Workspace Details with AI

POST/api/workspaces/{id}/ai-validation

Validate workspace details using AI compliance check. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with WorkspaceReviewStatus.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/{id}/ai-validation \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Submit Appeal for Workspace Review

POST/api/workspaces/{id}/appeal

Submit an appeal for workspace review after AI validation failure. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Request body WorkspaceAppealRequest

reasonstringrequired

Detailed explanation of why this workspace should be approved. Minimum 50 characters.

Returns 201 with WorkspaceAppealResponse.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/{id}/appeal \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Mark AI Onboarding Complete

POST/api/workspaces/{id}/ai-onboarding-complete

Mark the AI onboarding as completed for this workspace. **Scopes**: `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with Workspace.

curl -X POST \
  https://api.rapidly.tech/api/workspaces/{id}/ai-onboarding-complete \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Get Workspace Review Status

GET/api/workspaces/{id}/review-status

Get the current review status and appeal information for an workspace. **Scopes**: `workspaces:read` `workspaces:write`

Path parameters

idstringrequired

The workspace ID.

Returns 200 with WorkspaceReviewStatus.

curl -X GET \
  https://api.rapidly.tech/api/workspaces/{id}/review-status \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"

Get Workspace

GET/api/customer-portal/workspaces/{slug}

Get a customer portal's workspace by slug.

Path parameters

slugstringrequired

The workspace slug.

Returns 200 with CustomerWorkspaceData.

curl -X GET \
  https://api.rapidly.tech/api/customer-portal/workspaces/{slug} \
  -H "Authorization: Bearer $RAPIDLY_ACCESS_TOKEN"