Create a domain - Spacefast Docs
Create a domain
Creates a domain in a team’s inventory and starts DNS verification. Returns the domain with the DNS records to set for proof of control. Assign it to a Space with PATCH /v1/domains/{domainId}.
Authorization
Authorization Bearer token · header required
Authorization: Bearer <token> with an API key (sfa_ prefix), an OAuth access token, a session token, or a Space machine credential (sfm_ prefix).
or
Authorization OAuth2 access token · header required
OAuth 2.0 with Spacefast scopes. People use the authorization code flow; machines use client credentials.
Scopes: domains:write
Request body
required application/json
name: string required
Apex or hostname to add to inventory. The server canonicalizes it to lowercase ASCII before storing it.- min length 1
- max length 253
teamId: string
Team that will own the record, by ID or slug. Defaults to the team an API key is bound to, or to the caller's only eligible team.- min length 1
Responses
201 Response for status 201
{
"$schema": "string",
"data": {
"id": "string",
"name": "string",
"unicodeName": "string",
"kind": "hostname",
"wildcardEnabled": true,
"spaceId": "string",
"primary": true,
"redirect": {
"to": {
"url": "http://example.com"
},
"status": 301
},
"derivedGroup": "string",
"registrar": {
"provider": "string",
"status": "active",
"expiresAt": "2019-08-24T14:15:22Z",
"redemptionEndsAt": "2019-08-24T14:15:22Z",
"autoRenew": true,
"transferLock": true
},
"dns": {
"managementKind": "unmanaged_external",
"dnsMode": "authoritative",
"provider": "string",
"assignedNameservers": [
"string"
],
"observedNameservers": [
"string"
],
"snapshot": {
"freshness": "fresh",
"lastFetchedAt": "2019-08-24T14:15:22Z",
"version": "string"
},
"lastOperation": {
"id": "string",
"kind": "string",
"status": "queued",
"updatedAt": "2019-08-24T14:15:22Z"
}
},
"verification": {
"status": "not_required",
"requiredRecords": [
{
"type": "A",
"name": "string",
"value": "string",
"ttl": -9007199254740991,
"purpose": "verification"
}
],
"lastCheckedAt": "2019-08-24T14:15:22Z",
"lastVerifiedAt": "2019-08-24T14:15:22Z",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"path": "string",
"provider": "infra",
"details": {
"property1": null,
"property2": null
},
"fix": "string",
"retryable": true
}
]
},
"hints": [
{
"id": "string",
"code": "string",
"severity": "info",
"painLevel": "info",
"subjectFacet": "dns_zone",
"subjectRef": {
"domainId": "string",
"zoneId": "string",
"bindingId": "string",
"connectionId": "string"
},
"owner": "stattic",
"status": "active",
"summary": "string",
"description": "string",
"impact": "string",
"evidence": [
{
"label": "string",
"value": "string",
"observedAt": "2019-08-24T14:15:22Z",
"source": "provider_api"
}
],
"suggestions": [
{
"label": "string",
"description": "string",
"action": {
"type": "open_pending_action",
"actionId": "string"
},
"primary": true,
"destructive": true
}
],
"docsUrl": "http://example.com",
"operationId": "string",
"requestId": "string",
"providerRequestId": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
],
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
}
Try it
Request
Body application/json
{
"name": "string",
"teamId": "string"
}
Response
201 default
{
"$schema": "http://example.com",
"type": "string",
"title": "string",
"status": -9007199254740991,
"detail": "string",
"code": "string",
"pointer": "string",
"details": {
"property1": null,
"property2": null
},
"suggestions": [
"string"
],
"next": [
"string"
],
"requestId": "string"
}