{ "swagger": "2.0", "info": { "title": "Domains API", "description": "

The Domains API is for domain-related actions such as purchasing, renewing, or managing domains.

Updates to domains generally require the domain to be in an `ACTIVE` status. Some update actions (such as updating nameservers) on protected and high-value domains requires 2FA which is currently not supported via the api.

" }, "tags": [ { "name": "v1", "description": "" }, { "name": "Domains", "description": "" }, { "name": "Actions", "description": "" }, { "name": "Notifications", "description": "" } ], "host": "api.ote-godaddy.com", "paths": { "/v1/domains": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID whose domains are to be retrieved", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Only include results with `status` value in the specified set", "in": "query", "items": { "enum": [ "ACTIVE", "AWAITING_CLAIM_ACK", "AWAITING_DOCUMENT_AFTER_TRANSFER", "AWAITING_DOCUMENT_AFTER_UPDATE_ACCOUNT", "AWAITING_DOCUMENT_UPLOAD", "AWAITING_FAILED_TRANSFER_WHOIS_PRIVACY", "AWAITING_PAYMENT", "AWAITING_RENEWAL_TRANSFER_IN_COMPLETE", "AWAITING_TRANSFER_IN_ACK", "AWAITING_TRANSFER_IN_AUTH", "AWAITING_TRANSFER_IN_AUTO", "AWAITING_TRANSFER_IN_WHOIS", "AWAITING_TRANSFER_IN_WHOIS_FIX", "AWAITING_VERIFICATION_ICANN", "AWAITING_VERIFICATION_ICANN_MANUAL", "CANCELLED", "CANCELLED_HELD", "CANCELLED_REDEEMABLE", "CANCELLED_TRANSFER", "CONFISCATED", "DISABLED_SPECIAL", "EXCLUDED_INVALID_CLAIM_FIREHOSE", "EXPIRED_REASSIGNED", "FAILED_BACKORDER_CAPTURE", "FAILED_DROP_IMMEDIATE_THEN_ADD", "FAILED_PRE_REGISTRATION", "FAILED_REDEMPTION", "FAILED_REDEMPTION_REPORT", "FAILED_REGISTRATION", "FAILED_REGISTRATION_FIREHOSE", "FAILED_RESTORATION_REDEMPTION_MOCK", "FAILED_SETUP", "FAILED_TRANSFER_IN", "FAILED_TRANSFER_IN_BAD_STATUS", "FAILED_TRANSFER_IN_REGISTRY", "HELD_COURT_ORDERED", "HELD_DISPUTED", "HELD_EXPIRATION_PROTECTION", "HELD_EXPIRED_REDEMPTION_MOCK", "HELD_REGISTRAR_ADD", "HELD_REGISTRAR_REMOVE", "HELD_SHOPPER", "HELD_TEMPORARY", "LOCKED_ABUSE", "LOCKED_COPYRIGHT", "LOCKED_REGISTRY", "LOCKED_SUPER", "PARKED_AND_HELD", "PARKED_EXPIRED", "PARKED_VERIFICATION_ICANN", "PENDING_ABORT_CANCEL_SETUP", "PENDING_AGREEMENT_PRE_REGISTRATION", "PENDING_APPLY_RENEWAL_CREDITS", "PENDING_BACKORDER_CAPTURE", "PENDING_BLOCKED_REGISTRY", "PENDING_CANCEL_REGISTRANT_PROFILE", "PENDING_COMPLETE_REDEMPTION_WITHOUT_RECEIPT", "PENDING_COMPLETE_REGISTRANT_PROFILE", "PENDING_COO", "PENDING_COO_COMPLETE", "PENDING_DNS", "PENDING_DNS_ACTIVE", "PENDING_DNS_INACTIVE", "PENDING_DOCUMENT_VALIDATION", "PENDING_DOCUMENT_VERIFICATION", "PENDING_DROP_IMMEDIATE", "PENDING_DROP_IMMEDIATE_THEN_ADD", "PENDING_EPP_CREATE", "PENDING_EPP_DELETE", "PENDING_EPP_UPDATE", "PENDING_ESCALATION_REGISTRY", "PENDING_EXPIRATION", "PENDING_EXPIRATION_RESPONSE", "PENDING_EXPIRATION_SYNC", "PENDING_EXPIRED_REASSIGNMENT", "PENDING_EXPIRE_AUTO_ADD", "PENDING_EXTEND_REGISTRANT_PROFILE", "PENDING_FAILED_COO", "PENDING_FAILED_EPP_CREATE", "PENDING_FAILED_HELD", "PENDING_FAILED_PURCHASE_PREMIUM", "PENDING_FAILED_RECONCILE_FIREHOSE", "PENDING_FAILED_REDEMPTION_WITHOUT_RECEIPT", "PENDING_FAILED_RELEASE_PREMIUM", "PENDING_FAILED_RENEW_EXPIRATION_PROTECTION", "PENDING_FAILED_RESERVE_PREMIUM", "PENDING_FAILED_SUBMIT_FIREHOSE", "PENDING_FAILED_TRANSFER_ACK_PREMIUM", "PENDING_FAILED_TRANSFER_IN_ACK_PREMIUM", "PENDING_FAILED_TRANSFER_IN_PREMIUM", "PENDING_FAILED_TRANSFER_PREMIUM", "PENDING_FAILED_TRANSFER_SUBMIT_PREMIUM", "PENDING_FAILED_UNLOCK_PREMIUM", "PENDING_FAILED_UPDATE_API", "PENDING_FRAUD_VERIFICATION", "PENDING_FRAUD_VERIFIED", "PENDING_GET_CONTACTS", "PENDING_GET_HOSTS", "PENDING_GET_NAME_SERVERS", "PENDING_GET_STATUS", "PENDING_HOLD_ESCROW", "PENDING_HOLD_REDEMPTION", "PENDING_LOCK_CLIENT_REMOVE", "PENDING_LOCK_DATA_QUALITY", "PENDING_LOCK_THEN_HOLD_REDEMPTION", "PENDING_PARKING_DETERMINATION", "PENDING_PARK_INVALID_WHOIS", "PENDING_PARK_INVALID_WHOIS_REMOVAL", "PENDING_PURCHASE_PREMIUM", "PENDING_RECONCILE", "PENDING_RECONCILE_FIREHOSE", "PENDING_REDEMPTION", "PENDING_REDEMPTION_REPORT", "PENDING_REDEMPTION_REPORT_COMPLETE", "PENDING_REDEMPTION_REPORT_SUBMITTED", "PENDING_REDEMPTION_WITHOUT_RECEIPT", "PENDING_REDEMPTION_WITHOUT_RECEIPT_MOCK", "PENDING_RELEASE_PREMIUM", "PENDING_REMOVAL", "PENDING_REMOVAL_HELD", "PENDING_REMOVAL_PARKED", "PENDING_REMOVAL_UNPARK", "PENDING_RENEWAL", "PENDING_RENEW_EXPIRATION_PROTECTION", "PENDING_RENEW_INFINITE", "PENDING_RENEW_LOCKED", "PENDING_RENEW_WITHOUT_RECEIPT", "PENDING_REPORT_REDEMPTION_WITHOUT_RECEIPT", "PENDING_RESERVE_PREMIUM", "PENDING_RESET_VERIFICATION_ICANN", "PENDING_RESPONSE_FIREHOSE", "PENDING_RESTORATION", "PENDING_RESTORATION_INACTIVE", "PENDING_RESTORATION_REDEMPTION_MOCK", "PENDING_RETRY_EPP_CREATE", "PENDING_RETRY_HELD", "PENDING_SEND_AUTH_CODE", "PENDING_SETUP", "PENDING_SETUP_ABANDON", "PENDING_SETUP_AGREEMENT_LANDRUSH", "PENDING_SETUP_AGREEMENT_SUNRISE2_A", "PENDING_SETUP_AGREEMENT_SUNRISE2_B", "PENDING_SETUP_AGREEMENT_SUNRISE2_C", "PENDING_SETUP_AUTH", "PENDING_SETUP_DNS", "PENDING_SETUP_FAILED", "PENDING_SETUP_REVIEW", "PENDING_SETUP_SUNRISE", "PENDING_SETUP_SUNRISE_PRE", "PENDING_SETUP_SUNRISE_RESPONSE", "PENDING_SUBMIT_FAILURE", "PENDING_SUBMIT_FIREHOSE", "PENDING_SUBMIT_HOLD_FIREHOSE", "PENDING_SUBMIT_HOLD_LANDRUSH", "PENDING_SUBMIT_HOLD_SUNRISE", "PENDING_SUBMIT_LANDRUSH", "PENDING_SUBMIT_RESPONSE_FIREHOSE", "PENDING_SUBMIT_RESPONSE_LANDRUSH", "PENDING_SUBMIT_RESPONSE_SUNRISE", "PENDING_SUBMIT_SUCCESS_FIREHOSE", "PENDING_SUBMIT_SUCCESS_LANDRUSH", "PENDING_SUBMIT_SUCCESS_SUNRISE", "PENDING_SUBMIT_SUNRISE", "PENDING_SUBMIT_WAITING_LANDRUSH", "PENDING_SUCCESS_PRE_REGISTRATION", "PENDING_SUSPENDED_DATA_QUALITY", "PENDING_TRANSFER_ACK_PREMIUM", "PENDING_TRANSFER_IN", "PENDING_TRANSFER_IN_ACK", "PENDING_TRANSFER_IN_ACK_PREMIUM", "PENDING_TRANSFER_IN_BAD_REGISTRANT", "PENDING_TRANSFER_IN_CANCEL", "PENDING_TRANSFER_IN_CANCEL_REGISTRY", "PENDING_TRANSFER_IN_COMPLETE_ACK", "PENDING_TRANSFER_IN_DELETE", "PENDING_TRANSFER_IN_LOCK", "PENDING_TRANSFER_IN_NACK", "PENDING_TRANSFER_IN_NOTIFICATION", "PENDING_TRANSFER_IN_PREMIUM", "PENDING_TRANSFER_IN_RELEASE", "PENDING_TRANSFER_IN_RESPONSE", "PENDING_TRANSFER_IN_UNDERAGE", "PENDING_TRANSFER_OUT", "PENDING_TRANSFER_OUT_ACK", "PENDING_TRANSFER_OUT_NACK", "PENDING_TRANSFER_OUT_PREMIUM", "PENDING_TRANSFER_OUT_UNDERAGE", "PENDING_TRANSFER_OUT_VALIDATION", "PENDING_TRANSFER_PREMIUM", "PENDING_TRANSFER_PREMUIM", "PENDING_TRANSFER_SUBMIT_PREMIUM", "PENDING_UNLOCK_DATA_QUALITY", "PENDING_UNLOCK_PREMIUM", "PENDING_UPDATE", "PENDING_UPDATED_REGISTRANT_DATA_QUALITY", "PENDING_UPDATE_ACCOUNT", "PENDING_UPDATE_API", "PENDING_UPDATE_API_RESPONSE", "PENDING_UPDATE_AUTH", "PENDING_UPDATE_CONTACTS", "PENDING_UPDATE_CONTACTS_PRIVACY", "PENDING_UPDATE_DNS", "PENDING_UPDATE_DNS_SECURITY", "PENDING_UPDATE_ELIGIBILITY", "PENDING_UPDATE_EPP_CONTACTS", "PENDING_UPDATE_MEMBERSHIP", "PENDING_UPDATE_OWNERSHIP", "PENDING_UPDATE_OWNERSHIP_AUTH_AUCTION", "PENDING_UPDATE_OWNERSHIP_HELD", "PENDING_UPDATE_REGISTRANT", "PENDING_UPDATE_REPO", "PENDING_VALIDATION_DATA_QUALITY", "PENDING_VERIFICATION_FRAUD", "PENDING_VERIFICATION_STATUS", "PENDING_VERIFY_REGISTRANT_DATA_QUALITY", "RESERVED", "RESERVED_PREMIUM", "REVERTED", "SUSPENDED_VERIFICATION_ICANN", "TRANSFERRED_OUT", "UNLOCKED_ABUSE", "UNLOCKED_SUPER", "UNPARKED_AND_UNHELD", "UPDATED_OWNERSHIP", "UPDATED_OWNERSHIP_HELD" ], "type": "string" }, "name": "statuses", "required": false, "type": "array" }, { "description": "Only include results with `status` value in any of the specified groups", "in": "query", "items": { "enum": [ "INACTIVE", "PRE_REGISTRATION", "REDEMPTION", "RENEWABLE", "VERIFICATION_ICANN", "VISIBLE" ], "type": "string" }, "name": "statusGroups", "required": false, "type": "array" }, { "description": "Maximum number of domains to return", "in": "query", "maximum": 1000, "minimum": 1, "name": "limit", "required": false, "type": "integer" }, { "description": "Marker Domain to use as the offset in results", "in": "query", "name": "marker", "required": false, "type": "string" }, { "description": "Optional details to be included in the response", "in": "query", "items": { "enum": [ "authCode", "contacts", "nameServers" ], "type": "string" }, "name": "includes", "required": false, "type": "array" }, { "description": "Only include results that have been modified since the specified date", "format": "iso-datetime", "in": "query", "name": "modifiedDate", "required": false, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/DomainSummary" }, "type": "array" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Limit must have a value no greater than 1000", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "list", "summary": "Retrieve a list of Domains for the specified Shopper" } }, "/v1/domains/agreements": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "default": "en-US", "description": "Unique identifier of the Market used to retrieve/translate Legal Agreements", "format": "bcp-47", "in": "header", "name": "X-Market-Id", "required": false, "type": "string" }, { "description": "list of TLDs whose legal agreements are to be retrieved", "in": "query", "items": { "type": "string" }, "name": "tlds", "required": true, "type": "array" }, { "description": "Whether or not privacy has been requested", "in": "query", "name": "privacy", "required": true, "type": "boolean" }, { "description": "Whether or not domain tranfer has been requested", "in": "query", "name": "forTransfer", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/LegalAgreement" }, "type": "array" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "getAgreement", "summary": "Retrieve the legal agreement(s) required to purchase the specified TLD and add-ons" } }, "/v1/domains/available": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Domain name whose availability is to be checked", "in": "query", "name": "domain", "required": true, "type": "string" }, { "default": "FAST", "description": "Optimize for time ('FAST') or accuracy ('FULL')", "enum": [ "FAST", "FULL", "fast", "full" ], "in": "query", "name": "checkType", "required": false, "type": "string" }, { "default": false, "description": "Whether or not to include domains available for transfer. If set to True, checkType is ignored", "in": "query", "name": "forTransfer", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainAvailableResponse" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Cannot convert domain label error
Domain is missing IDN script
Domain segment ends with dash
Domain starts with dashbr>Domain uses unsupported IDN script
FQDN fails generic validity regex
Invalid character(s) error
Invalid tld error
Non-IDN domain name must not have dashes at the third and fourth position
Reserved name error
domain must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "available", "summary": "Determine whether or not the specified domain is available for purchase" }, "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Domain names for which to check availability", "in": "body", "name": "domains", "required": true, "schema": { "items": { "type": "string" }, "maximum": 500, "type": "array" } }, { "default": "FAST", "description": "Optimize for time ('FAST') or accuracy ('FULL')", "enum": [ "FAST", "FULL", "fast", "full" ], "in": "query", "name": "checkType", "required": false, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainAvailableBulk" } }, "203": { "description": "Request was partially successful", "schema": { "$ref": "#/definitions/DomainAvailableBulkMixed" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Cannot convert domain label error
Domain is missing IDN script
Domain segment ends with dash
Domain starts with dash
Domain uses unsupported IDN script
FQDN fails generic validity regex
Invalid character(s) error
Invalid tld error
Non-IDN domain name must not have dashes at the third and fourth position
Reserved name error
Reserved name error
domain must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "availableBulk", "summary": "Determine whether or not the specified domains are available for purchase" } }, "/v1/domains/contacts/validate": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "default": 1, "description": "PrivateLabelId to operate as, if different from JWT", "in": "header", "name": "X-Private-Label-Id", "required": false, "type": "integer" }, { "default": "en-US", "description": "MarketId in which the request is being made, and for which responses should be localized", "format": "bcp-47", "in": "query", "name": "marketId", "required": false, "type": "string" }, { "description": "An instance document expected for domains contacts validation", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainsContactsBulk" } } ], "responses": { "200": { "description": "No response was specified" }, "204": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/ErrorDomainContactsValidate" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "description": "All contacts specified in request will be validated against all domains specifed in \"domains\". As an alternative, you can also pass in tlds, with the exception of `uk`, which requires full domain names", "operationId": "ContactsValidate", "summary": "Validate the request body using the Domain Contact Validation Schema for specified domains." } }, "/v1/domains/purchase": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "The Shopper for whom the domain should be purchased", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "An instance document expected to match the JSON schema returned by `./schema/{tld}`", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainPurchase" } } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainPurchaseResponse" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "domain must be specified
Based on restrictions declared in JSON schema returned by `./schema/{tld}`
Cannot convert domain label error
Domain is missing IDN script
Domain segment ends with dash
Domain starts with dash
Domain uses unsupported IDN script
FQDN fails generic validity regex
Invalid character(s) error
Invalid tld error
Non-IDN domain name must not have dashes at the third and fourth position
Reserved name error
`body` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "purchase", "summary": "Purchase and register the specified Domain" } }, "/v1/domains/purchase/schema/{tld}": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "The Top-Level Domain whose schema should be retrieved", "in": "path", "name": "tld", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/JsonSchema" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`tld` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "schema", "summary": "Retrieve the schema to be submitted when registering a Domain for the specified TLD" } }, "/v1/domains/purchase/validate": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "An instance document expected to match the JSON schema returned by `./schema/{tld}`", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainPurchase" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "validate", "summary": "Validate the request body using the Domain Purchase Schema for the specified TLD" } }, "/v1/domains/suggest": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID for which the suggestions are being generated", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain name or set of keywords for which alternative domain names will be suggested", "in": "query", "name": "query", "required": false, "type": "string" }, { "description": "Two-letter ISO country code to be used as a hint for target region

\nNOTE: These are sample values, there are many\nmore", "enum": [ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KV", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SX", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TP", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ], "format": "iso-country-code", "in": "query", "name": "country", "required": false, "type": "string" }, { "description": "Name of city to be used as a hint for target region", "format": "city-name", "in": "query", "name": "city", "required": false, "type": "string" }, { "description": "Sources to be queried

", "in": "query", "items": { "enum": [ "CC_TLD", "EXTENSION", "KEYWORD_SPIN", "PREMIUM", "cctld", "extension", "keywordspin", "premium" ], "type": "string" }, "name": "sources", "required": false, "type": "array" }, { "description": "Top-level domains to be included in suggestions

\nNOTE: These are sample values, there are many\nmore", "in": "query", "items": { "type": "string" }, "name": "tlds", "required": false, "type": "array" }, { "description": "Maximum length of second-level domain", "in": "query", "name": "lengthMax", "required": false, "type": "integer" }, { "description": "Minimum length of second-level domain", "in": "query", "name": "lengthMin", "required": false, "type": "integer" }, { "description": "Maximum number of suggestions to return", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "default": 1000, "description": "Maximum amount of time, in milliseconds, to wait for responses\nIf elapses, return the results compiled up to that point", "format": "integer-positive", "in": "query", "name": "waitMs", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/DomainSuggestion" }, "type": "array" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`query` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "suggest", "summary": "Suggest alternate Domain names based on a seed Domain, a set of keywords, or the shopper's purchase history" } }, "/v1/domains/tlds": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/TldSummary" }, "type": "array" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "tlds", "summary": "Retrieves a list of TLDs supported and enabled for sale" } }, "/v1/domains/{domain}": { "delete": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Domain to cancel", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Unknown domain error
At least two apex (aka @) `nameServers` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "cancel", "summary": "Cancel a purchased domain" }, "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID expected to own the specified domain", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain name whose details are to be retrieved", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainDetail" } }, "203": { "description": "Request was partially successful, see verifications.status for further detail", "schema": { "$ref": "#/definitions/DomainDetail" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "get", "summary": "Retrieve details for the specified Domain" }, "patch": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Domain whose details are to be updated", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "Shopper for whom Domain is to be updated. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Changes to apply to existing Domain", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainUpdate" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Specified Subaccount not owned by authenticated Shopper", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The given domain is not eligible to have its nameservers changed", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "At least two apex (aka @) `nameServers` must be specified
Failed to update nameservers", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "update", "summary": "Update details for the specified Domain" } }, "/v1/domains/{domain}/contacts": { "patch": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper for whom domain contacts are to be updated. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose Contacts are to be updated.", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "Changes to apply to existing Contacts", "in": "body", "name": "contacts", "required": true, "schema": { "$ref": "#/definitions/DomainContacts" } } ], "responses": { "200": { "description": "No response was specified" }, "204": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Domain not found
Identity document not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` is not a valid Domain name", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "updateContacts", "summary": "Update domain" } }, "/v1/domains/{domain}/privacy": { "delete": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID of the owner of the domain", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose privacy is to be cancelled", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Customer has purchased Domain Ownership Protection and the domain has expired
The domain status does not allow performing the operation
Unknown domain error", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "cancelPrivacy", "summary": "Submit a privacy cancellation request for the given domain" } }, "/v1/domains/{domain}/privacy/purchase": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID of the owner of the domain", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain for which to purchase privacy", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "Options for purchasing privacy", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/PrivacyPurchase" } } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainPurchaseResponse" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "End-user must read and consent to all of the following legal agreements
`domain` must match `sld.tld`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "purchasePrivacy", "summary": "Purchase privacy for a specified domain" } }, "/v1/domains/{domain}/records": { "patch": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be augmented", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Records to add to whatever currently exists", "in": "body", "name": "records", "required": true, "schema": { "$ref": "#/definitions/ArrayOfDNSRecord" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` is not a valid Domain name", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordAdd", "summary": "Add the specified DNS Records to the specified Domain" }, "put": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be replaced", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Records to replace whatever currently exists", "in": "body", "name": "records", "required": true, "schema": { "items": { "$ref": "#/definitions/DNSRecord" }, "type": "array" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` is not a valid Domain name
`record` does not fulfill the schema", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordReplace", "summary": "Replace all DNS Records for the specified Domain" } }, "/v1/domains/{domain}/records/{type}/{name}": { "get": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be retrieved", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Record Type for which DNS Records are to be retrieved", "enum": [ "A", "AAAA", "CNAME", "MX", "NS", "SOA", "SRV", "TXT" ], "in": "path", "name": "type", "required": true, "type": "string" }, { "description": "DNS Record Name for which DNS Records are to be retrieved", "in": "path", "name": "name", "required": true, "type": "string" }, { "description": "Number of results to skip for pagination", "in": "query", "name": "offset", "required": false, "type": "integer" }, { "description": "Maximum number of items to return", "in": "query", "name": "limit", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/DNSRecord" }, "type": "array" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`record` does not fulfill the schema
`domain` is not a valid Domain name", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordGet", "summary": "Retrieve DNS Records for the specified Domain, optionally with the specified Type and/or Name" }, "put": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be replaced", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Record Type for which DNS Records are to be replaced", "enum": [ "A", "AAAA", "CNAME", "MX", "NS", "SOA", "SRV", "TXT" ], "in": "path", "name": "type", "required": true, "type": "string" }, { "description": "DNS Record Name for which DNS Records are to be replaced", "in": "path", "name": "name", "required": true, "type": "string" }, { "description": "DNS Records to replace whatever currently exists", "in": "body", "name": "records", "required": true, "schema": { "items": { "$ref": "#/definitions/DNSRecordCreateTypeName" }, "type": "array" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`record` does not fulfill the schema", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordReplaceTypeName", "summary": "Replace all DNS Records for the specified Domain with the specified Type and Name" }, "delete": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be deleted", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Record Type for which DNS Records are to be deleted", "enum": [ "A", "AAAA", "CNAME", "MX", "SRV", "TXT" ], "in": "path", "name": "type", "required": true, "type": "string" }, { "description": "DNS Record Name for which DNS Records are to be deleted", "in": "path", "name": "name", "required": true, "type": "string" } ], "responses": { "204": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Domain not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The given domain is not eligible to have its records changed", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` is not a valid Domain name", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordDeleteTypeName", "summary": "Delete all DNS Records for the specified Domain with the specified Type and Name" } }, "/v1/domains/{domain}/records/{type}": { "put": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose DNS Records are to be replaced", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "DNS Record Type for which DNS Records are to be replaced", "enum": [ "A", "AAAA", "CNAME", "MX", "NS", "SOA", "SRV", "TXT" ], "in": "path", "name": "type", "required": true, "type": "string" }, { "description": "DNS Records to replace whatever currently exists", "in": "body", "name": "records", "required": true, "schema": { "items": { "$ref": "#/definitions/DNSRecordCreateType" }, "type": "array" } } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`record` does not fulfill the schema", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "recordReplaceType", "summary": "Replace all DNS Records for the specified Domain with the specified Type" } }, "/v1/domains/{domain}/renew": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper for whom Domain is to be renewed. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain to renew", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "Options for renewing existing Domain", "in": "body", "name": "body", "required": false, "schema": { "$ref": "#/definitions/DomainRenew" } } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainPurchaseResponse" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "End-user must read and consent to all of the following legal agreements
`domain` must match `sld.tld`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "renew", "summary": "Renew the specified Domain" } }, "/v1/domains/{domain}/transfer": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "The Shopper to whom the domain should be transfered", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain to transfer in", "in": "path", "name": "domain", "required": true, "type": "string" }, { "description": "Details for domain transfer purchase", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainTransferIn" } } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainPurchaseResponse" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "`domain` (domain) isn't available for transfer", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`
Cannot convert domain label error
Domain is missing IDN script
Domain segment ends with dash
Domain starts with dash
Domain uses unsupported IDN script
End-user must read and consent to all of the following legal agreements
FQDN fails generic validity regex
Invalid character(s) error
Invalid period range
Invalid tld error
Non-IDN domain name must not have dashes at the third and fourth position
Reserved name error
`authCode` cannot be empty
`domain` must match `sld.tld`
domain must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "transferIn", "summary": "Purchase and start or restart transfer process" } }, "/v1/domains/{domain}/verifyRegistrantEmail": { "post": { "tags": [ "v1" ], "consumes": [ "application/json", "application/xml", "text/xml" ], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "Shopper for whom domain contact e-mail should be verified. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com", "in": "header", "name": "X-Shopper-Id", "required": false, "type": "string" }, { "description": "Domain whose Contact E-mail should be verified.", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` is not a valid Domain name", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "504": { "description": "Gateway timeout", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "verifyEmail", "summary": "Re-send Contact E-mail Verification for specified Domain" } }, "/v2/customers/{customerId}/domains/{domain}": { "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve details for the specified Domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain name whose details are to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "name": "includes", "required": false, "in": "query", "type": "array", "items": { "enum": [ "actions", "contacts", "dnssecRecords", "registryStatusCodes" ], "type": "string" }, "description": "Optional details to be included in the response" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainDetailV2" } }, "203": { "description": "Request was partially successful, but actions, contacts, and/or verifications may not be included.", "schema": { "$ref": "#/definitions/DomainDetailV2" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The contact does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/changeOfRegistrant": { "delete": { "tags": [ "Domains" ], "summary": "Cancels a pending change of registrant request for a given domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose change of registrant is to be cancelled", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/CHANGE_OF_REGISTRANT_DELETE to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The contact does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "502": { "description": "Dependent service unavailable", "schema": { "$ref": "#/definitions/Error" } } } }, "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve change of registrant information", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose change of registrant information is to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainChangeOfRegistrant" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The contact does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } }, "502": { "description": "Dependent service unavailable", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/dnssecRecords": { "patch": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Add the specifed DNSSEC records to the domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to add the DNSSEC record for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "DNSSEC records to add", "name": "body", "in": "body", "required": true, "schema": { "items": { "$ref": "#/definitions/DomainDnssec" }, "type": "array" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DNSSEC_CREATE to poll status" }, "400": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Remove the specifed DNSSEC record from the domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to delete the DNSSEC record for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "DNSSEC records to remove", "name": "body", "in": "body", "required": true, "schema": { "items": { "$ref": "#/definitions/DomainDnssec" }, "type": "array" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DNSSEC_DELETE to poll status" }, "400": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/nameServers": { "put": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Replaces the existing name servers on the domain.", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose name servers are to be replaced", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Name server records to replace on the domain", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DomainNameServerUpdateV2" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DOMAIN_UPDATE_NAME_SERVERS to poll status" }, "400": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/privacy/forwarding": { "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve privacy email forwarding settings showing where emails are delivered", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain name whose details are to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainPrivacyForwarding" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`domain` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } }, "patch": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Update privacy email forwarding settings to determine how emails are delivered", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain name whose details are to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Update privacy email forwarding settings", "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/DomainPrivacyForwardingUpdate" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/PRIVACY_FORWARDING_UPDATE to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/redeem": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Purchase a restore for the given domain to bring it out of redemption", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to request redeem for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Options for redeeming existing Domain", "name" : "body", "in" : "body", "required" : false, "schema": { "$ref": "#/definitions/DomainRedeemV2" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/REDEEM to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Domain invalid", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/renew": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Renew the specified Domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to be renewed", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Options for renewing existing Domain", "name" : "body", "in" : "body", "required" : true, "schema": { "$ref": "#/definitions/DomainRenewV2" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/RENEW to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transfer": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Purchase and start or restart transfer process", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to transfer in", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Details for domain transfer purchase", "name" : "body", "in" : "body", "required" : true, "schema": { "$ref": "#/definitions/DomainTransferInV2" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } }, "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Query the current transfer status", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain Name", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainTransferStatus" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transfer/validate": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Validate the request body using the Domain Transfer Schema for the specified TLD", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to transfer in", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Details for domain transfer purchase", "name" : "body", "in" : "body", "required" : true, "schema": { "$ref": "#/definitions/DomainTransferInV2" } } ], "responses": { "204": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferInAccept":{ "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Accepts the transfer in", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name": "customerId", "required": true, "in": "path", "type": "string", "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id." }, { "name" : "domain", "required" : true, "in" : "path", "type" : "string", "description" : "Domain to accept the transfer in for" }, { "name" : "body", "in" : "body", "description" : "An Authorization code for transferring the Domain", "required" : true, "schema" : { "$ref" : "#/definitions/DomainTransferAuthCode" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_ACCEPT to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferInCancel": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Cancels the transfer in", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to cancel the transfer in for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_CANCEL to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferInRestart": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Restarts transfer in request from the beginning", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name": "customerId", "required": true, "in": "path", "type": "string", "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id." }, { "name" : "domain", "required" : true, "in" : "path", "type" : "string", "description" : "Domain to restart the transfer in" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_RESTART to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferInRetry": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Retries the current transfer in request with supplied Authorization code", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name": "customerId", "required": true, "in": "path", "type": "string", "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id." }, { "name" : "domain", "required" : true, "in" : "path", "type" : "string", "description" : "Domain to retry the transfer in" }, { "name" : "body", "in" : "body", "description" : "An Authorization code for transferring the Domain", "required" : true, "schema" : { "$ref" : "#/definitions/DomainTransferAuthCode" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_RETRY to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferOut": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Initiate transfer out to another registrar for a .uk domain.", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to initiate the transfer out for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Registrar tag to push transfer to", "name" : "registrar", "in" : "query", "required" : true, "type": "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_REQUESTED to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Domain invalid. TLD must be .uk", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferOutAccept": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Accept transfer out", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to accept the transfer out for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_ACCEPT to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/transferOutReject": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Reject transfer out", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain to reject the transfer out for", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "name": "reason", "description": "Transfer out reject reason", "in": "query", "required": false, "enum": [ "EVIDENCE_OF_FRAUD", "URDP_ACTION", "COURT_ORDER", "DISPUTE_OVER_IDENTITY", "NO_PAYMENT_FOR_PREVIOUS_REGISTRATION_PERIOD", "WRITTEN_OBJECTION", "TRANSFERRED_WITHIN_SIXTY_DAYS" ], "type": "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_REJECT to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/forwards/{fqdn}": { "delete": { "description": "Notes:", "tags": [ "Domains" ], "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description": "The fully qualified domain name whose forwarding details are to be deleted.", "in": "path", "name": "fqdn", "required": true, "type": "string" } ], "responses": { "204": { "description": "Request was successful" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "A valid `fqdn` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "domainsForwardsDelete", "summary": "Submit a forwarding cancellation request for the given fqdn" }, "get": { "description": "Notes:", "tags": [ "Domains" ], "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description": "The fully qualified domain name whose forwarding details are to be retrieved.", "in": "path", "name": "fqdn", "required": true, "type": "string" }, { "description": "Optionally include all sub domains if the fqdn specified is a domain and not a sub domain.", "name": "includeSubs", "required": false, "in": "query", "type": "boolean" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/DomainForwarding" }, "type": "array" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "A valid `fqdn` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "domainsForwardsGet", "summary": "Retrieve the forwarding information for the given fqdn" }, "put": { "description": "Notes:", "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description": "The fully qualified domain name whose forwarding details are to be modified.", "in": "path", "name": "fqdn", "required": true, "type": "string" }, { "description": "Domain forwarding rule to create or replace on the fqdn", "name": "body", "required": true, "in": "body", "schema": { "$ref": "#/definitions/DomainForwardingCreate" } } ], "responses": { "204": { "description": "Request was successful" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "domainsForwardsPut", "summary": "Modify the forwarding information for the given fqdn" }, "post": { "description": "Notes:", "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your own customer id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description": "The fully qualified domain name whose forwarding details are to be modified.", "in": "path", "name": "fqdn", "required": true, "type": "string" }, { "description": "Domain forwarding rule to create for the specified fqdn", "name": "body", "required": true, "in": "body", "schema": { "$ref": "#/definitions/DomainForwardingCreate" } } ], "responses": { "204": { "description": "Request was successful" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Provided `fqdn` already has forwarding setup", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "domainsForwardsPost", "summary": "Create a new forwarding configuration for the given FQDN" } }, "/v2/customers/{customerId}/domains/{domain}/actions": { "get": { "tags": [ "Actions" ], "produces": [ "application/json" ], "summary": "Retrieves a list of the most recent actions for the specified domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose actions are to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "items": { "$ref": "#/definitions/Action" }, "type": "array" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/actions/{type}": { "delete": { "tags": [ "Actions" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Cancel the most recent user action for the specified domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose action is to be cancelled", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "name" : "type", "description": "The type of action to cancel", "in" : "path", "required" : true, "type" : "string", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "MIGRATE", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ] } ], "responses": { "204": { "description": "Request was successful" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The action status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } }, "get": { "tags": [ "Actions" ], "produces": [ "application/json" ], "summary": "Retrieves the most recent action for the specified domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose action is to be retrieved", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "name" : "type", "description": "The type of action to retrieve", "in" : "path", "required" : true, "type" : "string", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ] } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/Action" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "The domain status does not allow performing the operation", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/notifications": { "get": { "tags": [ "Notifications" ], "produces": [ "application/json" ], "summary": "Retrieve the next domain notification", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/DomainNotification" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The customer does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/notifications/optIn": { "get": { "tags": [ "Notifications" ], "produces": [ "application/json" ], "summary": "Retrieve a list of notification types that are opted in", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "type": "array", "items": { "$ref": "#/definitions/DomainNotification" } } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The customer does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } }, "put": { "tags": [ "Notifications" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Opt in to recieve notifications for the submitted notification types", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "name": "types", "description": "The notification types that should be opted in", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ] } } ], "responses": { "204": { "description": "Command successful" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The customer does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`type` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/notifications/schemas/{type}": { "get": { "tags": [ "Notifications" ], "produces": [ "application/json" ], "summary": "Retrieve the schema for the notification data for the specified notification type", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "The notification type whose schema should be retrieved", "name" : "type", "in" : "path", "required" : true, "type" : "string", "enum": [ "AUTO_RENEWAL", "BACKORDER", "BACKORDER_PURCHASE", "EXPIRY", "PREMIUM", "PRIVACY_PURCHASE", "REDEEM", "REGISTER", "RENEW", "TRADE", "TRANSFER" ] } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/JsonSchema" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The schema type does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`type` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/notifications/{notificationId}/acknowledge": { "post": { "tags": [ "Notifications" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Acknowledge a domain notification", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "name": "notificationId", "description": "The notification ID to acknowledge", "in": "path", "required": true, "type": "string" } ], "responses": { "204": { "description": "Message acknowledged" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/register": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Purchase and register the specified Domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "name": "body", "required": true, "in": "body", "schema": { "$ref": "#/definitions/DomainPurchaseV2" }, "description": "An instance document expected to match the JSON schema returned by `./schema/{tld}`" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/REGISTER to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/register/schema/{tld}": { "get": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Retrieve the schema to be submitted when registering a Domain for the specified TLD", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "name": "tld", "required": true, "in": "path", "type": "string", "description": "The Top-Level Domain whose schema should be retrieved" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/JsonSchema" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The tld does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "`tld` must be specified", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/register/validate": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Validate the request body using the Domain Registration Schema for the specified TLD", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "name": "body", "required": true, "in": "body", "schema": { "$ref": "#/definitions/DomainPurchaseV2" }, "description": "An instance document expected to match the JSON schema returned by `./schema/{tld}`" } ], "responses": { "204": { "description": "Request was successful" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The customer does not exist", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Based on restrictions declared in JSON schema returned by `./schema/{tld}`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/domains/maintenances": { "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve a list of upcoming system Maintenances", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name" : "status", "in" : "query", "required" : false, "description": "Only include results with the selected `status` value. Returns all results if omitted
", "type": "string", "enum": [ "ACTIVE", "CANCELLED" ] }, { "name": "modifiedAtAfter", "required": false, "in": "query", "type": "string", "format": "iso-datetime", "description": "Only include results with `modifiedAt` after the supplied date" }, { "name": "startsAtAfter", "required": false, "in": "query", "type": "string", "format": "iso-datetime", "description": "Only include results with `startsAt` after the supplied date" }, { "name": "limit", "required": false, "in": "query", "type": "integer", "default": 100, "minimum": 1, "maximum": 100, "description": "Maximum number of results to return" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/Maintenance" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Filter parameters don't match schema and/or restrictions", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/domains/maintenances/{maintenanceId}": { "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve the details for an upcoming system Maintenances", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name" : "maintenanceId", "in" : "path", "required" : true, "description": "The identifier for the system maintenance", "type": "string" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/MaintenanceDetail" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The maintenance does not exist", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/domains/usage/{yyyymm}": { "get": { "tags": [ "Domains" ], "produces": [ "application/json" ], "summary": "Retrieve api usage request counts for a specific year/month. The data is retained for a period of three months.", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "name": "yyyymm", "description": "The year/month timeframe for the request counts (in the format yyyy-mm)", "in": "path", "required": true, "type": "string", "pattern": "^\\d{4}-\\d{2}$" }, { "name": "includes", "required": false, "in": "query", "type": "array", "items": { "enum": [ "details" ], "type": "string" }, "description": "Determines if the detail records (grouped by request path) are included in the response" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/UsageMonthly" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/contacts": { "patch": { "tags": [ "Contacts" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Update domain contacts", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description" : "Domain whose Contacts are to be updated.", "name" : "domain", "in" : "path", "required" : true, "type" : "string" }, { "description": "Changes to apply to existing Contacts", "name" : "body", "in" : "body", "required" : true, "schema": { "$ref": "#/definitions/DomainContactsUpdateV2" } } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DOMAIN_UPDATE_CONTACTS to poll status" }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Request body doesn't fulfill schema, see details in `fields`", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/v2/customers/{customerId}/domains/{domain}/regenerateAuthCode": { "post": { "tags": [ "Domains" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Regenerate the auth code for the given domain", "parameters": [ { "name": "X-Request-Id", "required": false, "in": "header", "type": "string", "description": "A client provided identifier for tracking this request." }, { "description": "The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your shopper id.", "in": "path", "name": "customerId", "required": true, "type": "string" }, { "description": "Domain to update authcode for", "name": "domain", "in": "path", "required": true, "type": "string" } ], "responses": { "202": { "description": "Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/AUTH_CODE_REGENERATE to poll status" }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "The domain does not exist", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "There is already a similar action processing", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } } } } }, "definitions": { "Action": { "properties": { "type" : { "type": "string", "description": "The type of action being performed
", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ] }, "origination" : { "type": "string", "enum": [ "USER", "SYSTEM" ], "description": "The origination of the action
" }, "createdAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the action was created" }, "startedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the action was started" }, "completedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the action was completed" }, "modifiedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the action was last modified" }, "status": { "type": "string", "default": "ACCEPTED", "enum": [ "ACCEPTED", "AWAITING", "CANCELLED", "FAILED", "PENDING", "SUCCESS" ], "description": "The current status of the action
" }, "reason": { "$ref": "#/definitions/ActionReason", "description": "The detailed reason for the status" }, "requestId" : { "type": "string", "description": "A client provided identifier (via X-Request-Id header) used for tracking individual requests" } }, "required": [ "type", "origination", "createdAt", "status" ] }, "ActionReason": { "additionalProperties": false, "properties": { "code": { "type": "string", "format": "constant", "pattern": "^[A-Z_][A-Z0-9_]*$", "description": "Short identifier, suitable for indicating the reason for the current status and how to handle within client code" }, "message": { "type": "string", "description": "Human-readable, English description of the code" }, "fields": { "type": "array", "items": { "$ref": "#/definitions/ErrorField" }, "description": "List of the specific fields, and the errors found with their contents" } }, "required": [ "code" ] }, "Address": { "properties": { "address1": { "format": "street-address", "type": "string" }, "address2": { "format": "street-address2", "type": "string" }, "city": { "format": "city-name", "type": "string" }, "country": { "default": "US", "description": "Two-letter ISO country code to be used as a hint for target region

\nNOTE: These are sample values, there are many\nmore", "enum": [ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KV", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SX", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TP", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ], "format": "iso-country-code", "type": "string" }, "postalCode": { "description": "Postal or zip code", "format": "postal-code", "type": "string" }, "state": { "description": "State or province or territory", "format": "state-province-territory", "type": "string" } }, "required": [ "address1", "city", "state", "postalCode", "country" ] }, "ArrayOfDNSRecord": { "type": "array", "items": { "$ref": "#/definitions/DNSRecord" } }, "Consent": { "properties": { "agreedAt": { "description": "Timestamp indicating when the end-user consented to these legal agreements", "format": "iso-datetime", "type": "string" }, "agreedBy": { "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements", "type": "string" }, "agreementKeys": { "description": "Unique identifiers of the legal agreements to which the end-user has agreed, as returned from the/domains/agreements endpoint", "items": { "type": "string" }, "type": "array" } }, "required": [ "agreementKeys", "agreedBy", "agreedAt" ] }, "ConsentRedemption": { "additionalProperties": false, "properties": { "price": { "type": "integer", "format": "currency-micro-unit", "description": "Price for the domain renewal (if domain renewal required for redemption). Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the redemption price and currency for the domain" }, "fee": { "type": "integer", "format": "currency-micro-unit", "description": "Fee charged for the domain redemption. Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the redemption fee and currency for the domain" }, "currency": { "type": "string", "format": "iso-currency-code", "default": "USD", "pattern": "^[A-Z][A-Z][A-Z]$", "description": "Currency in which the `price` and `fee` are listed" }, "agreedBy": { "type": "string", "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements" }, "agreedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the end-user consented to these legal agreements" } }, "required": [ "price", "fee", "currency", "agreedBy", "agreedAt" ] }, "ConsentDomainUpdate": { "properties": { "agreedAt": { "description": "Timestamp indicating when the end-user consented to these agreements", "format": "iso-datetime", "type": "string" }, "agreedBy": { "description": "Originating client IP address of the end-user's computer when they consented to the agreements", "type": "string" }, "agreementKeys": { "description": "Unique identifiers of the agreements to which the end-user has agreed, as required by the elements being updated
", "items": { "enum": [ "EXPOSE_REGISTRANT_ORGANIZATION", "EXPOSE_WHOIS" ], "type": "string" }, "type": "array" } }, "required": [ "agreementKeys", "agreedBy", "agreedAt" ] }, "ConsentRenew": { "additionalProperties": false, "properties": { "price": { "type": "integer", "format": "currency-micro-unit", "description": "Price of the domain excluding taxes or fees. Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the renewal price and currency for the domain" }, "currency": { "type": "string", "format": "iso-currency-code", "default": "USD", "pattern": "^[A-Z][A-Z][A-Z]$", "description": "Currency in which the `price` is listed" }, "registryPremiumPricing": { "type": "boolean", "description": "Only required for hosted registrar if domain is premium. If true indicates that the `price` and `currency` listed are the registry premium price and currency for the domain" }, "agreedBy": { "type": "string", "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements" }, "agreedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the end-user consented to these legal agreements" } }, "required": [ "price", "currency", "agreedBy", "agreedAt" ] }, "ConsentV2": { "additionalProperties": false, "properties": { "agreementKeys": { "type": "array", "items": { "type": "string" }, "description": "Unique identifiers of the legal agreements to which the end-user has agreed, as returned from the/domains/agreements endpoint" }, "price": { "type": "integer", "format": "currency-micro-unit", "description": "Price of the domain excluding taxes or fees. Please use GET /v1/domains/available to retrieve the price and currency for the domain" }, "currency": { "type": "string", "format": "iso-currency-code", "default": "USD", "pattern": "^[A-Z][A-Z][A-Z]$", "description": "Currency in which the `price` is listed" }, "registryPremiumPricing": { "type": "boolean", "description": "Only required for hosted registrar if domain is premium. If true indicates that the `price` and `currency` listed are the registry premium price and currency for the domain" }, "agreedBy": { "type": "string", "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements" }, "agreedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the end-user consented to these legal agreements" }, "claimToken": { "description": "The trademark claim token, only needed if the domain has an active trademark claim", "type": "string" } }, "required": [ "agreementKeys", "price", "currency", "agreedBy", "agreedAt" ] }, "Contact": { "properties": { "addressMailing": { "$ref": "#/definitions/Address" }, "email": { "format": "email", "type": "string" }, "fax": { "format": "phone", "type": "string" }, "jobTitle": { "type": "string" }, "nameFirst": { "format": "person-name", "type": "string" }, "nameLast": { "format": "person-name", "type": "string" }, "nameMiddle": { "type": "string" }, "organization": { "format": "organization-name", "type": "string" }, "phone": { "format": "phone", "type": "string" } }, "required": [ "nameFirst", "nameLast", "email", "phone", "addressMailing" ] }, "ContactDomain": { "properties" : { "contactId" : { "type" : "string", "description": "Unique identifier for this Contact" }, "encoding" : { "type": "string", "default": "ASCII", "enum": [ "ASCII", "UTF-8" ], "description": "The encoding of the contact data
" }, "nameFirst": { "type": "string", "format": "person-name", "maxLength": 30 }, "nameMiddle": { "type": "string" }, "nameLast": { "type": "string", "format": "person-name", "maxLength": 30 }, "organization": { "type": "string", "format": "organization-name", "maxLength": 100 }, "jobTitle": { "type": "string" }, "email": { "type": "string", "format": "email", "maxLength": 80 }, "phone": { "type": "string", "format": "phone", "maxLength": 17 }, "fax": { "type": "string", "format": "phone", "maxLength": 17 }, "addressMailing": { "$ref": "#/definitions/Address" }, "exposeRegistrantOrganization": { "type": "boolean", "description": "Whether or not the domain registrant contact organization field should be shown in the WHOIS" }, "exposeWhois": { "type": "boolean", "description": "Whether or not the contact details should be shown in the WHOIS" }, "metadata": { "type": "object", "description": "The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld}" }, "tlds" : { "type" : "array", "description": "The tlds that this contact can be assigned to", "items" : { "type": "string" } }, "_createdAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the contact was created" }, "_modifiedAt": { "type": "string", "format": "iso-datetime", "description": "Timestamp indicating when the contact was last modified" }, "_deleted": { "type": "boolean", "description": "Flag indicating if the contact has been logically deleted in the system" }, "_revision": { "type": "integer", "description": "The current revision number of the contact." } }, "required": [ "nameFirst", "nameLast", "email", "phone", "addressMailing", "exposeWhois", "exposeRegistrantOrganization" ] }, "ContactDomainCreate": { "additionalProperties": false, "properties": { "encoding" : { "type": "string", "default": "ASCII", "enum": [ "ASCII", "UTF-8" ], "description": "The encoding of the contact data
" }, "nameFirst": { "type": "string", "format": "person-name", "maxLength": 30 }, "nameMiddle": { "type": "string" }, "nameLast": { "type": "string", "format": "person-name", "maxLength": 30 }, "organization": { "type": "string", "format": "organization-name", "maxLength": 100 }, "jobTitle": { "type": "string" }, "email": { "type": "string", "format": "email", "maxLength": 80 }, "phone": { "type": "string", "format": "phone", "maxLength": 17 }, "fax": { "type": "string", "format": "phone", "maxLength": 17 }, "addressMailing": { "$ref": "#/definitions/Address" }, "metadata": { "type": "object", "description": "The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld}" } }, "required": [ "encoding", "nameFirst", "nameLast", "email", "phone", "addressMailing" ] }, "ContactRegistrantChange": { "properties": { "email": { "type": "string", "format": "email", "maxLength": 80 }, "firstName": { "type": "string", "format": "person-name", "maxLength": 30 }, "lastName": { "type": "string", "format": "person-name", "maxLength": 30 }, "organization": { "type": "string", "format": "organization-name", "maxLength": 100 } }, "required": [ "email", "firstName", "lastName" ] }, "DNSRecord": { "properties": { "data": { "type": "string" }, "name": { "format": "domain", "type": "string" }, "port": { "description": "Service port (SRV only)", "maximum": 65535, "minimum": 1, "type": "integer" }, "priority": { "description": "Record priority (MX and SRV only)", "format": "integer-positive", "type": "integer" }, "protocol": { "description": "Service protocol (SRV only)", "type": "string" }, "service": { "description": "Service type (SRV only)", "type": "string" }, "ttl": { "format": "integer-positive", "type": "integer" }, "type": { "enum": [ "A", "AAAA", "CNAME", "MX", "NS", "SOA", "SRV", "TXT" ], "type": "string" }, "weight": { "description": "Record weight (SRV only)", "format": "integer-positive", "type": "integer" } }, "required": [ "type", "name", "data" ] }, "DNSRecordCreateType": { "properties": { "data": { "type": "string" }, "name": { "format": "domain", "type": "string" }, "port": { "description": "Service port (SRV only)", "maximum": 65535, "minimum": 1, "type": "integer" }, "priority": { "description": "Record priority (MX and SRV only)", "format": "integer-positive", "type": "integer" }, "protocol": { "description": "Service protocol (SRV only)", "type": "string" }, "service": { "description": "Service type (SRV only)", "type": "string" }, "ttl": { "format": "integer-positive", "type": "integer" }, "weight": { "description": "Record weight (SRV only)", "format": "integer-positive", "type": "integer" } }, "required": [ "name", "data" ] }, "DNSRecordCreateTypeName": { "properties": { "data": { "type": "string" }, "port": { "description": "Service port (SRV only)", "maximum": 65535, "minimum": 1, "type": "integer" }, "priority": { "description": "Record priority (MX and SRV only)", "format": "integer-positive", "type": "integer" }, "protocol": { "description": "Service protocol (SRV only)", "type": "string" }, "service": { "description": "Service type (SRV only)", "type": "string" }, "ttl": { "format": "integer-positive", "type": "integer" }, "weight": { "description": "Record weight (SRV only)", "format": "integer-positive", "type": "integer" } }, "required": [ "data" ] }, "DomainAvailableBulk": { "properties": { "domains": { "description": "Domain available response array", "items": { "$ref": "#/definitions/DomainAvailableResponse" }, "type": "array" } }, "required": [ "domains" ] }, "DomainAvailableBulkMixed": { "properties": { "domains": { "description": "Domain available response array", "items": { "$ref": "#/definitions/DomainAvailableResponse" }, "type": "array" }, "errors": { "description": "Errors encountered while performing a domain available check", "items": { "$ref": "#/definitions/DomainAvailableError" }, "type": "array" } }, "required": [ "domains" ] }, "DomainAvailableError": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "domain": { "description": "Domain name", "type": "string" }, "message": { "description": "Human-readable, English description of the error", "type": "string" }, "path": { "description": "", "format": "json-path", "type": "string" }, "status": { "description": "HTTP status code that would return for a single check", "type": "integer" } }, "required": [ "code", "domain", "path", "status" ] }, "DomainAvailableResponse": { "properties": { "available": { "description": "Whether or not the domain name is available", "type": "boolean" }, "currency": { "default": "USD", "description": "Currency in which the `price` is listed. Only returned if tld is offered", "format": "iso-currency-code", "type": "string" }, "definitive": { "description": "Whether or not the `available` answer has been definitively verified with the registry", "type": "boolean" }, "domain": { "description": "Domain name", "type": "string" }, "period": { "description": "Number of years included in the price. Only returned if tld is offered", "format": "integer-positive", "type": "integer" }, "price": { "description": "Price of the domain excluding taxes or fees. Only returned if tld is offered", "format": "currency-micro-unit", "type": "integer" } }, "required": [ "domain", "available", "definitive" ] }, "DomainChangeOfRegistrant": { "properties": { "createDate": { "type": "string", "format": "iso-datetime" }, "gainingContact": { "$ref": "#/definitions/ContactRegistrantChange" }, "losingContact": { "$ref": "#/definitions/ContactRegistrantChange" }, "otherDomainsAffected": { "type": "integer", "format": "integer-positive" }, "shopperEmail": { "type": "string", "format": "email" } }, "required": [ "createDate", "gainingContact", "losingContact" ] }, "DomainContacts": { "properties": { "contactAdmin": { "$ref": "#/definitions/Contact" }, "contactBilling": { "$ref": "#/definitions/Contact" }, "contactRegistrant": { "$ref": "#/definitions/Contact" }, "contactTech": { "$ref": "#/definitions/Contact" } }, "required": [ "contactRegistrant" ] }, "DomainContactsCreateV2": { "additionalProperties": false, "type": "object", "properties": { "admin": { "$ref": "#/definitions/ContactDomainCreate" }, "adminId": { "description": "Unique identifier of the contact that the user wants to use for the domain admin contact. This can be specified instead of the `admin` property.\n", "type": "string" }, "billing": { "$ref": "#/definitions/ContactDomainCreate" }, "billingId": { "description": "Unique identifier of the contact that the user wants to use for the domain billing contact. This can be specified instead of the `billing` property.\n", "type": "string" }, "registrant": { "$ref": "#/definitions/ContactDomainCreate" }, "registrantId": { "description": "Unique identifier of the contact that the user wants to use for the domain registrant contact. This can be specified instead of the `registrant` property.\n", "type": "string" }, "tech": { "$ref": "#/definitions/ContactDomainCreate" }, "techId": { "description": "Unique identifier of the contact that the user wants to use for the domain tech contact. This can be specified instead of the `tech` property.\n", "type": "string" } } }, "DomainContactsUpdateV2": { "additionalProperties": false, "properties": { "identityDocumentId": { "type": "string", "description": "Unique identifier of the identify document that the user wants to associate with the domain whose registrant contact is being updated. This is required only if user is trying to update registrant contact and the owning registry has a requirement for an approved identity document" }, "contacts": { "$ref": "#/definitions/DomainContactsCreateV2" } } }, "DomainContactsV2": { "additionalProperties": false, "properties": { "registrant": { "$ref": "#/definitions/ContactDomain", "description": "Registrant contact for the domain" }, "admin": { "$ref": "#/definitions/ContactDomain", "description": "Administrative contact for the domain" }, "tech": { "$ref": "#/definitions/ContactDomain", "description": "Technical contact for the domain" }, "billing": { "$ref": "#/definitions/ContactDomain", "description": "Billing contact for the domain" } } }, "DomainDetail": { "properties": { "authCode": { "description": "Authorization code for transferring the Domain", "type": "string" }, "contactAdmin": { "$ref": "#/definitions/Contact", "description": "Administrative contact for the domain registration" }, "contactBilling": { "$ref": "#/definitions/Contact", "description": "Billing contact for the domain registration" }, "contactRegistrant": { "$ref": "#/definitions/Contact", "description": "Registration contact for the domain" }, "contactTech": { "$ref": "#/definitions/Contact", "description": "Technical contact for the domain registration" }, "createdAt": { "description": "Date and time when this domain was created", "format": "date-time", "type": "string" }, "deletedAt": { "description": "Date and time when this domain was deleted", "format": "date-time", "type": "string" }, "transferAwayEligibleAt": { "description": "Date and time when this domain is eligible to transfer", "format": "date-time", "type": "string" }, "domain": { "description": "Name of the domain", "type": "string" }, "domainId": { "description": "Unique identifier for this Domain", "format": "double", "type": "number" }, "expirationProtected": { "description": "Whether or not the domain is protected from expiration", "type": "boolean" }, "expires": { "description": "Date and time when this domain will expire", "format": "date-time", "type": "string" }, "exposeRegistrantOrganization": { "type": "boolean", "description": "Whether or not the domain registrant contact organization field should be shown in the WHOIS" }, "exposeWhois": { "description": "Whether or not the domain contact details should be shown in the WHOIS", "type": "boolean" }, "holdRegistrar": { "description": "Whether or not the domain is on-hold by the registrar", "type": "boolean" }, "locked": { "description": "Whether or not the domain is locked to prevent transfers", "type": "boolean" }, "nameServers": { "description": "Fully-qualified domain names for DNS servers", "items": { "format": "host-name", "type": "string" }, "type": "array" }, "privacy": { "description": "Whether or not the domain has privacy protection", "type": "boolean" }, "registrarCreatedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was created by the registrar" }, "renewAuto": { "description": "Whether or not the domain is configured to automatically renew", "type": "boolean" }, "renewDeadline": { "description": "Date the domain must renew on", "format": "date-time", "type": "string" }, "status": { "description": "Processing status of the domain
", "type": "string" }, "subaccountId": { "description": "Reseller subaccount shopperid who can manage the domain", "type": "string" }, "transferProtected": { "description": "Whether or not the domain is protected from transfer", "type": "boolean" }, "verifications": { "$ref": "#/definitions/VerificationsDomain", "description": "Progress and status for each of the verification processes requested for this domain" } }, "required": [ "domainId", "domain", "status", "expirationProtected", "holdRegistrar", "locked", "privacy", "renewAuto", "renewDeadline", "transferProtected", "createdAt", "authCode", "nameServers", "contactRegistrant", "contactBilling", "contactAdmin", "contactTech" ] }, "DomainDetailV2": { "additionalProperties": false, "properties": { "domainId": { "type": "string", "description": "Unique identifier for this Domain" }, "domain": { "type": "string", "description": "Name of the domain", "format": "domain" }, "subaccountId": { "type": "string", "description": "Reseller subaccount shopperid who can manage the domain" }, "status": { "type": "string", "description": "The current status of the domain
", "enum": [ "ACTIVE", "CANCELLED", "DELETED_REDEEMABLE", "EXPIRED", "FAILED", "LOCKED_REGISTRAR", "PARKED", "HELD_REGISTRAR", "OWNERSHIP_CHANGED", "PENDING_TRANSFER", "PENDING_REGISTRATION", "REPOSSESSED", "SUSPENDED", "TRANSFERRED" ] }, "expiresAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain will expire" }, "expirationProtected": { "type": "boolean", "description": "Whether or not the domain is protected from expiration" }, "holdRegistrar": { "type": "boolean", "description": "Whether or not the domain is on-hold by the registrar" }, "locked": { "type": "boolean", "description": "Whether or not the domain is locked to prevent transfers" }, "privacy": { "type": "boolean", "description": "Whether or not the domain has privacy protection" }, "registrarCreatedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was created by the registrar" }, "renewAuto": { "type": "boolean", "description": "Whether or not the domain is configured to automatically renew" }, "renewDeadline": { "type": "string", "format": "iso-datetime", "description": "Date the domain must renew on" }, "transferProtected": { "type": "boolean", "description": "Whether or not the domain is protected from transfer" }, "createdAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was created" }, "deletedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was deleted" }, "modifiedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was last modified" }, "transferAwayEligibleAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain is eligible to transfer" }, "authCode": { "type": "string", "description": "Authorization code for transferring the Domain" }, "nameServers": { "type": "array", "items": { "type": "string", "format": "host-name" }, "description": "Fully-qualified domain names for DNS servers" }, "hostnames": { "type": "array", "items": { "type": "string", "format": "host-name" }, "description": "Hostnames owned by the domain" }, "renewal": { "$ref": "#/definitions/RenewalDetails", "description": "Information for renewal of domain" }, "verifications": { "$ref": "#/definitions/VerificationsDomainV2", "description": "Progress and status for each of the verification processes required for this domain" }, "contacts": { "$ref": "#/definitions/DomainContactsV2", "description": "Contacts for the domain registration" }, "actions": { "type": "array", "items": { "$ref": "#/definitions/Action" }, "description": "List of current actions in progress for this domain" }, "dnssecRecords": { "type": "array", "items": { "$ref": "#/definitions/DomainDnssec" }, "description": "List of active DNSSEC records for this domain" }, "registryStatusCodes": { "type": "array", "items": { "type": "string", "enum": [ "ADD_PERIOD", "AUTO_RENEW_PERIOD", "CLIENT_DELETE_PROHIBITED", "CLIENT_HOLD", "CLIENT_RENEW_PROHIBITED", "CLIENT_TRANSFER_PROHIBITED", "CLIENT_UPDATE_PROHIBITED", "INACTIVE", "OK", "PENDING_CREATE", "PENDING_DELETE", "PENDING_RENEW", "PENDING_RESTORE", "PENDING_TRANSFER", "PENDING_UPDATE", "REDEMPTION_PERIOD", "RENEW_PERIOD", "SERVER_DELETE_PROHIBITED", "SERVER_HOLD", "SERVER_RENEW_PROHIBITED", "SERVER_TRANSFER_PROHIBITED", "SERVER_UPDATE_PROHIBITED", "TRANSFER_PERIOD" ] }, "description": "The current registry status codes of the domain
" } }, "required": [ "domainId", "domain", "status", "expirationProtected", "holdRegistrar", "locked", "privacy", "renewAuto", "renewDeadline", "transferProtected", "createdAt", "authCode", "nameServers", "contacts" ] }, "DomainDnssec" : { "properties": { "algorithm": { "description": "This identifies the cryptographic algorithm used to generate the signature
", "enum": [ "RSAMD5", "DH", "DSA", "RSASHA1", "DSA_NSEC3_SHA1", "RSASHA1_NSEC3_SHA1", "RSASHA256", "RSASHA512", "ECC_GOST", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448", "PRIVATEDNS", "PRIVATEOID" ], "type": "string" }, "keyTag": { "description": "This is an integer value less than 65536 used to identify the DNSSEC record for the domain name.", "type": "integer", "format": "integer-positive", "maximum": 65536 }, "digestType": { "description": "This identifies the algorithm used to construct the digest
", "enum": [ "SHA1", "SHA256", "GOST", "SHA384" ], "type": "string" }, "digest": { "type": "string", "description": "The digest is an alpha-numeric value" }, "flags": { "description": "This identifies the key type; either a Zone-Signing Key or a Key-Signing Key
", "enum": [ "ZSK", "KSK" ], "type": "string" }, "publicKey": { "type": "string", "description": "Registries use this value to encrypt DS records. Decryption requires a matching public key" }, "maxSignatureLife": { "type": "integer", "format": "integer-positive", "description": "This specifies the validity period for the signature. The value is expressed in seconds. You can use any integer value larger than zero" } }, "required": [ "algorithm" ] }, "DomainNameServerUpdateV2": { "additionalProperties": false, "properties": { "nameServers": { "type": "array", "items": { "type": "string" }, "description": "Fully-qualified domain names for name servers to associate with the domain" } } }, "DomainPrivacyForwarding": { "properties": { "privateEmail": { "type": "string", "description": "The private email" }, "forwardingEmail": { "type": "string", "description": "The email that it forwards to" }, "emailPreference": { "type": "string", "enum": [ "EMAIL_FILTER", "EMAIL_SEND_ALL", "EMAIL_SEND_NONE" ], "description": "The email forwarding preference for the domain
" } } }, "DomainPrivacyForwardingUpdate": { "properties": { "privateEmailType": { "type": "string", "enum": [ "DEFAULT", "RANDOM" ], "description": "The private email type
" }, "forwardingEmail": { "type": "string", "description": "The email that it forwards to" }, "emailPreference": { "type": "string", "enum": [ "EMAIL_FILTER", "EMAIL_SEND_ALL", "EMAIL_SEND_NONE" ], "description": "The email forwarding preference for the domain
" } }, "required": [ "privateEmailType", "emailPreference" ] }, "DomainNotification": { "properties": { "notificationId": { "description": "The notification ID to be used in POST /v2/customers/{customerId}/domains/notifications to acknowledge the notification", "default": "", "type": "string" }, "type": { "description": "The type of action the notification relates to", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ], "type": "string" }, "resource": { "description": "The resource the notification pertains to.", "default": "", "type": "string" }, "resourceType": { "description": "The type of resource the notification relates to", "enum": [ "CONTACT", "DOMAIN", "HOST" ], "type": "string" }, "status": { "type": "string", "enum": [ "AWAITING", "CANCELLED", "FAILED", "PENDING", "SUCCESS" ], "description": "The resulting status of the action." }, "addedAt": { "description": "The date the notification was added", "default": "", "type": "string", "format": "iso-datetime" }, "requestId" : { "type": "string", "description": "A client provided identifier (via X-Request-Id header) indicating the request this notification is for" }, "metadata": { "description": "The notification data for the given type as specifed by GET /v2/customers/{customerId}/domains/notifications/schema", "default": "", "type": "object" } }, "required": [ "notificationId", "type", "resource", "resourceType", "status", "addedAt" ] }, "DomainNotificationType": { "properties": { "type": { "description": "The notification type", "enum": [ "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_FORWARDING_UPDATE", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT" ], "type": "string" } }, "required": [ "type" ] }, "DomainPurchase": { "properties": { "consent": { "$ref": "#/definitions/Consent" }, "contactAdmin": { "$ref": "#/definitions/Contact" }, "contactBilling": { "$ref": "#/definitions/Contact" }, "contactRegistrant": { "$ref": "#/definitions/Contact" }, "contactTech": { "$ref": "#/definitions/Contact" }, "domain": { "description": "For internationalized domain names with non-ascii characters, the domain name is converted to punycode before format and pattern validation rules are checked", "format": "domain", "type": "string" }, "nameServers": { "items": { "format": "host-name", "type": "string" }, "type": "array" }, "period": { "default": 1, "format": "integer-positive", "maximum": 10, "minimum": 1, "type": "integer" }, "privacy": { "default": false, "type": "boolean" }, "renewAuto": { "default": true, "type": "boolean" } }, "required": [ "domain", "consent" ] }, "DomainPurchaseResponse": { "properties": { "currency": { "default": "USD", "description": "Currency in which the `total` is listed", "format": "iso-currency-code", "type": "string" }, "itemCount": { "description": "Number items included in the order", "format": "integer-positive", "type": "integer" }, "orderId": { "description": "Unique identifier of the order processed to purchase the domain", "format": "int64", "type": "integer" }, "total": { "description": "Total cost of the domain and any selected add-ons", "format": "currency-micro-unit", "type": "integer" } }, "required": [ "orderId", "itemCount", "total" ] }, "DomainRenew": { "properties": { "period": { "description": "Number of years to extend the Domain. Must not exceed maximum for TLD. When omitted, defaults to `period` specified during original purchase", "format": "integer-positive", "maximum": 10, "minimum": 1, "type": "integer" } } }, "DomainSuggestion": { "properties": { "domain": { "description": "Suggested domain name", "type": "string" } }, "required": [ "domain" ] }, "DomainSummary": { "properties": { "authCode": { "description": "Authorization code for transferring the Domain", "type": "string" }, "contactAdmin": { "$ref": "#/definitions/Contact", "description": "Administrative contact for the domain registration" }, "contactBilling": { "$ref": "#/definitions/Contact", "description": "Billing contact for the domain registration" }, "contactRegistrant": { "$ref": "#/definitions/Contact", "description": "Registration contact for the domain" }, "contactTech": { "$ref": "#/definitions/Contact", "description": "Technical contact for the domain registration" }, "createdAt": { "description": "Date and time when this domain was created", "format": "date-time", "type": "string" }, "deletedAt": { "description": "Date and time when this domain was deleted", "format": "date-time", "type": "string" }, "transferAwayEligibleAt": { "description": "Date and time when this domain is eligible to transfer", "format": "date-time", "type": "string" }, "domain": { "description": "Name of the domain", "type": "string" }, "domainId": { "description": "Unique identifier for this Domain", "format": "double", "type": "number" }, "expirationProtected": { "description": "Whether or not the domain is protected from expiration", "type": "boolean" }, "expires": { "description": "Date and time when this domain will expire", "format": "date-time", "type": "string" }, "exposeWhois": { "description": "Whether or not the domain contact details should be shown in the WHOIS", "type": "boolean" }, "holdRegistrar": { "description": "Whether or not the domain is on-hold by the registrar", "type": "boolean" }, "locked": { "description": "Whether or not the domain is locked to prevent transfers", "type": "boolean" }, "nameServers": { "description": "Fully-qualified domain names for DNS servers", "items": { "format": "host-name", "type": "string" }, "type": "array" }, "privacy": { "description": "Whether or not the domain has privacy protection", "type": "boolean" }, "registrarCreatedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time when this domain was created by the registrar" }, "renewAuto": { "description": "Whether or not the domain is configured to automatically renew", "type": "boolean" }, "renewDeadline": { "description": "Date the domain must renew on", "format": "date-time", "type": "string" }, "renewable": { "description": "Whether or not the domain is eligble for renewal based on status", "type": "boolean" }, "status": { "description": "Processing status of the domain
", "type": "string" }, "transferProtected": { "description": "Whether or not the domain is protected from transfer", "type": "boolean" } }, "required": [ "domainId", "domain", "status", "expirationProtected", "holdRegistrar", "locked", "privacy", "renewAuto", "renewDeadline", "transferProtected", "createdAt", "contactRegistrant" ] }, "DomainForwardingMask": { "properties": { "title" : { "type": "string", "description": "Displays at the top of the browser window and in search results." }, "description" : { "type": "string", "description": "A short description of your website to display in search engine results." }, "keywords": { "type": "string", "description": "A list of comma-separated keywords that describes the content and purpose of your website." } } }, "DomainForwardingCreate": { "properties": { "type": { "type": "string", "default": "REDIRECT_PERMANENT", "enum": [ "MASKED", "REDIRECT_PERMANENT", "REDIRECT_TEMPORARY" ], "description": "The type of fowarding to implement
" }, "url" : { "type": "string", "format": "url", "description": "Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/)" }, "mask": { "$ref": "#/definitions/DomainForwardingMask", "description": "Additional configuration that can be provided when type = 'MASKED'" } }, "required": [ "type", "url" ] }, "DomainForwarding": { "properties": { "fqdn" : { "type": "string", "description": "The fqdn (domain or sub domain) to forward (ex somedomain.com or sub.somedomain.com)" }, "type": { "type": "string", "default": "REDIRECT_PERMANENT", "enum": [ "MASKED", "REDIRECT_PERMANENT", "REDIRECT_TEMPORARY" ], "description": "The type of fowarding to implement
" }, "url" : { "type": "string", "format": "url", "description": "Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/)" }, "mask": { "$ref": "#/definitions/DomainForwardingMask", "description": "Additional configuration that can be provided when type = 'MASKED'" } }, "required": [ "fqdn", "type", "url" ] }, "DomainPurchaseV2": { "additionalProperties": false, "properties": { "domain": { "type": "string", "format": "domain", "pattern": "^[^.]{1,63}.[^.]{2,}$", "description": "For internationalized domain names with non-ascii characters, the domain name is converted to punycode before format and pattern validation rules are checked" }, "consent": { "$ref": "#/definitions/ConsentV2" }, "period": { "type": "integer", "format": "integer-positive", "default": 1, "minimum": 1, "maximum": 10, "pattern": "^[0-9]+$" }, "nameServers": { "type": "array", "items": { "type": "string", "format": "host-name" }, "maxItems": 2 }, "renewAuto": { "type": "boolean", "default": true }, "privacy": { "type": "boolean", "default": false }, "contacts": { "$ref": "#/definitions/DomainContactsCreateV2", "description": "Contacts for the domain registration" }, "metadata": { "type": "object", "description": "The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld}" } }, "required": [ "domain", "consent" ] }, "DomainRedeemV2": { "additionalProperties": false, "properties": { "consent": { "$ref": "#/definitions/ConsentRedemption" } }, "required": [ "consent" ] }, "DomainRenewV2": { "additionalProperties": false, "properties": { "expires": { "type": "string", "format": "iso-datetime", "description": "Current date when this domain will expire" }, "consent": { "$ref": "#/definitions/ConsentRenew" }, "period": { "type": "integer", "description": "Number of years to extend the Domain. Must not exceed maximum for TLD. When omitted, defaults to `period` specified during original purchase", "format": "integer-positive", "minimum": 1, "maximum": 10, "pattern": "^[0-9]+$" } }, "required": [ "consent", "expires" ] }, "DomainTransferAuthCode" : { "type" : "object", "additionalProperties" : false, "properties" : { "authCode" : { "description" : "Authorization code for transferring the Domain", "type" : "string" } }, "required" : [ "authCode" ] }, "DomainTransferStatus" : { "type" : "object", "additionalProperties" : false, "properties" : { "transferStatusCodes": { "type": "array", "items": { "type": "string", "enum": [ "CLIENT_APPROVED", "CLIENT_CANCELLED", "CLIENT_REJECTED", "PENDING", "SERVER_APPROVED", "SERVER_CANCELLED" ] }, "description": "The current registry transfer status codes of the domain
" } }, "required" : [ "transferStatusCodes" ] }, "DomainTransferIn": { "properties": { "authCode": { "description": "Authorization code from registrar for transferring a domain", "type": "string" }, "consent": { "$ref": "#/definitions/Consent", "description": "Required agreements can be retrieved via the GET ./domains/agreements endpoint" }, "period": { "default": 1, "description": "Can be more than 1 but no more than 10 years total including current registration length", "format": "integer-positive", "maximum": 10, "minimum": 1, "type": "integer" }, "privacy": { "default": false, "description": "Whether or not privacy has been requested", "type": "boolean" }, "renewAuto": { "default": true, "description": "Whether or not the domain should be configured to automatically renew", "type": "boolean" }, "contactAdmin": { "$ref": "#/definitions/Contact", "description": "The contact to use for the domain admin contact. Depending on the tld of the domain being transferred, this field may be required." }, "contactBilling": { "$ref": "#/definitions/Contact", "description": "The contact to use for the domain billing contact. Depending on the tld of the domain being transferred, this field may be required." }, "contactRegistrant": { "$ref": "#/definitions/Contact", "description": "The contact to use for the domain registrant contact. Depending on the tld of the domain being transferred, this field may be required." }, "contactTech": { "$ref": "#/definitions/Contact", "description": "The contact to use for the domain tech contact. Depending on the tld of the domain being transferred, this field may be required." } }, "required": [ "authCode", "consent" ] }, "DomainTransferInV2": { "additionalProperties": false, "properties": { "authCode": { "type": "string", "description": "Authorization code from registrar for transferring a domain" }, "period": { "type": "integer", "format": "integer-positive", "default": 1, "minimum": 1, "maximum": 10, "pattern": "^[0-9]+$", "description": "Can be more than 1 but no more than 10 years total including current registration length" }, "renewAuto": { "type": "boolean", "default": true, "description": "Whether or not the domain should be configured to automatically renew" }, "privacy": { "type": "boolean", "default": false, "description": "Whether or not privacy has been requested" }, "identityDocumentId": { "type": "string", "description": "Unique identifier of the identify document that the user wants to associate with the domain being transferred in. This is required only if the gaining registry has a requirement for an approved identity document" }, "consent": { "$ref": "#/definitions/ConsentV2", "description": "Required agreements can be retrieved via the GET ./domains/agreements endpoint" }, "contacts": { "$ref": "#/definitions/DomainContactsCreateV2", "description": "Contacts for the domain registration" }, "metadata": { "type": "object", "description": "The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld}" } }, "required": [ "authCode", "consent" ] }, "DomainUpdate": { "properties": { "locked": { "description": "Whether or not the domain should be locked to prevent transfers", "type": "boolean" }, "nameServers": { "description": "Fully-qualified domain names for Name Servers to associate with the domain", "items": { "format": "host-name" }, "type": "array" }, "renewAuto": { "description": "Whether or not the domain should be configured to automatically renew", "type": "boolean" }, "subaccountId": { "description": "Reseller subaccount shopperid who can manage the domain", "type": "string" }, "exposeRegistrantOrganization": { "type": "boolean", "description": "Whether or not the domain registrant contact organization field should be shown in the WHOIS" }, "exposeWhois": { "description": "Whether or not the domain contact details should be shown in the WHOIS", "type": "boolean" }, "consent": { "$ref": "#/definitions/ConsentDomainUpdate" } } }, "DomainsContactsBulk": { "properties": { "contactAdmin": { "$ref": "#/definitions/Contact" }, "contactBilling": { "$ref": "#/definitions/Contact" }, "contactPresence": { "$ref": "#/definitions/Contact" }, "contactRegistrant": { "$ref": "#/definitions/Contact" }, "contactTech": { "$ref": "#/definitions/Contact" }, "domains": { "description": "An array of domain names to be validated against. Alternatively, you can specify the extracted tlds. However, full domain names are required if the tld is `uk`", "items": { "format": "domain", "type": "string" }, "type": "array" }, "entityType": { "description": "Canadian Presence Requirement (CA)", "enum": [ "ABORIGINAL", "ASSOCIATION", "CITIZEN", "CORPORATION", "EDUCATIONAL", "GOVERNMENT", "HOSPITAL", "INDIAN_BAND", "LEGAL_REPRESENTATIVE", "LIBRARY_ARCHIVE_MUSEUM", "MARK_REGISTERED", "MARK_TRADE", "PARTNERSHIP", "POLITICAL_PARTY", "RESIDENT_PERMANENT", "TRUST", "UNION" ], "type": "string" } }, "required": [ "domains" ] }, "Error": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "fields": { "description": "List of the specific fields, and the errors found with their contents", "items": { "$ref": "#/definitions/ErrorField" }, "type": "array" }, "message": { "description": "Human-readable, English description of the error", "type": "string" } }, "required": [ "code" ] }, "ErrorDomainContactsValidate": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "fields": { "description": "List of the specific fields, and the errors found with their contents", "items": { "$ref": "#/definitions/ErrorFieldDomainContactsValidate" }, "type": "array" }, "message": { "description": "Human-readable, English description of the error", "type": "string" }, "stack": { "description": "Stack trace indicating where the error occurred.
NOTE: This attribute MAY be included for Development and Test environments. However, it MUST NOT be exposed from OTE nor Production systems", "items": { "type": "string" }, "type": "array" } }, "required": [ "code" ] }, "ErrorField": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "message": { "description": "Human-readable, English description of the problem with the contents of the field", "type": "string" }, "path": { "description": "", "format": "json-path", "type": "string" }, "pathRelated": { "description": "JSONPath referring to a field containing an error, which is referenced by `path`", "format": "json-path", "type": "string" } }, "required": [ "path", "code" ] }, "ErrorFieldDomainContactsValidate": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "domains": { "description": "An array of domain names the error is for. If tlds are specified in the request, `domains` will contain tlds. For example, if `domains` in request is [\"test1.com\", \"test2.uk\", \"net\"], and the field is invalid for com and net, then one of the `fields` in response will have [\"test1.com\", \"net\"] as `domains`", "items": { "type": "string" }, "type": "array" }, "message": { "description": "Human-readable, English description of the problem with the contents of the field", "type": "string" }, "path": { "description": "1) JSONPath referring to the field within the data containing an error
or
2) JSONPath referring to an object containing an error", "format": "json-path", "type": "string" }, "pathRelated": { "description": "JSONPath referring to the field on the object referenced by `path` containing an error", "format": "json-path", "type": "string" } }, "required": [ "code", "domains", "path" ] }, "ErrorLimit": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "fields": { "description": "List of the specific fields, and the errors found with their contents", "items": { "$ref": "#/definitions/ErrorField" }, "type": "array" }, "message": { "description": "Human-readable, English description of the error", "type": "string" }, "retryAfterSec": { "description": "Number of seconds to wait before attempting a similar request", "format": "integer-positive", "type": "integer" } }, "required": [ "retryAfterSec", "code" ] }, "JsonDataType": { "properties": { "format": { "type": "string" }, "pattern": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type", "$ref" ] }, "JsonProperty": { "properties": { "defaultValue": { "type": "string" }, "format": { "type": "string" }, "items": { "items": { "$ref": "#/definitions/JsonDataType" }, "type": "object" }, "maxItems": { "type": "integer" }, "maximum": { "type": "integer" }, "minItems": { "type": "integer" }, "minimum": { "type": "integer" }, "pattern": { "type": "string" }, "required": { "type": "boolean" }, "type": { "type": "string" } }, "required": [ "type", "$ref", "required" ] }, "JsonSchema": { "properties": { "id": { "type": "string" }, "models": { "items": { "$ref": "#/definitions/JsonSchema" }, "type": "object" }, "properties": { "items": { "$ref": "#/definitions/JsonProperty" }, "type": "object" }, "required": { "items": { "type": "string" }, "type": "array" } }, "required": [ "id", "properties", "required", "models" ] }, "LegalAgreement": { "properties": { "agreementKey": { "description": "Unique identifier for the legal agreement", "type": "string" }, "content": { "description": "Contents of the legal agreement, suitable for embedding", "type": "string" }, "title": { "description": "Title of the legal agreement", "type": "string" }, "url": { "description": "URL to a page containing the legal agreement", "format": "url", "type": "string" } }, "required": [ "agreementKey", "title", "content" ] }, "Maintenance": { "additionalProperties": false, "properties": { "createdAt": { "description": "Date and time (UTC) when this maintenance was created", "type": "string", "format": "iso-datetime" }, "endsAt": { "description": "Date and time (UTC) when this maintenance will complete", "type": "string", "format": "iso-datetime" }, "environment": { "type": "string", "enum": [ "OTE", "PRODUCTION" ], "description": "The environment on which the maintenance will be performed
" }, "maintenanceId" : { "type": "string", "description": "The identifier for the system maintenance" }, "modifiedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time (UTC) when this maintenance was last modified" }, "reason": { "type": "string", "enum": [ "EMERGENCY", "PLANNED" ], "description": "The reason for the maintenance being performed
" }, "startsAt": { "type": "string", "format": "iso-datetime", "description": "Date and time (UTC) when this maintenance will start" }, "status": { "type": "string", "enum": [ "ACTIVE", "CANCELLED" ], "description": "The status of maintenance
" }, "summary" : { "type": "string", "description": "A brief description of what is being performed" }, "tlds": { "type": "array", "items": { "type": "string" }, "description": "List of tlds that are in maintenance. Generally only applies when `type` is REGISTRY" }, "type": { "type": "string", "enum": [ "API", "REGISTRY", "UI" ], "description": "The type of maintenance being performed
" } }, "required": [ "createdAt", "endsAt", "environment", "maintenanceId", "modifiedAt", "reason", "startsAt", "status", "summary", "type" ] }, "MaintenanceDetail": { "additionalProperties": false, "properties": { "createdAt": { "description": "Date and time (UTC) when this maintenance was created", "type": "string", "format": "iso-datetime" }, "endsAt": { "description": "Date and time (UTC) when this maintenance will complete", "type": "string", "format": "iso-datetime" }, "environment": { "type": "string", "enum": [ "OTE", "PRODUCTION" ], "description": "The environment on which the maintenance will be performed
" }, "maintenanceId" : { "type": "string", "description": "The identifier for the system maintenance" }, "modifiedAt": { "type": "string", "format": "iso-datetime", "description": "Date and time (UTC) when this maintenance was last modified" }, "reason": { "type": "string", "enum": [ "EMERGENCY", "PLANNED" ], "description": "The reason for the maintenance being performed
" }, "startsAt": { "type": "string", "format": "iso-datetime", "description": "Date and time (UTC) when this maintenance will start" }, "status": { "type": "string", "enum": [ "ACTIVE", "CANCELLED" ], "description": "The status of maintenance
" }, "summary" : { "type": "string", "description": "A brief description of what is being performed" }, "systems": { "type": "array", "items": { "$ref": "#/definitions/MaintenanceSystem" }, "description": "List of systems that are impacted by the maintenance." }, "tlds": { "type": "array", "items": { "type": "string" }, "description": "List of tlds that are in maintenance. Generally only applies when `type` is REGISTRY" }, "type": { "type": "string", "enum": [ "API", "REGISTRY", "UI" ], "description": "The type of maintenance being performed
" } }, "required": [ "createdAt", "endsAt", "environment", "maintenanceId", "modifiedAt", "reason", "startsAt", "status", "summary", "type" ] }, "MaintenanceSystem": { "additionalProperties": false, "properties" : { "name" : { "type": "string", "enum": [ "DOMAIN_CHECKS", "DOMAIN_MANAGEMENT", "DOMAIN_REGISTRATION", "DOMAIN_REGISTRATION_DATA", "DOMAIN_RESOLUTION", "RESELLER_ADMIN_PORTAL", "RESELLER_STOREFRONT" ], "description": "The name of the system affected by the maintenance
" }, "impact": { "type": "array", "items": { "type": "string", "enum": [ "DELAYED", "DOWN", "NON_AUTHORITATIVE", "PARTIAL" ] }, "description": "The impact of the maintenance to the system
" } }, "required": [ "name", "impact" ] }, "PrivacyPurchase": { "properties": { "consent": { "$ref": "#/definitions/Consent", "description": "Specify agreement `DNPA`. Required agreements can be retrieved via the GET ./domains/agreements endpoint" } }, "required": [ "consent" ] }, "RealNameValidation": { "properties": { "status": { "enum": [ "APPROVED", "PENDING", "PENDING_ASSOCIATION_WITH_DOMAIN", "PENDING_SUBMISSION_TO_VERIFICATION_SERVICE", "PENDING_VERIFICATION_SERVICE_REPLY", "PENDING_SUBMISSION_TO_REGISTRY", "PENDING_REGISTRY_REPLY", "PENDING_DOMAIN_UPDATE", "REJECTED" ], "type": "string" } } }, "RenewalDetails": { "properties": { "renewable": { "type": "boolean", "description": "Whether or not the domain is eligble for renewal based on status" }, "price": { "type": "integer", "format": "currency-micro-unit", "description": "Price for the domain renewal excluding taxes or fees" }, "currency": { "type": "string", "format": "iso-currency-code", "default": "USD", "pattern": "^[A-Z][A-Z][A-Z]$", "description": "Currency in which the `price` is listed" } }, "required": [ "price", "currency" ] }, "TldSummary": { "properties": { "name": { "description": "Name of the top-level domain", "format": "tld", "type": "string" }, "type": { "default": "GENERIC", "description": "Type of the top-level domain", "enum": [ "COUNTRY_CODE", "GENERIC" ], "type": "string" } }, "required": [ "name", "type" ] }, "UsageMonthly" : { "additionalProperties": false, "properties" : { "details": { "type": "array", "items": { "$ref": "#/definitions/UsageMonthlyDetail" }, "description": "List of total request counts per endpoint." }, "quota": { "type": "integer", "description": "The total number of allowed requests in the month. See https://developer.godaddy.com/getstarted for more information on api quotas and access limits." }, "total": { "type": "integer", "description": "The total number of requests in the month." }, "yyyymm": { "type": "string", "description": "The year/month timeframe for the request counts (in the format yyyy-mm)" } }, "required": [ "total", "yyyymm" ] }, "UsageMonthlyDetail" : { "additionalProperties": false, "properties" : { "path": { "type": "string", "description": "The api path for the requests" }, "total": { "type": "integer", "description": "The total number of requests in the month for the request path." } }, "required": [ "path", "total" ] }, "VerificationDomainName": { "properties": { "status": { "description": "Status of the domain name verification", "enum": [ "APPROVED", "PENDING", "REJECTED", "UNABLE_TO_RETRIEVE_STATUS" ], "type": "string" } }, "required": [ "status" ] }, "VerificationRealName": { "properties": { "status": { "description": "Status of the real name verification
", "enum": [ "APPROVED", "PENDING", "REJECTED_DOCUMENT_OUTDATED", "REJECTED_EXPIRED_BUSINESS_LICENSE", "REJECTED_EXPIRED_ORGANIZATION_CODE", "REJECTED_ILLEGIBLE_DOCUMENT_NAME", "REJECTED_ILLEGIBLE_IDENTIFICATION", "REJECTED_INCOMPLETE_IDENTIFICATION", "REJECTED_INCOMPLETE_REGISTRATION_LETTER", "REJECTED_INCONSISTENT_IDENTITY_CARD", "REJECTED_INCONSISTENT_ORGANIZATION_CODE", "REJECTED_INCONSISTENT_REGISTRANT_NAME", "REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE", "REJECTED_INVALID_DOCUMENT", "REJECTED_MISMATCH_BUSINESS_ID", "REJECTED_MISMATCH_BUSINESS_NAME", "REJECTED_MISMATCH_DOCUMENT_ID", "REJECTED_MISMATCH_DOCUMENT_NAME", "REJECTED_MISMATCH_DOCUMENT_TYPE", "REJECTED_MISMATCH_REGISTRANT_INFO", "REJECTED_MISMATCH_REGISTRANT_LOCALITY", "REJECTED_MISMATCH_REGISTRANT_NAME", "REJECTED_UNABLE_TO_OPEN", "REJECTED_UNABLE_TO_VERIFY", "REJECTED_UNKNOWN_ERROR", "UNABLE_TO_RETRIEVE_STATUS" ], "type": "string" } }, "required": [ "status" ] }, "VerificationsDomain": { "properties": { "domainName": { "$ref": "#/definitions/VerificationDomainName", "description": "Verification of domain name against a prohibited list maintained by the government" }, "realName": { "$ref": "#/definitions/VerificationRealName", "description": "Verification of identity by comparing registration data against government issued documents" } } }, "VerificationsDomainV2": { "additionalProperties": false, "properties": { "icann": { "type": "string", "enum": [ "COMPLETED", "PENDING", "UNABLE_TO_RETRIEVE_STATUS" ], "description": "Status of the Icann verification of domain registrant contact by completing email and/or phone verification
" }, "realName": { "type": "string", "enum": [ "APPROVED", "PENDING", "REJECTED_DOCUMENT_OUTDATED", "REJECTED_EXPIRED_BUSINESS_LICENSE", "REJECTED_EXPIRED_ORGANIZATION_CODE", "REJECTED_ILLEGIBLE_DOCUMENT_NAME", "REJECTED_ILLEGIBLE_IDENTIFICATION", "REJECTED_INCOMPLETE_IDENTIFICATION", "REJECTED_INCOMPLETE_REGISTRATION_LETTER", "REJECTED_INCONSISTENT_IDENTITY_CARD", "REJECTED_INCONSISTENT_ORGANIZATION_CODE", "REJECTED_INCONSISTENT_REGISTRANT_NAME", "REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE", "REJECTED_INVALID_DOCUMENT", "REJECTED_MISMATCH_BUSINESS_ID", "REJECTED_MISMATCH_BUSINESS_NAME", "REJECTED_MISMATCH_DOCUMENT_ID", "REJECTED_MISMATCH_DOCUMENT_NAME", "REJECTED_MISMATCH_DOCUMENT_TYPE", "REJECTED_MISMATCH_REGISTRANT_INFO", "REJECTED_MISMATCH_REGISTRANT_LOCALITY", "REJECTED_MISMATCH_REGISTRANT_NAME", "REJECTED_UNABLE_TO_OPEN", "REJECTED_UNABLE_TO_VERIFY", "REJECTED_UNKNOWN_ERROR", "UNABLE_TO_RETRIEVE_STATUS" ], "description": "Status of the real name verification of an identity by comparing registration data against government issued documents
" }, "domainName": { "type": "string", "enum": [ "APPROVED", "PENDING", "REJECTED", "UNABLE_TO_RETRIEVE_STATUS" ], "description": "Status of the verification of the domain name against a prohibited list maintained by the government" } } }, "domain": { "properties": { "id": { "format": "double", "type": "number" } } } } }