Domain Zone
API for public DNS hosted zones
Version: 0.1.0
Server
- URL:
https://api.kopernik.us/v0- Kopernik.us API server
Paths
/resource/domainzone/{providerUid}
GET
List domain zones
List public DNS zones for the specified provider.
Note: some fields may not be populated in list responses. In particular,
nameServers may be returned as an empty array for providers whose list
API does not include name server data (e.g. AWS Route 53). Use
getDomainZone to retrieve the fully populated zone.
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| providerUid | path | ProviderId | ✅ | Unique identifier of the provider |
| nextToken | query | string | ❌ | Token for the next page of domain zones, if there are more items to fetch |
| maxResults | query | integer | ❌ | Maximum number of domain zones to fetch |
| jq | query | string | ❌ | JQ filter expression to filter the results. Only resources where the expression evaluates to a truthy value are included. The expression is applied to each resource’s JSON representation. Uses jq 1.7 syntax. |
Responses:
-
200: Domain zones data
- Content Type:
application/json- Schema: DomainZonePagedResourceResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
-
404: Provider not found
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
POST
Create domain zone
Initiate creation of a new public DNS zone for the specified provider, and return an Action representing the create operation.
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| providerUid | path | ProviderId | ✅ | Unique identifier of the provider |
| waitTime | query | number | ❌ | Maximum time to wait for the action to complete with 200 OK before returning 202 Accepted; in seconds |
Request Body:
Content Type: application/json
Schema: DomainZoneCreate
Responses:
-
200: Domain zone created
- Content Type:
application/json- Schema: ActionResponse
- Content Type:
-
202: Domain zone create initiated
- Content Type:
application/json- Schema: ActionResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
/resource/domainzone/{providerUid}/{resourceUid}
GET
Get domain zone
Get domain zone details
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| providerUid | path | ProviderId | ✅ | Unique identifier of the provider |
| resourceUid | path | string | ✅ | Unique identifier of the domain zone |
Responses:
-
200: Domain zone data
- Content Type:
application/json- Schema: DomainZoneResourceResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
-
404: Domain zone not found
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
DELETE
Delete domain zone
Initiate deletion of a domain zone, and return an Action representing the delete operation.
Parameters:
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| providerUid | path | ProviderId | ✅ | Unique identifier of the provider |
| resourceUid | path | string | ✅ | Unique identifier of the domain zone |
| waitTime | query | number | ❌ | Maximum time to wait for the action to complete with 200 OK before returning 202 Accepted; in seconds |
Responses:
-
200: Domain zone deleted
- Content Type:
application/json- Schema: ActionResponse
- Content Type:
-
202: Domain zone delete initiated
- Content Type:
application/json- Schema: ActionResponse
- Content Type:
-
400: Argument validation error
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
-
404: Domain zone not found
- Content Type:
application/json- Schema: ErrorResponse
- Content Type:
Schemas
DomainZone
Public DNS hosted zone
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ | Zone DNS name |
| nameServers | array |
Authoritative name servers for the zone. This field may be missing in list responses (listDomainZones), because some providers (e.g. AWS Route 53) do not include name server data in their list API and populating it would require an additional per-zone request. Retrieve a single zone via getDomainZone to obtain its name servers. |
DomainZoneCreate
Domain zone create request
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ | Zone DNS name |
DomainZoneResourceResponse
Response with domain zone resource
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| resource | DomainZone | ✅ |
DomainZonePagedResourceResponse
Response with paged domain zones
Composition: allOf
Type: object
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| resources | array<DomainZone> | ✅ |