# Show an IDPass

`GET /idpasses/{idpass_uuid}`

- Base: `GET https://portal.watcheye.com.au/api/v1/idpasses/{idpass_uuid}`

Returns a single IDPass by UUID with its full configuration, current status, verification
outcome, document/validation summaries, activity log, available image metadata and a link
back to the originating ID check.

## Asynchronous result

An IDPass is completed by the individual via a hosted link, so the result arrives
asynchronously. Poll this endpoint until `status` reaches a terminal value
(`complete`, `expired`, `failed` or `cancelled`).

## Images and PDF

The `images` array contains metadata only. Fetch image bytes via
[download IDPass image](/docs/reference/idpass.image) and the verification certificate via
[download IDPass PDF](/docs/reference/idpass.pdf).

## Parameters

| Name | In | Type | Description |
|------|----|------|-------------|
| `idpass_uuid` | path | string (uuid) | **Required.** The uuid of the IDPass. |

## Responses

### 200 IDPass response

Content type: `application/json`

| Field | Type | Description |
|-------|------|-------------|
| `data` | object | A remote identity verification (IDPass) - list envelope. |
| `data.uuid` | string (uuid) | The IDPass identifier. Use it with the show, image and PDF endpoints. Example: `5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a` |
| `data.source` | string | Whether the IDPass is bound to a saved entity or was launched adhoc. Enum: `entity`, `adhoc` Example: `entity` |
| `data.status` | string | Where the individual is in the hosted flow: * `new` - the link has not been opened * `opened` - the welcome page was passed * `in_progress` - consent was given and documents are being submitted * `complete` - the verification finished; read `verification_status` for the outcome * `expired` - `link_validity_days` elapsed before completion * `failed` - the verification could not be completed * `cancelled` - cancelled in the portal The last four are terminal. Enum: `new`, `opened`, `in_progress`, `complete`, `expired`, `failed`, `cancelled` Example: `complete` |
| `data.completed` | boolean | True once the IDPass has reached a terminal status. Example: `true` |
| `data.verification_status` | string or null | The outcome once `status` is terminal, null until then: * `passed` - the identity was verified * `review` - the identity was verified but flagged for review in the portal; treat it as not yet passed * `failed` - the identity was not verified (including an expired or cancelled IDPass) Enum: `passed`, `review`, `failed` Example: `passed` |
| `data.requester_name` | string | Your organisation's name as shown to the individual on the consent page. It comes from the DVS identity (OAC) the IDPass was issued under. Example: `Sample Company Pty Ltd` |
| `data.check_liveness` | boolean | Whether the individual was asked to complete a face liveness check. Example: `true` |
| `data.require_id_photo` | boolean | Whether the individual was asked to supply a standalone ID photo. Example: `true` |
| `data.document_allowed_types` | object | The allowed document types for each of the (up to three) verification steps. |
| `data.document_allowed_types.document_1` | array of strings | The document types the individual could present for the first step: * `licence` - Australian driver licence * `passport` - Australian passport * `medicare` - Medicare card * `visa` - foreign passport with an Australian visa * `centrelink` - Centrelink card (details typed in, no photo) * `birth_certificate` - Australian birth certificate (details typed in, no photo) * `nz_licence` - New Zealand driver licence Enum: `licence`, `passport`, `medicare`, `visa`, `centrelink`, `birth_certificate`, `nz_licence` |
| `data.document_allowed_types.document_2` | array of strings | The document types for the second step, from the same list as `document_1`. Empty when there is no second step. Enum: `licence`, `passport`, `medicare`, `visa`, `centrelink`, `birth_certificate`, `nz_licence` |
| `data.document_allowed_types.document_3` | array of strings | The document types for the third step, from the same list as `document_1`. Empty when there is no third step. Enum: `licence`, `passport`, `medicare`, `visa`, `centrelink`, `birth_certificate`, `nz_licence` |
| `data.link_validity_days` | integer | How many days the hosted link stays open before the IDPass expires. Example: `7` |
| `data.return_verification_images` | boolean | Whether verification images are retained and made available for download. Example: `true` |
| `data.delivery_method` | string or null | How the link reached the individual: * `sms` - WatchEye sent it to `delivery_phone` by text message * `manual` - you delivered `idpass_link` yourself Enum: `manual`, `sms` Example: `sms` |
| `data.idpass_link` | string or null | The hosted link the individual opens to complete their verification. Treat it as opaque - pass it on as-is and do not parse or rebuild it. Example: `https://idpass.globaldata.net.au/idpass?token=abcd123456` |
| `data.sent_at` | string (date-time) or null | When the link was sent by SMS. Null when `delivery_method` is `manual`. Example: `2026-08-01T02:15:30+00:00` |
| `data.created_at` | string (date-time) or null | When the IDPass was launched. Example: `2026-08-01T02:15:28+00:00` |
| `data.detail_url` | string | Path to the full IDPass resource (GET /v1/idpasses/{uuid}). Example: `/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a` |
| `data.id_photo_purpose` | string or null | The purpose text shown to the individual when an ID photo is required, completing the sentence "This image will be used for ...". Null when no ID photo was required. Example: `the SampleCo Membership Card` |
| `data.return_url` | string or null | The URL the individual is offered once the verification is complete, if one was configured. Example: `https://example.com/verification-complete` |
| `data.privacy_policy_url` | string or null | The privacy policy linked from the consent page. It comes from the OAC configuration on your account. Example: `https://example.com/privacy` |
| `data.dvs_oac` | string or null | The DVS identity (Originating Agency Code) the IDPass was issued under. Example: `ABC123` |
| `data.delivery_phone` | string or null | The mobile number the link was sent to. Null when `delivery_method` is `manual`. Example: `0412345678` |
| `data.verification_description` | string or null | A human-readable reason for `verification_status`, as reported by the verification platform. Null until the IDPass is terminal. Example: `The identity was verified successfully` |
| `data.document_summary` | object (dynamic) or null | What happened with each document the individual presented, keyed `document_1`, `document_2` and `document_3` (plus `id_photo` when one was required). Empty until a document has been processed. Each document carries: * `document_type` - one of the allowed document types. * `ocr_status` and `ocr_attempts` - how the photo of the document was read (`running`, `failed` or `complete`; null for manually entered types). * `validation_status` and `validation_attempts` - how the document was verified. * `validation_result` - the verifier's answer. For DVS-verified documents this holds `verification_result_code` (`Y` valid, `N` not valid, `D` details not found), `verification_request_number`, `additional_information` (the DVS codes and messages behind an `N`) and `checked_at`. * `biometric_result` - when a liveness check was performed and the document has a photo: `passed`, `similarity`, `threshold` and `face_occluded`. * `ocr_data` - the fields read from the document, and `validation_data` - the fields actually submitted for verification, after any corrections the individual made. |
| `data.validation_summary` | object (dynamic) or null | The verification outcome as a whole. Empty until the individual has finished. Contains: * `liveness_result` - when a liveness check was performed: `validated`, `confidence` and `liveness_attempts`. * `id_photo_result` - when an ID photo was required: `status`, `image_passed` and `biometric_passed`. * `document_1_result`, `document_2_result`, `document_3_result` - per step: `document_type`, the `validated_fields` (name and date of birth) that were checked, `biographic_validated`, `biometric_validated`, `biometric_similarity`, `biometric_threshold` and any `changes` the individual made to the fields read from the document before verification. * `verified_identity` - the name and date of birth established across the documents, or null when no consistent identity could be established. * `requested_identity_mismatch` - true when the identity you supplied in `data` did not match the verified identity. Informational only; it does not fail the verification. |
| `data.log` | array of strings or null | The activity log of the hosted flow, one entry per step the individual attempted. Useful for support when someone reports trouble completing the link. |
| `data.consent_given_at` | string (date-time) or null | When the individual accepted the consent statement. Null until they do. Example: `2026-08-01T02:16:40+00:00` |
| `data.images` | array of objects | Metadata for each available image (no binary payload). Fetch the bytes via [download IDPass image](/docs/reference/idpass.image). Images are only present when the IDPass was launched with `return_verification_images` set to `true`. |
| `data.images[].type` | string | The image identifier to pass to the image endpoint. Document images are named `{document_type}_{side}` (for example `licence_front`, `licence_back`, `passport_photo`); the liveness selfie is `probe_image` and the standalone ID photo is `id_photo`, each also available cropped to the face as `probe_image_cropped` and `id_photo_cropped`. Example: `licence_front` |
| `data.images[].title` | string | A display label for the image. Example: `Drivers Licence Front` |
| `data.images[].mime_type` | string | Example: `image/jpeg` |
| `data.images[].url` | string | Path to the image bytes (GET /v1/idpasses/{uuid}/images/{type}). Example: `/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a/images/licence_front` |
| `data.id_check` | object or null | The originating ID check (entity-bound or adhoc) plus a link to it. |
| `data.id_check.type` | string | Whether the ID check belongs to an entity or was adhoc. Enum: `entity`, `adhoc` Example: `entity` |
| `data.id_check.uuid` | string (uuid) | Example: `8a0d2f4e-6b1c-4e9a-b3d7-2c5e1f6a9b0d` |
| `data.id_check.check_number` | string | The ID check's reference number as shown in the portal. Example: `IDC-000123` |
| `data.id_check.url` | string | Path to the ID check resource. Example: `/v1/id-checks/8a0d2f4e-6b1c-4e9a-b3d7-2c5e1f6a9b0d` |
| `data.pdf_url` | string | Path to the verification certificate (GET /v1/idpasses/{uuid}/pdf), available once the IDPass is terminal. Example: `/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a/pdf` |
| `api_reference` | string (uuid) |  |

