Errors
Error code registry
All errors follow RFC 7807 problem-details. The stable identifier is the type URN; clients should look up localized messages
on that code rather than parsing the English title. Below is the full registry,
derived at build time from
https://billing-api.pbx.lt/openapi.json
.
| Code | HTTP | Title | Description |
|---|---|---|---|
| urn:codus-nullus:pbx-billing:problem:auth.invalid_credentials | 401 | Invalid credentials | Email + password combination did not match. Common fix: reset password via /auth/forgot-password. |
| urn:codus-nullus:pbx-billing:problem:auth.token_expired | 401 | Access token expired | Refresh via POST /v1/auth/refresh with the refresh_token. |
| urn:codus-nullus:pbx-billing:problem:auth.totp_invalid | 401 | Invalid 2FA code | TOTP code was wrong or expired. Open the authenticator app and try the current code. |
| urn:codus-nullus:pbx-billing:problem:payment.declined | 402 | Payment declined | Revolut declined the card. Customer should try a different method or contact their issuer. |
| urn:codus-nullus:pbx-billing:problem:auth.forbidden | 403 | Forbidden | Authenticated, but the role does not permit this action. Admin endpoints also require 2FA. |
| urn:codus-nullus:pbx-billing:problem:not_found | 404 | Resource not found | The id does not exist or is not visible to your account. |
| urn:codus-nullus:pbx-billing:problem:not-found | 404 | Resource not found | See the reference for the full schema. |
| urn:codus-nullus:pbx-billing:problem:idempotency.conflict | 409 | Idempotency-Key conflict | Same Idempotency-Key was used with a different request body. Generate a fresh UUID. |
| urn:codus-nullus:pbx-billing:problem:subscription.tier_invalid | 422 | Invalid plan tier | Requested tier is not offered. See GET /v1/plans for the live list. |
| urn:codus-nullus:pbx-billing:problem:validation.failed | 422 | Validation failed | Request body failed schema validation. See `invalid_params` for the per-field reasons. |
| urn:codus-nullus:pbx-billing:problem:vat.verification_failed | 422 | EU VAT verification failed | VIES did not recognise the supplied VAT number. Check format (country prefix + digits) and retry. |
| urn:codus-nullus:pbx-billing:problem:rate_limited | 429 | Rate limit exceeded | Wait `retry_after` seconds before retrying. |
| urn:codus-nullus:pbx-billing:problem:internal | 500 | Internal server error | Unexpected error. The request id in the response can be referenced in support tickets. |
| urn:codus-nullus:pbx-billing:problem:upstream.pbx_unavailable | 503 | Upstream PBX unavailable | my.pbx.lt provisioning is transiently down. Retry with the same Idempotency-Key. |
Showing 14 unique error codes from billing-api.pbx.lt.