> ## Documentation Index
> Fetch the complete documentation index at: https://docs.idmetagroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Philippines Document Details Extraction sandbox

> Predetermined API payloads to retrieve every Philippines Document Details Extraction status in sandbox mode.

Sandbox payloads for the [Stateless Philippines Document Details Extraction](https://docs.idmetagroup.com/stateless-verification-api/document-ocr/philippines-document-details-extraction.md) endpoint.

```http theme={null}
POST /api/v3/verifications/philippines/document-details-extraction-passthrough
```

When your account is in sandbox mode, the image is never read by the OCR engine. The sandbox identifies the scenario from the exact bytes of the image you send and returns a stored extraction. `transactionId` and `createdAt` are generated per request, and `metadata` is echoed back from your request. See [Sandbox introduction](https://docs.idmetagroup.com/stateless-verification-api/sandbox.md) for the shared rules.

## How scenarios are selected

This endpoint takes an image, not identity fields, so matching works differently from the other sandbox pages:

| You send as `documentImage` | Result |
| - | - |
| **Any image of your own** | The verified driving license sample below. |
| One of the base64 strings on this page | That scenario's response. |

> [!NOTE]
>
> Sandbox returns sample data, not the contents of your image. Every image without its own scenario returns the same driving license extraction — `SANTOS, JUAN DELA CRUZ` — whatever card it shows.

Send the base64 strings exactly as shown, either as a JSON body or as a form field. Each one is a small sample image, so a re-encoded, resized or re-saved copy no longer matches and returns the default sample instead.

### Verified

> **VERIFIED — Any image (driving license sample)**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "<base64 of any JPG, PNG or PDF of your own>"
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "extracted",
>     "fields": {
>       "documentType": {
>         "value": "driving_license",
>         "confidence": 97.4
>       },
>       "documentNumber": {
>         "value": "N04-12-345678",
>         "confidence": 97.4
>       },
>       "fullName": {
>         "value": "SANTOS, JUAN DELA CRUZ",
>         "confidence": 97.4
>       },
>       "firstName": {
>         "value": "JUAN",
>         "confidence": 97.4
>       },
>       "middleName": {
>         "value": "DELA CRUZ",
>         "confidence": 97.4
>       },
>       "lastName": {
>         "value": "SANTOS",
>         "confidence": 97.4
>       },
>       "suffix": {
>         "value": null,
>         "confidence": 1
>       },
>       "dateOfBirth": {
>         "value": "1990-02-01",
>         "confidence": 97.4
>       },
>       "gender": {
>         "value": "M",
>         "confidence": 97.4
>       },
>       "nationality": {
>         "value": "PHL",
>         "confidence": 97.4
>       },
>       "address": {
>         "value": "123 RIZAL ST, BRGY SAN ISIDRO, QUEZON CITY",
>         "confidence": 97.4
>       },
>       "placeOfBirth": {
>         "value": null,
>         "confidence": 1
>       },
>       "expiryDate": {
>         "value": "2030-02-01",
>         "confidence": 97.4
>       },
>       "issueDate": {
>         "value": "2020-02-01",
>         "confidence": 97.4
>       },
>       "issuingAuthority": {
>         "value": "LAND TRANSPORTATION OFFICE",
>         "confidence": 97.4
>       },
>       "licenseCodes": {
>         "value": "A,B",
>         "confidence": 97.4
>       },
>       "agencyCode": {
>         "value": "N04",
>         "confidence": 97.4
>       },
>       "bloodType": {
>         "value": "O+",
>         "confidence": 97.4
>       },
>       "eyesColor": {
>         "value": "BLACK",
>         "confidence": 97.4
>       },
>       "weightKg": {
>         "value": "65",
>         "confidence": 97.4
>       },
>       "heightM": {
>         "value": "1.68",
>         "confidence": 97.4
>       },
>       "conditions": {
>         "value": "NONE",
>         "confidence": 97.4
>       },
>       "photo": null,
>       "signature": null
>     },
>     "missingFields": []
>   },
>   "verificationStatus": "VERIFIED",
>   "verificationStatusCode": 3,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> Any image that is not one of the base64 strings on this page returns this response. Use it to test the success path with your own files.

> **VERIFIED — PhilSys ID**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFElEQVQImWOUW2DDgA0wYRUdtBIAyEYBClkamikAAAAASUVORK5CYII="
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "extracted",
>     "fields": {
>       "documentType": {
>         "value": "philsys_id",
>         "confidence": 95.2
>       },
>       "documentNumber": {
>         "value": "1234-5678-9012-3456",
>         "confidence": 95.2
>       },
>       "fullName": {
>         "value": "REYES, ANA LOPEZ",
>         "confidence": 95.2
>       },
>       "firstName": {
>         "value": "ANA",
>         "confidence": 95.2
>       },
>       "middleName": {
>         "value": "LOPEZ",
>         "confidence": 95.2
>       },
>       "lastName": {
>         "value": "REYES",
>         "confidence": 95.2
>       },
>       "suffix": {
>         "value": null,
>         "confidence": 1
>       },
>       "dateOfBirth": {
>         "value": "1988-11-23",
>         "confidence": 95.2
>       },
>       "gender": {
>         "value": "F",
>         "confidence": 95.2
>       },
>       "nationality": {
>         "value": null,
>         "confidence": 1
>       },
>       "address": {
>         "value": "45 MABINI ST, BRGY POBLACION, MAKATI CITY, METRO MANILA",
>         "confidence": 95.2
>       },
>       "placeOfBirth": {
>         "value": "MANILA",
>         "confidence": 95.2
>       },
>       "issueDate": {
>         "value": "2023-03-14",
>         "confidence": 95.2
>       },
>       "bloodType": {
>         "value": "A+",
>         "confidence": 95.2
>       },
>       "civilStatus": {
>         "value": "MARRIED",
>         "confidence": 95.2
>       },
>       "photo": null,
>       "signature": null
>     },
>     "missingFields": []
>   },
>   "verificationStatus": "VERIFIED",
>   "verificationStatusCode": 3,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```

### Review needed

The card was identified, but a required field could not be read. `success` is `true`: the extraction completed and, in live mode, is billed. `missingFields` names what is missing so a reviewer can complete it.

> **REVIEW\_NEEDED — PRC, license number unreadable**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAE0lEQVQImWP8f4IBK2DCLjxYJQBoAAHXd11tPwAAAABJRU5ErkJggg=="
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "partial",
>     "fields": {
>       "documentType": {
>         "value": "prc",
>         "confidence": 71.8
>       },
>       "documentNumber": {
>         "value": null,
>         "confidence": 1
>       },
>       "fullName": {
>         "value": "DELA CRUZ, MARIA REYES",
>         "confidence": 71.8
>       },
>       "firstName": {
>         "value": "MARIA",
>         "confidence": 71.8
>       },
>       "middleName": {
>         "value": "REYES",
>         "confidence": 71.8
>       },
>       "lastName": {
>         "value": "DELA CRUZ",
>         "confidence": 71.8
>       },
>       "suffix": {
>         "value": null,
>         "confidence": 1
>       },
>       "dateOfBirth": {
>         "value": "1992-08-15",
>         "confidence": 71.8
>       },
>       "gender": {
>         "value": null,
>         "confidence": 1
>       },
>       "nationality": {
>         "value": null,
>         "confidence": 1
>       },
>       "address": {
>         "value": null,
>         "confidence": 1
>       },
>       "placeOfBirth": {
>         "value": null,
>         "confidence": 1
>       },
>       "registrationDate": {
>         "value": "2015-11-28",
>         "confidence": 71.8
>       },
>       "profession": {
>         "value": "REGISTERED NURSE",
>         "confidence": 71.8
>       },
>       "validUntil": {
>         "value": "2027-08-15",
>         "confidence": 71.8
>       },
>       "photo": null,
>       "signature": null
>     },
>     "missingFields": [
>       "documentNumber"
>     ]
>   },
>   "verificationStatus": "REVIEW_NEEDED",
>   "verificationStatusCode": 2,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```

