NPWP Verification
Verify an NPWP or NIK and match name and address.
Base URL
https://use.api.co.id
Send a JSON body with npwp, name, and address to POST /npwp/verify with the x-api-co-id header. The response contains transaction_id, the provider's name/address data, status_wp, status_spt, and the provider message.
Request fields
| Field | Required | Rule |
|---|---|---|
npwp | yes | 15–16 digits, either NPWP or NIK as supported by the provider |
name | yes | 2–100 characters |
address | yes | 7–255 characters |
API.CO.ID generates transaction_id when the request is received, sends it to the provider as a tracking ID, and returns it in the response.
curl -X POST "https://use.api.co.id/npwp/verify" \
-H "Content-Type: application/json" \
-H "x-api-co-id: YOUR_API_KEY" \
-d '{
"npwp": "594032120444000",
"name": "John Doe",
"address": "Jl. Sesama No. 10"
}'
Response
{
"is_success": true,
"message": "Success",
"data": {
"transaction_id": "trx-provider-0001",
"data": {
"name": "John Doe",
"address": "Jl. Sesama No. 10",
"status_wp": "ACTIVE",
"status_spt": "VALID"
},
"message": "npwp verification successfully"
}
}
Access & billing
API.CO.ID checks access in this order:
- Valid API key.
- Enough balance/subscription for
npwp-verification. - Customer eKYC approved.
- Request forwarded to the provider.
- Points charged only if the provider processes the request successfully.
If payment or eKYC requirements are not met, the request stops before reaching the provider and no points are charged.
Common errors
| HTTP | Condition |
|---|---|
| 400Bad Request | Invalid JSON body |
| 401Unauthorized | API key missing or wrong |
| 402Payment Required | Insufficient balance/subscription |
| 403Forbidden | eKYC not approved, pending, rejected, or expired |
| 404Not Found | NPWP/NIK not found by the provider |
| 422Unprocessable | Invalid npwp, name, or address format |
| 502Bad Gateway | Provider auth/server/response error |
| 503Unavailable | Provider unavailable or under maintenance |
| 504Gateway Timeout | Provider timeout |
Verify NPWP or NIK
Verifies a 15–16 digit NPWP/NIK together with the submitted name and address. API.CO.ID generates the provider transaction ID automatically and returns it as transaction_id. Do not log the raw request because it contains personal data.
| Name | Type | Description |
|---|---|---|
npwpRequired | string | A 15–16 digit NPWP or NIK Example: 594032120444000 |
nameRequired | string | Example: John Doe |
addressRequired | string | Example: Jl. Sesama No. 10 |
| Name | Type | Description |
|---|---|---|
is_successRequired | boolean | Example: true |
messageRequired | string | Example: Success |
dataRequired | object | |
data.transaction_idOptional | string | |
data.dataOptional | object | |
data.data.nameOptional | string | |
data.data.addressOptional | string | |
data.data.status_wpOptional | string | |
data.data.status_sptOptional | string | |
data.messageOptional | string |
curl -X POST "https://use.api.co.id/npwp/verify" \ -H "x-api-co-id: $API_CO_ID_KEY" \ -H "Content-Type: application/json" \ -d '{"npwp":"594032120444000","name":"John Doe","address":"Jl. Sesama No. 10"}'{ "is_success": true, "message": "Success", "data": { "transaction_id": "trx-provider-0001", "data": { "name": "John Doe", "address": "Jl. Sesama No. 10", "status_wp": "ACTIVE", "status_spt": "VALID" }, "message": "npwp verification successfully" }}