200 with isValid set to false.
Values are case-sensitive. transactionId and createdAt are generated per request, and metadata is echoed back from your request. See Sandbox introduction for the full matching rules.
Verified
VERIFIED — sample 1
VERIFIED — sample 1
RequestResponse — HTTP
200VERIFIED — sample 2, with middle name
VERIFIED — sample 2, with middle name
RequestResponse — HTTP
200Rejected
A rejection is a completed verification, not an error:success is true and HTTP status is 200. In live mode a rejection is billed.
REJECTED — sample 1
REJECTED — sample 1
RequestResponse — HTTP
200REJECTED — sample 2, with middle name
REJECTED — sample 2, with middle name
RequestResponse — HTTP
200REJECTED — Not verified, unmatched payload fallback
REJECTED — Not verified, unmatched payload fallback
RequestResponse — HTTP This payload matches no documented scenario, so it takes the no-match fallback. Unlike the documented rejections, the fallback carries no
200data.message. Fire it once to confirm that an unknown TIN never reaches the live BIR source.Validation failures
All validation failures return HTTP400 with code set to VALIDATION_FAILED and the same message; only errors differs. Validation runs before any fixture matching, so these behave identically in sandbox and live. transactionId is null and no transaction row is written.
VALIDATION_FAILED — TIN not 9 digits
VALIDATION_FAILED — TIN not 9 digits
RequestResponse — HTTP
400tin must be exactly 9 digits and branchCode exactly 5 digits.VALIDATION_FAILED — Gender not supported
VALIDATION_FAILED — Gender not supported
RequestResponse — HTTP
400genderDescription accepts Male, Female, male or female.VALIDATION_FAILED — Birth date in the wrong format
VALIDATION_FAILED — Birth date in the wrong format
RequestResponse — HTTP
400VALIDATION_FAILED — Trust flow fields sent to a stateless endpoint
VALIDATION_FAILED — Trust flow fields sent to a stateless endpoint
RequestResponse — HTTP
400Source unavailable
Account-level responses
Two further responses are not specific to this endpoint. A missing or invalidAuthorization header returns HTTP 401, and an account without the philippines_tin plan returns HTTP 403 — both enforced in sandbox exactly as in live. See Sandbox introduction for their envelopes.
