API reference

Interfaces

21 operations, generated from the OpenAPI document.

A base's interfaces and pages: creators get drafts and unpublished pages, everyone else published pages only

GET /api/bases/{baseId}/interfaces

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

Parameters

NameInTypeRequired
baseIdpathstringyes

Responses

  • 200 Success
    • interfaces array of object required
      • id string (uuid) required
      • baseId string (uuid) required
      • name string required
      • position number required
      • pages array of object required
        • id string (uuid) required
        • interfaceId string (uuid) required
        • name string required
        • position number required
        • draft object | null required
          • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
          • tableId string (uuid) required
          • filter object
          • sorts array of object required
          • fields array of string (uuid) required
          • elements array of object required
          • kanban object
          • calendar object
          • timeline object
          • form object
        • published object | null required
          • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
          • tableId string (uuid) required
          • filter object
          • sorts array of object required
          • fields array of string (uuid) required
          • elements array of object required
          • kanban object
          • calendar object
          • timeline object
          • form object
        • publishedAt string (date-time) | null required
        • hasChanges boolean required
    • canEdit 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)

Create an interface (creators and up)

POST /api/bases/{baseId}/interfaces

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

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • name string required

Responses

  • 201 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • position number required
    • pages array of object required
      • id string (uuid) required
      • interfaceId string (uuid) required
      • name string required
      • position number required
      • draft object | null required
        • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
        • tableId string (uuid) required
        • filter object
          • conjunction "and" | "or" required
          • conditions array of object required
        • sorts array of object required
          • fieldId string (uuid) required
          • direction "asc" | "desc" required
        • fields array of string (uuid) required
        • elements array of object required
        • kanban object
          • stackFieldId string (uuid) | null
          • cardFields array of string (uuid)
          • coverFieldId string (uuid) | null
          • collapseEmpty boolean
        • calendar object
          • dateFields array of object
          • colorFieldId string (uuid) | null
          • mode "month" | "week" | "day"
        • 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
        • form object
          • fields array of object required
          • submitLabel string required
          • successMessage string required
      • published object | null required
        • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
        • tableId string (uuid) required
        • filter object
          • conjunction "and" | "or" required
          • conditions array of object required
        • sorts array of object required
          • fieldId string (uuid) required
          • direction "asc" | "desc" required
        • fields array of string (uuid) required
        • elements array of object required
        • kanban object
          • stackFieldId string (uuid) | null
          • cardFields array of string (uuid)
          • coverFieldId string (uuid) | null
          • collapseEmpty boolean
        • calendar object
          • dateFields array of object
          • colorFieldId string (uuid) | null
          • mode "month" | "week" | "day"
        • 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
        • form object
          • fields array of object required
          • submitLabel string required
          • successMessage string required
      • publishedAt string (date-time) | null required
      • hasChanges 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)

Rename or move an interface

PATCH /api/bases/{baseId}/interfaces/{interfaceId}

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes

Request body

  • name string
  • position number

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • position number required
    • pages array of object required
      • id string (uuid) required
      • interfaceId string (uuid) required
      • name string required
      • position number required
      • draft object | null required
        • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
        • tableId string (uuid) required
        • filter object
          • conjunction "and" | "or" required
          • conditions array of object required
        • sorts array of object required
          • fieldId string (uuid) required
          • direction "asc" | "desc" required
        • fields array of string (uuid) required
        • elements array of object required
        • kanban object
          • stackFieldId string (uuid) | null
          • cardFields array of string (uuid)
          • coverFieldId string (uuid) | null
          • collapseEmpty boolean
        • calendar object
          • dateFields array of object
          • colorFieldId string (uuid) | null
          • mode "month" | "week" | "day"
        • 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
        • form object
          • fields array of object required
          • submitLabel string required
          • successMessage string required
      • published object | null required
        • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
        • tableId string (uuid) required
        • filter object
          • conjunction "and" | "or" required
          • conditions array of object required
        • sorts array of object required
          • fieldId string (uuid) required
          • direction "asc" | "desc" required
        • fields array of string (uuid) required
        • elements array of object required
        • kanban object
          • stackFieldId string (uuid) | null
          • cardFields array of string (uuid)
          • coverFieldId string (uuid) | null
          • collapseEmpty boolean
        • calendar object
          • dateFields array of object
          • colorFieldId string (uuid) | null
          • mode "month" | "week" | "day"
        • 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
        • form object
          • fields array of object required
          • submitLabel string required
          • successMessage string required
      • publishedAt string (date-time) | null required
      • hasChanges 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)

