Skip to content
POST
/v1/organizations/{organizationId}/integration-applications/{integrationApplicationId}/credential-rotations

Rotate an integration application's write-only credential

Replace the OAuth application's client secret only when the supplied credential-generation ETag is current.

Authentication

Send an API key as a Bearer token in the Authorization header.

Parameters

NameLocationRequiredDescription
organizationIdpathYes
The Organization to address.
stringA Cantora Organization identifier, prefixed with `org_`.
  • maximum length 64
  • pattern ^org_[\s\S]+$
integrationApplicationIdpathYes
The Organization-owned integration application to address.
stringA Cantora integration application identifier, prefixed with `integration_app_`.
  • maximum length 64
  • pattern ^integration_app_[\s\S]+$
if-matchheaderYes
The current strong resource ETag, including its double quotes.
string
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$

Request body

Required.

application/json
object
  • unknown properties allowed false
clientSecretrequired
stringThe write-only replacement OAuth client secret used for token exchange and refresh.
  • maximum length 8192
  • minimum length 1
  • write only true

Responses

200IntegrationApplication
400The request path, headers, query, or JSON body did not satisfy the published schema
401Unauthorized
application/json
403Forbidden
application/json
404NotFound
application/json
412ProviderCredentialPreconditionFailed

Reusable schemas

IntegrationApplicationEncoded

object
  • unknown properties allowed false
integrationApplicationIdrequired
stringThe Organization-owned integration application identifier.
  • maximum length 64
  • pattern ^integration_app_[\s\S]+$
organizationIdrequired
stringThe Organization identifier.
  • maximum length 64
  • pattern ^org_[\s\S]+$
providerrequired
IntegrationProviderThe model, Surface, or integration provider key.
providerClientIdrequired
stringThe provider's stable OAuth client identifier.
displayNamerequired
stringThe human-readable resource name.
credentialGenerationrequired
integerThe current credential generation, incremented on rotation.
  • greater than 0
credentialEtagrequired
stringThe strong ETag for the current provider-credential generation.
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$
statusrequired
IntegrationApplicationStatusThe current lifecycle status.
createdAtrequired
stringWhen the resource was created, in UTC.
  • format date-time

UnauthorizedEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Unauthorized"
reasonrequired
stringA safe explanation of why the credential was rejected.

ForbiddenEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Forbidden"
permissionrequired
stringThe permission required by the refused operation.

NotFoundEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "NotFound"
resourcerequired
stringThe resource type relevant to the error.
idrequired
stringThe identifier supplied for the resource that was not found.

ProviderCredentialPreconditionFailedEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "ProviderCredentialPreconditionFailed"
resourcerequired
stringThe resource type relevant to the error.
  • allowed values "integrationApplication", "providerApplication"
currentEtagrequired
stringThe current strong ETag required for the next provider-credential rotation.
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$

IntegrationProvider

string
  • allowed values "gmail", "googleCalendar", "twitter"

IntegrationApplicationStatus

string
  • allowed values "active", "disabled"