Introduction
Pajak.io, as one of the official partners of the directorate general of tax (DGT), provides several application programming interfaces (APIs) that can be used to integrate your system with our platform. The APIs are built based on the REST concept and use JavaScript Object Notation (JSON) as the data format of communication.
Before you start using our APIs, make sure you already follow these steps below:
- Register your company on our website
- Contact our support team and tell them that you would like to use or explore our OpenAPI. You can contact them here
Authentication
Every request to the Pajak.io API must carry an API credential pair issued by our support team after your company is verified. Credentials are scoped per company entity and per environment.
Content-Type: application/json
X-Client-Id: {your-client-id}
X-Client-Secret: {your-client-secret}Environment
Two environments are available. Always complete end-to-end testing in the sandbox before requesting production credentials.
e-Faktur (Tax Invoice) Services
The e-Faktur services cover the full lifecycle of tax invoices: creation, automatic signing, DGT submission, and status tracking. Transaction data can flow directly from your ERP through the host-to-host channel.
VAT Output
/vat-outputIssue a new output tax invoice{
"transaction_code": "01",
"buyer_npwp": "0092540000000000",
"buyer_name": "PT Contoh Sejahtera",
"invoice_date": "2026-08-18",
"items": [
{
"name": "Jasa konsultasi",
"unit_price": 100000000,
"quantity": 1,
"vat_rate": 12
}
]
}{
"id": "inv_9f2c81",
"status": "SIGNED",
"invoice_number": "0100260800000001",
"dgt_status": "APPROVED"
}/vat-output/{id}Check invoice status and DGT approvalVAT Output Return
/vat-output-returnIssue a replacement / return invoiceVAT Input
/vat-inputList input tax invoicesOutput Other Document
/output-other-documentIssue other documents equivalent to a tax invoiceVSWP (Verifikasi Status Wajib Pajak) Services
The VSWP services validate taxpayer identities in bulk — matching NIK to NPWP and returning the registered taxpayer name and status, so counterparty data is clean before documents are issued.
Verification
/vswp/verificationVerify NIK / NPWP in bulk{
"identities": [
{ "type": "NIK", "number": "3174000000000000" },
{ "type": "NPWP", "number": "0092540000000000" }
]
}