For the complete documentation index, see llms.txt. You can also append .md to any page URL to get its markdown version.
Skip to main content
For the complete documentation index, see llms.txt.

Domain API (v1)

Download OpenAPI specification:Download

  • Base URL: https://api.signicat.com/domain-management/
  • Documentation: See the Domains developer documentation.
  • Support: Create a support ticket in the Signicat Dashboard.

Introduction

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.

Domains

Endpoints for managing your domains.

See our documentation in order to become familiar with what domains are used for and what features we support.

List domains

Returns all domains associated with your account.

Responses

Response samples

Content type
{
  • "data": [
    ]
}

Add domain

Adds a domain to your account.

For production accounts, domains with property DomainKind=CustomerManaged are a paid product.

Request Body schema: application/json
required
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 DomainKind=CustomerManaged.

Responses

Request samples

Content type
application/json
{
  • "domain": "string",
  • "domainKind": "SignicatManaged",
  • "makeDefault": true,
  • "requireMutualTls": true,
  • "customerManagedParameters": {
    }
}

Response samples

Content type
{
  • "id": "string",
  • "accountId": "string",
  • "domain": "string",
  • "domainKind": "SignicatManaged",
  • "requireMutualTls": true,
  • "customerManagedParameters": {
    },
  • "tlsState": "NotReady",
  • "dnsState": "NotReady",
  • "isDefaultDomain": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Retrieve domain

Retrieves information about a domain on your account.

path Parameters
domainId
required
string

Responses

Response samples

Content type
{
  • "id": "string",
  • "accountId": "string",
  • "domain": "string",
  • "domainKind": "SignicatManaged",
  • "requireMutualTls": true,
  • "customerManagedParameters": {
    },
  • "tlsState": "NotReady",
  • "dnsState": "NotReady",
  • "isDefaultDomain": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Update domain configuration

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.

path Parameters
domainId
required
string
Request Body schema: application/json
makeDefault
boolean or null

Whether this domain should be the default domain for the account.

object or null

Additional parameters for when DomainKind=CustomerManaged.

Responses

Request samples

Content type
application/json
{
  • "makeDefault": true,
  • "customerManagedParameters": {
    }
}

Response samples

Content type
{
  • "id": "string",
  • "accountId": "string",
  • "domain": "string",
  • "domainKind": "SignicatManaged",
  • "requireMutualTls": true,
  • "customerManagedParameters": {
    },
  • "tlsState": "NotReady",
  • "dnsState": "NotReady",
  • "isDefaultDomain": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Delete domain

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.

path Parameters
domainId
required
string

Responses

Response samples

Content type
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Check DNS status

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.

path Parameters
domainId
required
string

Responses

Response samples

Content type
{
  • "records": [
    ],
  • "valid": true
}

Change certificate

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.

path Parameters
domainId
required
string
Request Body schema: application/json
certificateId
required
string non-empty

ID of the TLS certificate as seen in Certificate Management System.

Responses

Request samples

Content type
application/json
{
  • "certificateId": "string"
}

Set default domain

Changes the default domain of the account. Various products using domains may handle this differently.

path Parameters
domainId
required
string
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Utilities

Check domain availability

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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "domain": "string",
  • "kind": "SignicatManaged",
  • "requireMutualTls": true
}

Response samples

Content type
{
  • "valid": true,
  • "error": "string",
  • "code": "Valid"
}

Get signicat subdomain suffix

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.

Responses

Response samples

Content type
{
  • "suffix": "string",
  • "mtlsSuffix": "string"
}