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
200Successappsarray of object requiredidstring (uuid) requirednamestring requireddescriptionstring requiredhomepageUrlstring | null requiredclientIdstring requiredredirectUrisarray of string requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) required
401Not signed in429Too 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
namestring requireddescriptionstringhomepageUrlstring | nullredirectUrisarray of string required
Responses
201Successidstring (uuid) requirednamestring requireddescriptionstring requiredhomepageUrlstring | null requiredclientIdstring requiredredirectUrisarray of string requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) requiredclientSecretstring | null required
401Not signed in422The request failed validation429Too 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
| Name | In | Type | Required |
|---|---|---|---|
appId | path | string (uuid) | yes |
Request body
namestringdescriptionstringhomepageUrlstring | nullredirectUrisarray of stringrotateSecrettrue
Responses
200Successidstring (uuid) requirednamestring requireddescriptionstring requiredhomepageUrlstring | null requiredclientIdstring requiredredirectUrisarray of string requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) requiredclientSecretstring | null required
401Not signed in422The request failed validation429Too 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
| Name | In | Type | Required |
|---|---|---|---|
appId | path | string (uuid) | yes |
Responses
204Success, no content401Not signed in429Too 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
200Successauthorizationsarray of object requiredidstring (uuid) requiredappobject requiredidstring (uuid) requirednamestring requiredhomepageUrlstring | null required
scopesarray of "data.records:read" | "data.records:write" | "data.recordComments:read" | "data.recordComments:write" | "schema.bases:read" | "schema.bases:write" | "webhook:manage" | "automations:read" | … requiredworkspaceIdsarray of string (uuid) requiredbaseIdsarray of string (uuid) requiredcreatedAtstring (date-time) requiredupdatedAtstring (date-time) requiredlastUsedAtstring (date-time) | null required
401Not signed in429Too 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
| Name | In | Type | Required |
|---|---|---|---|
authorizationId | path | string (uuid) | yes |
Responses
204Success, no content401Not signed in429Too 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
| Name | In | Type | Required |
|---|---|---|---|
response_type | query | string | no |
client_id | query | string | no |
redirect_uri | query | string | no |
scope | query | string | no |
state | query | string | no |
code_challenge | query | string | no |
code_challenge_method | query | string | no |
Responses
200Successappobject requirednamestring requireddescriptionstring requiredhomepageUrlstring | null required
clientIdstring requiredredirectUristring requiredscopesarray of "data.records:read" | "data.records:write" | "data.recordComments:read" | "data.recordComments:write" | "schema.bases:read" | "schema.bases:write" | "webhook:manage" | "automations:read" | … requiredcurrentobject | null requiredworkspaceIdsarray of string (uuid) requiredbaseIdsarray of string (uuid) required
401Not signed in422The request failed validation429Too 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
clientIdstring requiredredirectUristring requiredscopestring requiredstatestringcodeChallengestring requiredcodeChallengeMethod"S256" requireddecision"allow" | "deny" requiredworkspaceIdsarray of string (uuid)baseIdsarray of string (uuid)
Responses
200SuccessredirectTostring required
401Not signed in422The request failed validation429Too many requests: a rate limit was reached (see Retry-After)