Delete an interface and its pages

DELETE /api/bases/{baseId}/interfaces/{interfaceId}

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

Parameters

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

Add a page (a record list or record review over one table), unpublished

POST /api/bases/{baseId}/interfaces/{interfaceId}/pages

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes

Request body

  • name string required
  • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
  • tableId string (uuid) required

Responses

  • 201 Success
    • id string (uuid) required
    • interfaceId string (uuid) required
    • name string required
    • position number required
    • draft object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • published object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • publishedAt string (date-time) | null required
    • hasChanges 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)

A page (non-creators: published pages only)

GET /api/bases/{baseId}/interfaces/{interfaceId}/pages/{pageId}

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • interfaceId string (uuid) required
    • name string required
    • position number required
    • draft object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • published object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • publishedAt string (date-time) | null required
    • hasChanges 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)

Rename or move a page, or save its draft (viewers don't see it until published)

PATCH /api/bases/{baseId}/interfaces/{interfaceId}/pages/{pageId}

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Request body

  • name string
  • position number
  • draft object
    • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
    • tableId string (uuid) required
    • filter object
      • conjunction "and" | "or"
      • conditions array of object required
    • sorts array of object
      • fieldId string (uuid) required
      • direction "asc" | "desc"
    • fields array of string (uuid)
    • elements array of object
    • 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"
    • 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
    • form object
      • fields array of object
        • fieldId string (uuid) required
        • label string
        • required boolean
      • submitLabel string
      • successMessage string

Responses

  • 200 Success
    • id string (uuid) required
    • interfaceId string (uuid) required
    • name string required
    • position number required
    • draft object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • published object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • publishedAt string (date-time) | null required
    • hasChanges 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)

Delete a page

DELETE /api/bases/{baseId}/interfaces/{interfaceId}/pages/{pageId}

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes
pageIdpathstring (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)

Publish a page's draft: what the base's other collaborators see

POST /api/bases/{baseId}/interfaces/{interfaceId}/pages/{pageId}/publish

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • interfaceId string (uuid) required
    • name string required
    • position number required
    • draft object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • published object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • publishedAt string (date-time) | null required
    • hasChanges 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)

Unpublish a page: only creators and owners see it again

POST /api/bases/{baseId}/interfaces/{interfaceId}/pages/{pageId}/unpublish

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

Parameters

NameInTypeRequired
baseIdpathstringyes
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • interfaceId string (uuid) required
    • name string required
    • position number required
    • draft object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • published object | null required
      • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
      • tableId string (uuid) required
      • filter object
        • conjunction "and" | "or" required
        • conditions array of object required
      • sorts array of object required
        • fieldId string (uuid) required
        • direction "asc" | "desc" required
      • fields array of string (uuid) required
      • elements array of object required
      • 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"
      • 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
      • form object
        • fields array of object required
          • fieldId string (uuid) required
          • label string required
          • required boolean required
        • submitLabel string required
        • successMessage string required
    • publishedAt string (date-time) | null required
    • hasChanges 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)

An interface and its pages as the caller reaches it (interface-only collaborators: published pages)

GET /api/interfaces/{interfaceId}

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes

Responses

  • 200 Success
    • interface object required
      • id string (uuid) required
      • baseId string (uuid) required
      • name string required
      • position number required
      • pages array of object required
        • id string (uuid) required
        • interfaceId string (uuid) required
        • name string required
        • position number required
        • draft object | null required
          • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
          • tableId string (uuid) required
          • filter object
          • sorts array of object required
          • fields array of string (uuid) required
          • elements array of object required
          • kanban object
          • calendar object
          • timeline object
          • form object
        • published object | null required
          • layout "recordList" | "recordReview" | "dashboard" | "form" | "kanban" | "calendar" | "timeline" required
          • tableId string (uuid) required
          • filter object
          • sorts array of object required
          • fields array of string (uuid) required
          • elements array of object required
          • kanban object
          • calendar object
          • timeline object
          • form object
        • publishedAt string (date-time) | null required
        • hasChanges boolean required
    • baseName string required
    • workspaceId string (uuid) required
    • canEdit boolean required
    • access "base" | "interface" required
    • role "owner" | "creator" | "editor" | "commenter" | "read_only" 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)

