=============== LIBRARY RULES =============== From library maintainers: - The Porkbun API uses JSON content sent to URI endpoints via HTTP POST. ### GET /domain/listAll Source: https://porkbun.com/api/json/v3/documentation Retrieves all domain names in the account, returned in chunks of 1000. ```APIDOC ## GET /domain/listAll ### Description Get all domain names in account. Domains are returned in chunks of 1000. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/domain/listAll ### Parameters #### Query Parameters - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **start** (integer) - Optional - An index to start at when retrieving the domains, defaults to 0. To get all domains increment by 1000 until you receive an empty array. - **includeLabels** (string) - Optional - If set to "yes" we will return label information for the domains if it exists. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "start": "0", "includeLabels": "yes" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **domains** (array) - An array of domains and domain details in the account. #### Response Example ```json { "status": "SUCCESS", "domains": [ { "domain": "borseth.ink", "status": "ACTIVE", "tld": "app", "createDate": "2018-08-20 17:52:51", "expireDate": "2023-08-20 17:52:51", "securityLock": "1", "whoisPrivacy": "1", "autoRenew": 0, "notLocal": 0, "labels": [ { "id": "27240", "title": "cool", "color": "#ff9e9e" }, { "id": "27241", "title": "silly", "color": "#f00000" } ] } ] } ``` ``` -------------------------------- ### GET /domain/getNs/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Retrieves the nameserver hostnames for a specified domain. ```APIDOC ## GET /domain/getNs/{DOMAIN} ### Description Retrieves the nameserver hostnames for a specified domain. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/domain/getNs/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name for which to retrieve nameservers. #### Query Parameters - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **ns** (array) - An array of name server host names. #### Response Example ```json { "status": "SUCCESS", "ns": [ "curitiba.ns.porkbun.com", "fortaleza.ns.porkbun.com", "maceio.ns.porkbun.com", "salvador.ns.porkbun.com" ] } ``` ``` -------------------------------- ### List All Domains (JSON) Source: https://porkbun.com/api/json/v3/documentation Fetches all domain names associated with an account, returned in chunks of 1000. Supports optional parameters for pagination ('start') and including domain labels. Requires API keys. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "start": "0", "includeLabels": "yes" } ``` ```json { "status": "SUCCESS", "domains": [ { "domain": "borseth.ink", "status": "ACTIVE", "tld": "app", "createDate": "2018-08-20 17:52:51", "expireDate": "2023-08-20 17:52:51", "securityLock": "1", "whoisPrivacy": "1", "autoRenew": 0, "notLocal": 0, "labels": [ { "id": "27240", "title": "cool", "color": "#ff9e9e" }, { "id": "27241", "title": "silly", "color": "#f00000" } ] } ] } ``` -------------------------------- ### GET /domain/getUrlForwarding/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Retrieves URL forwarding configurations for a specified domain. ```APIDOC ## GET /domain/getUrlForwarding/{DOMAIN} ### Description Retrieves URL forwarding configurations for a specified domain. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/domain/getUrlForwarding/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name for which to retrieve URL forwarding settings. #### Query Parameters None #### Request Body - **apikey** (string) - Required - Your Porkbun API key. - **secretapikey** (string) - Required - Your Porkbun secret API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. - **forwards** (array) - A list of URL forwarding configurations. - **id** (string) - The unique identifier for the forwarding rule. - **subdomain** (string) - The subdomain associated with the forwarding rule. - **location** (string) - The destination URL for the forwarding. - **type** (string) - The type of forwarding (e.g., 'temporary'). - **includePath** (string) - Indicates if the path should be included in the forwarded URL. - **wildcard** (string) - Indicates if the rule applies to wildcard subdomains. #### Response Example ```json { "status": "SUCCESS", "forwards": [ { "id": "22049216", "subdomain": "", "location": "https://porkbun.com", "type": "temporary", "includePath": "no", "wildcard": "yes" }, { "id": "22049209", "subdomain": "blog", "location": "https://blog.porkbun.com", "type": "temporary", "includePath": "no", "wildcard": "yes" } ] } ``` ``` -------------------------------- ### GET /domain/checkDomain/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Checks the availability and pricing of a domain name. ```APIDOC ## GET /domain/checkDomain/{DOMAIN} ### Description Checks a domain's availability. Please note that domain checks are rate limited and you will be notified of your limit when you cross it. Prices returned are for a single year of registration. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/domain/checkDomain/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name to check for availability. #### Query Parameters None #### Request Body - **apikey** (string) - Required - Your Porkbun API key. - **secretapikey** (string) - Required - Your Porkbun secret API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. - **response** (object) - Contains the availability and pricing details of the domain. - **avail** (string) - Indicates if the domain is available ('yes' or 'no'). - **type** (string) - The type of domain action (e.g., 'registration'). - **price** (string) - The price for the first year of registration. - **firstYearPromo** (string) - Indicates if a promotional price is available for the first year. - **regularPrice** (string) - The regular price for registration. - **premium** (string) - Indicates if the domain is a premium domain. - **additional** (object) - Pricing details for renewal and transfer. - **renewal** (object) - Renewal pricing details. - **transfer** (object) - Transfer pricing details. - **minDuration** (integer) - The minimum registration duration in years. - **limits** (object) - Information about rate limiting for domain checks. - **TTL** (string) - Time to live for rate limit information. - **limit** (string) - The maximum number of checks allowed. - **used** (integer) - The number of checks used within the current limit period. - **naturalLanguage** (string) - A human-readable description of the rate limit status. #### Response Example ```json { "status": "SUCCESS", "response": { "avail": "no", "type": "registration", "price": "1.01", "firstYearPromo": "yes", "regularPrice": "11.82", "premium": "no", "additional": { "renewal": { "type": "renewal", "price": "11.82", "regularPrice": "11.82" }, "transfer": { "type": "transfer", "price": "11.82", "regularPrice": "11.82" } }, "minDuration": 1 }, "limits": { "TTL": "10", "limit": "1", "used": 1, "naturalLanguage": "1 out of 1 checks within 10 seconds used." } } ``` ``` -------------------------------- ### Get Domain Pricing Information Source: https://porkbun.com/api/json/v3/documentation Retrieves default domain pricing for all supported TLDs. This command does not require authentication. The response includes pricing details for registration, renewal, and transfer. ```json { "status": "SUCCESS", "pricing": { "design": { "registration": "35.58", "renewal": "35.58", "transfer": "35.58" }, "com": { "registration": "9.68", "renewal": "9.68", "transfer": "9.68" }, ... } } ``` -------------------------------- ### GET /domain/getUrlForwarding Source: https://porkbun.com/api/json/v3/documentation Retrieves URL forwarding records for a domain. ```APIDOC ## GET /domain/getUrlForwarding ### Description Get URL forwarding for a domain. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/domain/getUrlForwarding ### Parameters #### Query Parameters - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **forwards** (array) - An array of forwarding records for the domain. #### Response Example ```json { "status": "SUCCESS", "forwards": [ { "domain": "example.com", "subdomain": "", "location": "https://porkbun.com", "type": "temporary", "includePath": "no", "wildcard": "yes" } ] } ``` ``` -------------------------------- ### Get URL Forwarding for Domain Source: https://porkbun.com/api/json/v3/documentation Retrieves URL forwarding settings for a specified domain. Requires API keys for authentication. Returns a list of forwarding rules including ID, subdomain, location, type, includePath, and wildcard settings. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` -------------------------------- ### Get Domain Name Servers (JSON) Source: https://porkbun.com/api/json/v3/documentation Retrieves the name server hostnames for a specified domain. Requires API keys for authentication. The response includes a status and an array of name server strings. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ```json { "status": "SUCCESS", "ns": [ "curitiba.ns.porkbun.com", "fortaleza.ns.porkbun.com", "maceio.ns.porkbun.com", "salvador.ns.porkbun.com" ] } ``` -------------------------------- ### DNSSEC Get Records Source: https://porkbun.com/api/json/v3/documentation Retrieve all DNSSEC records associated with a domain from the registry. ```APIDOC ## GET /api/json/v3/dns/getDnssecRecords/**DOMAIN** ### Description Get the DNSSEC records associated with the domain at the registry. ### Method GET ### Endpoint /api/json/v3/dns/getDnssecRecords/{DOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name for which to retrieve DNSSEC records. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. - **records** (object) - An object containing DNSSEC records, keyed by their respective key tags. - Each record object includes: - **keyTag** (string) - The Key Tag. - **alg** (string) - The DS Data Algorithm. - **digestType** (string) - The Digest Type. - **digest** (string) - The Digest. #### Response Example ```json { "status": "SUCCESS", "records": { "64087": { "keyTag": "64087", "alg": "13", "digestType": "2", "digest": "15E445BD08128BDC213E25F1C8227DF4CB35186CAC701C1C335B2C406D5530DC" } } } ``` ``` -------------------------------- ### Domain Get Name Servers API Source: https://porkbun.com/api/json/v3/documentation Retrieves the authoritative name servers listed at the registry for a specified domain. ```APIDOC ## POST /domain/getNameServers ### Description Retrieves the authoritative name servers listed at the registry for your domain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/getNameServers ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **ns** (array) - An array of name servers for the domain. #### Response Example ```json { "status": "SUCCESS", "ns": [ "ns1.example.com", "ns2.example.com" ] } ``` ``` -------------------------------- ### Get Domain URL Forwarding Records (JSON) Source: https://porkbun.com/api/json/v3/documentation Retrieves existing URL forwarding configurations for a domain. Requires API keys for authentication. The response includes a status and an array of forwarding records. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ```json { "status": "SUCCESS", "forwards": [ ] } ``` -------------------------------- ### API Error Response Example Source: https://porkbun.com/api/json/v3/documentation Illustrates a typical error response from the Porkbun API. Errors are indicated by a non-200 HTTP status code or an 'ERROR' status within the JSON response, often accompanied by a descriptive message. ```json { "status": "ERROR", "message": "All HTTP request must use POST." } ``` -------------------------------- ### Get DNSSEC Records Source: https://porkbun.com/api/json/v3/documentation Retrieves DNSSEC records associated with a domain. Requires API keys for authentication. Returns a JSON object with status and a map of DNSSEC records keyed by their tag. ```JSON { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ```JSON { "status": "SUCCESS", "records": { "64087": { "keyTag": "64087", "alg": "13", "digestType": "2", "digest": "15E445BD08128BDC213E25F1C8227DF4CB35186CAC701C1C335B2C406D5530DC" }, "64086": { "keyTag": "64086", "alg": "13", "digestType": "2", "digest": "85E445BD08128BDC213E25F1C8227DF4CB35186CAC701C1C335B2C406D5530DC" } } } ``` -------------------------------- ### POST /domain/create/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Registers a new domain name. Requires account verification and sufficient credit. ```APIDOC ## POST /domain/create/{DOMAIN} ### Description Registers a domain. Please note that domain creates are rate limited and you will be notified of your limit when you cross it. Your account must have registered at least one domain in the past, have a verified email address, have a verified phone number, and have enough account credit to register the domain. All registrations via API are for the minimum duration allowed by the registry. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/create/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name to register. #### Query Parameters None #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **cost** (integer) - Required - The cost of the domain in pennies. You can get this value by checking the domain. The cost of the domain is its minimum duration multiplied by its price. - **agreeToTerms** (string) - Required - Must be "yes" or "1" to acknowledge agreement to the Domain Name Registration Agreement, Product Terms of Service, Privacy Policy, and automatic renewal terms. Automatic renewals are billed to payment method(s) specified on your Account Settings page and / or available account credit until cancelled. Automatic renewals can be cancelled at any time via the Domain Management section of your account. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "cost": 1108, "agreeToTerms": "yes" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfuly processed. - **domain** (string) - The registered domain. - **cost** (integer) - The cost of the domain in pennies. - **orderId** (integer) - The order ID. - **balance** (integer) - Your current account credit balance in pennies. - **limits** (object) - Rate limit information for domain creation attempts. - **attempts** (object) - Rate limit details for creation attempts. - **success** (object) - Rate limit details for successful creations. #### Response Example ```json { "status": "SUCCESS", "domain": "example.com", "cost": 1108, "orderId": 123456789, "limits": { "attempts": { "TTL": 10, "limit": 1, "used": 1, "naturalLanguage": "1 out of 1 create attempts within 10 seconds used." }, "success": { "TTL": 86400, "limit": 10, "used": 3, "naturalLanguage": "3 out of 10 successful creates within 86400 seconds used." } }, "balance": 10000 } ``` ``` -------------------------------- ### POST /domain/createGlueRecord Source: https://porkbun.com/api/json/v3/documentation Creates a glue record for a domain. ```APIDOC ## POST /domain/createGlueRecord ### Description Create glue record for a domain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/createGlueRecord ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body (Details for request body parameters are not provided in the input text.) ### Request Example (No specific request example provided in the input text.) ### Response #### Success Response (200) (Details for success response are not provided in the input text.) #### Response Example (No specific response example provided in the input text.) ``` -------------------------------- ### POST /api/json/v3/domain/createGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} Source: https://porkbun.com/api/json/v3/documentation Creates a glue record for a specified domain and subdomain. This allows you to host your own name servers. ```APIDOC ## POST /api/json/v3/domain/createGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Description Creates a glue record for a specified domain and subdomain. This allows you to host your own name servers. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/createGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain for which to create the glue record. - **GLUE_HOST_SUBDOMAIN** (string) - Required - The subdomain for the glue record (e.g., ns1). #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **ips** (array of strings) - Required - An array of IP addresses for the glue record. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "ips": [ "192.168.1.1", "2001:db8:3333:4444:5555:6666:7777:8888" ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether the command was successfully processed (e.g., "SUCCESS"). #### Response Example ```json { "status": "SUCCESS" } ``` ``` -------------------------------- ### POST /api/json/v3/dns/create/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Creates a new DNS record for a specified domain. ```APIDOC ## POST /api/json/v3/dns/create/{DOMAIN} ### Description Creates a new DNS record for a specified domain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/dns/create/{DOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain for which to create the DNS record. #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **name** (string) - Optional - The subdomain for the record. Leave blank for the root domain. Use '*' for a wildcard record. - **type** (string) - Required - The type of DNS record (e.g., A, MX, CNAME, ALIAS, TXT, NS, AAAA, SRV, TLSA, CAA, HTTPS, SVCB, SSHFP). - **content** (string) - Required - The answer content for the record. Formatting depends on the record type. - **ttl** (integer) - Optional - The time to live in seconds. Minimum and default is 600. - **prio** (integer) - Optional - The priority of the record for supported types. - **notes** (string) - Optional - Any notes for the record. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "name": "www", "type": "A", "content": "1.1.1.1", "ttl": "600" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether the command was successfully processed (e.g., "SUCCESS"). - **id** (string) - The ID of the created record. #### Response Example ```json { "status": "SUCCESS", "id": "106926659" } ``` ``` -------------------------------- ### Create Domain Glue Record - JSON Source: https://porkbun.com/api/json/v3/documentation Creates a glue record for a specified domain and subdomain. Requires API keys and an array of IP addresses for the new record. The response indicates the success status. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "ips": [ "192.168.1.1", "2001:db8:3333:4444:5555:6666:7777:8888" ] } ``` -------------------------------- ### Register Domain Source: https://porkbun.com/api/json/v3/documentation Registers a new domain name. This operation is rate-limited and has specific account requirements. It requires API keys, the cost of the domain, and agreement to terms. Returns registration details and account balance. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "cost": 1108, "agreeToTerms": "yes" } ``` -------------------------------- ### SSL Retrieve Bundle by Domain Source: https://porkbun.com/api/json/v3/documentation Retrieves the SSL certificate bundle for a given domain. This includes the certificate chain, private key, and public key. ```APIDOC ## SSL Retrieve Bundle by Domain ### Description Retrieves the SSL certificate bundle for the domain. This includes the certificate chain, private key, and public key. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/ssl/retrieve/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain for which to retrieve the SSL certificate bundle. #### Query Parameters None #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **certificatechain** (string) - The complete certificate chain. - **privatekey** (string) - The private key. - **publickey** (string) - The public key. #### Response Example ```json { "status": "SUCCESS", "certificatechain": "----BEGIN CERTIFICATE-----\n...-----END CERTIFICATE-----\n\n----BEGIN CERTIFICATE-----\n...-----END CERTIFICATE-----\n\n----BEGIN CERTIFICATE-----\n...-----END CERTIFICATE-----\n", "privatekey": "-----BEGIN PRIVATE KEY-----\n...-----END PRIVATE KEY-----\n", "publickey": "-----BEGIN PUBLIC KEY-----\n...-----END PUBLIC KEY-----\n" } ``` ``` -------------------------------- ### POST /api/json/v3/domain/getGlue/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Retrieves all glue records for a specified domain. ```APIDOC ## POST /api/json/v3/domain/getGlue/{DOMAIN} ### Description Retrieves all glue records for a specified domain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/getGlue/{DOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain for which to retrieve glue records. #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether the command was successfully processed (e.g., "SUCCESS"). - **hosts** (array) - An array of glue records, where each element is a pair of [hostname, ip_addresses]. #### Response Example ```json { "status": "SUCCESS", "hosts": [ [ "ns1.borseth.design", { "v6": [ "2001:db8:3333:4444:5555:6666:7777:8888" ], "v4": [ "192.168.1.1" ] } ], [ "ns2.borseth.design", { "v6": [ "2001:db8:3333:4444:5555:6666:7777:8889" ], "v4": [ "192.168.1.2" ] } ] ] } ``` ``` -------------------------------- ### Add Domain URL Forward (JSON) Source: https://porkbun.com/api/json/v3/documentation Configures URL forwarding for a domain or subdomain. Requires API keys, a destination ('location'), forward type ('temporary' or 'permanent'), and path inclusion setting. Wildcard forwarding is also supported. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "subdomain": "", "location": "https://porkbun.com", "type": "temporary", "includePath": "no", "wildcard": "yes" } ``` ```json { "status": "SUCCESS" } ``` -------------------------------- ### POST /domain/addUrlForward/{DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Adds URL forwarding for a specified domain. ```APIDOC ## POST /domain/addUrlForward/{DOMAIN} ### Description Add URL forward for a domain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/addUrlForward/DOMAIN ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain for which to add URL forwarding. #### Query Parameters - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **subdomain** (string) - Optional - A subdomain that you would like to add URL forwarding for. Leave this blank to forward the root domain. - **location** (string) - Required - Where you'd like to forward the domain to. - **type** (string) - Required - The type of forward. Valid types are: temporary or permanent. - **includePath** (string) - Required - Whether or not to include the URI path in the redirection. Valid options are yes or no. - **wildcard** (string) - Required - Also forward all subdomains of the domain. Valid options are yes or no. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "subdomain": "", "location": "https://porkbun.com", "type": "temporary", "includePath": "no", "wildcard": "yes" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. #### Response Example ```json { "status": "SUCCESS" } ``` ``` -------------------------------- ### Create DNS Record - JSON Source: https://porkbun.com/api/json/v3/documentation Creates a new DNS record for a domain. This function supports various record types (A, MX, CNAME, etc.) and allows specifying optional parameters like TTL, priority, and notes. The response includes the status and the ID of the newly created record. ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "name": "www", "type": "A", "content": "1.1.1.1", "ttl": "600" } ``` -------------------------------- ### Domain Pricing API Source: https://porkbun.com/api/json/v3/documentation Retrieves default domain pricing information for all supported TLDs. This endpoint does not require authentication. ```APIDOC ## GET /pricing/get ### Description Retrieves default domain pricing information for all supported TLDs. This command does not require authentication. ### Method GET ### Endpoint https://api.porkbun.com/api/json/v3/pricing/get ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **pricing** (object) - Objects with default pricing for the registration, renewal and transfer of each supported TLD. #### Response Example ```json { "status": "SUCCESS", "pricing": { "design": { "registration": "35.58", "renewal": "35.58", "transfer": "35.58" }, "com": { "registration": "9.68", "renewal": "9.68", "transfer": "9.68" }, ... } } ``` ``` -------------------------------- ### Create DNSSEC Record Source: https://porkbun.com/api/json/v3/documentation Creates a DNSSEC record for a specified domain. Requires API keys and specific DNSSEC parameters like key tag, algorithm, and digest. Returns a JSON object indicating the status. ```JSON { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "keyTag": "64087", "alg": "13", "digestType": "2", "digest": "15E445BD08128BDC213E25F1C8227DF4CB35186CAC701C1C335B2C406D5530DC", "maxSigLife": "", "keyDataFlags": "", "keyDataProtocol": "", "keyDataAlgo": "", "keyDataPubKey": "" } ``` ```JSON { "status": "SUCCESS" } ``` -------------------------------- ### POST /domain/updateAutoRenew/{OPTIONAL_DOMAIN} Source: https://porkbun.com/api/json/v3/documentation Updates the auto-renew setting for one or more domains. ```APIDOC ## POST /domain/updateAutoRenew/{OPTIONAL_DOMAIN} ### Description Update the auto renew setting for multiple domains. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/updateAutoRenew/OPTIONAL_DOMAIN ### Parameters #### Path Parameters - **OPTIONAL_DOMAIN** (string) - Optional - A specific domain to update. If not provided, the `domains` field in the request body must be used. #### Query Parameters - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **status** (string) - Required - A value of "on" or "off". - **domains** (array) - Optional - An array of domains to update. Please note that this must be set if no domain is passed via the URL. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "status": "on", "domains": [ "example1.com", "example2.com" ] } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **results** (object) - An object containing results for each domain. #### Response Example ```json { "status": "SUCCESS", "results": { "example1.com": { "status": "SUCCESS", "message": "Auto renew status updated." }, "example2.com": { "status": "SUCCESS", "message": "Auto renew status updated." } } } ``` ``` -------------------------------- ### DNSSEC Create Record Source: https://porkbun.com/api/json/v3/documentation Create a DNSSEC record for a given domain. This involves providing cryptographic details required by the registry. ```APIDOC ## POST /api/json/v3/dns/createDnssecRecord/**DOMAIN** ### Description Create a DNSSEC record at the registry for the specified domain. ### Method POST ### Endpoint /api/json/v3/dns/createDnssecRecord/{DOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain name for which to create the DNSSEC record. #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **keyTag** (string) - Required - The Key Tag of the DNSSEC record. - **alg** (string) - Required - The DS Data Algorithm. - **digestType** (string) - Required - The Digest Type. - **digest** (string) - Required - The Digest of the DNSSEC record. - **maxSigLife** (string) - Optional - Maximum signature life. - **keyDataFlags** (string) - Optional - Key data flags. - **keyDataProtocol** (string) - Optional - Key data protocol. - **keyDataAlgo** (string) - Optional - Key data algorithm. - **keyDataPubKey** (string) - Optional - Key data public key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "keyTag": "64087", "alg": "13", "digestType": "2", "digest": "15E445BD08128BDC213E25F1C8227DF4CB35186CAC701C1C335B2C406D5530DC", "maxSigLife": "", "keyDataFlags": "", "keyDataProtocol": "", "keyDataAlgo": "", "keyDataPubKey": "" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. #### Response Example ```json { "status": "SUCCESS" } ``` ``` -------------------------------- ### POST /api/json/v3/domain/updateGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} Source: https://porkbun.com/api/json/v3/documentation Updates an existing glue record for a specified domain and subdomain. This replaces the current IP addresses with the new ones provided. ```APIDOC ## POST /api/json/v3/domain/updateGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Description Updates an existing glue record for a specified domain and subdomain. This replaces the current IP addresses with the new ones provided. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/updateGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain of the glue record to update. - **GLUE_HOST_SUBDOMAIN** (string) - Required - The subdomain of the glue record to update (e.g., ns1). #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. - **ips** (array of strings) - Required - An array of IP addresses to replace the current ones. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY", "ips": [ "192.168.1.1", "2001:db8:3333:4444:5555:6666:7777:8888" ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether the command was successfully processed (e.g., "SUCCESS"). #### Response Example ```json { "status": "SUCCESS" } ``` ``` -------------------------------- ### POST /api/json/v3/domain/deleteGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} Source: https://porkbun.com/api/json/v3/documentation Deletes a glue record for a specified domain and subdomain. ```APIDOC ## POST /api/json/v3/domain/deleteGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Description Deletes a glue record for a specified domain and subdomain. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/domain/deleteGlue/{DOMAIN}/{GLUE_HOST_SUBDOMAIN} ### Parameters #### Path Parameters - **DOMAIN** (string) - Required - The domain of the glue record to delete. - **GLUE_HOST_SUBDOMAIN** (string) - Required - The subdomain of the glue record to delete (e.g., ns1). #### Request Body - **secretapikey** (string) - Required - Your secret API key. - **apikey** (string) - Required - Your API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether the command was successfully processed (e.g., "SUCCESS"). #### Response Example ```json { "status": "SUCCESS" } ``` ``` -------------------------------- ### Retrieve DNS Records by Name, Type, and Domain Source: https://porkbun.com/api/json/v3/documentation Retrieves specific DNS records based on domain, type, and optionally subdomain. Requires API keys for authentication. Returns a JSON object with status and matching records. ```JSON { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ```JSON { "status": "SUCCESS", "records": [ { "id": "106926659", "name": "www.borseth.ink", "type": "A", "content": "1.1.1.1", "ttl": "600", "prio": "0", "notes": "" } ] } ``` -------------------------------- ### Retrieve DNS Records by Domain Source: https://porkbun.com/api/json/v3/documentation Retrieves all editable DNS records for a given domain. Requires API keys for authentication. Returns a JSON object with status and an array of records. ```JSON { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ```JSON { "status": "SUCCESS", "records": [ { "id": "106926652", "name": "borseth.ink", "type": "A", "content": "1.1.1.1", "ttl": "600", "prio": "0", "notes": "" }, { "id": "106926659", "name": "www.borseth.ink", "type": "A", "content": "1.1.1.1", "ttl": "600", "prio": "0", "notes": "" } ] } ``` -------------------------------- ### Ping API Source: https://porkbun.com/api/json/v3/documentation Tests communication with the API and returns your IP address. Useful for dynamic DNS clients. ```APIDOC ## POST /ping ### Description Tests communication with the API and returns your IP address. Useful for dynamic DNS clients. ### Method POST ### Endpoint https://api.porkbun.com/api/json/v3/ping ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **apikey** (string) - Required - Your API key. - **secretapikey** (string) - Required - Your secret API key. ### Request Example ```json { "secretapikey": "YOUR_SECRET_API_KEY", "apikey": "YOUR_API_KEY" } ``` ### Response #### Success Response (200) - **status** (string) - A status indicating whether or not the command was successfully processed. - **yourIp** (string) - The IP address of the client making the request. #### Response Example ```json { "status": "SUCCESS", "yourIp": "34.204.18.101" } ``` ```