Management APIs / Cloud Connect
Issue a Cloud Connect enrollment token
POSThttps://api.spice.ai/v1/cloud-connect/token
Issues a one-time standalone or cluster enrollment token. Requires a user-derived bearer, X-Org-Name, the kind-appropriate write scope, and org admin/owner role. Client-credential tokens are rejected because enrollment admission must retain user audit attribution.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Header parameters
X-Org-NamestringRequired
Body
application/jsonRequired
One of
kind: standaloneobject
kindstringRequired- Value:
standalone
- Value:
ttl_secondsinteger- Default:
3600 - Minimum:
1 - Maximum:
86400
- Default:
kind: cluster, with nameobject
kindstringRequired- Value:
cluster
- Value:
namestringRequiredregionstringcloud_account_idstringcloud_providerstring- Value:
aws
- Value:
operations_modestring- Allowed values:
managed,approval_required
- Allowed values:
ttl_secondsinteger- Default:
3600 - Minimum:
1 - Maximum:
86400
- Default:
kind: cluster, with connection_idobject
kindstringRequired- Value:
cluster
- Value:
connection_idstringRequiredttl_secondsinteger- Default:
3600 - Minimum:
1 - Maximum:
86400
- Default:
Responses
201Enrollment token issuedapplication/json
kindstringRequired- Allowed values:
standalone,cluster
- Allowed values:
tokenstringRequired- Pattern:
^spice-enroll-[A-Za-z0-9_-]{32}$
- Pattern:
expires_atstring (date-time)RequiredorganizationobjectRequired2 properties
idintegerRequirednamestringRequired
targetobject | nullRequiredThe created cluster or rotated connection identifier.
400Invalid request or missing organization assertion
401Unauthorized
403Insufficient scope, role, or plan
409Cluster has already enrolled
413Request body too large
429Token issuance rate limit exceeded
500Internal token issuance failure
OpenAPIapi.spice.ai/openapi.json
curl -X POST "https://api.spice.ai/v1/cloud-connect/token" \
-H "Authorization: Bearer <token>" \
-H "X-Org-Name: <X-Org-Name>" \
-H "Content-Type: application/json" \
-d '{
"kind": "standalone"
}'POST /v1/cloud-connect/token HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>
X-Org-Name: <X-Org-Name>
Content-Type: application/json
Content-Length: 26
{
"kind": "standalone"
}{
"kind": "standalone",
"token": "string",
"expires_at": "2026-01-01T00:00:00Z",
"organization": {
"id": 0,
"name": "string"
},
"target": {}
}application/json
No response body
No response body
No response body
No response body
No response body
No response body
No response body