Usage¶
Module¶
The module provides the PKBClient
class, which is used to interact with the PKB API.
To use the PKB client, you need to create an instance of the PKBClient
class:
from pkb_client.client import PKBClient
pkb = PKBClient(
api_key="<your-api-key>",
secret_api_key="<your-secret-api-key>",
api_endpoint="https://api.porkbun.com/api/json/v3",
)
Whereby the api_key and secret_api_key are optional and only required if you want to use the PKB API with API endpoints that require authentication (e.g. to manage dns records of your domains). Moreover the api_endpoint is also optional and defaults to the latest version of the official PKB API endpoint.
For example to get the domain pricing, which does not require authentication, you can use the
get_domain_pricing
method:
from pkb_client.client import PKBClient
pkb = PKBClient()
domain_pricing = pkb.get_domain_pricing()
print(domain_pricing)
You can find all available methods in the PKBClient
class documentation.
CLI¶
The module also provides a CLI to interact with the PKB API. For example to get the domain pricing, you can use the get-domain-pricing command:
pkb-client domain-pricing
All available commands can be listed with the –help option:
pkb-client --help
usage: pkb-client [-h] [-k KEY] [-s SECRET] [--debug] [--endpoint ENDPOINT]
{ping,create-dns-record,update-dns-record,delete-dns-records,get-dns-records,export-dns-records,export-bind-dns-records,import-dns-records,import-bind-dns-records,get-domain-pricing,get-ssl-bundle,update-dns-servers,get-dns-servers,get-domains,get-url-forwards,create-url-forward,delete-url-forward}
...
Python client for the Porkbun API
positional arguments:
{ping,create-dns-record,update-dns-record,delete-dns-records,get-dns-records,export-dns-records,export-bind-dns-records,import-dns-records,import-bind-dns-records,get-domain-pricing,get-ssl-bundle,update-dns-servers,get-dns-servers,get-domains,get-url-forwards,create-url-forward,delete-url-forward}
Supported API methods
ping Ping the API Endpoint
create-dns-record Create a new DNS record.
update-dns-record Edit an existing DNS record.
delete-dns-records Delete an existing DNS record.
get-dns-records Get all DNS records.
export-dns-records Save all DNS records to a local json file.
export-bind-dns-records
Save all DNS records to a local BIND file.
import-dns-records Restore all DNS records from a local json file.
import-bind-dns-records
Restore all DNS records from a local BIND file.
get-domain-pricing Get the pricing for Porkbun domains.
get-ssl-bundle Retrieve an SSL bundle for given domain.
update-dns-servers Update the DNS servers for a domain.
get-dns-servers Retrieve the DNS servers for a domain.
get-domains List all domains in this account in chunks of 1000.
get-url-forwards Retrieve all URL forwards.
create-url-forward Create a new URL forward.
delete-url-forward Delete an existing URL forward.
options:
-h, --help show this help message and exit
-k KEY, --key KEY The API key used for Porkbun API calls (usually starts with "pk").
-s SECRET, --secret SECRET
The API secret used for Porkbun API calls (usually starts with "sk").
--debug Enable debug mode.
--endpoint ENDPOINT The API endpoint to use.