**Sample response**

```json
{
    "data": {
        "uuid": "5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a",
        "source": "entity",
        "status": "complete",
        "completed": true,
        "verification_status": "passed",
        "requester_name": "Sample Company Pty Ltd",
        "check_liveness": true,
        "require_id_photo": true,
        "document_allowed_types": {
            "document_1": [
                "licence",
                "passport"
            ],
            "document_2": [
                "medicare"
            ],
            "document_3": []
        },
        "link_validity_days": 7,
        "return_verification_images": true,
        "delivery_method": "sms",
        "idpass_link": "https://idpass.globaldata.net.au/idpass?token=abcd123456",
        "sent_at": "2026-08-01T02:15:30+00:00",
        "created_at": "2026-08-01T02:15:28+00:00",
        "detail_url": "/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a",
        "id_photo_purpose": "the SampleCo Membership Card",
        "return_url": "https://example.com/verification-complete",
        "privacy_policy_url": "https://example.com/privacy",
        "dvs_oac": "ABC123",
        "delivery_phone": "0412345678",
        "verification_description": "The identity was verified successfully",
        "document_summary": {
            "document_1": {
                "document_type": "licence",
                "ocr_status": "complete",
                "ocr_attempts": 1,
                "validation_status": "complete",
                "validation_attempts": 1,
                "validation_result": {
                    "strategy": "dvs",
                    "verification_result_code": "Y",
                    "verification_request_number": "7a3ed6e1-b707-4e2d-bacb-e2dfe8f57406",
                    "additional_information": [],
                    "checked_at": "2026-08-01 02:28:53"
                },
                "biometric_result": {
                    "passed": true,
                    "threshold": 80,
                    "similarity": 98.876,
                    "face_occluded": false
                },
                "ocr_data": {
                    "first_name": "John",
                    "last_name": "Smith",
                    "date_of_birth": "1980-06-23",
                    "licence_number": "123456789"
                },
                "validation_data": {
                    "first_name": "John",
                    "last_name": "Smith",
                    "date_of_birth": "1980-06-23",
                    "licence_number": "123456789"
                }
            }
        },
        "validation_summary": {
            "liveness_result": {
                "validated": true,
                "confidence": "99.811",
                "liveness_attempts": 1
            },
            "document_1_result": {
                "document_type": "licence",
                "validated_fields": {
                    "first_name": "John",
                    "last_name": "Smith",
                    "date_of_birth": "1980-06-23"
                },
                "biographic_validated": true,
                "biometric_validated": true,
                "biometric_similarity": "98.876",
                "biometric_threshold": 80,
                "changes": []
            },
            "verified_identity": {
                "first_name": "John",
                "middle_name": null,
                "last_name": "Smith",
                "date_of_birth": "1980-06-23"
            },
            "requested_identity_mismatch": false
        },
        "log": [
            "2026-08-01 02:16:02 Welcome page opened",
            "2026-08-01 02:16:40 Consent given",
            "2026-08-01 02:18:15 Document 1 (licence) captured",
            "2026-08-01 02:19:03 Liveness check passed"
        ],
        "consent_given_at": "2026-08-01T02:16:40+00:00",
        "images": [
            {
                "type": "licence_front",
                "title": "Drivers Licence Front",
                "mime_type": "image/jpeg",
                "url": "/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a/images/licence_front"
            }
        ],
        "id_check": {
            "type": "entity",
            "uuid": "8a0d2f4e-6b1c-4e9a-b3d7-2c5e1f6a9b0d",
            "check_number": "IDC-000123",
            "url": "/v1/id-checks/8a0d2f4e-6b1c-4e9a-b3d7-2c5e1f6a9b0d"
        },
        "pdf_url": "/v1/idpasses/5b1c7c8e-0b6e-4f0a-9b3a-1f2e3d4c5b6a/pdf"
    },
    "api_reference": "00000000-0000-0000-0000-000000000000"
}
```

Standard error responses: 401, 403, 404, 429, 5XX (see [Common error responses](/docs/reference/general/common-error-responses.md))

