API v3

GET /invoices/{id}/pdf

The invoice as a VAT invoice PDF.

Available for standard-rated UK invoices: every line charged UK VAT at 20%, on a UK account. Any other invoice answers 409 state_conflict; email help@voicepro.plus for a copy.

Addresshttps://api.voicepro.plus/v3/invoices/{id}/pdf
Key permissionbilling:read

Fields

NameInType
id *pathstring

* required

Example

curl -X GET "https://api.voicepro.plus/v3/invoices/inv_2610AB12/pdf" \
  -H "Authorization: Bearer vpkey_YOUR_KEY"

Errors

Every error has the same shape: { "error": { "type", "code", "message", "param", "request_id" } }.

missing_api_key401: No Authorization header, or not a Bearer key.
invalid_api_key401: The key is not recognised.
api_key_revoked401: The key was revoked in the portal.
api_key_expired401: The key passed the expiry date set on it.
missing_scope403: The key lacks the scope this endpoint needs; param names the scope.
ip_not_allowed403: The key has an IP allowlist and this request came from elsewhere.
account_not_active403: The workspace is suspended or closed.
route_not_found404: No such path in v3.
resource_not_found404: No object with that id on this account.
service_not_enabled404: The account does not have this service (voice trunk, IoT, numbers); param names it.
idempotency_key_reused409: This Idempotency-Key was used within 24 hours with a different request.
idempotency_key_in_use409: A request with this Idempotency-Key is still running, or its outcome at a partner is not yet known (message: outcome pending); retry shortly with the same key. If a charged request never finished, the message says so: check your balance and orders before sending it again with a new key.
state_conflict409: The object is not in a state that allows this action (for example resuming an active SIM).
rate_limited429: Too many requests for this key or for the whole account (the message says which); wait Retry-After seconds.
internal_error500: Our fault. Quote the request_id to support.

More in Billing