Skip to main content
Sandbox payloads for the Stateless PRC endpoint.
When your account is in sandbox mode, these payloads return the outcomes shown below. Any other valid payload is answered as a no-match — HTTP 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. PRC supports exactly one of two search modes per request:
Every field must match a documented scenario exactly. Send dateOfBirth as YYYY-MM-DD: live accepts other date formats, but sandbox compares the value as sent, so 02/01/1990 does not match 1990-02-01 and is answered as a no-match.

Verified

Request
Response — HTTP 200
birthdate is returned as MM/DD/YYYY, the format the PRC source uses, regardless of the YYYY-MM-DD you send.
Request
Response — HTTP 200
Request
Response — HTTP 200
A by-name search confirms that a professional with this name is registered under the profession. It returns no license number, birthdate or picture — search by license when you need those.
Request
Response — HTTP 200
Send multi-word surnames with their spaces, exactly as registered.

Rejected

A rejection is a completed verification, not an error: success is true and HTTP status is 200. In live mode a rejection is billed.
Request
Response — HTTP 200
The license number is the same one used in the first verified scenario. A wrong date of birth rejects the record and returns none of the holder’s details.
Request
Response — HTTP 200
A date-of-birth mismatch and a missing license return the same response. Your integration cannot tell them apart, and should not try to.
Request
Response — HTTP 200
Request
Response — HTTP 200
This payload matches no documented scenario, so it takes the no-match fallback — identical to the rejections above apart from transactionId and metadata. Fire it once to confirm that an unknown record never reaches the live PRC source.

Validation failures

All validation failures return HTTP 400 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.
Request
Response — HTTP 400
Send exactly one search mode. Sending both — dateOfBirth and licenseNo together with firstName and lastName — returns the same error.
Request
Response — HTTP 400
Request
Response — HTTP 400
The reverse also applies: dateOfBirth without licenseNo fails with "The license no field is required when date of birth is present."
Request
Response — HTTP 400
Request
Response — HTTP 400
Request
Response — HTTP 400
trustFlowId and trustValidationId are prohibited on stateless endpoints. Sending either is a validation failure, not a silently ignored field.

Source unavailable

Each search mode has its own scenario. Both return the same response.
Request
Response — HTTP 500
There is no data key at all. The envelope treats code and data as mutually exclusive, so a coded failure drops data rather than emitting an empty object. Branch on code, not on the presence of data.
Request
Response — HTTP 500

Account-level responses

Two further responses are not specific to this endpoint. A missing or invalid Authorization header returns HTTP 401, and an account without the philippines_prc plan returns HTTP 403 — both enforced in sandbox exactly as in live. See Sandbox introduction for their envelopes.