Download OpenAPI specification:Download
https://api.signicat.com/domain-management/The Signicat Domain Management API enables you to manage the domains of your Signicat accounts.
This API is part of our management APIs, which allow you to programmatically manage configurations that are typically handled in the Signicat Dashboard.
This REST API uses the OAuth 2.0 protocol for authorisation. All request and response bodies are formatted in JSON.
Endpoints for managing your domains.
See our documentation in order to become familiar with what domains are used for and what features we support.
{- "data": [
- {
- "id": "string",
- "accountId": "string",
- "domain": "string",
- "domainKind": "SignicatManaged",
- "requireMutualTls": true,
- "customerManagedParameters": {
- "certificateKind": "LetsEncrypt",
- "certificateId": "string",
- "validTo": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string"
}, - "tlsState": "NotReady",
- "dnsState": "NotReady",
- "isDefaultDomain": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z"
}
]
}Adds a domain to your account.
For production accounts, domains with property DomainKind=CustomerManaged are a paid product.
| domain required | string [ 1 .. 256 ] characters FQDN of the domain you want to add. |
| domainKind required | string Enum: "SignicatManaged" "CustomerManaged" Domain kind. See docs for further descriptions. |
| makeDefault | boolean or null Whether this domain should be the default domain for the account. |
| requireMutualTls | boolean or null Whether this domain should only be accessible through mTLS. |
object or null Additional parameters required when |
{- "domain": "string",
- "domainKind": "SignicatManaged",
- "makeDefault": true,
- "requireMutualTls": true,
- "customerManagedParameters": {
- "certificateKind": "LetsEncrypt",
- "certificateId": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string",
- "acmeEabHmacKey": "string"
}
}{- "id": "string",
- "accountId": "string",
- "domain": "string",
- "domainKind": "SignicatManaged",
- "requireMutualTls": true,
- "customerManagedParameters": {
- "certificateKind": "LetsEncrypt",
- "certificateId": "string",
- "validTo": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string"
}, - "tlsState": "NotReady",
- "dnsState": "NotReady",
- "isDefaultDomain": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z"
}Retrieves information about a domain on your account.
| domainId required | string |
{- "id": "string",
- "accountId": "string",
- "domain": "string",
- "domainKind": "SignicatManaged",
- "requireMutualTls": true,
- "customerManagedParameters": {
- "certificateKind": "LetsEncrypt",
- "certificateId": "string",
- "validTo": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string"
}, - "tlsState": "NotReady",
- "dnsState": "NotReady",
- "isDefaultDomain": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z"
}Only some configuration may be changed.
Null and undefined values in the request body will be ignored.
Changing the domain FQDN, the domain kind or the certificate kind is not possible. For this, a new domain must be created.
| domainId required | string |
| makeDefault | boolean or null Whether this domain should be the default domain for the account. |
object or null Additional parameters for when |
{- "makeDefault": true,
- "customerManagedParameters": {
- "certificateId": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string",
- "acmeEabHmacKey": "string"
}
}{- "id": "string",
- "accountId": "string",
- "domain": "string",
- "domainKind": "SignicatManaged",
- "requireMutualTls": true,
- "customerManagedParameters": {
- "certificateKind": "LetsEncrypt",
- "certificateId": "string",
- "validTo": "string",
- "acmeEabServerUrl": "string",
- "acmeEabKeyId": "string"
}, - "tlsState": "NotReady",
- "dnsState": "NotReady",
- "isDefaultDomain": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "deletedAt": "2019-08-24T14:15:22Z"
}Removes the domain from your account.
If this is a Signicat-managed domain the domain will be immediately available for re-use by another account.
| domainId required | string |
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "property1": null,
- "property2": null
}Performs DNS validation for the domain and returns each DNS record and its status.
This is only relevant for customer-managed domains.
All DNS records must be valid before the domain can be used.
| domainId required | string |
{- "records": [
- {
- "domain": "string",
- "type": "string",
- "value": "string",
- "valid": true,
- "dnsCorrect": true,
- "dnsValidationOverride": true,
- "partnerWildcardDns": true,
- "pointsToSignicatIdentityBrokerCname": true
}
], - "valid": true
}Only available for customer-managed domains using customer-managed certificates.
The certificate must be uploaded to Certificate Management System under the same account as the domain.
| domainId required | string |
| certificateId required | string non-empty ID of the TLS certificate as seen in Certificate Management System. |
{- "certificateId": "string"
}Validates that a domain name is valid.
For Signicat-managed domains it additionally validates that a domain is not already taken. For customer-managed domains it's possible to add a domain that is already in use.
| domain required | string non-empty The domain to check |
| kind required | string Enum: "SignicatManaged" "CustomerManaged" The kind of domain to check |
| requireMutualTls | boolean or null Whether the domain will use mTLS or not. Required when Kind = CustomerManaged |
{- "domain": "string",
- "kind": "SignicatManaged",
- "requireMutualTls": true
}{- "valid": true,
- "error": "string",
- "code": "Valid"
}This is a helper endpoint to get the required suffix when creating a Signicat-managed domain.
The suffix will vary depending on whether the account is a sandbox or production account, and whether the domain requires mTLS or not.
{- "suffix": "string",
- "mtlsSuffix": "string"
}