Official PJAP — Registered & Supervised by the Directorate General of Taxes
Log in →
Integration Guide/OpenAPI

Pajak.io OpenAPI integration documentation

The complete OpenAPI integration guide for e-Faktur, e-Bupot, and other tax services. REST + JSON, with a sandbox for testing.

REST · JSONv1

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:

  1. Register your company on our website
  2. Contact our support team and tell them that you would like to use or explore our OpenAPI. You can contact them here

Authentication

Illustrative examples. Header schemas, payloads, and URLs on this page are design placeholders — replace with the official specification from engineering before publishing.

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.

REQUEST HEADERS
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.

Sandbox
https://sandbox-api.pajak.io/v1
Production
https://api.pajak.io/v1

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

POST/vat-outputIssue a new output tax invoice
EXAMPLE REQUEST
{
  "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
    }
  ]
}
EXAMPLE RESPONSE · 201
{
  "id": "inv_9f2c81",
  "status": "SIGNED",
  "invoice_number": "0100260800000001",
  "dgt_status": "APPROVED"
}
GET/vat-output/{id}Check invoice status and DGT approval

VAT Output Return

POST/vat-output-returnIssue a replacement / return invoice

VAT Input

GET/vat-inputList input tax invoices

Output Other Document

POST/output-other-documentIssue other documents equivalent to a tax invoice

VSWP (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

POST/vswp/verificationVerify NIK / NPWP in bulk
EXAMPLE REQUEST
{
  "identities": [
    { "type": "NIK", "number": "3174000000000000" },
    { "type": "NPWP", "number": "0092540000000000" }
  ]
}

Error codes

400
Invalid request — check the payload format
401
Missing or incorrect credentials
422
Data failed validation (e.g. unmatched NPWP)
429
Too many requests — apply retry with backoff
Need sandbox access or the full specification?
Our engineering team supports the integration from field mapping to go-live.
Contact the Integration Team
Direktorat Jenderal PajakRegistered and supervised by DJP
ISO 27001 ISMSTerdaftar di KominfoPJAP resmi DJP