{
    "openapi": "3.1.0",
    "info": {
        "title": "Domain Chief API v1",
        "version": "1.0.0",
        "description": "<!-- theme: warning -->\n> There is **no test mode** for this API. Registering and transferring domains will result in real-world actions and might incur costs. Use the free `.example` TLD for testing purposes, these are free to manage.\n\nIf you are building an application and want to integrate with Domain Chief, please [get in touch](https://domain.chief.app/contact) to get client credentials and connect users via OAuth2/OpenID for minimal friction.\n\nIf you are using a personal access token or a non-team scoped token you can supply the team ID using the `X-Chief-Team` header with your requests."
    },
    "servers": [
        {
            "url": "https://domain.chief.app/api/v1"
        }
    ],
    "tags": [
        {
            "name": "Domains",
            "description": "Endpoints for managing domains."
        },
        {
            "name": "Domain Registration"
        },
        {
            "name": "DNS",
            "description": "Endpoints for managing DNS."
        },
        {
            "name": "Web Redirects",
            "description": "Endpoints for managing web redirects."
        },
        {
            "name": "Contacts",
            "description": "Endpoints for managing contacts."
        },
        {
            "name": "Team",
            "description": "Endpoints for managing a team."
        },
        {
            "name": "TLDs",
            "description": "Endpoints for listing TLDs."
        }
    ],
    "security": [
        {
            "ctp": []
        },
        {
            "openid": []
        },
        {
            "ctt": []
        }
    ],
    "paths": {
        "/domains": {
            "get": {
                "operationId": "domains.index",
                "description": "List all domains for the authenticated team.",
                "summary": "List domains",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "tld",
                                    "contacts"
                                ]
                            }
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Search query.",
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        },
                        "example": "example.nl"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Filter by domain status.\n| |\n|---|\n| `active` <br/> The domain is registered. |\n| `failed` <br/> There was a problem completing the registration or transfer. |\n| `deleted` <br/> The domain is deleted (either manually of because it was expired). |\n| `requested` <br/> The domain registration or transfer has been requested and is being processed. |\n| `restorable` <br/> The domain has been deleted at the registry but is still restorable by the user. |",
                        "schema": {
                            "$ref": "#/components/schemas/DomainStatus"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `domain`, `name`, `tld`, `renews_at, `expires_at`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "id"
                        },
                        "example": "domain"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "metadata",
                        "in": "query",
                        "description": "Search metadata key-value pairs. Only exact matches are supported.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "x-deepObject-style": "qs"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Domain"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:read"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "domains.register",
                "description": "Register or transfer a single domain for the authenticated team.\n\nValidation happens realtime but the actual registration or transfer will be processed asynchronously. Do not consider the domain successfully registered until the status of the domain changes.\n\n<!-- theme: warning -->\n> This endpoint could result in a charge to the authenticated team's payment method or an invoice being created. Use the `.example` TLD for testing purposes, these are free to manage.",
                "summary": "Register or transfer domain",
                "tags": [
                    "Domain Registration"
                ],
                "parameters": [
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "tld",
                                    "contacts"
                                ]
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "domain": {
                                        "type": "string",
                                        "description": "The domain name to register or transfer.",
                                        "minLength": 3,
                                        "maxLength": 63
                                    },
                                    "auth_code": {
                                        "type": "string",
                                        "description": "If you are transferring a domain, you must provide the authorization code if it's required by the registry."
                                    },
                                    "is_using_hosted_dns": {
                                        "type": "boolean",
                                        "description": "Cannot be enabled when also providing nameservers. If you are not using hosted DNS you must provide at least two nameservers."
                                    },
                                    "is_whois_privacy_enabled": {
                                        "type": "boolean",
                                        "description": "Enable or disable WHOIS privacy for the domain. This is not supported by all TLDs, check `supports_whois_privacy` for the TLD first before setting this attribute. Cannot be provided together with `contacts`."
                                    },
                                    "contacts": {
                                        "type": "object",
                                        "description": "Map of contacts for the domain. If you do not provide a contact type supported by the TLD, the contact will be set to the default contact for the team. When you provide contact handle types that are not supported by the TLD they will be ignored.\n\nCannot be provided together with `is_whois_privacy_enabled`.",
                                        "properties": {
                                            "owner": {
                                                "type": "string"
                                            },
                                            "admin": {
                                                "type": "string"
                                            },
                                            "tech": {
                                                "type": "string"
                                            },
                                            "billing": {
                                                "type": "string"
                                            },
                                            "reseller": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        }
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the domain. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA domain cannot have more than 50 metadata keys.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "dnssec_keys": {
                                        "type": "array",
                                        "description": "DNSSEC keys are not supported by all TLDs, check `supports_dnssec` for the TLD first before providing this attribute. If you want to enable DNSSEC you need to provide at least one DNSSEC key.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "public_key": {
                                                    "type": "string",
                                                    "description": "Public key for the DNSSEC key."
                                                },
                                                "algorithm": {
                                                    "description": "Algorithm used for the DNSSEC key. Not all algorithms are supported by all TLDs, make sure the algorithm is supported by the TLD before setting it or it will be rejected.\n\n| |\n|---|\n| `1` <br/> RSA/MD5 |\n| `2` <br/> Diffie-Hellman |\n| `3` <br/> DSA/SHA-1 |\n| `5` <br/> RSA/SHA-1 |\n| `6` <br/> RSA/SHA-1 NSEC3 |\n| `7` <br/> RSA/SHA-1 NSEC3 with SHA-1 |\n| `8` <br/> RSA/SHA-256 |\n| `10` <br/> RSA/SHA-512 |\n| `12` <br/> GOST R 34.11-94 |\n| `13` <br/> ECDSA P-256/SHA-256 |\n| `14` <br/> ECDSA P-384/SHA-384 |\n| `15` <br/> Ed25519 |\n| `16` <br/> Ed448 |\n| `17` <br/> SM2 with SM3 |\n| `23` <br/> GOST R 34.10-2001 |",
                                                    "$ref": "#/components/schemas/DnssecKeyAlgorithm"
                                                },
                                                "flags": {
                                                    "description": "Flags for the DNSSEC key. Use `257` for KSK and `256` for ZSK.\n\n| |\n|---|\n| `256` <br/> ZSK |\n| `257` <br/> KSK |",
                                                    "$ref": "#/components/schemas/DnssecKeyType"
                                                },
                                                "protocol": {
                                                    "type": "integer",
                                                    "description": "You can omit this field, it will default to 3 (DNSSEC).",
                                                    "enum": [
                                                        "3"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "public_key",
                                                "algorithm",
                                                "flags"
                                            ]
                                        }
                                    },
                                    "nameservers": {
                                        "type": "array",
                                        "description": "Cannot be supplied together with `is_using_hosted_dns`. You need to provide at least two nameservers.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "hostname": {
                                                    "type": "string",
                                                    "description": "Hostname of the nameserver.",
                                                    "example": "ns.domainchief.eu"
                                                },
                                                "ipv4": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Optional IPv4 address of the nameserver for glue record. Value will be discarded if no glue record is required."
                                                },
                                                "ipv6": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Optional IPv6 address of the nameserver for glue record. Value will be discarded if no glue record is required."
                                                }
                                            },
                                            "required": [
                                                "hostname"
                                            ]
                                        },
                                        "minItems": 2
                                    }
                                },
                                "required": [
                                    "domain"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Domain"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error\n\nAn error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The provided DNSSEC algorithm is not supported by the TLD."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "DNSSEC is not supported for this TLD."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "WHOIS privacy is not supported for this TLD."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "That top level domain is not supported at this time, contact us to request it!"
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The domain is already registered by you."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The domain is already registered with Domain Chief, internal transfers are not available yet. Please contact us for assistance."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The domain is a premium domain and cannot be registered at this time, please contact us to request it!"
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "You must provide the authorization code to transfer this domain."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The authorization code is incorrect."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "Domain is locked and cannot be transferred. Please unlock it first."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "The domain is already being registered."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:register"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:register"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:register"
                        ]
                    }
                ]
            }
        },
        "/domains/availability/{domainName}": {
            "get": {
                "operationId": "domains.availability",
                "description": "Check the availability of a domain name.",
                "summary": "Check domain availability",
                "tags": [
                    "Domain Registration"
                ],
                "parameters": [
                    {
                        "name": "domainName",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "tld",
                                    "price"
                                ]
                            }
                        }
                    },
                    {
                        "name": "auth_code",
                        "in": "query",
                        "description": "Some registries (.nl for example) allow retrieving more domain information with an auth-code. This can be used to see the current renewal date of a domain before transferring it.\n\nThis is optional and should only be provided if the user has the auth-code for the domain and needs to see the extended info.",
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DomainAvailabilityResult`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DomainAvailabilityResult"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error\n\nAn error\n\nAn error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "That top level domain is not supported at this time, contact us to request it!"
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The registry does not support authenticated domain checks."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The provided auth-code is invalid."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "The registry availability service is currently unavailable. Please try again later."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:read:availability"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:read:availability"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:read:availability"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/dns/records": {
            "get": {
                "operationId": "domains.dns.index",
                "description": "List all DNS records for the domain.\n\nYou can only manage DNS records for domains that use hosted DNS.",
                "summary": "List DNS records",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Search query.",
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        },
                        "example": "subdomain"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `type`, `prio`, `name`, `content`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "id"
                        },
                        "example": "type,-prio,name"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "metadata",
                        "in": "query",
                        "description": "Search metadata key-value pairs. Only exact matches are supported.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "x-deepObject-style": "qs"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DNSRecord`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DNSRecord"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:read"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "domains.dns.create",
                "description": "Create a single DNS record for the domain.\n\nYou can only manage DNS records for domains that use hosted DNS.",
                "summary": "Create DNS record",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "A",
                                            "AAAA",
                                            "CNAME",
                                            "MX",
                                            "TXT",
                                            "ALIAS",
                                            "CAA",
                                            "SRV",
                                            "TLSA",
                                            "NS"
                                        ]
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    },
                                    "ttl": {
                                        "type": "integer",
                                        "minimum": 60,
                                        "maximum": 86400
                                    },
                                    "prio": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                    },
                                    "comment": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the record. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA record cannot have more than 50 metadata keys.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "required": [
                                    "type",
                                    "content",
                                    "ttl"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`DNSRecord`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DNSRecord"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:write"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/redirects/web": {
            "get": {
                "operationId": "domains.redirects.web.index",
                "description": "List all web redirects for the domain.\n\nYou can only manage web redirects for domains that use hosted DNS.",
                "summary": "List web redirects",
                "tags": [
                    "Web Redirects"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `subdomain`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "id"
                        },
                        "example": "-subdomain,id"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `WebRedirect`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/WebRedirect"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:redirects_web:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:redirects_web:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:redirects_web:read"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "domains.redirects.web.create",
                "description": "Create a single web redirect for the domain.\n\nYou can only manage web redirects for domains that use hosted DNS.\n\n<!-- theme: warning -->\n> This endpoint will remove any conflicting DNS records if needed to ensure the redirect works correctly.",
                "summary": "Create web redirect",
                "tags": [
                    "Web Redirects"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "target": {
                                        "type": "string",
                                        "format": "uri"
                                    },
                                    "subdomain": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255
                                    },
                                    "status_code": {
                                        "type": "integer",
                                        "enum": [
                                            "301",
                                            "302",
                                            "307",
                                            "308"
                                        ]
                                    },
                                    "include_path": {
                                        "type": "boolean"
                                    },
                                    "include_query": {
                                        "type": "boolean"
                                    }
                                },
                                "required": [
                                    "target",
                                    "status_code"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`WebRedirect`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WebRedirect"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:redirects_web:write"
                        ]
                    }
                ]
            }
        },
        "/contacts": {
            "get": {
                "operationId": "contacts.index",
                "description": "List all contacts for the authenticated team.",
                "summary": "List contacts",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "parent"
                                ]
                            }
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Search query.",
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        },
                        "example": "lastname"
                    },
                    {
                        "name": "parent_handle",
                        "in": "query",
                        "description": "Filter contacts to only those that are sub-contacts of the given parent contact handle.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `handle`, `is_default`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "id"
                        },
                        "example": "-is_default,handle"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "metadata",
                        "in": "query",
                        "description": "Search metadata key-value pairs. Only exact matches are supported.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "x-deepObject-style": "qs"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `Contact`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Contact"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:contacts:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:contacts:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:contacts:read"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "contacts.create",
                "description": "Create a new contact for the authenticated team.\n\nIf a contact with identical details already exists for the team, the existing contact will be returned\ninstead of creating a duplicate (HTTP 200 instead of 201). Use `allow_duplicate: true` to force creation\nof a new contact.",
                "summary": "Create a new contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "parent"
                                ]
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "company_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Company name. If provided this field makes the contact a company contact.",
                                        "maxLength": 255
                                    },
                                    "company_registration_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "If the contact is a company, this field could be required for some TLDs.",
                                        "maxLength": 255
                                    },
                                    "company_trading_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Trading name for the company. Some registries require this as additional information.",
                                        "maxLength": 255
                                    },
                                    "company_url": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "format": "uri",
                                        "description": "Company website URL. Some registries require this as additional information.",
                                        "maxLength": 255
                                    },
                                    "vat_registration": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "If the contact is a company, this field could be required for some TLDs.",
                                        "maxLength": 255
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_street": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_house_number": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_postal_code": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_city": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_state": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "State or province. Accepts either an abbreviation (e.g. \"NY\") or full name (e.g. \"New York\"). Stored as abbreviation.",
                                        "maxLength": 255
                                    },
                                    "address_country_code": {
                                        "type": "string",
                                        "description": "Country code in ISO 3166-1 alpha-2 format.",
                                        "example": "NL",
                                        "maxLength": 2
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "maxLength": 255
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Phone numbers need to be provided in international format.",
                                        "example": "+31 20 1234567",
                                        "maxLength": 255
                                    },
                                    "parent_handle": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Handle of the parent contact. When provided, this contact will be grouped under the parent contact. This is purely for organizational purposes and has no effect on the use of the contact when registering or transferring domains.\n\nInvalid handles will be ignored."
                                    },
                                    "is_default": {
                                        "type": "boolean",
                                        "description": "Indicates if the contact should be the default contact for the team."
                                    },
                                    "allow_duplicate": {
                                        "type": "boolean",
                                        "description": "When true, forces creation of a new contact even if one with identical details exists."
                                    },
                                    "extension_data": {
                                        "type": "object",
                                        "description": "TLD-specific extension data.",
                                        "properties": {
                                            "us_nexus_category": {
                                                "$ref": "#/components/schemas/ContactNexusCategory"
                                            },
                                            "us_applicant_purpose": {
                                                "$ref": "#/components/schemas/ContactApplicantPurpose"
                                            }
                                        }
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the contact. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA contact cannot have more than 50 metadata keys.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "required": [
                                    "first_name",
                                    "last_name",
                                    "address_street",
                                    "address_house_number",
                                    "address_postal_code",
                                    "address_city",
                                    "address_country_code",
                                    "email",
                                    "phone"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`Contact`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Contact"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:contacts:write"
                        ]
                    }
                ]
            }
        },
        "/domains/activity": {
            "get": {
                "operationId": "team.domains.activity",
                "description": "List all domain activities for the authenticated team.",
                "summary": "List domain activity",
                "tags": [
                    "Team"
                ],
                "parameters": [
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "domain",
                                    "domain.tld",
                                    "domain.contacts"
                                ]
                            }
                        }
                    },
                    {
                        "name": "event",
                        "in": "query",
                        "description": "Filter by one or more events. Separate multiple events with commas.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "domain.registration.requested,domain.registration.succeeded,domain.registration.failed"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `created_at`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "-created_at"
                        }
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "description": "Cursor for pagination.",
                        "schema": {
                            "type": "string",
                            "default": null
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DomainActivity`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DomainActivity"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:activity:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:activity:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:activity:read"
                        ]
                    }
                ]
            }
        },
        "/contacts/{contactHandle}": {
            "get": {
                "operationId": "contacts.single",
                "description": "Show a single contact for the authenticated team.",
                "summary": "Show contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "contactHandle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "parent"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Contact`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Contact"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:contacts:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:contacts:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:contacts:read"
                        ]
                    }
                ]
            },
            "patch": {
                "operationId": "contacts.update",
                "description": "Update properties of a single contact for the authenticated team.\n\n> You cannot update the name or company name of a contact. If you need to update these properties, you need to create a new contact.\n\n> Only the properties that are provided will be updated. If you omit a property it will not be changed.",
                "summary": "Update a contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "contactHandle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "parent"
                                ]
                            }
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "company_registration_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "If the contact is a company, this field could be required for some TLDs.",
                                        "maxLength": 255
                                    },
                                    "company_trading_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Trading name for the company. Some registries require this as additional information.",
                                        "maxLength": 255
                                    },
                                    "company_url": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "format": "uri",
                                        "description": "Company website URL. Some registries require this as additional information.",
                                        "maxLength": 255
                                    },
                                    "vat_registration": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "If the contact is a company, this field could be required for some TLDs.",
                                        "maxLength": 255
                                    },
                                    "address_street": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_house_number": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_postal_code": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_city": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "address_state": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "State or province. Accepts either an abbreviation (e.g. \"NY\") or full name (e.g. \"New York\"). Stored as abbreviation.",
                                        "maxLength": 255
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "When updating the e-mail address of a contact that is in use. Please take care to verify the e-mail address if needed. Otherwise connected domains might be suspended.",
                                        "maxLength": 255
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Phone numbers need to be provided in international format.",
                                        "example": "+31 20 1234567",
                                        "maxLength": 255
                                    },
                                    "parent_handle": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Handle of the parent contact. When provided, this contact will be grouped under the parent contact. This is purely for organizational purposes and has no effect on the use of the contact when registering or transferring domains.\n\nInvalid handles will be interpreted as removing the parent contact."
                                    },
                                    "is_default": {
                                        "type": "boolean",
                                        "description": "Indicates if the contact is the default contact for the team. Can only be `true` or unset."
                                    },
                                    "extension_data": {
                                        "type": "object",
                                        "description": "TLD-specific extension data.",
                                        "properties": {
                                            "us_nexus_category": {
                                                "$ref": "#/components/schemas/ContactNexusCategory"
                                            },
                                            "us_applicant_purpose": {
                                                "$ref": "#/components/schemas/ContactApplicantPurpose"
                                            }
                                        }
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the contact. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA contact cannot have more than 50 metadata keys.\n\nTo remove a metadata key, set its value to an empty string.\nTo remove all metadata, set the `metadata` field to an empty object: `{}`.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Contact`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Contact"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:contacts:write"
                        ]
                    }
                ]
            },
            "delete": {
                "operationId": "contacts.delete",
                "description": "Delete a single contact for the authenticated team.\n\nA contact can only be deleted if there is at least one contact left in the team and it's not used as a contact for any domain.",
                "summary": "Delete a contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "contactHandle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:contacts:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:contacts:write"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/dns/records/{dnsRecordId}": {
            "get": {
                "operationId": "domains.dns.single",
                "description": "Show a single DNS record for the domain.\n\nYou can only manage DNS records for domains that use hosted DNS.",
                "summary": "Show DNS record",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dnsRecordId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DNSRecord`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DNSRecord"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:read"
                        ]
                    }
                ]
            },
            "put": {
                "operationId": "domains.dns.update",
                "description": "Update a single DNS record for the domain.\n\nYou can only manage DNS records for domains that use hosted DNS.",
                "summary": "Update DNS record",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dnsRecordId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "A",
                                            "AAAA",
                                            "CNAME",
                                            "MX",
                                            "TXT",
                                            "ALIAS",
                                            "CAA",
                                            "SRV",
                                            "TLSA",
                                            "NS"
                                        ]
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    },
                                    "ttl": {
                                        "type": "integer",
                                        "minimum": 60,
                                        "maximum": 86400
                                    },
                                    "prio": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 65535
                                    },
                                    "comment": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the record. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA record cannot have more than 50 metadata keys.\n\nTo remove a metadata key, set its value to an empty string.\nTo remove all metadata, set the `metadata` field to an empty object: `{}`.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "required": [
                                    "type",
                                    "content",
                                    "ttl"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`DNSRecord`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DNSRecord"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:write"
                        ]
                    }
                ]
            },
            "delete": {
                "operationId": "domains.dns.delete",
                "description": "Deletes a single DNS record for the domain.\n\nYou can only manage DNS records for domains that use hosted DNS.",
                "summary": "Delete DNS record",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dnsRecordId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:write"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/dns/records/clear": {
            "post": {
                "operationId": "domains.dns.clear",
                "description": "Remove all DNS records for the domain.\n\nIf redirects (web or mail) are configured, their records will still be present after the reset.\n\nYou can only manage DNS records for domains that use hosted DNS.\n\n<!-- theme: warning -->\n> This operation is irreversible and will remove all DNS records.",
                "summary": "Clear DNS records",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:write"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/dns/records/reset": {
            "post": {
                "operationId": "domains.dns.reset",
                "description": "Reset all DNS records for the domain to the default settings.\n\nYou can only manage DNS records for domains that use hosted DNS.\n\n<!-- theme: warning -->\n> This operation is irreversible and will reset all DNS records the their Domain Chief default settings.",
                "summary": "Reset DNS records",
                "tags": [
                    "DNS"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:dns:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:dns:write"
                        ]
                    }
                ]
            }
        },
        "/domains/list": {
            "post": {
                "operationId": "domains.list",
                "description": "Retrieve a specific list of domains by name or ID.",
                "summary": "List specific domains",
                "tags": [
                    "Domains"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "expand": {
                                        "type": "array",
                                        "description": "Expand related resources.",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "tld",
                                                "contacts"
                                            ]
                                        }
                                    },
                                    "domains": {
                                        "type": "array",
                                        "description": "List of domain names or IDs to retrieve.",
                                        "items": {
                                            "type": "string"
                                        },
                                        "minItems": 1,
                                        "maxItems": 100
                                    }
                                },
                                "required": [
                                    "domains"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Array of `Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Domain"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:read"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}": {
            "get": {
                "operationId": "domains.single",
                "description": "Show a single domain for the authenticated team.",
                "summary": "Show domain",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "tld",
                                    "contacts"
                                ]
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Domain"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:read"
                        ]
                    }
                ]
            },
            "patch": {
                "operationId": "domains.update",
                "description": "Update properties of a single domain for the authenticated team.\n\n> Only the properties that are provided will be updated. If you omit a property it will not be changed.",
                "summary": "Update a domain",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "tld",
                                    "contacts"
                                ]
                            }
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "is_locked": {
                                        "type": "boolean",
                                        "description": "Lock or unlock the domain. If the domain is locked, it cannot be transferred to another registrar. Note that not all domains support locking. If the domain does not support locking, the request will be rejected. Check the `is_lockable` property on the domain to see if it supports locking."
                                    },
                                    "is_using_hosted_dns": {
                                        "type": "boolean",
                                        "description": "Cannot be enabled when also providing nameservers. Disable to revert to the default nameservers or provide nameservers instead to set your own."
                                    },
                                    "is_autorenew_enabled": {
                                        "type": "boolean",
                                        "description": "Enabled or disables auto-renewal for the domain."
                                    },
                                    "is_dnssec_enabled": {
                                        "type": "boolean",
                                        "description": "Can be used to disable DNSSEC for the domain. If you want to enable DNSSEC use `dnssec_keys` and provide at least one key."
                                    },
                                    "is_whois_privacy_enabled": {
                                        "type": "boolean",
                                        "description": "Enable or disable WHOIS privacy for the domain. This is not supported by all TLDs, check `supports_whois_privacy` first before setting this attribute. If you disable WHOIS privacy the team's default contacts will be used for all handle types. Alternatively, you can provide `contacts` to set custom contacts for the domain which will also disable WHOIS privacy.\n\nCannot be provided together with `contacts`."
                                    },
                                    "contacts": {
                                        "type": "object",
                                        "description": "Map of contacts for the domain. Only the provided contact types will be updated, any omitted contact types will remain unchanged. When you provide contact handles that are not supported by the TLD they will be ignored.\n\nIf you want to reset all contacts to the team's default provide an empty object.\n\nIf WHOIS privacy is enabled for the domain it will be disabled.\n\nCannot be provided together with `is_whois_privacy_enabled`.",
                                        "properties": {
                                            "owner": {
                                                "type": "string"
                                            },
                                            "admin": {
                                                "type": "string"
                                            },
                                            "tech": {
                                                "type": "string"
                                            },
                                            "billing": {
                                                "type": "string"
                                            },
                                            "reseller": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        }
                                    },
                                    "metadata": {
                                        "type": "object",
                                        "description": "Optional metadata to attach to the domain. Metadata keys must be strings and cannot exceed 40 characters or contain `[` or `]` characters.\nMetadata values must be strings and cannot exceed 500 characters.\nA domain cannot have more than 50 metadata keys.\n\nTo remove a metadata key, set its value to an empty string.\nTo remove all metadata, set the `metadata` field to an empty object: `{}`.",
                                        "example": {
                                            "key1": "value1",
                                            "key2": "value2"
                                        },
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "dnssec_keys": {
                                        "type": "array",
                                        "description": "Enable or disable DNSSEC for the domain. This is not supported by all TLDs, check `supports_dnssec` first before setting this attribute. If you enable DNSSEC you need to provide at least one DNSSEC key. To disable DNSSEC provide an empty array.\n\nCannot be provided together with `is_dnssec_enabled`.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "public_key": {
                                                    "type": "string",
                                                    "description": "Public key for the DNSSEC key."
                                                },
                                                "algorithm": {
                                                    "description": "Algorithm used for the DNSSEC key. Not all algorithms are supported by all TLDs, make sure the algorithm is supported by the TLD before setting it or it will be rejected.\n\n| |\n|---|\n| `1` <br/> RSA/MD5 |\n| `2` <br/> Diffie-Hellman |\n| `3` <br/> DSA/SHA-1 |\n| `5` <br/> RSA/SHA-1 |\n| `6` <br/> RSA/SHA-1 NSEC3 |\n| `7` <br/> RSA/SHA-1 NSEC3 with SHA-1 |\n| `8` <br/> RSA/SHA-256 |\n| `10` <br/> RSA/SHA-512 |\n| `12` <br/> GOST R 34.11-94 |\n| `13` <br/> ECDSA P-256/SHA-256 |\n| `14` <br/> ECDSA P-384/SHA-384 |\n| `15` <br/> Ed25519 |\n| `16` <br/> Ed448 |\n| `17` <br/> SM2 with SM3 |\n| `23` <br/> GOST R 34.10-2001 |",
                                                    "$ref": "#/components/schemas/DnssecKeyAlgorithm"
                                                },
                                                "flags": {
                                                    "description": "Flags for the DNSSEC key. Use `257` for KSK and `256` for ZSK.\n\n| |\n|---|\n| `256` <br/> ZSK |\n| `257` <br/> KSK |",
                                                    "$ref": "#/components/schemas/DnssecKeyType"
                                                },
                                                "protocol": {
                                                    "type": "integer",
                                                    "description": "You can omit this field, it will default to 3 (DNSSEC).",
                                                    "enum": [
                                                        "3"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "public_key",
                                                "algorithm",
                                                "flags"
                                            ]
                                        }
                                    },
                                    "nameservers": {
                                        "type": "array",
                                        "description": "Cannot be supplied together with `is_using_hosted_dns`. You need to provide at least two nameservers.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "hostname": {
                                                    "type": "string",
                                                    "description": "Hostname of the nameserver.",
                                                    "example": "ns.domainchief.eu"
                                                },
                                                "ipv4": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Optional IPv4 address of the nameserver for glue record. Value will be discarded if no glue record is required."
                                                },
                                                "ipv6": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Optional IPv6 address of the nameserver for glue record. Value will be discarded if no glue record is required."
                                                }
                                            },
                                            "required": [
                                                "hostname"
                                            ]
                                        },
                                        "minItems": 2
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Domain"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error\n\nAn error\n\nAn error\n\nAn error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "Domain updates are not free for this domain, please contact support to request the needed changes."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "This domain does not support locking."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "Cannot update DNSSEC keys when using hosted DNS."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The provided DNSSEC algorithm is not supported by the TLD."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:write"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/activity": {
            "get": {
                "operationId": "domains.activity.index",
                "description": "List all domain activities for a single domain for the authenticated team.",
                "summary": "List domain activity",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "expand[]",
                        "in": "query",
                        "description": "Expand related resources.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "domain",
                                    "domain.tld",
                                    "domain.contacts"
                                ]
                            }
                        }
                    },
                    {
                        "name": "event",
                        "in": "query",
                        "description": "Filter by one or more events. Separate multiple events with commas.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "domain.registration.requested,domain.registration.succeeded,domain.registration.failed"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `created_at`, `id`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "-created_at"
                        }
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "description": "Cursor for pagination.",
                        "schema": {
                            "type": "string",
                            "default": null
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DomainActivity`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DomainActivity"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:activity:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:activity:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:activity:read"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/auth-code": {
            "get": {
                "operationId": "domains.show-auth-code",
                "description": "Retrieve the auth-code for a single domain for the authenticated team.\n\nSome TLDs do not provide the auth-code to us but instead send it to the domain's registrant email address.\nYou can use the `POST` version of this endpoint to request the auth-code to be sent.",
                "summary": "Show the auth-code",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "auth_code": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The auth-code of the domain, can be used to transfer the domain to another registrar."
                                                },
                                                "auth_code_expires_at": {
                                                    "type": "string",
                                                    "description": "The date and time when the auth-code expires, if applicable."
                                                }
                                            },
                                            "required": [
                                                "auth_code",
                                                "auth_code_expires_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error\n\nAn error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The registry of this domain does not use auth-codes."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The auth-code for this domain is not directly available. Use the POST version of this endpoint to request the auth-code to be sent to the registrant."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "Please wait a minute before requesting the authorization code again."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:transfer"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "domains.send-auth-code",
                "description": "Send the auth-code for a single domain for the authenticated team.\n\nSome TLDs do not provide the auth-code to us but instead send it to the domain's registrant email address.\nTo retrieve the auth-code directly, use the `GET` version of this endpoint.",
                "summary": "Send the auth-code",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": ""
                    },
                    "400": {
                        "description": "An error\n\nAn error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "The TLD of this domain does not use auth-codes."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error overview.",
                                                    "example": "You can retrieve the auth-code directly using the GET version of this endpoint."
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "Please wait a minute before requesting the authorization code again."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:transfer"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/transfer/push": {
            "post": {
                "operationId": "domains.initiate-push-transfer",
                "description": "Initiate a push transfer for a single domain for the authenticated team.\n\nA push transfer changes the registrar tag of the domain to transfer it to another registrar.\nThis is only available for certain TLDs (like `.uk`) that support tag-based transfers.\n\nThe transfer is processed asynchronously. Once a transfer is requested you are unable to\nupdate the request unless the transfer fails or the new regisrar rejects the request.\nIf more than 5 days passes without any action the transfer expires and can be retried.",
                "summary": "Initiate a push transfer",
                "tags": [
                    "Domains"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "recipient": {
                                        "type": "string",
                                        "description": "The registrar tag of the receiving registrar. Must be 2-16 characters, alphanumeric and hyphens only.",
                                        "pattern": "^[a-zA-Z0-9-]{2,16}$",
                                        "example": "DOMAINCHIEF"
                                    }
                                },
                                "required": [
                                    "recipient"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "`Domain`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Domain"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:domains:transfer"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:domains:transfer"
                        ]
                    }
                ]
            }
        },
        "/tlds": {
            "get": {
                "operationId": "tlds.index",
                "description": "List all registerable TLDs.",
                "summary": "List TLDs",
                "tags": [
                    "TLDs"
                ],
                "parameters": [
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Search query.",
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        },
                        "example": "eu"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort by one or more fields. Available fields: `name`, `order`. Prefix fields with `-` for descending order. Separate multiple fields (maximum 5) with commas.\n\nInvalid fields are silently ignored. Case-insensitive.",
                        "schema": {
                            "type": "string",
                            "default": "order"
                        },
                        "example": "name"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50,
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `TLD`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TLD"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:tlds:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:tlds:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:tlds:read"
                        ]
                    }
                ]
            }
        },
        "/tlds/{tldName}": {
            "get": {
                "operationId": "tlds.single",
                "description": "Show a single registerable TLD.",
                "summary": "Show TLD",
                "tags": [
                    "TLDs"
                ],
                "parameters": [
                    {
                        "name": "tldName",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`TLD`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TLD"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:tlds:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:tlds:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:tlds:read"
                        ]
                    }
                ]
            }
        },
        "/domains/{domainNameOrId}/redirects/web/{webRedirectId}": {
            "get": {
                "operationId": "domains.redirects.web.single",
                "description": "Show a single web redirect for the domain.\n\nYou can only manage web redirects for domains that use hosted DNS.",
                "summary": "Show web redirect",
                "tags": [
                    "Web Redirects"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "webRedirectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`WebRedirect`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WebRedirect"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:redirects_web:read"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:redirects_web:read"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:redirects_web:read"
                        ]
                    }
                ]
            },
            "put": {
                "operationId": "domains.redirects.web.update",
                "description": "Update a single web redirect for the domain.\n\nYou can only manage web redirects for domains that use hosted DNS.\n\n<!-- theme: warning -->\n> This endpoint will remove any conflicting DNS records if needed to ensure the redirect works correctly.",
                "summary": "Update web redirect",
                "tags": [
                    "Web Redirects"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "webRedirectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "target": {
                                        "type": "string",
                                        "format": "uri"
                                    },
                                    "status_code": {
                                        "type": "integer",
                                        "enum": [
                                            "301",
                                            "302",
                                            "307",
                                            "308"
                                        ]
                                    },
                                    "include_path": {
                                        "type": "boolean"
                                    },
                                    "include_query": {
                                        "type": "boolean"
                                    }
                                },
                                "required": [
                                    "target",
                                    "status_code"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`WebRedirect`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WebRedirect"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:redirects_web:write"
                        ]
                    }
                ]
            },
            "delete": {
                "operationId": "v1.domains.redirects.web.delete",
                "description": "Deletes a single web redirect for the domain.\n\nYou can only manage web redirects for domains that use hosted DNS.",
                "summary": "Delete web redirect",
                "tags": [
                    "Web Redirects"
                ],
                "parameters": [
                    {
                        "name": "domainNameOrId",
                        "in": "path",
                        "required": true,
                        "description": "full domain name or ID",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "webRedirectId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "400": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview.",
                                            "example": "This domain does not use hosted DNS."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                },
                "security": [
                    {
                        "openid": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctp": [
                            "domainchief:redirects_web:write"
                        ]
                    },
                    {
                        "ctt": [
                            "domainchief:redirects_web:write"
                        ]
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ctp": {
                "type": "http",
                "description": "Chief Tools Personal Access Token. Generate a new token from your [Chief Tools account](https://domain.chief.app/api/token/create).",
                "scheme": "bearer",
                "bearerFormat": "ctp_*"
            },
            "openid": {
                "type": "openIdConnect",
                "description": "Chief Tools OAuth2 OpenID Connect. This is the preferred way if you are building an application and want to integrate with Domain Chief, please [contact us](https://domain.chief.app/contact) to retrieve your client credentials.",
                "openIdConnectUrl": "https://account.chief.app/.well-known/openid-configuration"
            },
            "ctt": {
                "type": "http",
                "description": "Chief Tools Team Access Token. Generate a new token from your [Chief Tools team](https://account.chief.app/teams).",
                "scheme": "bearer",
                "bearerFormat": "ctt_*"
            }
        },
        "schemas": {
            "ActivityCauser": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The unique identifier of the causer. When the causer is the API this field contains the ID of the authorising user or the slug of the authorising team."
                    },
                    "type": {
                        "description": "The type of the causer.\n| |\n|---|\n| `api` <br/> The activity was caused by a request to the API. This might be authorised by a user, team or OAuth token. |\n| `user` <br/> The activity was caused by a user. |\n| `team` <br/> The activity was caused by a team. |\n| `system` <br/> The activity was caused by the system itself. |\n| `registry` <br/> The activity was caused by the registry. |\n| `contact` <br/> The activity was caused by a contact (e.g. via the public contact validation page). |\n| `deleted` <br/> The activity was caused by a deleted user or team. |",
                        "$ref": "#/components/schemas/ActivityCauserType"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the causer. This can be the name of the user, team or token."
                    }
                },
                "required": [
                    "id",
                    "type",
                    "name"
                ],
                "title": "ActivityCauser"
            },
            "ActivityCauserType": {
                "type": "string",
                "description": "| |\n|---|\n| `api` <br/> The activity was caused by a request to the API. This might be authorised by a user, team or OAuth token. |\n| `user` <br/> The activity was caused by a user. |\n| `team` <br/> The activity was caused by a team. |\n| `system` <br/> The activity was caused by the system itself. |\n| `registry` <br/> The activity was caused by the registry. |\n| `contact` <br/> The activity was caused by a contact (e.g. via the public contact validation page). |\n| `deleted` <br/> The activity was caused by a deleted user or team. |",
                "enum": [
                    "api",
                    "user",
                    "team",
                    "system",
                    "registry",
                    "contact",
                    "deleted"
                ],
                "title": "ActivityCauserType"
            },
            "ActivitySubject": {
                "anyOf": [
                    {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string",
                                "description": "The unique identifier of the subject."
                            },
                            "type": {
                                "$ref": "#/components/schemas/ActivitySubjectType"
                            },
                            "name": {
                                "type": "string",
                                "description": "The name of the subject."
                            },
                            "permalink": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "type",
                            "name",
                            "permalink"
                        ]
                    },
                    {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "type": {
                                "$ref": "#/components/schemas/ActivitySubjectType"
                            },
                            "name": {
                                "type": "null"
                            },
                            "permalink": {
                                "type": "null"
                            }
                        },
                        "required": [
                            "id",
                            "type",
                            "name",
                            "permalink"
                        ]
                    }
                ],
                "title": "ActivitySubject"
            },
            "ActivitySubjectType": {
                "type": "string",
                "description": "| |\n|---|\n| `domain` <br/> The activity subject is a domain. |",
                "enum": [
                    "domain"
                ],
                "title": "ActivitySubjectType"
            },
            "Contact": {
                "type": "object",
                "properties": {
                    "handle": {
                        "type": "string"
                    },
                    "parent": {
                        "description": "The parent contact of this contact. When expanded, contains the full contact object.",
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/Contact"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "company_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "company_registration_number": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "company_trading_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "company_url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vat_registration": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "address_street": {
                        "type": "string"
                    },
                    "address_house_number": {
                        "type": "string"
                    },
                    "address_postal_code": {
                        "type": "string"
                    },
                    "address_city": {
                        "type": "string"
                    },
                    "address_state": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "State or province abbreviation. Only present for countries that have states/provinces (e.g. US, CA)."
                    },
                    "address_state_name": {
                        "type": "string",
                        "description": "Full state or province name. Only present when `address_state` is set."
                    },
                    "address_country_code": {
                        "type": "string",
                        "description": "Country code in ISO 3166-1 alpha-2 format.",
                        "examples": [
                            "NL"
                        ]
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string",
                        "description": "Phone numbers are in international format.",
                        "examples": [
                            "+31 20 1234567"
                        ]
                    },
                    "extension_data": {
                        "type": "object",
                        "description": "TLD-specific extension data.",
                        "properties": {
                            "us_nexus_category": {
                                "$ref": "#/components/schemas/ContactNexusCategory"
                            },
                            "us_applicant_purpose": {
                                "$ref": "#/components/schemas/ContactApplicantPurpose"
                            }
                        }
                    },
                    "is_default": {
                        "type": "boolean",
                        "description": "Indicates if the contact is the default contact for the team."
                    },
                    "metadata": {
                        "type": "object",
                        "description": "Metadata attached to the contact.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "handle",
                    "parent",
                    "company_name",
                    "first_name",
                    "last_name",
                    "company_registration_number",
                    "company_trading_name",
                    "company_url",
                    "vat_registration",
                    "address_street",
                    "address_house_number",
                    "address_postal_code",
                    "address_city",
                    "address_state",
                    "address_state_name",
                    "address_country_code",
                    "email",
                    "phone",
                    "extension_data",
                    "is_default",
                    "metadata"
                ],
                "title": "Contact"
            },
            "ContactApplicantPurpose": {
                "type": "string",
                "description": "| |\n|---|\n| `P1` <br/> Business use for profit |\n| `P2` <br/> Non-profit business, club, association, religious organization, etc. |\n| `P3` <br/> Personal use |\n| `P4` <br/> Educational purposes |\n| `P5` <br/> Government purposes |",
                "enum": [
                    "P1",
                    "P2",
                    "P3",
                    "P4",
                    "P5"
                ],
                "title": "ContactApplicantPurpose"
            },
            "ContactNexusCategory": {
                "type": "string",
                "description": "| |\n|---|\n| `C11` <br/> US citizen |\n| `C12` <br/> Permanent resident of the US |\n| `C21` <br/> US organization |\n| `C31` <br/> Foreign entity doing business in the US |\n| `C32` <br/> Foreign entity with US presence |",
                "enum": [
                    "C11",
                    "C12",
                    "C21",
                    "C31",
                    "C32"
                ],
                "title": "ContactNexusCategory"
            },
            "DNSRecord": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "description": "The record type.",
                        "examples": [
                            "A"
                        ],
                        "$ref": "#/components/schemas/DNSRecordType"
                    },
                    "name": {
                        "type": "string",
                        "description": "The record name. When empty the record is for the root domain. This never includes the domain name itself.",
                        "examples": [
                            "www"
                        ]
                    },
                    "content": {
                        "type": "string",
                        "description": "The record content.",
                        "examples": [
                            "192.0.2.1"
                        ]
                    },
                    "ttl": {
                        "type": "integer",
                        "description": "The record TTL."
                    },
                    "prio": {
                        "type": "integer",
                        "description": "The record priority. Only available for certain record types, will always be `0` when not supported and ignored when creating/updating."
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "An optional comment for the record."
                    },
                    "metadata": {
                        "type": "object",
                        "description": "Metadata attached to the record.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "id",
                    "type",
                    "name",
                    "content",
                    "ttl",
                    "prio",
                    "comment",
                    "metadata"
                ],
                "title": "DNSRecord"
            },
            "DNSRecordType": {
                "type": "string",
                "enum": [
                    "A",
                    "MX",
                    "NS",
                    "TXT",
                    "SOA",
                    "SRV",
                    "PTR",
                    "CAA",
                    "TLSA",
                    "AAAA",
                    "CNAME",
                    "ALIAS"
                ],
                "title": "DNSRecordType"
            },
            "DnssecKey": {
                "type": "object",
                "properties": {
                    "public_key": {
                        "type": "string",
                        "description": "Public key for the DNSSEC key."
                    },
                    "algorithm": {
                        "description": "Algorithm used for the DNSSEC key. Not all algorithms are supported by all TLDs.\n| |\n|---|\n| `1` <br/> RSA/MD5 |\n| `2` <br/> Diffie-Hellman |\n| `3` <br/> DSA/SHA-1 |\n| `5` <br/> RSA/SHA-1 |\n| `6` <br/> RSA/SHA-1 NSEC3 |\n| `7` <br/> RSA/SHA-1 NSEC3 with SHA-1 |\n| `8` <br/> RSA/SHA-256 |\n| `10` <br/> RSA/SHA-512 |\n| `12` <br/> GOST R 34.11-94 |\n| `13` <br/> ECDSA P-256/SHA-256 |\n| `14` <br/> ECDSA P-384/SHA-384 |\n| `15` <br/> Ed25519 |\n| `16` <br/> Ed448 |\n| `17` <br/> SM2 with SM3 |\n| `23` <br/> GOST R 34.10-2001 |",
                        "$ref": "#/components/schemas/DnssecKeyAlgorithm"
                    },
                    "flags": {
                        "description": "Flags for the DNSSEC key. `257` for KSK and `256` for ZSK.\n| |\n|---|\n| `256` <br/> ZSK |\n| `257` <br/> KSK |",
                        "$ref": "#/components/schemas/DnssecKeyType"
                    },
                    "protocol": {
                        "type": "integer",
                        "description": "This will always be 3 (DNSSEC).",
                        "examples": [
                            3
                        ]
                    }
                },
                "required": [
                    "public_key",
                    "algorithm",
                    "flags",
                    "protocol"
                ],
                "title": "DnssecKey"
            },
            "DnssecKeyAlgorithm": {
                "type": "integer",
                "description": "| |\n|---|\n| `1` <br/> RSA/MD5 |\n| `2` <br/> Diffie-Hellman |\n| `3` <br/> DSA/SHA-1 |\n| `5` <br/> RSA/SHA-1 |\n| `6` <br/> RSA/SHA-1 NSEC3 |\n| `7` <br/> RSA/SHA-1 NSEC3 with SHA-1 |\n| `8` <br/> RSA/SHA-256 |\n| `10` <br/> RSA/SHA-512 |\n| `12` <br/> GOST R 34.11-94 |\n| `13` <br/> ECDSA P-256/SHA-256 |\n| `14` <br/> ECDSA P-384/SHA-384 |\n| `15` <br/> Ed25519 |\n| `16` <br/> Ed448 |\n| `17` <br/> SM2 with SM3 |\n| `23` <br/> GOST R 34.10-2001 |",
                "enum": [
                    1,
                    2,
                    3,
                    5,
                    6,
                    7,
                    8,
                    10,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    23
                ],
                "title": "DnssecKeyAlgorithm"
            },
            "DnssecKeyType": {
                "type": "integer",
                "description": "| |\n|---|\n| `256` <br/> ZSK |\n| `257` <br/> KSK |",
                "enum": [
                    256,
                    257
                ],
                "title": "DnssecKeyType"
            },
            "Domain": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "tld": {
                        "description": "The top level domain of the domain name, can be expanded.",
                        "examples": [
                            "com"
                        ],
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/TLD"
                            }
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the domain without the top level domain.",
                        "examples": [
                            "example"
                        ]
                    },
                    "domain": {
                        "type": "string",
                        "description": "The full domain name.",
                        "examples": [
                            "example.nl"
                        ]
                    },
                    "type": {
                        "description": "Indicates if the domain is a new registration or a transfer.\n| |\n|---|\n| `new` <br/> The domain is newly registered. |\n| `transfer` <br/> The domain is transfered in. |\n| `unknown` <br/> It is unknown how the domain ended up here. |",
                        "$ref": "#/components/schemas/DomainType"
                    },
                    "status": {
                        "description": "The status of the domain. Most domain actions will be unavailable when the domain is not `active`.\n| |\n|---|\n| `active` <br/> The domain is registered. |\n| `failed` <br/> There was a problem completing the registration or transfer. |\n| `deleted` <br/> The domain is deleted (either manually of because it was expired). |\n| `requested` <br/> The domain registration or transfer has been requested and is being processed. |\n| `restorable` <br/> The domain has been deleted at the registry but is still restorable by the user. |",
                        "$ref": "#/components/schemas/DomainStatus"
                    },
                    "is_premium": {
                        "type": "boolean",
                        "description": "Indicates if the domain is a premium domain which might have a higher price then normal for renewals."
                    },
                    "is_locked": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Indicates if the domain is locked, if locked the domain cannot be transferred to another registrar. Not all domains support locking, in that case (where it's not supported) this value will be `null`."
                    },
                    "is_autorenew_enabled": {
                        "type": "boolean",
                        "description": "Indicates if the domain is automatically renewed, if not enabled the domain will expire unless manually renewed."
                    },
                    "is_whois_privacy_enabled": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Indicates if the domain has WHOIS privacy enabled, when WHOIS privacy is not supported by the TLD this value will be `null`."
                    },
                    "is_using_hosted_dns": {
                        "type": "boolean",
                        "description": "Indicates if the domain us using hosted DNS from Domain Chief instead of custom nameservers, this means DNS records can be managed."
                    },
                    "is_dnssec_enabled": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Indicates if the domain has DNSSEC enabled, when DNSSEC is not supported by the TLD this value will be `null`."
                    },
                    "dnssec_keys": {
                        "type": "array",
                        "description": "The list of DNSSEC keys configured for the domain. This list will always be empty when DNSSEC is not supported.",
                        "items": {
                            "$ref": "#/components/schemas/DnssecKey"
                        }
                    },
                    "contacts": {
                        "type": "object",
                        "description": "List of contacts for the domain, the key is the contact type (see `DomainHandleType`) and the value is the handle of the contact or if expanded the full contact object.",
                        "examples": [
                            {
                                "owner": "CHIEF-CT0000-NL",
                                "admin": "CHIEF-CT0000-NL",
                                "tech": "CHIEF-CT0000-NL"
                            }
                        ],
                        "additionalProperties": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "$ref": "#/components/schemas/Contact"
                                }
                            ]
                        }
                    },
                    "nameservers": {
                        "type": "array",
                        "description": "The list of nameservers configured for the domain name.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "hostname": {
                                    "type": "string"
                                },
                                "ipv4": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "ipv6": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "hostname",
                                "ipv4",
                                "ipv6"
                            ]
                        }
                    },
                    "nameserver_provider": {
                        "description": "The detected nameserver provider for the domain, this is based on the nameservers configured.",
                        "$ref": "#/components/schemas/DomainNameserverProvider"
                    },
                    "renews_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "The date on which the domain will renew. Can be `null` if auto-renewal is disabled or the domain is not yet registered."
                    },
                    "expires_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "The date on which the domain will expire if not renewed. Can be `null` if auto-renewal is enabled or the domain is not yet registered."
                    },
                    "renewal_price": {
                        "type": "integer",
                        "description": "The renewal price for this domain, if the domain is a premium domain this is the correct renewal price otherwise this value is the same as `tld.renewal_price`. The price is in EUR cents and is excluding VAT or other applicable taxes.",
                        "examples": [
                            826
                        ]
                    },
                    "metadata": {
                        "type": "object",
                        "description": "Metadata attached to the domain.",
                        "additionalProperties": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "id",
                    "tld",
                    "name",
                    "domain",
                    "type",
                    "status",
                    "is_premium",
                    "is_locked",
                    "is_autorenew_enabled",
                    "is_whois_privacy_enabled",
                    "is_using_hosted_dns",
                    "is_dnssec_enabled",
                    "dnssec_keys",
                    "contacts",
                    "nameservers",
                    "nameserver_provider",
                    "renews_at",
                    "expires_at",
                    "renewal_price",
                    "metadata"
                ],
                "title": "Domain"
            },
            "DomainActivity": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "event": {
                        "description": "The event this activity represents.\n| |\n|---|\n| `domain.registration.requested` <br/> Domain registration was requested. This event is billable. |\n| `domain.registration.succeeded` <br/> Domain registration succeeded. Domain is now registered at the registry and manageable within Domain Chief. |\n| `domain.registration.failed` <br/> Domain registration failed. Domain is not registered at the registry and can possibly be retried. |\n| `domain.registration.retry_requested` <br/> Domain registration retry was requested. |\n| `domain.transfer.incoming.requested` <br/> Domain transfer was requested. This event is billable. |\n| `domain.transfer.incoming.succeeded` <br/> Domain transfer succeeded. Domain is now transfered at the registry and manageable within Domain Chief. |\n| `domain.transfer.incoming.failed` <br/> Domain transfer failed. Domain is not transfered at the registry and can possibly be retried. |\n| `domain.transfer.incoming.retry_requested` <br/> Domain transfer retry was requested. |\n| `domain.transfer.outgoing.requested` <br/> Domain transfer out was requested by another registrar and can be accepted or rejected by the owner. |\n| `domain.transfer.outgoing.succeeded` <br/> Domain transfer out succeeded. Domain is now transfered out at the registry and no longer manageable within Domain Chief. |\n| `domain.transfer.outgoing.accepted` <br/> Domain transfer out was accepted. |\n| `domain.transfer.outgoing.rejected` <br/> Domain transfer out was rejected. |\n| `domain.transfer.outgoing.cancelled` <br/> Domain transfer out was cancelled. |\n| `domain.transfer.push.requested` <br/> Domain push transfer (tag change) was requested to transfer the domain to another registrar. |\n| `domain.transfer.push.failed` <br/> Domain push transfer (tag change) failed at the registry. |\n| `domain.transfer.push.rejected` <br/> Domain push transfer (tag change) was rejected by the receiving registrar. |\n| `domain.renewal.succeeded` <br/> Domain renewal succeeded. Domain expiry date has been extended at the registry. This event is billable. |\n| `domain.deleted` <br/> Domain was deleted at the registry and is no longer manageable within Domain Chief. |\n| `domain.expired` <br/> Domain was marked as expired, domain is still restorable until deletion at the registry. |\n| `domain.update.nameservers` <br/> Domain nameservers were updated (can include old and new values). |\n| `domain.update.lock_enabled` <br/> Domain transfer lock was enabled. |\n| `domain.update.lock_disabled` <br/> Domain transfer lock was disabled. |\n| `domain.update.whois_privacy_enabled` <br/> Domain WHOIS privacy was enabled. |\n| `domain.update.whois_privacy_disabled` <br/> Domain WHOIS privacy was disabled. |\n| `domain.update.auto_renew_enabled` <br/> Domain auto-renewal was enabled. |\n| `domain.update.auto_renew_disabled` <br/> Domain auto-renewal was disabled. |\n| `domain.update.contacts` <br/> Domain contacts were updated (can include old and new values). |\n| `domain.update.dnssec_keys` <br/> Domain DNSSEC keys were updated (can include old and new values). |\n| `domain.update.dnssec_enabled` <br/> Domain DNSSEC was enabled. |\n| `domain.update.dnssec_disabled` <br/> Domain DNSSEC was disabled. |\n| `domain.update.hosted_dns_enabled` <br/> Domain hosted DNS was enabled. |\n| `domain.update.hosted_dns_disabled` <br/> Domain hosted DNS was disabled. |\n| `domain.update.mail_forward_enabled` <br/> Domain e-mail forwarding was enabled. |\n| `domain.update.mail_forward_disabled` <br/> Domain e-mail forwarding was disabled. |\n| `domain.transfer.internal` <br/> Domain was transferred between providers within Domain Chief, this event is purely informational. |\n| `domain.contact_verification.required` <br/> Domain contact verification was requested for the registrant contact, this is required by some registries after domain registration or transfer. |\n| `domain.contact_verification.approved` <br/> Domain contact verification was approved for the registrant contact. |\n| `domain.imported` <br/> Domain was created outside Domain Chief and imported to be managed, no prior history is available. |",
                        "$ref": "#/components/schemas/DomainActivityEvent"
                    },
                    "description": {
                        "type": "string",
                        "description": "A textual description of this activity."
                    },
                    "causer": {
                        "description": "The entity that caused this activity.",
                        "$ref": "#/components/schemas/ActivityCauser"
                    },
                    "subject": {
                        "description": "The subject this activity is related to.",
                        "$ref": "#/components/schemas/ActivitySubject"
                    },
                    "properties": {
                        "type": "object",
                        "description": "Additional properties related to this activity. Domain registrations and transfers may include `price` and `premium` indicator for example.",
                        "additionalProperties": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "The date and time this activity occured."
                    },
                    "domain": {
                        "description": "The domain this activity is related to. If the `domain` relation is expanded, this will be a full Domain resource. Otherwise, it will be the domain's ID. When expanded, the current user must be authorized to view the domain; otherwise, `null` will be returned (this can happen for deleted domains for example).",
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/Domain"
                            },
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "cursor": {
                        "type": "string",
                        "description": "Cursor for pagination. Pass this value to the `cursor` query parameter to paginate after this activity."
                    }
                },
                "required": [
                    "id",
                    "event",
                    "description",
                    "causer",
                    "subject",
                    "properties",
                    "created_at",
                    "domain",
                    "cursor"
                ],
                "title": "DomainActivity"
            },
            "DomainActivityEvent": {
                "type": "string",
                "description": "| |\n|---|\n| `domain.registration.requested` <br/> Domain registration was requested. This event is billable. |\n| `domain.registration.succeeded` <br/> Domain registration succeeded. Domain is now registered at the registry and manageable within Domain Chief. |\n| `domain.registration.failed` <br/> Domain registration failed. Domain is not registered at the registry and can possibly be retried. |\n| `domain.registration.retry_requested` <br/> Domain registration retry was requested. |\n| `domain.transfer.incoming.requested` <br/> Domain transfer was requested. This event is billable. |\n| `domain.transfer.incoming.succeeded` <br/> Domain transfer succeeded. Domain is now transfered at the registry and manageable within Domain Chief. |\n| `domain.transfer.incoming.failed` <br/> Domain transfer failed. Domain is not transfered at the registry and can possibly be retried. |\n| `domain.transfer.incoming.retry_requested` <br/> Domain transfer retry was requested. |\n| `domain.transfer.outgoing.requested` <br/> Domain transfer out was requested by another registrar and can be accepted or rejected by the owner. |\n| `domain.transfer.outgoing.succeeded` <br/> Domain transfer out succeeded. Domain is now transfered out at the registry and no longer manageable within Domain Chief. |\n| `domain.transfer.outgoing.accepted` <br/> Domain transfer out was accepted. |\n| `domain.transfer.outgoing.rejected` <br/> Domain transfer out was rejected. |\n| `domain.transfer.outgoing.cancelled` <br/> Domain transfer out was cancelled. |\n| `domain.transfer.push.requested` <br/> Domain push transfer (tag change) was requested to transfer the domain to another registrar. |\n| `domain.transfer.push.failed` <br/> Domain push transfer (tag change) failed at the registry. |\n| `domain.transfer.push.rejected` <br/> Domain push transfer (tag change) was rejected by the receiving registrar. |\n| `domain.renewal.succeeded` <br/> Domain renewal succeeded. Domain expiry date has been extended at the registry. This event is billable. |\n| `domain.deleted` <br/> Domain was deleted at the registry and is no longer manageable within Domain Chief. |\n| `domain.expired` <br/> Domain was marked as expired, domain is still restorable until deletion at the registry. |\n| `domain.update.nameservers` <br/> Domain nameservers were updated (can include old and new values). |\n| `domain.update.lock_enabled` <br/> Domain transfer lock was enabled. |\n| `domain.update.lock_disabled` <br/> Domain transfer lock was disabled. |\n| `domain.update.whois_privacy_enabled` <br/> Domain WHOIS privacy was enabled. |\n| `domain.update.whois_privacy_disabled` <br/> Domain WHOIS privacy was disabled. |\n| `domain.update.auto_renew_enabled` <br/> Domain auto-renewal was enabled. |\n| `domain.update.auto_renew_disabled` <br/> Domain auto-renewal was disabled. |\n| `domain.update.contacts` <br/> Domain contacts were updated (can include old and new values). |\n| `domain.update.dnssec_keys` <br/> Domain DNSSEC keys were updated (can include old and new values). |\n| `domain.update.dnssec_enabled` <br/> Domain DNSSEC was enabled. |\n| `domain.update.dnssec_disabled` <br/> Domain DNSSEC was disabled. |\n| `domain.update.hosted_dns_enabled` <br/> Domain hosted DNS was enabled. |\n| `domain.update.hosted_dns_disabled` <br/> Domain hosted DNS was disabled. |\n| `domain.update.mail_forward_enabled` <br/> Domain e-mail forwarding was enabled. |\n| `domain.update.mail_forward_disabled` <br/> Domain e-mail forwarding was disabled. |\n| `domain.transfer.internal` <br/> Domain was transferred between providers within Domain Chief, this event is purely informational. |\n| `domain.contact_verification.required` <br/> Domain contact verification was requested for the registrant contact, this is required by some registries after domain registration or transfer. |\n| `domain.contact_verification.approved` <br/> Domain contact verification was approved for the registrant contact. |\n| `domain.imported` <br/> Domain was created outside Domain Chief and imported to be managed, no prior history is available. |",
                "enum": [
                    "domain.registration.requested",
                    "domain.registration.succeeded",
                    "domain.registration.failed",
                    "domain.registration.retry_requested",
                    "domain.transfer.incoming.requested",
                    "domain.transfer.incoming.succeeded",
                    "domain.transfer.incoming.failed",
                    "domain.transfer.incoming.retry_requested",
                    "domain.transfer.outgoing.requested",
                    "domain.transfer.outgoing.succeeded",
                    "domain.transfer.outgoing.accepted",
                    "domain.transfer.outgoing.rejected",
                    "domain.transfer.outgoing.cancelled",
                    "domain.transfer.push.requested",
                    "domain.transfer.push.failed",
                    "domain.transfer.push.rejected",
                    "domain.renewal.succeeded",
                    "domain.deleted",
                    "domain.expired",
                    "domain.update.nameservers",
                    "domain.update.lock_enabled",
                    "domain.update.lock_disabled",
                    "domain.update.whois_privacy_enabled",
                    "domain.update.whois_privacy_disabled",
                    "domain.update.auto_renew_enabled",
                    "domain.update.auto_renew_disabled",
                    "domain.update.contacts",
                    "domain.update.dnssec_keys",
                    "domain.update.dnssec_enabled",
                    "domain.update.dnssec_disabled",
                    "domain.update.hosted_dns_enabled",
                    "domain.update.hosted_dns_disabled",
                    "domain.update.mail_forward_enabled",
                    "domain.update.mail_forward_disabled",
                    "domain.transfer.internal",
                    "domain.contact_verification.required",
                    "domain.contact_verification.approved",
                    "domain.imported"
                ],
                "title": "DomainActivityEvent"
            },
            "DomainAvailability": {
                "type": "string",
                "description": "| |\n|---|\n| `free` <br/> Domain is available for registration |\n| `owned` <br/> Domain is owned by the authenticated team |\n| `active` <br/> Domain is registered, may be transferable |\n| `error` <br/> An error has occured retrieving availability |",
                "enum": [
                    "free",
                    "owned",
                    "active",
                    "error"
                ],
                "title": "DomainAvailability"
            },
            "DomainAvailabilityResult": {
                "type": "object",
                "properties": {
                    "tld": {
                        "description": "The top level domain of the domain name, can be expanded.",
                        "examples": [
                            "com"
                        ],
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "$ref": "#/components/schemas/TLD"
                            }
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the domain without the top level domain.",
                        "examples": [
                            "example"
                        ]
                    },
                    "domain": {
                        "type": "string",
                        "description": "The full domain name.",
                        "examples": [
                            "example.nl"
                        ]
                    },
                    "is_premium": {
                        "type": "boolean",
                        "description": "Indicates if the domain is a premium domain which might have a higher price then normal for registration and renewals."
                    },
                    "availability": {
                        "description": "The availability of the domain.\n| |\n|---|\n| `free` <br/> Domain is available for registration |\n| `owned` <br/> Domain is owned by the authenticated team |\n| `active` <br/> Domain is registered, may be transferable |\n| `error` <br/> An error has occured retrieving availability |",
                        "$ref": "#/components/schemas/DomainAvailability"
                    },
                    "price": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The price of the domain registration or transfer based on the availability. The price is in EUR cents and is excluding VAT or other applicable taxes.\n\nOnly available when the `price` expansion is requested."
                    },
                    "renewal_price": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The price of subsequent domain renewals after registration or transfer. The price is in EUR cents and is excluding VAT or other applicable taxes.\n\nOnly available when the `price` expansion is requested."
                    },
                    "is_converted_currency": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Indicates if the prices are converted to EUR. When `true`, the prices returned are converted to EUR using the current exchange rate which means they might fluctuate based on the current exchange rate.\n\nOnly available when the `price` expansion is requested."
                    },
                    "renewal_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "The date the domain will expire and is expected to be renewed. Only available when the domain is owned by the authenticated team or in some cases when the auth-code was provided."
                    }
                },
                "required": [
                    "tld",
                    "name",
                    "domain",
                    "is_premium",
                    "availability",
                    "price",
                    "renewal_price",
                    "is_converted_currency",
                    "renewal_date"
                ],
                "title": "DomainAvailabilityResult"
            },
            "DomainHandleType": {
                "type": "string",
                "description": "| |\n|---|\n| `owner` <br/> The owner or registrant of the domain. |\n| `admin` <br/> The administrative contact for the domain. |\n| `tech` <br/> The technical contact for the domain. |\n| `billing` <br/> The billing contact for the domain. |\n| `reseller` <br/> The reseller contact for the domain. |",
                "enum": [
                    "owner",
                    "admin",
                    "tech",
                    "billing",
                    "reseller"
                ],
                "title": "DomainHandleType"
            },
            "DomainNameserverProvider": {
                "type": "string",
                "enum": [
                    "custom",
                    "alboweb",
                    "domainchief",
                    "sedo",
                    "versio",
                    "vimexx",
                    "cloudns",
                    "hetzner",
                    "route53",
                    "transip",
                    "sectigo",
                    "webmedia",
                    "spaceship",
                    "nameshift",
                    "cloudflare",
                    "dnsmanager",
                    "digitalocean",
                    "openprovider"
                ],
                "title": "DomainNameserverProvider"
            },
            "DomainStatus": {
                "type": "string",
                "description": "| |\n|---|\n| `active` <br/> The domain is registered. |\n| `failed` <br/> There was a problem completing the registration or transfer. |\n| `deleted` <br/> The domain is deleted (either manually of because it was expired). |\n| `requested` <br/> The domain registration or transfer has been requested and is being processed. |\n| `restorable` <br/> The domain has been deleted at the registry but is still restorable by the user. |",
                "enum": [
                    "active",
                    "failed",
                    "deleted",
                    "requested",
                    "restorable"
                ],
                "title": "DomainStatus"
            },
            "DomainTransferType": {
                "type": "string",
                "description": "| |\n|---|\n| `extend` <br/> The expiration date is extended with the time you have paid for at the outgoing registrar + a renewal period (usually 1 year). This is the most comoon. |\n| `unchanged` <br/> The current expiration date is kept unchanged on transfer, this usually means the transfer is free. |\n| `restart` <br/> The expiration date is reset and any remaining time you might have paid for at the outgoing registrar is lost. |",
                "enum": [
                    "extend",
                    "unchanged",
                    "restart"
                ],
                "title": "DomainTransferType"
            },
            "DomainType": {
                "type": "string",
                "description": "| |\n|---|\n| `new` <br/> The domain is newly registered. |\n| `transfer` <br/> The domain is transfered in. |\n| `unknown` <br/> It is unknown how the domain ended up here. |",
                "enum": [
                    "new",
                    "transfer",
                    "unknown"
                ],
                "title": "DomainType"
            },
            "TLD": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the TLD.",
                        "examples": [
                            "eu"
                        ]
                    },
                    "handle_types": {
                        "type": "array",
                        "description": "Supported domain handle types for this TLD.",
                        "examples": [
                            [
                                "owner",
                                "admin",
                                "tech",
                                "billing"
                            ]
                        ],
                        "items": {
                            "$ref": "#/components/schemas/DomainHandleType"
                        }
                    },
                    "transfer_type": {
                        "description": "This indicates how the transfer is handled by the registry.\n| |\n|---|\n| `extend` <br/> The expiration date is extended with the time you have paid for at the outgoing registrar + a renewal period (usually 1 year). This is the most comoon. |\n| `unchanged` <br/> The current expiration date is kept unchanged on transfer, this usually means the transfer is free. |\n| `restart` <br/> The expiration date is reset and any remaining time you might have paid for at the outgoing registrar is lost. |",
                        "$ref": "#/components/schemas/DomainTransferType"
                    },
                    "registration_price": {
                        "type": "integer",
                        "description": "The price for a new domain registration, this is due at the moment you register a new domain name. This price is an indication, the actual price may vary based on the domain name (in case it's considered premium), always use the availability endpoint to ensure the price is what you expect for the exact domain.\n\nThe price is in EUR cents and is excluding VAT or other applicable taxes.",
                        "examples": [
                            826
                        ]
                    },
                    "renewal_price": {
                        "type": "integer",
                        "description": "The price for renewal of your domain registration, this is due every year. This price is an indication, the actual price may vary based on the domain name (in case it's considered premium), always use the availability endpoint to ensure the price is what you expect for the exact domain.\n\nThe price is in EUR cents and is excluding VAT or other applicable taxes.",
                        "examples": [
                            826
                        ]
                    },
                    "transfer_price": {
                        "type": "integer",
                        "description": "The price for a transfer of your domain registration from another registrar, this is due at the moment you request a domain transfer. This price is an indication, the actual price may vary based on the domain name (in case it's considered premium), always use the availability endpoint to ensure the price is what you expect for the exact domain.\n\nThe price is in EUR cents and is excluding VAT or other applicable taxes.",
                        "examples": [
                            826
                        ]
                    },
                    "is_converted_currency": {
                        "type": "boolean",
                        "description": "Indicates if the TLD's prices are converted to EUR. When `true`, the prices returned are converted to EUR using the current exchange rate which means they might fluctuate based on the current exchange rate."
                    },
                    "supports_dnssec": {
                        "type": "boolean",
                        "description": "Indicates if the TLD supports DNSSEC."
                    },
                    "supported_dnssec_algorithms": {
                        "type": "array",
                        "description": "The list of DNSSEC algorithms supported by the TLD.",
                        "examples": [
                            [
                                13
                            ]
                        ],
                        "items": {
                            "$ref": "#/components/schemas/DnssecKeyAlgorithm"
                        }
                    },
                    "supports_whois_privacy": {
                        "type": "boolean",
                        "description": "Indicates if the TLD supports WHOIS privacy."
                    },
                    "is_trade_required": {
                        "type": "boolean",
                        "description": "Indicates if the TLD requires a trade operation for owner changes."
                    },
                    "is_auth_code_available": {
                        "type": "boolean",
                        "description": "Indicates if an auth-code can be retrieved for this TLD. When this is `true` you can use the `GET` endpoint to retrieve the auth-code for a domain directly.\nWhen this is `false` you need to use the `POST` endpoint to request the auth-code to be sent to the domain owner."
                    }
                },
                "required": [
                    "name",
                    "handle_types",
                    "transfer_type",
                    "registration_price",
                    "renewal_price",
                    "transfer_price",
                    "is_converted_currency",
                    "supports_dnssec",
                    "supported_dnssec_algorithms",
                    "supports_whois_privacy",
                    "is_trade_required",
                    "is_auth_code_available"
                ],
                "title": "TLD"
            },
            "WebRedirect": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "subdomain": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The subdomain being redirected. When the subdomain is `null` the `www` subdomain is implied."
                    },
                    "status_code": {
                        "type": "integer",
                        "description": "The status code used for the redirect.",
                        "examples": [
                            301
                        ]
                    },
                    "target": {
                        "type": "string",
                        "description": "The target URL of the redirect.",
                        "examples": [
                            "https://example.nl"
                        ]
                    },
                    "include_path": {
                        "type": "boolean",
                        "description": "Indicates if the path should be appended to the target URL."
                    },
                    "include_query": {
                        "type": "boolean",
                        "description": "Indicates if the query string should be appended to the target URL."
                    }
                },
                "required": [
                    "id",
                    "subdomain",
                    "status_code",
                    "target",
                    "include_path",
                    "include_query"
                ],
                "title": "WebRedirect"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "AuthorizationException": {
                "description": "Authorization error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}