API reference

Oauth

8 operations, generated from the OpenAPI document.

The OAuth apps you registered (never their client secrets)

GET /api/me/oauth-apps

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

Responses

  • 200 Success
    • apps array of object required
      • id string (uuid) required
      • name string required
      • description string required
      • homepageUrl string | null required
      • clientId string required
      • redirectUris array of string required
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Register an OAuth app; the answer is the only time its client secret is shown

POST /api/me/oauth-apps

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

Request body

  • name string required
  • description string
  • homepageUrl string | null
  • redirectUris array of string required

Responses

  • 201 Success
    • id string (uuid) required
    • name string required
    • description string required
    • homepageUrl string | null required
    • clientId string required
    • redirectUris array of string required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
    • clientSecret string | null required
  • 401 Not signed in
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Change an OAuth app, or rotate its client secret (answered once)

PATCH /api/me/oauth-apps/{appId}

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

Parameters

NameInTypeRequired
appIdpathstring (uuid)yes

Request body

  • name string
  • description string
  • homepageUrl string | null
  • redirectUris array of string
  • rotateSecret true

Responses

  • 200 Success
    • id string (uuid) required
    • name string required
    • description string required
    • homepageUrl string | null required
    • clientId string required
    • redirectUris array of string required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
    • clientSecret string | null required
  • 401 Not signed in
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Delete an OAuth app: every person's authorization and token of it end

DELETE /api/me/oauth-apps/{appId}

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

Parameters

NameInTypeRequired
appIdpathstring (uuid)yes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

The OAuth apps you authorized, with their scopes and grants

GET /api/me/authorizations

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

Responses

  • 200 Success
    • authorizations array of object required
      • id string (uuid) required
      • app object required
        • id string (uuid) required
        • name string required
        • homepageUrl string | null required
      • scopes array of "data.records:read" | "data.records:write" | "data.recordComments:read" | "data.recordComments:write" | "schema.bases:read" | "schema.bases:write" | "webhook:manage" | "automations:read" | … required
      • workspaceIds array of string (uuid) required
      • baseIds array of string (uuid) required
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
      • lastUsedAt string (date-time) | null required
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Revoke an app's access: its access and refresh tokens stop working at once

DELETE /api/me/authorizations/{authorizationId}

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

Parameters

NameInTypeRequired
authorizationIdpathstring (uuid)yes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Check an authorization request for the consent screen

GET /api/oauth/authorize

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

Parameters

NameInTypeRequired
response_typequerystringno
client_idquerystringno
redirect_uriquerystringno
scopequerystringno
statequerystringno
code_challengequerystringno
code_challenge_methodquerystringno

Responses

  • 200 Success
    • app object required
      • name string required
      • description string required
      • homepageUrl string | null required
    • clientId string required
    • redirectUri string required
    • scopes array of "data.records:read" | "data.records:write" | "data.recordComments:read" | "data.recordComments:write" | "schema.bases:read" | "schema.bases:write" | "webhook:manage" | "automations:read" | … required
    • current object | null required
      • workspaceIds array of string (uuid) required
      • baseIds array of string (uuid) required
  • 401 Not signed in
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

The consent screen's answer: where to send the browser (a code, or access_denied)

POST /api/oauth/authorize

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

Request body

  • clientId string required
  • redirectUri string required
  • scope string required
  • state string
  • codeChallenge string required
  • codeChallengeMethod "S256" required
  • decision "allow" | "deny" required
  • workspaceIds array of string (uuid)
  • baseIds array of string (uuid)

Responses

  • 200 Success
    • redirectTo string required
  • 401 Not signed in
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)