A window of a page's records: the page's filter for this viewer, only the fields it shows

POST /api/interfaces/{interfaceId}/pages/{pageId}/records

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Request body

  • draft boolean
  • filters object
  • offset integer
  • limit integer
  • from string
  • to string

Responses

  • 200 Success
    • table object required
      • id string (uuid) required
      • name string required
    • fields array of object required
      • id string (uuid) required
      • name string required
      • type "singleLineText" | "longText" | "number" | "currency" | "percent" | "checkbox" | "date" | "dateTime" | … required
      • options any required
      • isPrimary boolean required
    • records array of object required
      • id string (uuid) required
      • fields object required
      • links object
    • offset integer required
    • total integer required
    • editable array of string (uuid) required
    • canSubmit boolean required
    • 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"
    • 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
  • 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)

Edit the fields a published page makes editable, on one of its records

PATCH /api/interfaces/{interfaceId}/pages/{pageId}/records/{recordId}

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes
recordIdpathstring (uuid)yes

Request body

  • fields object required

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
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Submit a form page: a new record from the form's fields

POST /api/interfaces/{interfaceId}/pages/{pageId}/submissions

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Request body

  • fields object required

Responses

  • 201 Success
    • id string (uuid) 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)

A page's numbers and charts, aggregated on the server (the draft's for creators, with draft)

POST /api/interfaces/{interfaceId}/pages/{pageId}/data

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
pageIdpathstring (uuid)yes

Request body

  • draft boolean
  • filters object

Responses

  • 200 Success
    • elements object 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)

The interfaces shared with you alone, without their bases

GET /api/me/interfaces

Access: any signed-in user, for their own data; signed-in session only (no personal access tokens).

Responses

  • 200 Success
    • interfaces array of object required
      • id string (uuid) required
      • name string required
      • baseId string (uuid) required
      • baseName string required
      • workspaceName string required
      • role "editor" | "read_only" required
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

An interface's interface-only collaborators and pending invitations (creators)

GET /api/interfaces/{interfaceId}/collaborators

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes

Responses

  • 200 Success
    • collaborators array of object required
      • userId string (uuid) required
      • email string | null required
      • name string | null required
      • avatarUrl string | null required
      • role "editor" | "read_only" required
    • invitations array of object required
      • id string (uuid) required
      • workspaceId string (uuid) required
      • baseId string (uuid) | null required
      • interfaceId string (uuid) | null required
      • email string required
      • role "owner" | "creator" | "editor" | "commenter" | "read_only" required
      • invitedByName string | null required
      • expiresAt string (date-time) required
      • sentAt string (date-time) required
      • createdAt string (date-time) required
      • emailSent boolean
  • 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)

Invite someone to this interface only, by email (creators)

POST /api/interfaces/{interfaceId}/collaborators

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes

Request body

  • email string required
  • role "editor" | "read_only"

Responses

  • 201 Success
    • id string (uuid) required
    • workspaceId string (uuid) required
    • baseId string (uuid) | null required
    • interfaceId string (uuid) | null required
    • email string required
    • role "owner" | "creator" | "editor" | "commenter" | "read_only" required
    • invitedByName string | null required
    • expiresAt string (date-time) required
    • sentAt string (date-time) required
    • createdAt string (date-time) required
    • emailSent boolean
  • 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)

Change an interface-only collaborator's role

PATCH /api/interfaces/{interfaceId}/collaborators/{userId}

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
userIdpathstring (uuid)yes

Request body

  • role "editor" | "read_only" required

Responses

  • 200 Success
    • userId string (uuid) required
    • email string | null required
    • name string | null required
    • avatarUrl string | null required
    • role "editor" | "read_only" 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 interface-only collaborator

DELETE /api/interfaces/{interfaceId}/collaborators/{userId}

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
userIdpathstring (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)

Revoke a pending invitation to this interface

DELETE /api/interfaces/{interfaceId}/invitations/{invitationId}

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

Parameters

NameInTypeRequired
interfaceIdpathstring (uuid)yes
invitationIdpathstring (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)