API reference

Trash

11 operations, generated from the OpenAPI document.

Bases of a workspace in the trash (creators and up)

GET /api/workspaces/{workspaceId}/trash

Access: workspace:read_trash on the workspace (see ACTIONS for the minimum role); personal access tokens need schema.bases:read.

Parameters

NameInTypeRequired
workspaceIdpathstringyes

Responses

  • 200 Success
    • bases array of object required
      • id string (uuid) required
      • name string required
      • deletedAt string (date-time) required
      • deletedBy string (uuid) | null required
      • purgeAfter 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
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Restore a base from the trash

POST /api/workspaces/{workspaceId}/trash/bases/{trashedBaseId}/restore

Access: base:restore on the workspace (see ACTIONS for the minimum role); personal access tokens need schema.bases:write.

Parameters

NameInTypeRequired
workspaceIdpathstringyes
trashedBaseIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • workspaceId string (uuid) required
    • name string required
    • description string | null required
    • icon string | null required
    • color string | null required
    • role "owner" | "creator" | "editor" | "commenter" | "read_only" 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
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Delete a base in the trash permanently, with everything in it

DELETE /api/workspaces/{workspaceId}/trash/bases/{trashedBaseId}

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

Parameters

NameInTypeRequired
workspaceIdpathstringyes
trashedBaseIdpathstring (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)

A base's deleted tables, and the deleted fields and views of its tables (editors and up)

GET /api/bases/{baseId}/trash

Access: base:read_trash on the base (see ACTIONS for the minimum role); personal access tokens need schema.bases:read.

Parameters

NameInTypeRequired
baseIdpathstringyes

Responses

  • 200 Success
    • tables array of object required
      • id string (uuid) required
      • name string required
      • deletedAt string (date-time) required
      • deletedBy string (uuid) | null required
      • purgeAfter string (date-time) required
    • fields array of object required
      • id string (uuid) required
      • name string required
      • deletedAt string (date-time) required
      • deletedBy string (uuid) | null required
      • purgeAfter string (date-time) required
      • tableId string (uuid) required
      • tableName string required
      • type "singleLineText" | "longText" | "number" | "currency" | "percent" | "checkbox" | "date" | "dateTime" | … required
      • inverse object | null required
        • id string (uuid) required
        • name string required
        • tableName string required
    • views array of object required
      • id string (uuid) required
      • name string required
      • deletedAt string (date-time) required
      • deletedBy string (uuid) | null required
      • purgeAfter string (date-time) required
      • tableId string (uuid) required
      • tableName string required
      • type string required
      • personal 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)

Restore a table from the trash, with the link fields deleted with it

POST /api/bases/{baseId}/trash/tables/{trashedTableId}/restore

Access: table:restore on the base (see ACTIONS for the minimum role); personal access tokens need schema.bases:write.

Parameters

NameInTypeRequired
baseIdpathstringyes
trashedTableIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • description string | null required
    • icon string | null required
    • position number required
    • schemaVersion integer required
    • permissions object
      • addRecords object required
      • deleteRecords object required
      • editRecords object required
    • fields array of object required
      • id string (uuid) required
      • tableId string (uuid) required
      • name string required
      • description string | null required
      • type "singleLineText" | "longText" | "number" | "currency" | "percent" | "checkbox" | "date" | "dateTime" | … required
      • options any required
      • isPrimary boolean required
      • position number required
      • permissions object
        • edit object required
        • allowForms boolean
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
      • deletedAt string (date-time) | null required
      • recomputing true
      • synced true
    • synced true
    • 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
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Delete a table in the trash permanently, with its records and links

DELETE /api/bases/{baseId}/trash/tables/{trashedTableId}

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

Parameters

NameInTypeRequired
baseIdpathstringyes
trashedTableIdpathstring (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)

Delete a field in the trash permanently, with its values (and a link pair)

DELETE /api/tables/{tableId}/trash/fields/{trashedFieldId}

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

Parameters

NameInTypeRequired
tableIdpathstringyes
trashedFieldIdpathstring (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)

Restore a view from the trash

POST /api/tables/{tableId}/trash/views/{trashedViewId}/restore

Access: view:restore on the table (see ACTIONS for the minimum role); personal access tokens need schema.bases:write.

Parameters

NameInTypeRequired
tableIdpathstringyes
trashedViewIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • tableId string (uuid) required
    • name string required
    • type "grid" | "gallery" | "kanban" | "calendar" | "timeline" | "list" | "form" required
    • position number required
    • config object required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • groupBy array of object
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • grid object
        • fieldOrder array of string (uuid)
        • columnWidths object
        • frozenCount integer
        • rowHeight "compact" | "default" | "medium" | "tall"
        • hiddenFields array of string (uuid)
      • kanban object
        • stackFieldId string (uuid) | null
        • cardFields array of string (uuid)
        • coverFieldId string (uuid) | null
        • collapseEmpty boolean
      • calendar object
        • dateFields array of object
          • startFieldId string (uuid) required
          • endFieldId string (uuid) | null
        • colorFieldId string (uuid) | null
        • mode "month" | "week" | "day"
      • gallery object
        • cardFields array of string (uuid)
        • coverFieldId string (uuid) | null
        • coverFit "crop" | "fit"
        • cardSize "small" | "medium" | "large"
      • timeline object
        • startFieldId string (uuid) | null
        • endFieldId string (uuid) | null
        • scale "day" | "week" | "month"
        • groupFieldId string (uuid) | null
        • colorFieldId string (uuid) | null
        • dependencyFieldId string (uuid) | null
      • list object
        • parentFieldId string (uuid) | null
        • rowFields array of string (uuid)
      • form object
        • fields array of object
          • fieldId string (uuid) required
          • label string
          • helpText string
          • required boolean
          • allowPrefill boolean
          • condition object | null
          • viewIdForRecordSelection string (uuid) | null
        • title string
        • description string
        • coverAttachmentId string (uuid) | null
        • logoAttachmentId string (uuid) | null
        • submitLabel string
        • afterSubmit "message" | "redirect"
        • submitMessage string
        • redirectUrl string | null
        • showBranding boolean
      • rowColor object | null
    • personal boolean required
    • locked boolean required
    • sectionId string (uuid) | null 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
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Delete a view in the trash permanently

DELETE /api/tables/{tableId}/trash/views/{trashedViewId}

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

Parameters

NameInTypeRequired
tableIdpathstringyes
trashedViewIdpathstring (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)

Records of a table in the trash, most recently deleted first (editors and up)

GET /api/tables/{tableId}/trash/records

Access: record:read_trash on the table (see ACTIONS for the minimum role); personal access tokens need data.records:read.

Parameters

NameInTypeRequired
tableIdpathstringyes
limitqueryintegerno
cursorquerystringno

Responses

  • 200 Success
    • records array of object required
      • id string (uuid) required
      • name string required
      • deletedAt string (date-time) required
      • deletedBy string (uuid) | null required
      • purgeAfter string (date-time) required
    • nextCursor string | null 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)

Delete up to 1,000 records in the trash permanently

POST /api/tables/{tableId}/trash/records/purge

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

Parameters

NameInTypeRequired
tableIdpathstringyes

Request body

  • recordIds array of string (uuid) required

Responses

  • 200 Success
    • purged integer 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)