Identify Individual

View as Markdown
Look up an individual on the Australian Immunisation Register (AIR), match by Medicare card, IHI, and personal details, and receive their AIR record together with an opaque `individualIdentifier` for use in subsequent history and update calls. For shared response patterns and the full status-code list, see [AIR Integration](/air). #### Individual Identifier On a successful match, AIR returns `individualDetails.individualIdentifier` — an opaque, encrypted token unique to the individual. <Note> Treat `individualIdentifier` as opaque. Don't display it to end users, log it in customer-facing analytics, or store it anywhere that might leak. Reuse it on every subsequent AIR call for the same individual (history, exemption, indicator updates). </Note> Identifiers are not portable across providers — each information provider gets a different token for the same individual. #### Minimum identification requirements AIR matches against four field combinations, evaluated in order. The first one that uniquely identifies an individual wins; remaining fields are ignored. | Type | Field | 1 | 2 | 3 | 4 | |---|---|---|---|---|---| | MedicareCard | `medicareCardNumber` | ✓ | | | | | PersonalDetails | `dateOfBirth` | ✓ | ✓ | ✓ | ✓ | | PersonalDetails | `lastName` | ✓ | ✓ | ✓ | ✓ | | PersonalDetails | `firstName` | | ✓ | ✓ | | | Address | `postCode` | ✓ | ✓ | | | | IHI | `ihiNumber` | ✓ | | | | | PersonalDetails | `onlyNameIndicator` | ✓ | | | ✓ | Scenario 4 covers individuals with only one name (no `firstName`). Submitting too little returns `AIR-E-1026` (*insufficient information*). Recommended: send Scenario 1 or Scenario 3 — Medicare card or IHI alongside personal details gives the best match. #### Date format Date fields use **DDMMYYYY** with no separators (e.g. `18042016`). #### End-date code AIR returns `individualDetails.endDateCode` when the individual has restrictions on their record. | `endDateCode` | Meaning | Related code | |---|---|---| | `ALL` | Record may not be active, but viewable and partially updatable. | `AIR-W-1062` | | `LIMITED` | Details cannot be viewed; some updates (including recording new encounters) are still allowed. | `AIR-W-1059` | | `NONE` | Details cannot be viewed and record cannot be updated. | `AIR-E-1058` | <Note> Don't display `endDateCode` to end users — it's an internal AIR signal. Use it to drive UI state (read-only, partial-update, full-access) but show the human-readable consequence to the user, not the code itself. </Note> #### Status Codes Top-level outcomes for this endpoint: | Code | Meaning | |---|---| | `AIR-I-1100` | Individual matched. `individualDetails` returned. | | `AIR-W-1062` | Matched, but with `endDateCode: ALL` — record partially restricted. | | `AIR-W-1059` | Matched, but with `endDateCode: LIMITED` — details not viewable. | | `AIR-E-1005` | Validation errors. Common: `AIR-E-1026` insufficient info, `AIR-E-1035` not found. | | `AIR-E-1058` | `endDateCode: NONE` — record cannot be viewed or updated. |

Authentication

x-api-keystring
API Key authentication via header
x-minor-idstring
API Key authentication via header

Request

This endpoint expects an object.
individualobjectRequired

Identification details. See the Minimum identification requirements table in the operation description for valid combinations.

informationProviderobjectRequired

Response

OK
statusCodestring

AIR status code. See Status codes.

codeTypestring

Code-type category.

messagestring
Status message from AIR.
individualDetailsobject or null

Present on a successful match (AIR-I-1100) and on the end-date warnings (AIR-W-1059, AIR-W-1062). null on validation errors and AIR-E-1058.

errorslist of objects or null

Field-level validation problems. Present when statusCode is AIR-E-1005. See Validation codes.

correlationIdstring
Unique request identifier. Include in support tickets so we can trace the request.