### Suggestion Search API Request Example Source: https://www.dynadot.com/domain/api-document This is an example of a GET request to the suggestion_search endpoint. Ensure you replace API_KEY with your actual authorization key. ```bash GET https://api.dynadot.com/restful/v2/domains/{domain_name}/suggestion_search Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### Contact List API Request Example Source: https://www.dynadot.com/domain/api-document This example shows how to make a GET request to the contact_list endpoint. Ensure you include the correct Authorization header with your API key and the X-Signature. ```http GET https://api.dynadot.com/restful/v2/contacts Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document This example shows the GET request and required headers for listing express pay links. Ensure your API key and signature are correctly formatted. ```http GET https://api.dynadot.com/restful/v2/aftermarket/pay_links Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request Example: Get Listings Source: https://www.dynadot.com/domain/api-document This example shows how to make a GET request to the Dynadot API to retrieve a list of domain listings. Ensure you include the correct Authorization header with your API key. ```http GET https://api.dynadot.com/restful/v2/aftermarket/listings Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### FOLDER_SET_HOSTING Request Body Example Source: https://www.dynadot.com/domain/api-document This is an example of the request body for the FOLDER_SET_HOSTING command. Ensure all required parameters are included. ```json { "hosting_type": "String", "apply_for_future_domain": false, "sync_setting_to_existing_domains_in_this_folder": false } ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document This shows the structure for making a GET request to the aftermarket listings endpoint, including necessary headers. ```http GET https://api.dynadot.com/restful/v2/aftermarket/listings/{domain_name} Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### GET Sitebuilders API Request Example Source: https://www.dynadot.com/domain/api-document This is an example of a GET request to retrieve sitebuilder information. Ensure to include the correct Authorization header with your API key and an X-Signature if required by the endpoint. ```http GET https://api.dynadot.com/restful/v2/sitebuilders Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Nameserver Get Success Response Source: https://www.dynadot.com/domain/api-document Example of a successful response when retrieving nameserver information. Includes server name and IP list. ```json { * code: 200, * message: "Success", * data: { * server_name: "ns1.testname.com", * ip_list: [ 1. "1.1.1.1", 2. "2.2.2.2" 2 items] 2 items} } ``` ```json { * code: "Integer", * message: "String", * data: { * server_name: "String", * ip_list: [ 1. "String" 1 item] 2 items} } ``` -------------------------------- ### API Request and Headers Source: https://www.dynadot.com/domain/api-document Example of an API GET request to retrieve orders, including required headers like Accept, Authorization, and X-Signature. ```http GET https://api.dynadot.com/restful/v2/orders Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request Example Source: https://www.dynadot.com/domain/api-document This is an example of an API request to get an express pay link for a domain. Ensure to include the correct Accept, Authorization, and X-Signature headers. ```http GET https://api.dynadot.com/restful/v2/aftermarket/pay_links/{domain_name} Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Authentication Header Example Source: https://www.dynadot.com/domain/api-document Example of how to include the Authorization header for API requests. ```APIDOC ## Authorization Header All Webhook requests will include an Webhook key for authentication. You can get your Webhook key from your account dashboard. You can manage your WEBHOOK_KEY in the API settings page ### Example ``` Authorization: Bearer WEBHOOK_KEY ``` ``` -------------------------------- ### FOLDER_LIST Command Structure Example Source: https://www.dynadot.com/domain/api-document This example illustrates the structure of the 'folder_list' parameter returned by the FOLDER_LIST command. It details properties like folder ID, name, and default settings. ```json { * folder_list: [ { * folder_id: "String", * folder_name: "String", * default_whois_enable_status: "String", * default_registrant_id: "String", * default_admin_id: "String", * default_technical_id: "String", * default_billing_id: "String", * default_name_server_enable_status: "String", * default_name_server_setting: { * glue_type: "String" } } ] } ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document This example shows the structure for an API request, including the endpoint, content type, and authorization headers. ```json POST https://api.dynadot.com/restful/v2/aftermarket/listing_on_sedo Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document Example of an API request for the accept_push command, including the endpoint, content type, and authorization headers. The X-Signature header is required for authentication. ```http POST https://api.dynadot.com/restful/v2/domains/{domain_name}/accept_push Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Listing on Afternic Request Body Example Source: https://www.dynadot.com/domain/api-document Example of the request body structure for listing a domain on Afternic. ```json { ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document This example shows the structure for an API request, including the HTTP method, endpoint, and required headers like Content-Type, Accept, Authorization, and X-Signature. ```http POST https://api.dynadot.com/restful/v2/aftermarket/expired_closeouts/{domain_name}/purchase Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request and Header Example Source: https://www.dynadot.com/domain/api-document Example of an API request to retrieve contact details, including the production endpoint, required headers like Accept, Authorization, and X-Signature. ```http GET https://api.dynadot.com/restful/v2/contacts/{contact_id} Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### GET_AUCTION_BIDS API Request Example Source: https://www.dynadot.com/domain/api-document This example demonstrates the structure of an API request for retrieving auction bids, including required headers like Authorization and X-Signature. ```http GET https://api.dynadot.com/restful/v2/aftermarket/auctions/bids Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Domain Appraisal API Request Example Source: https://www.dynadot.com/domain/api-document This example shows a successful API request for domain appraisal, returning the appraised price. ```http GET https://api.dynadot.com/restful/v2/domains/{domain_name}/appraisal Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### API Request Example (Production) Source: https://www.dynadot.com/domain/api-document Shows an example of a PUT request to the Dynadot API for setting email forwarding, including the endpoint, content type, and authorization headers. ```http PUT https://api.dynadot.com/restful/v2/domains/{domain_name}/email_forwarding Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### SET_CONTACT_US_SETTING Request Body Example Source: https://www.dynadot.com/domain/api-document This is an example of the request body for the set_contact_us_setting command. Ensure all required parameters like intended_usage, registrant_type, and tld are correctly formatted. ```json { "contact_extension": { "intended_usage": "String", "registrant_type": "String", "tld": "String" } } ``` -------------------------------- ### Nameserver Set IP Request Body Example Source: https://www.dynadot.com/domain/api-document This is an example of the request body for the nameserver_set_ip command, specifying the list of IP addresses to set. ```json { "ip_list": [ "String" ] } ``` -------------------------------- ### 200 Success Response Example for BULK_SEARCH Source: https://www.dynadot.com/domain/api-document This is a success response example for the BULK_SEARCH command, showing domain availability and potential error messages for specific domains. ```json { * code: 200, * message: "Success", * data: { * domain_result_list: [ 1. { * domain_name: "example.com", * available: "Yes" 2 items}, 2. { * domain_name: "example.net", * details_error_message: "busy" 2 items} 2 items] 1 item} } ``` ```json { * code: "Integer", * message: "String", * data: { * domain_result_list: [ 1. { ``` -------------------------------- ### Buy It Now API Request Example Source: https://www.dynadot.com/domain/api-document This example demonstrates how to construct a POST request to the Buy It Now endpoint. Ensure you include the correct Content-Type, Accept, and Authorization headers, along with the required currency in the request body. ```http POST https://api.dynadot.com/restful/v2/aftermarket/listings/{domain_name}/buy_it_now Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} { "currency": "String" } ``` -------------------------------- ### Folder Parking Request Body Example Source: https://www.dynadot.com/domain/api-document This is an example of the request body for the folder_set_parking command. It includes optional parameters for managing advertisements, applying settings to future domains, and synchronizing settings with existing domains. ```json { "with_ads": false, "apply_for_future_domain": false, "sync_setting_to_existing_domains_in_this_folder": false } ``` -------------------------------- ### API Request Example Source: https://www.dynadot.com/domain/api-document This is an example of how to make a GET request to the Dynadot API for expired closeout domains. Ensure you include the correct Accept and Authorization headers. ```http GET https://api.dynadot.com/restful/v2/aftermarket/get_expired_closeout_domains Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### BUY_IT_NOW Command Source: https://www.dynadot.com/domain/api-document Initiates the purchase of a domain name using the Buy It Now feature. Supports multi-thread, API Sandbox, and requires X-Signature. ```APIDOC ## POST https://api.dynadot.com/restful/v2/aftermarket/listings/{domain_name}/buy_it_now ### Description Initiates the purchase of a domain name using the Buy It Now feature. This command supports multi-thread operations, can be used with the API Sandbox, and requires an X-Signature header for authentication. ### Method POST ### Endpoint `/restful/v2/aftermarket/listings/{domain_name}/buy_it_now` ### Parameters #### Path Parameters - **domain_name** (String) - Required - The domain name to purchase. #### Request Body - **currency** (String) - Optional - The currency to use for the purchase. Supported values: usd, eur, cny, cad, mxn, gbp, brl, inr, idr, aud. ### Request Example ```json { "currency": "usd" } ``` ### Response #### Success Response (200) - **code** (Integer) - The status code of the response. - **message** (String) - A message indicating the success of the operation. - **data** (Object) - Contains the order details. - **order_id** (Integer) - The unique identifier for the order. #### Response Example (200) ```json { "code": 200, "message": "Success", "data": { "order_id": 1 } } ``` #### Error Responses - **400 Bad Request**: Indicates a missing required parameter, invalid domain name format, or unsupported domain type. - **401 Unauthorized**: The provided API key is invalid, expired, or missing. - **402 Payment Required**: Not enough balance in the account. - **403 Forbidden**: The account is unable to submit new orders or is restricted from buying specific domain types (e.g., CNNIC). - **404 Not Found**: The specified account cannot be found. - **409 Conflict**: The domain is already owned, pending sale, or an existing order exists. - **429 Too Many Requests**: Rate limit exceeded. Please try again later. - **500 Internal Server Error**: An unexpected server error occurred. - **503 Service Unavailable**: The server is offline or unavailable. ``` -------------------------------- ### Set Hosting API Request Example Source: https://www.dynadot.com/domain/api-document This example demonstrates a PUT request to set hosting for a domain. It includes the endpoint, required headers like Content-Type, Accept, Authorization, and X-Signature, and a sample JSON request body. ```http PUT https://api.dynadot.com/restful/v2/domains/{domain_name}/hosts Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` ```json { * hosting_type: "String", * is_model_view: false } ``` -------------------------------- ### Get Auction Installment Plan Source: https://www.dynadot.com/domain/api-document Retrieves the current and available installment plans for a specified domain auction. Supports multi-thread, API Sandbox, and requires X-Signature. ```APIDOC ## GET /restful/v2/aftermarket/auctions/{domain_name}/installment_plan ### Description Retrieves the current and available installment plans for a specified domain auction. ### Method GET ### Endpoint /restful/v2/aftermarket/auctions/{domain_name}/installment_plan ### Parameters #### Path Parameters - **domain_name** (string) - Required - The name of the domain for which to retrieve the installment plan. #### Query Parameters - **currency** (string) - Optional - The currency for the installment plan. Defaults to USD. Supported values: usd, gbp, eur, inr, pln, zar, ltl, cny, cad, jpy, nzd, rub, aud, mxn, brl, idr, ars, cop, dkk, rsd, hkd, chf, aed, myr, ngn, kes, czk, btc, nok, thb, php, krw ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **currency** (string) - The currency of the installment plan. - **current_plan** (object) - The current installment plan details. - **months** (integer) - The number of months for the installment plan. - **monthly_payments** (list) - A list of monthly payment amounts. - **available_plans** (list) - A list of available installment plans. - **months** (integer) - The number of months for the installment plan. - **monthly_payments** (list) - A list of monthly payment amounts. #### Response Example ```json { "code": 200, "message": "Success", "data": { "current_plan": { "months": 4, "monthly_payments": [ "725.00", "425.00", "425.00", "425.00" ] }, "available_plans": [ { "months": 4, "monthly_payments": [ "725.00", "425.00", "425.00", "425.00" ] }, { "months": 5, "monthly_payments": [ "725.00", "425.00", "425.00", "425.00", "425.00" ] } ], "currency": "USD" } } ``` ### Error Codes - **400 Bad Request**: The required parameter domain_name is missing, or invalid. Domain name must be in ASCII, lowercase, without whitespace, and be fully qualified. Subdomains are not allowed. - **403 Forbidden**: The domain_name is not registered by us or is on another regGroup. - **404 Not Found**: The account or auction cannot be found. - **409 Conflict**: This auction cannot be paid in installments. - **503 Service Unavailable**: Temporary problem with the registry. Please try again later. ``` -------------------------------- ### 500 Internal Server Error: Get Renewal Price Wrong Example Source: https://www.dynadot.com/domain/api-document Example of a 500 Internal Server Error when there's an issue with retrieving the renewal price. ```json { "code": 500, "message": "Internal Server Error", "error": { "description": "Get renewal price wrong." } } ``` -------------------------------- ### GET_TRANSFER_AUTH_CODE API Request Example Source: https://www.dynadot.com/domain/api-document Example of a GET request to retrieve a transfer authorization code for a domain. Ensure the domain name is correctly formatted and present in your account. ```http GET https://api.dynadot.com/restful/v2/domains/{domain_name}/transfer_auth_code Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Get Order Status API Request Source: https://www.dynadot.com/domain/api-document This is an example of a GET request to retrieve the status of an order. It requires the order ID in the path and specific headers for authentication and content negotiation. ```http GET https://api.dynadot.com/restful/v2/orders/{order_id} Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### RESTful Restore Command Example Source: https://www.dynadot.com/domain/api-document This is an example of a RESTful API request to restore a domain. Ensure you include the correct domain name in the URL and provide necessary headers like Content-Type, Accept, and Authorization. ```bash POST https://api.dynadot.com/restful/v2/domains/{domain_name}/restore Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### API Request: Get Pending Push Accept Requests Source: https://www.dynadot.com/domain/api-document This example shows how to make a GET request to the Dynadot API to retrieve pending push accept requests. Ensure you include the correct Accept, Authorization, and X-Signature headers. ```http GET https://api.dynadot.com/restful/v2/domains/pending_accept_pushes Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Folder Create Success Response Source: https://www.dynadot.com/domain/api-document This is an example of a successful response (200 OK) after creating a folder, showing the folder name and its assigned ID. ```text 200 Success 123 TestFolderName ``` -------------------------------- ### X-Signature Generation Example Source: https://www.dynadot.com/domain/api-document Demonstrates the construction of the string to sign for HMAC-SHA256 signature generation, combining API key, path, request ID, and request body. ```text apiKey = "your_api_key" fullPathAndQuery = "/restful/v2/some/endpoint?param=value" xRequestId = "unique-request-id" requestBody = "{\"key\":\"value\"}" stringToSign = "your_api_key\n/restful/v2/some/endpoint?param=value\nunique-request-id\n{\"key\":\"value\"}" ``` -------------------------------- ### Get Account Info API Response (Error Structure) Source: https://www.dynadot.com/domain/api-document Example of the JSON structure for an error response from the account info API endpoint. ```json { * code: "Integer", * message: "String", * data: { * account_info: { * username: "String", * forum_name: "String", * avatar_url: "String", * account_contact: { * organization: "String", * name: "String", * email: "String", * phone_number: "String", * phone_cc: "String", * fax_number: "String", * fax_cc: "String", * address1: "String" ``` -------------------------------- ### Get Account Info API Request Source: https://www.dynadot.com/domain/api-document Example of an API request to retrieve account information. Includes the endpoint, HTTP method, and required headers. ```http GET https://api.dynadot.com/restful/v2/accounts/info Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} ``` -------------------------------- ### Get Auction Details API Request Source: https://www.dynadot.com/domain/api-document Example of an API request to retrieve details for a specific auction domain. Ensure to replace 'API_KEY' with your actual key. ```http GET https://api.dynadot.com/restful/v2/aftermarket/auctions/{domain_name} Accept: application/json Authorization: Bearer API_KEY ``` -------------------------------- ### Not Found Response Example (404) Source: https://www.dynadot.com/domain/api-document This response indicates that the specified folder could not be found in the account. ```json { "code": 404, "message": "Not Found", "error": { "description": "Can not find the folder[folder_name] in the account." } } ``` ```json { "code": "Integer", "message": "String", "error": { "description": "String" } } ``` -------------------------------- ### Get Account Info API Response (Success) Source: https://www.dynadot.com/domain/api-document Example of a successful API response (200 OK) for retrieving account information, showing the structure and data types. ```json { * code: 200, * message: "Success", * data: { * account_info: { * username: "username", * forum_name: "forumName", * avatar_url: "avatarUrl", * account_contact: { * organization: "Test", * name: "Test", * email: "test@test.com", * phone_number: "1234567890", * phone_cc: "1", * fax_number: "1234567890", * fax_cc: "1", * address1: "123 Main St", * address2: "", * city: "Any-town", * state: "CA", * zip: "12345", * country: "US" 13 items}, * customer_since: 123456789, * account_lock: "on", * custom_time_zone: "customTimeZone", * default_registrant_contact_id: 1, * default_admin_contact_id: 2, * default_technical_contact_id: 3, * default_billing_contact_id: 4, * default_name_server_settings: { * type: "Dynadot Parking", * with_ads: "withAds", * forward_to: "forwardTo", * forward_type: "forwardType", * website_title: "websiteTitle", * ttl: "ttl", * email_forwarding: { * type: "forward" 1 item} 7 items}, * total_spending: "totalSpending", * price_level: "priceLevel", * account_balance: "accountBalance", * balance_list: [ 1. { * currency: "currency", * amount: "amount" 2 items} 1 item] 16 items} 1 item} } ``` -------------------------------- ### JSON Request Body Example Source: https://www.dynadot.com/domain/api-document An example of a JSON request body used for sending data to the server, typically in POST or PUT requests. This example shows parameters for domain operations. ```json { "domainName": "domain.com", "showPrice": "yes", "currency": "USD" } ``` -------------------------------- ### Create Folder Source: https://www.dynadot.com/domain/api-document Creates a new folder to organize your domains. Supports multi-thread and API sandbox. Requires an X-Signature header. ```APIDOC ## POST /restful/v2/folders ### Description Creates a new folder to organize your domains. ### Method POST ### Endpoint https://api.dynadot.com/restful/v2/folders ### Parameters #### Request Body - **folder_name** (String) - Required - The name of the folder that you wish to create. ### Request Example ```json { "folder_name": "String" } ``` ### Response #### Success Response (200, 201) - **folder_name** (String) - The name of the folder you created. - **folder_id** (Integer) - The ID of the folder you created. #### Response Example ```json { "folder_name": "TestFolderName", "folder_id": 123 } ``` ### Error Codes - **400 Bad Request**: The required parameter folder_name is missing or contains illegal characters. - **401 Unauthorized**: The provided API key is invalid, expired, or missing. - **404 Not Found**: Can not find the account. - **409 Conflict**: The folder_name is reserved and can not be used. - **429 Too many requests**: Rate limit exceeded. Please try again after 60 seconds. - **500 Internal Server Error**: Unexpected internal server error. ``` -------------------------------- ### API Forbidden Response Example (403) Source: https://www.dynadot.com/domain/api-document Example of a 'Forbidden' response, indicating the account is disabled. ```json { * code: 403, * message: "Forbidden", * error: { * description: "The account is disabled." 1 item} } ``` -------------------------------- ### Error Response Example (404 Not Found) Source: https://www.dynadot.com/domain/api-document Illustrates the JSON structure for a 404 Not Found error, indicating a domain was not found in the account. ```json { "code": 404, "message": "Not Found", "error": { "description": "Can not find the [domain_name] in the account." } } ``` -------------------------------- ### 403 Forbidden: Feature Unavailable Example Source: https://www.dynadot.com/domain/api-document Example of a 403 Forbidden error when a feature is not available to the account type. ```json { "code": 403, "message": "Forbidden", "error": { "description": "The feature is currently not available to reseller accounts." } } ``` -------------------------------- ### 503 Service Unavailable: Server Offline Example Source: https://www.dynadot.com/domain/api-document Example of a 503 Service Unavailable error when the server is temporarily offline. ```json { "code": 503, "message": "Service Unavailable", "error": { "description": "Server offline, please try again later." } } ``` -------------------------------- ### API Request Example: List Domain for Sale Source: https://www.dynadot.com/domain/api-document This example demonstrates how to make a PUT request to list a domain for sale on the Dynadot aftermarket. Ensure you include the correct Content-Type, Accept, Authorization, and X-Signature headers. The request body requires specific parameters for sale type, currency, price, and other listing details. ```http PUT https://api.dynadot.com/restful/v2/aftermarkets/domains/{domain_name}/for_sales Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} { * for_sale_type: "String", * currency: "String", * listing_type: "String", * price: "String", * minimum_offer_price: "String", * installment: "String", * maximum_installments: 0, * category: "String", * sub_category: "String", * description: "String", * allow_seo_index: false } ``` -------------------------------- ### Sitebuilder Creation Request Source: https://www.dynadot.com/domain/api-document This is an example of a POST request to create a sitebuilder for a given domain. It includes the necessary API endpoint, headers, and a sample request body. ```json POST https://api.dynadot.com/restful/v2/sitebuilders/{domain_name} Content-Type: application/json Accept: application/json Authorization: Bearer API_KEY X-Signature: {signature} { "set_domain_dns": false } ``` -------------------------------- ### 409 Conflict: Domain Already Owned Example Source: https://www.dynadot.com/domain/api-document Example of a 409 Conflict error when the domain is already owned by the account. ```json { "code": 409, "message": "Conflict", "error": { "description": "The domain is already owned by your account and cannot be purchased again." } } ``` -------------------------------- ### Accept Header Example Source: https://www.dynadot.com/domain/api-document Informs the server of the response format expected by the client. Possible values include application/json and application/xml. ```text Accept: application/json ``` -------------------------------- ### BULK_SEARCH Domain Name List Parameter Example Source: https://www.dynadot.com/domain/api-document This example shows the correct format for the 'domain_name_list' parameter when making a bulk search request. Domains must be comma-separated without whitespace. ```text domain_name_list=example1.com,example2.net,example3.org ```