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.
string
All of
  • maximum length 64
A Cantora Organization identifier, prefixed with `org_`.
  • pattern ^org_[\s\S]+$

Request body

Required.

application/json
object
  • unknown properties allowed false
providerrequired
stringThe Surface provider this application belongs to.
  • allowed values "slack"
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.
  • write only true
All of
  • minimum length 1
  • maximum length 8192

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

ProviderApplicationCreatedJsonEncoding

object
  • unknown properties allowed false
providerApplicationIdrequired
stringThe Organization-owned provider application identifier.
All of
  • maximum length 64
A Cantora provider application identifier, prefixed with `provider_app_`.
  • pattern ^provider_app_[\s\S]+$
organizationIdrequired
stringThe Organization identifier.
All of
  • maximum length 64
A Cantora Organization identifier, prefixed with `org_`.
  • pattern ^org_[\s\S]+$
providerrequired
stringThe model or Surface provider key.
  • allowed values "slack"
providerAppIdrequired
stringThe provider's stable application identifier.
displayNamerequired
stringThe human-readable resource name.
credentialGenerationrequired
integerThe current credential generation, incremented on rotation.
All of
  • greater than 0
credentialEtagrequired
stringThe strong ETag for the current provider-credential generation.
All of
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$
statusrequired
stringThe current lifecycle status.
  • allowed values "active", "disabled"
createdAtrequired
stringWhen the resource was created, in UTC.
  • format date-time

UnauthorizedJsonEncoding

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.

ForbiddenJsonEncoding

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

NotFoundJsonEncoding

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.

ConflictJsonEncoding

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.