Skip to content
POST
/v1/organizations/{organizationId}/provider-applications

Register an Organization-owned provider application

Register a provider application and its write-only signing secret for use by Surface registrations in the Organization.

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]+$

Request body

Required.

application/json
object
  • unknown properties allowed false
providerrequired
SurfaceProviderThe Surface provider this application belongs to.
providerAppIdrequired
stringThe provider's stable identifier for the application.
  • maximum length 512
  • minimum length 1
displayNamerequired
stringThe human-readable provider application name.
  • maximum length 200
  • minimum length 1
signingSecretrequired
stringThe write-only provider secret used to verify signed webhook requests.
  • maximum length 8192
  • minimum length 1
  • write only true

Responses

201ProviderApplicationCreated
400The request path, headers, query, or JSON body did not satisfy the published schema
401Unauthorized
application/json
403Forbidden
application/json
404NotFound
application/json
409Conflict
application/json

Reusable schemas

ProviderApplicationCreatedEncoded

object
  • unknown properties allowed false
providerApplicationIdrequired
stringThe Organization-owned provider application identifier.
  • maximum length 64
  • pattern ^provider_app_[\s\S]+$
organizationIdrequired
stringThe Organization identifier.
  • maximum length 64
  • pattern ^org_[\s\S]+$
providerrequired
SurfaceProviderThe model, Surface, or integration provider key.
providerAppIdrequired
stringThe provider's stable application 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
ProviderApplicationStatusThe 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.

ConflictEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Conflict"
resourcerequired
stringThe resource type relevant to the error.
reasonrequired
stringA safe explanation of the state conflict.

SurfaceProvider

string
  • allowed values "slack", "web"

ProviderApplicationStatus

string
  • allowed values "active", "disabled"