> **REVIEW\_NEEDED — Voter ID, precinct number unreadable**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAE0lEQVQImWP838OAFTBhFx6sEgA5mAGbmMh2qgAAAABJRU5ErkJggg=="
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "partial",
>     "fields": {
>       "documentType": {
>         "value": "voter_id",
>         "confidence": 68.4
>       },
>       "documentNumber": {
>         "value": "7601-0012A-B1234",
>         "confidence": 68.4
>       },
>       "fullName": {
>         "value": "GARCIA, PAOLO BAUTISTA",
>         "confidence": 68.4
>       },
>       "firstName": {
>         "value": "PAOLO",
>         "confidence": 68.4
>       },
>       "middleName": {
>         "value": "BAUTISTA",
>         "confidence": 68.4
>       },
>       "lastName": {
>         "value": "GARCIA",
>         "confidence": 68.4
>       },
>       "suffix": {
>         "value": null,
>         "confidence": 1
>       },
>       "dateOfBirth": {
>         "value": "1985-06-30",
>         "confidence": 68.4
>       },
>       "gender": {
>         "value": "M",
>         "confidence": 68.4
>       },
>       "nationality": {
>         "value": null,
>         "confidence": 1
>       },
>       "address": {
>         "value": "12 LUNA ST, BRGY SAN ROQUE, CEBU CITY",
>         "confidence": 68.4
>       },
>       "placeOfBirth": {
>         "value": null,
>         "confidence": 1
>       },
>       "precinctNumber": {
>         "value": null,
>         "confidence": 1
>       },
>       "civilStatus": {
>         "value": "SINGLE",
>         "confidence": 68.4
>       },
>       "citizenship": {
>         "value": "FILIPINO",
>         "confidence": 68.4
>       },
>       "photo": null,
>       "signature": null
>     },
>     "missingFields": [
>       "precinctNumber"
>     ]
>   },
>   "verificationStatus": "REVIEW_NEEDED",
>   "verificationStatusCode": 2,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```

### Rejected

A rejection is a completed extraction, not an error: `success` is `true` and HTTP status is `200`. In live mode a rejection is billed. Read the reason from `data.errors.errorCode`.

> **REJECTED — Not a supported Philippine ID**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFElEQVQImWO8IyfHgA0wYRUdtBIA4FYBKNlKVSIAAAAASUVORK5CYII="
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "rejected",
>     "fields": {
>       "documentType": {
>         "value": null,
>         "confidence": 1
>       }
>     },
>     "missingFields": [
>       "documentType"
>     ],
>     "errors": {
>       "errorCode": "wrong_document_type",
>       "errorMessage": "The uploaded document is not a supported Philippines Identity Document"
>     }
>   },
>   "verificationStatus": "REJECTED",
>   "verificationStatusCode": 1,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> `documentType` is `null` when the image is not one of the supported Philippine documents.

> **REJECTED — Passport, MRZ unreadable**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFElEQVQImWOcxlDBgA0wYRUdtBIA1/oBHv+3tTgAAAAASUVORK5CYII="
> }
> ```
>
> **Response** — HTTP `200`
>
> ```json theme={null}
> {
>   "success": true,
>   "message": "Philippines document details extraction processed successfully",
>   "data": {
>     "outcome": "rejected",
>     "fields": {
>       "documentType": {
>         "value": "passport",
>         "confidence": 42.6
>       },
>       "documentNumber": {
>         "value": "P1234567A",
>         "confidence": 42.6
>       },
>       "fullName": {
>         "value": "MENDOZA, CARLO VILLANUEVA",
>         "confidence": 42.6
>       },
>       "firstName": {
>         "value": "CARLO",
>         "confidence": 42.6
>       },
>       "middleName": {
>         "value": "VILLANUEVA",
>         "confidence": 42.6
>       },
>       "lastName": {
>         "value": "MENDOZA",
>         "confidence": 42.6
>       },
>       "suffix": {
>         "value": null,
>         "confidence": 1
>       },
>       "dateOfBirth": {
>         "value": "1995-01-09",
>         "confidence": 42.6
>       },
>       "gender": {
>         "value": "M",
>         "confidence": 42.6
>       },
>       "nationality": {
>         "value": "PHL",
>         "confidence": 42.6
>       },
>       "address": {
>         "value": null,
>         "confidence": 1
>       },
>       "placeOfBirth": {
>         "value": "DAVAO CITY",
>         "confidence": 42.6
>       },
>       "expiryDate": {
>         "value": "2033-04-17",
>         "confidence": 42.6
>       },
>       "issueDate": {
>         "value": "2023-04-18",
>         "confidence": 42.6
>       },
>       "issuingAuthority": {
>         "value": "DFA MANILA",
>         "confidence": 42.6
>       },
>       "mrzLine1": {
>         "value": null,
>         "confidence": 1
>       },
>       "mrzLine2": {
>         "value": null,
>         "confidence": 1
>       },
>       "passportType": {
>         "value": "P",
>         "confidence": 42.6
>       },
>       "countryCode": {
>         "value": "PHL",
>         "confidence": 42.6
>       },
>       "photo": null,
>       "signature": null
>     },
>     "missingFields": [
>       "mrzLine1",
>       "mrzLine2"
>     ],
>     "errors": {
>       "errorCode": "mandatory_fields_unreadable",
>       "errorMessage": "Document lacks clarity or did not meet the required quality standards, causing some fields to fail extraction."
>     }
>   },
>   "verificationStatus": "REJECTED",
>   "verificationStatusCode": 1,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> The card was identified as a passport, but its machine-readable zone could not be read. The fields that were read are still returned.

### Validation failures

All validation failures return HTTP `400` with `code` set to `VALIDATION_FAILED`. They behave identically in sandbox and live.

> **VALIDATION\_FAILED — documentImage missing**
>
> **Request**
>
> ```json theme={null}
> {}
> ```
>
> **Response** — HTTP `400`
>
> ```json theme={null}
> {
>   "success": false,
>   "code": "VALIDATION_FAILED",
>   "message": "The request could not be validated. Please check the submitted fields.",
>   "errors": {
>     "documentImage": [
>       "documentImage is required."
>     ]
>   },
>   "transactionId": null,
>   "verificationType": "philippines_document_details_extraction",
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> `transactionId` is `null` and no transaction row is written.

> **VALIDATION\_FAILED — documentTypes sent**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "<any image>",
>   "documentTypes": [
>     "prc"
>   ]
> }
> ```
>
> **Response** — HTTP `400`
>
> ```json theme={null}
> {
>   "success": false,
>   "code": "VALIDATION_FAILED",
>   "message": "The request could not be validated. Please check the submitted fields.",
>   "errors": {
>     "documentTypes": [
>       "documentTypes is not supported on the passthrough API; the response reports the document type it found."
>     ]
>   },
>   "transactionId": null,
>   "verificationType": "philippines_document_details_extraction",
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> The stateless endpoint does not filter by card type. Omit `documentTypes` and read `data.fields.documentType` from the response instead.

> **VALIDATION\_FAILED — Not a valid image**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "not-an-image"
> }
> ```
>
> **Response** — HTTP `400`
>
> ```json theme={null}
> {
>   "success": false,
>   "code": "VALIDATION_FAILED",
>   "message": "The request could not be validated. Please check the submitted fields.",
>   "verificationStatus": "FAILED",
>   "verificationStatusCode": 6,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> The image is checked after the transaction is opened, so this response carries a real `transactionId` and `verificationStatus` `FAILED`, but no `errors` object. A file over 2 MB, or in a format other than JPG, PNG or PDF, returns the same response. Not billed.

### Source unavailable

Both scenarios return the same response.

> **FAILED — OCR source unavailable, sample 1**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFElEQVQImWOMiopiwAaYsIoOWgkA19wBHiL59rEAAAAASUVORK5CYII="
> }
> ```
>
> **Response** — HTTP `500`
>
> ```json theme={null}
> {
>   "success": false,
>   "code": "SOURCE_UNAVAILABLE",
>   "message": "The verification source is currently unavailable. Please try again later.",
>   "verificationStatus": "FAILED",
>   "verificationStatusCode": 6,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```
>
> 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`. Not billed.

> **FAILED — OCR source unavailable, sample 2**
>
> **Request**
>
> ```json theme={null}
> {
>   "documentImage": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFElEQVQImWPU0NBgwAaYsIoOWgkAY9gAiC+CHEYAAAAASUVORK5CYII="
> }
> ```
>
> **Response** — HTTP `500`
>
> ```json theme={null}
> {
>   "success": false,
>   "code": "SOURCE_UNAVAILABLE",
>   "message": "The verification source is currently unavailable. Please try again later.",
>   "verificationStatus": "FAILED",
>   "verificationStatusCode": 6,
>   "transactionId": "<uuid generated per request>",
>   "verificationType": "philippines_document_details_extraction",
>   "metadata": null,
>   "createdAt": "<UTC timestamp of the request>"
> }
> ```

### 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_document_details_extraction` plan returns HTTP `403` — both enforced in sandbox exactly as in live. See [Sandbox introduction](https://docs.idmetagroup.com/stateless-verification-api/sandbox.md#non-verification-responses) for their envelopes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.