Skip to content
PUT
/v1/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/tenants/{tenantId}/data-integration-connections/{dataIntegrationConnectionId}/credential

Rotate a host-only Tenant Connection credential

Conditionally replace a host-only credential and expiry. Disable a Sandbox-exposed Connection and create a new one with fresh authority evidence instead.

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]+$
projectIdpathYes
The Project to address.
stringA Cantora Project identifier, prefixed with `proj_`.
  • maximum length 64
  • pattern ^proj_[\s\S]+$
environmentIdpathYes
The Environment to address.
stringA Cantora Environment identifier, prefixed with `env_`.
  • maximum length 64
  • pattern ^env_[\s\S]+$
tenantIdpathYes
The Tenant to address.
stringA Cantora Tenant identifier, prefixed with `tenant_`.
  • maximum length 64
  • pattern ^tenant_[\s\S]+$
dataIntegrationConnectionIdpathYes
The scoped data Integration Connection to address.
stringA Cantora Integration Connection identifier, prefixed with `data_integration_connection_`.
  • maximum length 64
  • pattern ^data_integration_connection_[\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
credentialrequired
stringThe replacement write-only provider credential.
  • maximum length 32768
  • minimum length 1
  • pattern ^[!-~]+$
  • write only true
credentialExpiresAtrequired
When the replacement credential expires, or null when it does not.
Any of
string
null

Responses

200TenantDataIntegrationConnection
400The request path, headers, query, or JSON body did not satisfy the published schema
401Unauthorized
application/json
403Forbidden
application/json
404NotFound
application/json
409Conflict | SandboxCredentialRotationConflict
412DataIntegrationPreconditionFailed

Reusable schemas

TenantDataIntegrationConnectionEncoded

object
  • unknown properties allowed false
dataIntegrationConnectionIdrequired
stringThe scoped data Integration Connection identifier.
  • maximum length 64
  • pattern ^data_integration_connection_[\s\S]+$
organizationIdrequired
stringThe Organization identifier.
  • maximum length 64
  • pattern ^org_[\s\S]+$
projectIdrequired
stringThe Project identifier.
  • maximum length 64
  • pattern ^proj_[\s\S]+$
environmentIdrequired
stringThe Environment identifier.
  • maximum length 64
  • pattern ^env_[\s\S]+$
tenantIdrequired
stringThe Tenant identifier.
  • maximum length 64
  • pattern ^tenant_[\s\S]+$
scopeLevelrequired
stringThe exact tenancy level that owns this Connection authority.
  • allowed values "tenant"
integrationIdrequired
stringThe stable Organization-scoped Integration identifier.
  • maximum length 64
  • pattern ^integration_[\s\S]+$
dataIntegrationApplicationIdrequired
stringThe Organization-owned data Integration Application identifier.
  • maximum length 64
  • pattern ^data_integration_app_[\s\S]+$
externalAccountIdrequired
stringThe provider-stable account or authority identifier.
  • maximum length 512
  • minimum length 1
  • pattern ^[!-~]+$
displayNamerequired
stringThe human-readable resource name.
credentialGenerationrequired
integerThe current credential generation, incremented on rotation.
  • greater than 0
credentialExpiresAtrequired
When the installed provider credential expires, in UTC, or null when it does not expire.
  • format date-time
Any of
string
null
credentialExposurerequired
IntegrationCredentialExposureWhether the credential remains host-only or may enter the exact scoped Sandbox.
statusrequired
DataIntegrationStatusThe current lifecycle status.
sandboxAttestationrequired
NullableStaticCredentialSandboxAttestationThe operator's versioned provider-authority evidence, or null for host-only credentials.
sandboxAttestedByPrincipalIdrequired
The Principal that attested Sandbox exposure, or null for host-only credentials.
Any of
stringA Cantora Principal identifier, prefixed with `principal_`.
  • maximum length 64
  • pattern ^principal_[\s\S]+$
null
sandboxAttestedAtrequired
When the Sandbox exposure evidence was attested, in UTC, or null for host-only credentials.
  • format date-time
Any of
string
null
etagrequired
stringThe strong ETag required for the next conditional mutation.
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$
createdAtrequired
stringWhen the resource was created, in UTC.
  • format date-time
updatedAtrequired
stringWhen the resource was last updated, 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.

SandboxCredentialRotationConflictEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "SandboxCredentialRotationConflict"
resourcerequired
stringThe resource type relevant to the error.
  • allowed values "dataIntegrationConnection"
requiredActionrequired
stringThe stable machine-readable action required before retrying the operation.
  • allowed values "disableAndCreateNewConnection"

DataIntegrationPreconditionFailedEncoded

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "DataIntegrationPreconditionFailed"
resourcerequired
stringThe resource type relevant to the error.
  • allowed values "integration", "dataIntegrationApplication", "integrationEnvironmentBinding", "dataIntegrationConnection", "knowledgeBase"
currentEtagrequired
stringThe current strong ETag required for the next conditional activation.
  • maximum length 12
  • pattern ^"(?:[1-9][0-9]{0,9})"$

IntegrationCredentialExposure

string
  • allowed values "hostOnly", "sandbox"

DataIntegrationStatus

string
  • allowed values "active", "disabled"

NullableStaticCredentialSandboxAttestation

StaticCredentialSandboxAttestation

object
  • unknown properties allowed false
statementrequired
stringThe closed assertion made by this Sandbox credential attestation.
  • allowed values "providerAuthorityConfinedToConnectionScope"
versionrequired
stringThe immutable Agent Version returned by the publication.
  • allowed values "cantora.ai/static-credential-sandbox-authority/v1"
evidenceReferencerequired
stringA non-secret reference to the reviewed provider-authority evidence.