# Dokumentasi API Sipajak

> Sumber: https://www.sipajak.com/developers
> Versi 1.8 · 72 endpoint
> Publisher: Sipajak (PT Hexa Sarana Intermedia), PJAP resmi yang terdaftar dan diawasi DJP.

Sipajak adalah Penyedia Jasa Aplikasi Perpajakan (PJAP) resmi yang terdaftar dan diawasi DJP, menyediakan API pajak end-to-end, platform, dan solusi white-label.

Hubungkan sistem kamu ke DJP lewat satu API: e-Faktur, e-Bupot, e-Billing, SPT, dan validasi status wajib pajak (VSWP). Kredensial staging diminta lewat tombol "Minta Akses API" di https://www.sipajak.com/developers.

## Modul & panduan

- [Pengenalan](https://www.sipajak.com/developers/introduction.md): Sipajak API adalah kumpulan endpoint resmi dari Sipajak, PJAP terdaftar DJP, untuk menghubungkan ERP, software akuntansi, atau aplikasi kamu langsung ke layanan pajak DJP Coretax secara host-to-host. Halaman ini menjelaskan cakupan dokumen dan enam modul API.
- [Memulai](https://www.sipajak.com/developers/getting-started.md): Mulai integrasi dengan Sipajak API dalam hitungan menit: kenali environment staging dan production, cara autentikasi HTTP Basic, header npwp wajib, dan aturan versioning URL. Kredensial API diberikan oleh tim Sipajak, ajukan lewat tombol Minta Akses API.
- [Konvensi API](https://www.sipajak.com/developers/api-conventions.md): Baca bagian ini sekali sebelum memakai modul apa pun: format response envelope, pola soft-error (HTTP 200 tapi gagal di sisi DJP), kode status HTTP, format tanggal dan angka, idempotensi, rate limit, caching, dan penanganan field sensitif.
- [Organization](https://www.sipajak.com/developers/organization.md): Modul Organization adalah titik awal setiap integrasi: kelola profil klien, sertifikat dan penandatangan default, pantau usage serta histori panggilan API, dan daftarkan NPWP tambahan ke kredensial kamu.
- [VSWP](https://www.sipajak.com/developers/vswp.md): API VSWP (Validasi Status Wajib Pajak) memvalidasi NPWP atau NIK langsung ke DJP Coretax, cocok untuk onboarding nasabah, KYC fintech, dan verifikasi vendor. Tersedia lookup tunggal real-time dan alur bulk berbasis job.
- [e-Faktur](https://www.sipajak.com/developers/e-faktur.md): API e-Faktur Sipajak mengotomatiskan siklus faktur pajak dari sistem kamu ke DJP Coretax secara host-to-host: buat, ganti (pengganti), batalkan, dan retur faktur keluaran maupun masukan, termasuk dokumen yang dipersamakan.
- [e-Bupot](https://www.sipajak.com/developers/e-bupot.md): API e-Bupot Sipajak membuat dan mengelola bukti potong PPh langsung dari sistem payroll atau ERP kamu: delapan varian DJP, verifikasi dokumen, kalkulator PPh 21 dan BPA1, serta katalog referensi.
- [SPT](https://www.sipajak.com/developers/spt.md): API SPT Sipajak memandu pelaporan SPT dari sistem kamu dalam tujuh langkah: cek revisi, buat SPT, baca status, upload isi, submit ke DJP, lalu verifikasi hingga Bukti Penerimaan Elektronik (BPE) terbit.
- [e-Billing](https://www.sipajak.com/developers/e-billing.md): API e-Billing Sipajak menerbitkan ID Billing (kode billing) pajak langsung dari sistem kamu: validasi NPWP dan kode KAP/KJS lewat inquiry, lalu buat kode pembayaran yang siap dibayar di bank persepsi.
- [Postman & Akses API](https://www.sipajak.com/developers/postman-collection.md): Koleksi Postman resmi dan kredensial staging diberikan secara privat setelah permintaan akses kamu disetujui tim Sipajak. Ajukan lewat tombol Minta Akses API.
- [Glosarium](https://www.sipajak.com/developers/glossary.md): Kamus istilah yang dipakai di seluruh dokumentasi: terminologi pajak Indonesia, kode varian e-Bupot, kode jenis SPT, regulasi yang dirujuk, dan istilah teknis protokol.

## Daftar endpoint

| Method | Path | Fungsi | Modul |
| --- | --- | --- | --- |
| GET | `/v1/profile` | Retrieve the authenticated client's profile | Organization |
| POST | `/v1/profile` | Update profile fields (partial update) | Organization |
| GET | `/v1/usage` | Inspect API usage and quota consumption | Organization |
| GET | `/v1/histories` | Retrieve history of past API calls | Organization |
| POST | `/v1/organization` | Register an additional NPWP | Organization |
| POST | `/v2/vswp` | Single taxpayer lookup | VSWP |
| POST | `/v1/vswp/bulking` | Submit a bulk lookup job | VSWP |
| GET | `/v1/vswp/{id}` | Poll status of a bulk job | VSWP |
| GET | `/v1/vswp/{id}/export` | Download CSV result of a completed bulk job | VSWP |
| GET | `/v1/ref/country` | ISO 3166 country codes (3-letter alpha-3) | e-Faktur |
| GET | `/v1/ref/unit` | Units of measure (DJP "UM.xxxx" codes) | e-Faktur |
| GET | `/v1/ref/transaction-code` | DJP transaction codes (TD.003xx) | e-Faktur |
| GET | `/v1/ref/goods-services` | Goods and services classification codes | e-Faktur |
| GET | `/v1/ref/additional-info` | Additional-information codes used with TD.00307 / TD.00308 | e-Faktur |
| POST | `/v2/efaktur/create-faktur-pk` | Issue a new sales invoice | e-Faktur |
| POST | `/v2/efaktur/create-faktur-pk-amended` | Issue a Pengganti (replacement) of an existing invoice | e-Faktur |
| POST | `/v2/efaktur/cancel-faktur-pk` | Cancel an existing invoice | e-Faktur |
| POST | `/v2/efaktur/create-retur-faktur-pk` | List DJP-prepopulated returns for a period — see note below | e-Faktur |
| POST | `/v2/efaktur/cancel-retur-faktur-pk` | Cancel a previously-issued return | e-Faktur |
| POST | `/v2/efaktur/create-document-pk` | Issue a new equivalent document | e-Faktur |
| POST | `/v2/efaktur/create-document-pk-amended` | Issue a Pengganti | e-Faktur |
| POST | `/v2/efaktur/cancel-document-pk` | Cancel an issued equivalent document | e-Faktur |
| POST | `/v2/efaktur/create-retur-document-pk` | Create a retur on an equivalent document | e-Faktur |
| POST | `/v2/efaktur/cancel-retur-document-pk` | Cancel a previously-issued retur | e-Faktur |
| POST | `/v2/efaktur/create-faktur-pm` | Prepopulate / claim an incoming invoice | e-Faktur |
| POST | `/v2/efaktur/confirmation-amended-cancel-faktur-pm` | Acknowledge a supplier-initiated amend or cancel | e-Faktur |
| POST | `/v2/efaktur/create-retur-faktur-pm` | Create a return on a claimed invoice | e-Faktur |
| POST | `/v2/efaktur/cancel-retur-faktur-pm` | Cancel a previously-issued return | e-Faktur |
| POST | `/v2/efaktur/create-document-pm` | Claim an incoming equivalent document | e-Faktur |
| POST | `/v2/efaktur/create-document-pm-amended` | Acknowledge or issue a Pengganti | e-Faktur |
| POST | `/v2/efaktur/cancel-document-pm` | Cancel a claimed document | e-Faktur |
| POST | `/v2/efaktur/create-retur-document-pm` | Create a retur | e-Faktur |
| POST | `/v2/efaktur/cancel-retur-document-pm` | Cancel a previously-issued retur | e-Faktur |
| POST | `/v2/ebupot/validate-bpu-a0-21` | Validate withholding receipt — BPPU, BPMP, BP21 | e-Bupot |
| POST | `/v2/ebupot/create-bpu-a0-21` | Create withholding receipt — BPPU, BPMP, BP21 | e-Bupot |
| POST | `/v2/ebupot/update-bpu-a0-21` | Update withholding receipt — BPPU, BPMP, BP21 | e-Bupot |
| POST | `/v2/ebupot/cancel-bpu-a0-21` | Cancel withholding receipt — BPPU, BPMP, BP21 | e-Bupot |
| POST | `/v2/ebupot/validate-bpnr-26` | Validate withholding receipt — BPNR | e-Bupot |
| POST | `/v2/ebupot/create-bpnr-26` | Create withholding receipt — BPNR | e-Bupot |
| POST | `/v2/ebupot/update-bpnr-26` | Update withholding receipt — BPNR | e-Bupot |
| POST | `/v2/ebupot/cancel-bpnr-26` | Cancel withholding receipt — BPNR | e-Bupot |
| POST | `/v2/ebupot/validate-cumulative-payment` | Validate withholding receipt — BPCY | e-Bupot |
| POST | `/v2/ebupot/create-cumulative-payment` | Create withholding receipt — BPCY | e-Bupot |
| POST | `/v2/ebupot/update-cumulative-payment` | Update withholding receipt — BPCY | e-Bupot |
| POST | `/v2/ebupot/cancel-cumulative-payment` | Cancel withholding receipt — BPCY | e-Bupot |
| POST | `/v2/ebupot/validate-self-payment` | Validate withholding receipt — BPSP | e-Bupot |
| POST | `/v2/ebupot/create-self-payment` | Create withholding receipt — BPSP | e-Bupot |
| POST | `/v2/ebupot/update-self-payment` | Update withholding receipt — BPSP | e-Bupot |
| POST | `/v2/ebupot/cancel-self-payment` | Cancel withholding receipt — BPSP | e-Bupot |
| POST | `/v2/ebupot/validate-a1-a2` | Validate withholding receipt — BPA1, BPA2 | e-Bupot |
| POST | `/v2/ebupot/create-a1-a2` | Create withholding receipt — BPA1, BPA2 | e-Bupot |
| POST | `/v2/ebupot/update-a1-a2` | Update withholding receipt — BPA1, BPA2 | e-Bupot |
| POST | `/v2/ebupot/cancel-a1-a2` | Cancel withholding receipt — BPA1, BPA2 | e-Bupot |
| POST | `/v2/ebupot/verify-document` | Refresh DJP-side state of an existing bupot. See section 7.9. | e-Bupot |
| POST | `/calculation` | Local calculator for BPMP and BP21. Unauthenticated. See section 7.10. | e-Bupot |
| POST | `/calculation/bpa1` | Local calculator for BPA1 (year-end gross-up). Unauthenticated. See section 7.10. | e-Bupot |
| GET | `/v1/ref-{variant}` | Full-search across the variant's reference data (paginated) | e-Bupot |
| GET | `/v1/ref-{variant}/tax-objects` | Distinct tax-object descriptions | e-Bupot |
| GET | `/v1/ref-{variant}/tax-articles` | Distinct tax-article codes ("Pasal X") | e-Bupot |
| GET | `/v1/ref-{variant}/tax-codes` | Distinct tax-object codes | e-Bupot |
| GET | `/v1/ref-{variant}/income-tax-statuses` | Distinct status enums (final / non-final etc.) | e-Bupot |
| GET | `/v1/ref-{variant}/income-tax-rates` | Distinct tax-rate values | e-Bupot |
| GET | `/v1/ref-{variant}/revenue-codes` | Distinct revenue-code values | e-Bupot |
| POST | `/v2/spt/inquiry-max-rev-no` | Check whether an SPT already exists for a period | SPT |
| POST | `/v2/spt/create-spt` | Create a new SPT for a period | SPT |
| POST | `/v2/spt/inquiry-spt` | Read the current state of an SPT by idSpt | SPT |
| POST | `/v2/spt/summary` | Summary report (currently unavailable, see 8.7) | SPT |
| POST | `/v2/spt/upload` | Upload SPT line-item content | SPT |
| POST | `/v2/spt/submit-spt` | Submit the SPT to DJP for acceptance | SPT |
| POST | `/v2/spt/verify-spt` | Verify acceptance and retrieve BPE | SPT |
| POST | `/v2/ebilling/inquiry` | Validate NPWP + KAP/KJS and fetch taxpayer name and address | e-Billing |
| POST | `/v2/ebilling/create` | Generate a DJP payment code (ID Billing) | e-Billing |

## Riwayat versi

- 1.8 (terbaru) · 2025-12-29: Section 10 now explains how to request API access; the Postman collection and credentials are shared privately with approved partners. Section 11 (Glossary) expanded: Indonesian tax terminology, e-Bupot variant codes, SPT type codes, regulations referenced, and technical/protocol terms.
- 1.7 · 2025-12-12: Added Section 7 (e-Bupot) covering all eight variants (BPPU, BPMP, BP21, BPNR, BPCY, BPSP, BPA1, BPA2) across five endpoint families, the verify-document endpoint, both calculation utilities, and the reference catalogues. Module conventions section documents the fgJnsBupot discriminator, the per-variant field-naming case differences, and the HTTP 400 soft-error wrapping.
- 1.6 · 2025-10-28: Added Section 6 (e-Faktur) covering all twenty-two endpoints across the five functional groups: reference catalogues, Pajak Keluaran lifecycle, Dokumen Keluaran delta, Pajak Masukan, Dokumen Masukan, and the scan / check-status utilities.
- 1.5 · 2025-09-18: Corrected SPT section to remove a documentation error — request bodies are flat across all modules.
- 1.4 · 2025-08-07: Added Section 8 (SPT): seven-step lifecycle, module conventions, JnsSpt enum, MasaPajak format, DJP error catalogue.
- 1.3 · 2025-05-22: Added Section 9 (e-Billing): inquiry and create endpoints, module conventions (server-generated traceId, MMMMYYYY periode format, HTTP 400 wrapping for soft errors), and DJP error catalogue.
- 1.2 · 2025-03-19: Module sections reordered to reflect the recommended onboarding flow — Organization first, then VSWP. No endpoint contract changed; only section numbering.
- 1.1 · 2025-02-26: Added Section 4 (Organization): profile, usage, histories, and additional-NPWP registration.
- 1.0 · 2025-01-14: First released version. Covers Introduction, Getting Started, API Conventions, VSWP module, and glossary.

---
Peta konten: https://www.sipajak.com/sitemap.md
