POST
/v1/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/surface-registrationsRegister a Surface provider application in an Environment
Register an Organization-owned provider application as a delivery Surface in one Environment.
Authentication
Send an API key as a Bearer token in the Authorization header.
Parameters
Request body
Required.
application/jsonobject- unknown properties allowed
false
providerApplicationIdrequiredstringThe Organization-owned provider application to register in this Environment.All of- maximum length
64
A Cantora provider application identifier, prefixed with `provider_app_`.- pattern
^provider_app_[\s\S]+$
- maximum length
displayNamerequiredstringThe human-readable Surface registration name.- maximum length
200 - minimum length
1
- maximum length
Responses
201SurfaceRegistrationCreatedapplication/json400The request path, headers, query, or JSON body did not satisfy the published schema401Unauthorizedapplication/json403Forbiddenapplication/json404NotFoundapplication/json409Conflictapplication/jsonReusable schemas
SurfaceRegistrationCreatedJsonEncoding
object- unknown properties allowed
false
surfaceRegistrationIdrequiredstringThe Environment Surface registration identifier.All of- maximum length
64
A Cantora Surface registration identifier, prefixed with `surface_`.- pattern
^surface_[\s\S]+$
- maximum length
organizationIdrequiredstringThe Organization identifier.All of- maximum length
64
A Cantora Organization identifier, prefixed with `org_`.- pattern
^org_[\s\S]+$
- maximum length
projectIdrequiredstringThe Project identifier.All of- maximum length
64
A Cantora Project identifier, prefixed with `proj_`.- pattern
^proj_[\s\S]+$
- maximum length
environmentIdrequiredstringThe Environment identifier.All of- maximum length
64
A Cantora Environment identifier, prefixed with `env_`.- pattern
^env_[\s\S]+$
- maximum length
providerApplicationIdrequiredstringThe Organization-owned provider application identifier.All of- maximum length
64
A Cantora provider application identifier, prefixed with `provider_app_`.- pattern
^provider_app_[\s\S]+$
- maximum length
providerrequiredstringThe model or Surface provider key.- allowed values
"slack"
- allowed values
providerAppIdrequiredstringThe provider's stable application identifier.displayNamerequiredstringThe human-readable resource name.statusrequiredstringThe current lifecycle status.- allowed values
"active", "disabled"
- allowed values
capabilitiesrequired- SurfaceCapabilitiesThe delivery and interaction capabilities of the registered Surface.
conditionsrequired- SurfaceRegistrationConditionsConditions on the registration that require operator attention.
createdAtrequiredstringWhen the resource was created, in UTC.- format
date-time
- format
UnauthorizedJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Unauthorized"
- allowed values
reasonrequiredstringA safe explanation of why the credential was rejected.
ForbiddenJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Forbidden"
- allowed values
permissionrequiredstringThe permission required by the refused operation.
NotFoundJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"NotFound"
- allowed values
resourcerequiredstringThe resource type relevant to the error.idrequiredstringThe identifier supplied for the resource that was not found.
ConflictJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Conflict"
- allowed values
resourcerequiredstringThe resource type relevant to the error.reasonrequiredstringA safe explanation of the state conflict.
SurfaceCapabilities
object- unknown properties allowed
false
participantModelrequiredstringWhether a conversation has one participant or a shared audience.- allowed values
"single", "multi"
- allowed values
addressingrequiredstringHow a participant addresses the Agent on this Surface.- allowed values
"implicit", "mention", "explicit"
- allowed values
threadingrequiredstringHow the Surface groups replies into threads.- allowed values
"none", "thread"
- allowed values
reactionsrequiredarrayThe provider-native reactions the Surface adapter can deliver.ItemsstringAll of- minimum length
1
- maximum length
64
- pattern
^[!-~]+$
All of- unique items
true
- minimum length
progressrequiredstringHow the Surface presents progress while work runs.- allowed values
"none", "edit-in-place", "append", "stream"
- allowed values
approvalAffordancerequiredstringHow the Surface presents an approval request.- allowed values
"none", "signed-interaction", "authenticated-view"
- allowed values
deliveryIdentityrequiredstringWhether delivery uses a provider-owned or Cantora-owned identity.- allowed values
"provider-key", "cantora-key"
- allowed values
transportrequiredstringThe provider transport used to receive and deliver messages.- allowed values
"webhook-and-call", "subscription"
- allowed values
SurfaceRegistrationConditions
arraySurfaceRegistrationConditionJsonEncoding
object- unknown properties allowed
false
coderequiredstringThe stable machine-readable condition code.- allowed values
"mixedTenantConversation"
- allowed values
providerIssuerrequiredstringThe provider account or workspace boundary.All of- minimum length
1
- maximum length
512
- pattern
^[!-~]+$
- minimum length
providerConversationKeyrequiredstringThe provider's stable conversation address within its issuer.All of- minimum length
1
- maximum length
512
- pattern
^[!-~]+$
- minimum length
existingTenantIdrequiredstringThe Tenant that already owns the provider conversation.All of- maximum length
64
A Cantora Tenant identifier, prefixed with `tenant_`.- pattern
^tenant_[\s\S]+$
- maximum length
attemptedTenantIdrequiredstringThe Tenant that attempted to claim the provider conversation.All of- maximum length
64
A Cantora Tenant identifier, prefixed with `tenant_`.- pattern
^tenant_[\s\S]+$
- maximum length
occurrenceCountrequiredintegerHow many times the condition has been observed.All of- greater than
0
- greater than
firstObservedAtrequiredstringWhen the condition was first observed, in UTC.- format
date-time
- format
lastObservedAtrequiredstringWhen the condition was most recently observed, in UTC.- format
date-time
- format