Management APIs / Cloud Connect
Enroll a Cloud Connect cluster or standalone runtime
POSThttps://api.spice.ai/v1/cloud-connect/enroll
Token enrollment accepts a canonical kind-bound enrollment token. Standalone enrollment may instead use user Authorization plus X-Org-Name. Idempotency-Key is required for standalone enrollment.
Authorizations
AuthorizationstringBearer <token>. Authentication lists the tokens it accepts.
Header parameters
Idempotency-Keystring (uuid)X-Org-NamestringRequired with Bearer authorization for authenticated standalone enrollment; omitted for token enrollment.
Body
application/jsonRequired
One of
kind: standalone, with tokenobject
kindstringRequired- Value:
standalone
- Value:
tokenstringRequired- Pattern:
^spice-enroll-[A-Za-z0-9_-]{32}$
- Pattern:
expected_orgstringcsr_pemstringRequiredenc_pubkey_pemstringRequiredinstanceobjectRequiredregionstring
kind: clusterobject
kindstringRequired- Value:
cluster
- Value:
tokenstringRequired- Pattern:
^spice-enroll-[A-Za-z0-9_-]{32}$
- Pattern:
expected_orgstringcsr_pemstringRequiredenc_pubkey_pemstringRequired
kind: standalone, without tokenobject
kindstringRequired- Value:
standalone
- Value:
csr_pemstringRequiredenc_pubkey_pemstringRequiredinstanceobjectRequiredregionstring
Responses
200Enrollment completed or exactly replayedapplication/json
One of
kind: standaloneobject
kindstringRequired- Value:
standalone
- Value:
instance_idstringRequiredidentity_cert_pemstringRequiredca_bundle_pemstringRequiredgateway_addrstringRequirednot_afterstring (date-time)RequiredorganizationobjectRequired2 properties
idintegerRequirednamestringRequired
regionstringRequiredportalobjectRequired1 property
new_project_urlstring (uri)Required
attachmentnullRequiredrecoveredbooleanRequired
kind: clusterobject
kindstringRequired- Value:
cluster
- Value:
connection_idstringRequiredidentity_cert_pemstringRequiredca_bundle_pemstringRequiredgateway_addrstringRequirednot_afterstring (date-time)RequiredorganizationobjectRequired2 properties
idintegerRequirednamestringRequired
regionstringRequiredattachmentnullRequired
400Invalid request, kind mismatch, or unsupported project field
401Invalid credential or authorization
403Authenticated caller lacks the required scope or organization role
409Conflict
Consumed token, connection already enrolled, unavailable connection, organization mismatch, or idempotency mismatch
410Enrollment token or authenticated recovery window expired
413Request body too large
500Internal or identity-provider failure; use the retryable response field
OpenAPIapi.spice.ai/openapi.json
curl -X POST "https://api.spice.ai/v1/cloud-connect/enroll" \
-H "Content-Type: application/json" \
-d '{
"kind": "standalone",
"token": "string",
"csr_pem": "string",
"enc_pubkey_pem": "string",
"instance": {}
}'POST /v1/cloud-connect/enroll HTTP/1.1
Host: api.spice.ai
Content-Type: application/json
Content-Length: 118
{
"kind": "standalone",
"token": "string",
"csr_pem": "string",
"enc_pubkey_pem": "string",
"instance": {}
}{
"kind": "standalone",
"instance_id": "string",
"identity_cert_pem": "string",
"ca_bundle_pem": "string",
"gateway_addr": "string",
"not_after": "2026-01-01T00:00:00Z",
"organization": {
"id": 0,
"name": "string"
},
"region": "string",
"portal": {
"new_project_url": "https://example.com"
},
"attachment": null,
"recovered": true
}application/json
No response body
No response body
No response body
No response body
No response body
No response body
No response body