For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
    • Home
  • API Reference
        • POSTIdentify Individual
        • POSTImmunisation History Details
        • POSTMedical Contraindication History
        • POSTNatural Immunity History
        • POSTVaccine Trial History
        • POSTAdd Additional Vaccine Indicator
        • POSTRemove Additional Vaccine Indicator
        • POSTIndigenous Status Update
        • POSTImmunisation History Statement
        • POSTUpdate Encounter
  • Guides
    • Minor ID Setup
    • Architecture
    • Security & Governance
    • PRODA
    • DVA Integration
    • AIR Integration
    • Integration test data
    • Troubleshooting
LogoLogo
API ReferenceAIRIndividual Details

Identify Individual

||View as Markdown|
POST
/AIR/v1.1/individual/details
POST
/AIR/v1.1/individual/details
$curl -X POST https://api.rebateright.com.au/AIR/v1.1/individual/details \
> -H "x-api-key: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "individual": {
> "personalDetails": {
> "dateOfBirth": "18042016",
> "firstName": "Tyson",
> "lastName": "HARDIE"
> },
> "medicareCard": {
> "medicareCardNumber": "4951633381",
> "medicareIRN": "6"
> },
> "ihiNumber": "8003608666974126"
> },
> "informationProvider": {
> "providerNumber": "T39126X"
> }
>}'
200Success
1{
2 "statusCode": "AIR-I-1100",
3 "codeType": "AIRIBU",
4 "message": "Your request was successfully processed.",
5 "individualDetails": {
6 "individualIdentifier": "wXrN7bKidsrIHzwqkDkGJHDOYBHbiH_3fEgIe4PEaESYj0qNDFRSdnqCM0BvbRF-9maImeb7tXpSC50uqA-T_wGPH8QDag8rTHC-N11jTan2OY_92X9U6Q==",
7 "individual": {
8 "personalDetails": {
9 "dateOfBirth": "18042016",
10 "firstName": "TYSON",
11 "lastName": "HARDIE",
12 "initial": "B",
13 "onlyNameIndicator": false
14 },
15 "medicareCard": {
16 "medicareCardNumber": "4951633381",
17 "medicareIRN": "6"
18 },
19 "address": {
20 "addressLineOne": "163 COPPER JNC",
21 "addressLineTwo": "",
22 "locality": "SUSAN RIVER",
23 "postCode": "4655"
24 }
25 },
26 "catchupDate": "18012026",
27 "indigenousStatus": false,
28 "additionalVaccineIndicator": false,
29 "medContraindicationIndicator": false,
30 "naturalImmunityIndicator": false,
31 "vaccineTrialIndicator": false,
32 "actionRequiredIndicator": false
33 },
34 "correlationId": "urn:uuid:MDE00000823f4740a0fd4da7"
35}
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. |
Was this page helpful?
Previous

Planned Catch-up Date

Next

Immunisation History Details

Built with

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.

Individual Identifier

On a successful match, AIR returns individualDetails.individualIdentifier — an opaque, encrypted token unique to the individual.

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).

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.

TypeField1234
MedicareCardmedicareCardNumber✓
PersonalDetailsdateOfBirth✓✓✓✓
PersonalDetailslastName✓✓✓✓
PersonalDetailsfirstName✓✓
AddresspostCode✓✓
IHIihiNumber✓
PersonalDetailsonlyNameIndicator✓✓

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.

endDateCodeMeaningRelated code
ALLRecord may not be active, but viewable and partially updatable.AIR-W-1062
LIMITEDDetails cannot be viewed; some updates (including recording new encounters) are still allowed.AIR-W-1059
NONEDetails cannot be viewed and record cannot be updated.AIR-E-1058

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.

Status Codes

Top-level outcomes for this endpoint:

CodeMeaning
AIR-I-1100Individual matched. individualDetails returned.
AIR-W-1062Matched, but with endDateCode: ALL — record partially restricted.
AIR-W-1059Matched, but with endDateCode: LIMITED — details not viewable.
AIR-E-1005Validation errors. Common: AIR-E-1026 insufficient info, AIR-E-1035 not found.
AIR-E-1058endDateCode: 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.