API reference

Extensions

7 operations, generated from the OpenAPI document.

A base's installed extensions in panel order

GET /api/bases/{baseId}/extensions

Access: base:read_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Responses

  • 200 Success
    • extensions array of object required
      • id string (uuid) required
      • baseId string (uuid) required
      • builtIn string | null required
      • name string required
      • manifest object required
        • manifestVersion 1 required
        • name string required
        • description string required
        • version string required
        • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
      • size "small" | "medium" | "large" required
      • position integer required
      • settings object required
      • createdBy string (uuid) | null required
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
    • canManage boolean required
    • canConfigure boolean required
    • canInstallCustom boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Install a built-in extension or a third-party bundle (creators and up)

POST /api/bases/{baseId}/extensions

Access: base:manage_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

object

Responses

  • 201 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • builtIn string | null required
    • name string required
    • manifest object required
      • manifestVersion 1 required
      • name string required
      • description string required
      • version string required
      • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
    • size "small" | "medium" | "large" required
    • position integer required
    • settings object required
    • createdBy string (uuid) | null required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

An installed extension's manifest and bundle

GET /api/bases/{baseId}/extensions/{extensionId}/bundle

Access: base:read_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
extensionIdpathstring (uuid)yes

Responses

  • 200 Success
    • manifest object required
      • manifestVersion 1 required
      • name string required
      • description string required
      • version string required
      • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
    • bundle object required
      • html string required
      • css string required
      • js string required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Rename an extension or change its size (creators and up)

PATCH /api/bases/{baseId}/extensions/{extensionId}

Access: base:manage_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
extensionIdpathstring (uuid)yes

Request body

  • name string
  • size "small" | "medium" | "large"

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • builtIn string | null required
    • name string required
    • manifest object required
      • manifestVersion 1 required
      • name string required
      • description string required
      • version string required
      • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
    • size "small" | "medium" | "large" required
    • position integer required
    • settings object required
    • createdBy string (uuid) | null required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Remove an extension from the base (creators and up)

DELETE /api/bases/{baseId}/extensions/{extensionId}

Access: base:manage_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
extensionIdpathstring (uuid)yes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Arrange the base's extension panel (creators and up)

PUT /api/bases/{baseId}/extensions/order

Access: base:manage_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • ids array of string (uuid) required

Responses

  • 200 Success
    • extensions array of object required
      • id string (uuid) required
      • baseId string (uuid) required
      • builtIn string | null required
      • name string required
      • manifest object required
        • manifestVersion 1 required
        • name string required
        • description string required
        • version string required
        • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
      • size "small" | "medium" | "large" required
      • position integer required
      • settings object required
      • createdBy string (uuid) | null required
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
    • canManage boolean required
    • canConfigure boolean required
    • canInstallCustom boolean required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Replace an extension's settings (editors and up)

PUT /api/bases/{baseId}/extensions/{extensionId}/settings

Access: base:configure_extensions on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
extensionIdpathstring (uuid)yes

Request body

  • settings object required

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • builtIn string | null required
    • name string required
    • manifest object required
      • manifestVersion 1 required
      • name string required
      • description string required
      • version string required
      • scopes array of "records:read" | "records:write" | "cursor:read" | "settings:write" | "embed:frames" required
    • size "small" | "medium" | "large" required
    • position integer required
    • settings object required
    • createdBy string (uuid) | null required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)