> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rebateright.com.au/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rebateright.com.au/_mcp/server.

# Record Encounter

POST https://api.rebateright.com.au/AIR/v1.4/encounters/record
Content-Type: application/json

Record vaccinations to the Australian Immunisation Register (AIR). One request can carry up to 10 encounters; each encounter is a single visit and can hold up to five episodes (one per vaccine administered).

For shared response patterns and the full status-code list, see [AIR Integration](/air).

#### Modes

The endpoint accepts two request shapes against the same URL:

- **Add** — the standard submission. Identify the individual, list the encounter(s), and submit.
- **Confirm** — re-submit with the `claimId` from a previous response to accept pended episodes (when AIR returned warnings such as a dose adjustment) or to create a new individual that AIR couldn't find on the first call (`acceptAndConfirm: "Y"`).

#### Date format

Date fields (`dateOfBirth`, `dateOfService`) use **DDMMYYYY** with no separators (e.g. `18042016`). This is different from the ISO `YYYY-MM-DD` used by Medicare and DVA endpoints.

#### Identifying the individual

Provide enough detail for AIR to match the individual. AIR returns `AIR-W-1004` if it can't match — resubmit with `individual.acceptAndConfirm: "Y"` and the personal details and address (no Medicare card or IHI) to create a new record.

#### Status Codes

Top-level outcomes for this endpoint:

| Code | Meaning |
|---|---|
| `AIR-I-1007` | All encounter(s) successfully recorded. |
| `AIR-W-1004` | Individual not found. Resubmit with `acceptAndConfirm: "Y"` if the details are correct. |
| `AIR-W-1008` | Some encounter(s) not recorded. `claimDetails.encounters[]` shows which failed. |
| `AIR-E-1005` | Validation errors. See `errors[]`. |
| `AIR-E-1046` | Encounter-level errors — correct and resubmit, or remove the invalid encounter(s). |

Encounter-level and episode-level codes (`AIR-I-1000`, `AIR-W-1001`, `AIR-I-1002`, `AIR-I-1003`, `AIR-E-0102`) appear in `claimDetails.encounters[].information.code` and `claimDetails.encounters[].episodes[].information.code`. See [AIR Integration](/air) for the full list.


Reference: https://docs.rebateright.com.au/api-reference/air/record-encounter/record-encounter

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /AIR/v1.4/encounters/record:
    post:
      operationId: record-encounter
      summary: Record Encounter
      description: >
        Record vaccinations to the Australian Immunisation Register (AIR). One
        request can carry up to 10 encounters; each encounter is a single visit
        and can hold up to five episodes (one per vaccine administered).


        For shared response patterns and the full status-code list, see [AIR
        Integration](/air).


        #### Modes


        The endpoint accepts two request shapes against the same URL:


        - **Add** — the standard submission. Identify the individual, list the
        encounter(s), and submit.

        - **Confirm** — re-submit with the `claimId` from a previous response to
        accept pended episodes (when AIR returned warnings such as a dose
        adjustment) or to create a new individual that AIR couldn't find on the
        first call (`acceptAndConfirm: "Y"`).


        #### Date format


        Date fields (`dateOfBirth`, `dateOfService`) use **DDMMYYYY** with no
        separators (e.g. `18042016`). This is different from the ISO
        `YYYY-MM-DD` used by Medicare and DVA endpoints.


        #### Identifying the individual


        Provide enough detail for AIR to match the individual. AIR returns
        `AIR-W-1004` if it can't match — resubmit with
        `individual.acceptAndConfirm: "Y"` and the personal details and address
        (no Medicare card or IHI) to create a new record.


        #### Status Codes


        Top-level outcomes for this endpoint:


        | Code | Meaning |

        |---|---|

        | `AIR-I-1007` | All encounter(s) successfully recorded. |

        | `AIR-W-1004` | Individual not found. Resubmit with `acceptAndConfirm:
        "Y"` if the details are correct. |

        | `AIR-W-1008` | Some encounter(s) not recorded.
        `claimDetails.encounters[]` shows which failed. |

        | `AIR-E-1005` | Validation errors. See `errors[]`. |

        | `AIR-E-1046` | Encounter-level errors — correct and resubmit, or
        remove the invalid encounter(s). |


        Encounter-level and episode-level codes (`AIR-I-1000`, `AIR-W-1001`,
        `AIR-I-1002`, `AIR-I-1003`, `AIR-E-0102`) appear in
        `claimDetails.encounters[].information.code` and
        `claimDetails.encounters[].episodes[].information.code`. See [AIR
        Integration](/air) for the full list.
      tags:
        - subpackage_air.subpackage_air/recordEncounter
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AIR_Record Encounter_Record
                  Encounter_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                informationProvider:
                  $ref: >-
                    #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
                individual:
                  $ref: >-
                    #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual
                  description: >-
                    The patient receiving the vaccinations. Required for the Add
                    mode; not required when the request is a Confirm with
                    `claimId`.
                encounters:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems
                  description: >-
                    One or more encounters (visits). Up to 10 per request. Each
                    can carry up to 5 episodes.
                claimId:
                  type: string
                  description: >-
                    Set this on a Confirm request to the `claimId` returned by
                    the initial Add response. Omit on Add requests.
              required:
                - informationProvider
                - encounters
servers:
  - url: https://api.rebateright.com.au
    description: Production
  - url: https://test-api.rebateright.com.au
    description: Test
components:
  schemas:
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare provider number or AIR provider number of the entity
            sending the data. Must be current at the submission date.
        hpioNumber:
          type: string
          description: >-
            Optional. Healthcare Provider Identifier — Organisation (HPI-O). 16
            digits.
        hpiiNumber:
          type: string
          description: >-
            Optional. Healthcare Provider Identifier — Individual (HPI-I). 16
            digits.
      required:
        - providerNumber
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaInformationProvider
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender:
      type: string
      enum:
        - F
        - M
        - X
      description: |
        Individual's gender.

        | Code | Meaning |
        |---|---|
        | `F` | Female |
        | `M` | Male |
        | `X` | Non-binary |
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails:
      type: object
      properties:
        dateOfBirth:
          type: string
          description: >-
            DDMMYYYY format (e.g. `18042016`). Cannot be a future date or more
            than 130 years in the past.
        firstName:
          type: string
          description: >-
            1–40 alphanumeric characters. Omit when `onlyNameIndicator` is
            `true`.
        lastName:
          type: string
          description: 1–40 alphanumeric characters.
        initial:
          type: string
          description: Middle/second name initial.
        onlyNameIndicator:
          type: boolean
          description: >-
            `true` if the individual has only one name (no first name and no
            initial). Stored only when creating a new individual.
        gender:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetailsGender
          description: |
            Individual's gender.

            | Code | Meaning |
            |---|---|
            | `F` | Female |
            | `M` | Male |
            | `X` | Non-binary |
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard:
      type: object
      properties:
        medicareCardNumber:
          type: string
          description: 10-digit Medicare card number.
        medicareIRN:
          type: string
          description: >-
            Individual Reference Number — single digit identifying the family
            member on the Medicare card.
      description: >-
        Medicare card details when known. Provide together with IHI for the best
        match.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress:
      type: object
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
          description: Only set when `addressLineOne` is provided.
        locality:
          type: string
          description: Suburb or town.
        postCode:
          type: string
          description: 4-digit Australian postcode.
      description: Required when creating a new individual (set `acceptAndConfirm` to `Y`).
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: >
        Aboriginal or Torres Strait Islander descent, as voluntarily provided by
        the individual. Stored only when creating a new individual.


        | Code | Meaning |

        |---|---|

        | `Y` | Of Aboriginal or Torres Strait Islander descent |

        | `N` | Not of Aboriginal or Torres Strait Islander descent |
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: >-
        Set to `Y` on a follow-up Confirm request to create a new individual
        when AIR previously returned `AIR-W-1004` (Individual not found). Must
        not be combined with `medicareCard` or `ihiNumber` — AIR rejects with
        `AIR-E-1031`.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual:
      type: object
      properties:
        personalDetails:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualPersonalDetails
        medicareCard:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualMedicareCard
          description: >-
            Medicare card details when known. Provide together with IHI for the
            best match.
        address:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAddress
          description: >-
            Required when creating a new individual (set `acceptAndConfirm` to
            `Y`).
        ihiNumber:
          type: string
          description: 16-digit Individual Healthcare Identifier (IHI).
        atsiIndicator:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAtsiIndicator
          description: >
            Aboriginal or Torres Strait Islander descent, as voluntarily
            provided by the individual. Stored only when creating a new
            individual.


            | Code | Meaning |

            |---|---|

            | `Y` | Of Aboriginal or Torres Strait Islander descent |

            | `N` | Not of Aboriginal or Torres Strait Islander descent |
        acceptAndConfirm:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividualAcceptAndConfirm
          description: >-
            Set to `Y` on a follow-up Confirm request to create a new individual
            when AIR previously returned `AIR-W-1004` (Individual not found).
            Must not be combined with `medicareCard` or `ihiNumber` — AIR
            rejects with `AIR-E-1031`.
      description: >-
        The patient receiving the vaccinations. Required for the Add mode; not
        required when the request is a Confirm with `claimId`.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaIndividual
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType:
      type: string
      enum:
        - NIP
        - OTH
      description: >
        Vaccine funding type.


        | Code | Meaning |

        |---|---|

        | `NIP` | National Immunisation Program / Commonwealth |

        | `OTH` | Other |


        Mandatory for some vaccines — see the AIR Reference Data
        `vaccine/mandatory/vaccineType` endpoint.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration:
      type: string
      enum:
        - PO
        - SC
        - ID
        - IM
        - NS
      description: >
        Route of administration.


        | Code | Meaning |

        |---|---|

        | `PO` | Oral |

        | `SC` | Subcutaneous |

        | `ID` | Intradermal |

        | `IM` | Intramuscular |

        | `NS` | Nasal |


        Mandatory for some vaccines — see the AIR Reference Data
        `vaccine/mandatory/routeOfAdministration` endpoint.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems:
      type: object
      properties:
        id:
          type: integer
          description: Sequential id within the encounter, starting at 1.
        vaccineCode:
          type: string
          description: >-
            AIR vaccine brand code (e.g. `BEXO`, `BOOST`, `ACAM`). Look up valid
            values via the [Reference Data](/air) vaccine endpoint.
        vaccineDose:
          type: string
          description: >
            Dose number.


            | Value | Meaning |

            |---|---|

            | `B` | Birth dose |

            | `1`–`20` | Dose number for individuals under 20 |

            | `V` | Dose for individuals over 20 (returned by AIR when it
            adjusts the dose) |
        vaccineBatch:
          type: string
          description: >-
            Batch number. 1–15 characters. Mandatory for some vaccines — see the
            AIR Reference Data `vaccine/mandatory/vaccineBatch` endpoint.
        vaccineType:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsVaccineType
          description: >
            Vaccine funding type.


            | Code | Meaning |

            |---|---|

            | `NIP` | National Immunisation Program / Commonwealth |

            | `OTH` | Other |


            Mandatory for some vaccines — see the AIR Reference Data
            `vaccine/mandatory/vaccineType` endpoint.
        routeOfAdministration:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItemsRouteOfAdministration
          description: >
            Route of administration.


            | Code | Meaning |

            |---|---|

            | `PO` | Oral |

            | `SC` | Subcutaneous |

            | `ID` | Intradermal |

            | `IM` | Intramuscular |

            | `NS` | Nasal |


            Mandatory for some vaccines — see the AIR Reference Data
            `vaccine/mandatory/routeOfAdministration` endpoint.
      required:
        - id
        - vaccineCode
        - vaccineDose
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider:
      type: object
      properties:
        providerNumber:
          type: string
          description: >-
            Medicare or AIR provider number. Must be current at the date of
            service.
        hpioNumber:
          type: string
          description: >-
            16-digit HPI-O of the healthcare organisation that administered the
            vaccine.
        hpiiNumber:
          type: string
          description: >-
            16-digit HPI-I of the healthcare professional that administered the
            vaccine.
      description: >-
        The provider who administered the vaccine. Omit when
        `administeredOverseas` is `true`. If omitted otherwise, AIR records a
        generic history provider number.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm:
      type: string
      enum:
        - 'Y'
        - 'N'
      description: >-
        Set to `Y` on a Confirm request to accept any pended episodes returned
        from the initial submission.
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm
    AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems:
      type: object
      properties:
        id:
          type: integer
          description: Sequential id within the request, starting at 1.
        episodes:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsEpisodesItems
          description: Vaccines administered in this encounter.
        immunisationProvider:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsImmunisationProvider
          description: >-
            The provider who administered the vaccine. Omit when
            `administeredOverseas` is `true`. If omitted otherwise, AIR records
            a generic history provider number.
        schoolId:
          type: string
          description: >-
            Optional. AIR-assigned ID of the school where the vaccine was
            administered.
        antenatalIndicator:
          type: boolean
          description: >-
            `true` if the individual was pregnant at the time. Mandatory for
            female individuals aged 10–65 receiving certain vaccines — see the
            AIR Reference Data `vaccine/mandatory/antenatalIndicator` endpoint.
        administeredOverseas:
          type: boolean
          description: >-
            `true` if the vaccine was administered outside Australia. Must not
            be combined with `immunisationProvider`.
        countryCode:
          type: string
          description: >-
            Required when `administeredOverseas` is `true`. ICAO country/region
            code (look up via the AIR Reference Data `country` endpoint).
        acceptAndConfirm:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItemsAcceptAndConfirm
          description: >-
            Set to `Y` on a Confirm request to accept any pended episodes
            returned from the initial submission.
        dateOfService:
          type: string
          description: >-
            DDMMYYYY format. Date the vaccinations were administered. Must be
            after the individual's date of birth and not in the future.
      required:
        - id
        - episodes
        - dateOfService
      title: >-
        AirV14EncountersRecordPostRequestBodyContentApplicationJsonSchemaEncountersItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: AIR validation code.
        field:
          type: string
          description: Human-readable name of the field that failed validation.
        message:
          type: string
          description: Plain-language description of the validation problem.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus:
      type: string
      enum:
        - SUCCESS
        - WARNING
      description: |
        Encounter-level outcome.

        | Value | Meaning |
        |---|---|
        | `SUCCESS` | Encounter recorded successfully |
        | `WARNING` | Encounter not recorded successfully |
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformationStatus
          description: |
            Encounter-level outcome.

            | Value | Meaning |
            |---|---|
            | `SUCCESS` | Encounter recorded successfully |
            | `WARNING` | Encounter not recorded successfully |
        code:
          type: string
          description: >-
            AIR encounter-level code (e.g. `AIR-I-1000` recorded, `AIR-W-1001`
            not recorded, `AIR-E-0102` duplicate vaccination services).
        text:
          type: string
          description: Message text from AIR.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus:
      type: string
      enum:
        - VALID
        - INVALID
      description: |
        Episode-level outcome.

        | Value | Meaning |
        |---|---|
        | `VALID` | Episode accepted |
        | `INVALID` | Episode rejected |
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation:
      type: object
      properties:
        status:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformationStatus
          description: |
            Episode-level outcome.

            | Value | Meaning |
            |---|---|
            | `VALID` | Episode accepted |
            | `INVALID` | Episode rejected |
        code:
          type: string
          description: >-
            AIR episode-level code (e.g. `AIR-I-1002` valid, `AIR-I-1003` dose
            adjusted).
        text:
          type: string
          description: Message text from AIR.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems:
      type: object
      properties:
        id:
          type: integer
        vaccineCode:
          type: string
        vaccineDose:
          type: string
          description: >-
            May differ from the submitted dose when AIR adjusted it (e.g.
            submitted `1` returned as `A01` for an over-20 individual, with code
            `AIR-I-1003`).
        vaccineBatch:
          type: string
        vaccineType:
          type: string
        routeOfAdministration:
          type: string
        information:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItemsInformation
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems:
      type: object
      properties:
        id:
          type: string
          description: Echo of the encounter `id` from the request.
        claimSequenceNumber:
          type: string
          description: >-
            AIR-generated sequence number for this encounter within the claim.
            Must be set on a Confirm request when `claimId` is set.
        antenatalIndicator:
          type: boolean
          description: Echo of `antenatalIndicator` from the request.
        information:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsInformation
        episodes:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItemsEpisodesItems
          description: >-
            Returned per episode that has information to report. `null` when
            every episode in the encounter was straightforward.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems
    AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails:
      type: object
      properties:
        claimId:
          type: string
          description: >-
            Unique claim identifier assigned by AIR. Reuse on a Confirm request
            to accept pended episodes.
        encounters:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetailsEncountersItems
          description: >-
            Populated when AIR has encounter-level or episode-level information
            to report (warnings, dose adjustments, errors). `null` when every
            encounter recorded cleanly.
      description: >-
        Claim summary. Present on success (`AIR-I-1007`) or partial success
        (`AIR-W-1008`, `AIR-E-1046`). `null` on validation failures and
        `AIR-W-1004`.
      title: >-
        AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails
    AIR_Record Encounter_Record Encounter_Response_200:
      type: object
      properties:
        statusCode:
          type: string
          description: AIR status code. See [Status codes](/air#status-codes).
        codeType:
          type: string
          description: >-
            Code-type category. `AIRIBU` on success, `AIRWBU` on warnings,
            `AIREBU` on validation errors.
        message:
          type: string
          description: Status message from AIR.
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaErrorsItems
          description: >-
            Field-level validation problems. Present when `statusCode` is
            `AIR-E-1005`. See [Validation codes](/air#validation-codes).
        claimDetails:
          $ref: >-
            #/components/schemas/AirV14EncountersRecordPostResponsesContentApplicationJsonSchemaClaimDetails
          description: >-
            Claim summary. Present on success (`AIR-I-1007`) or partial success
            (`AIR-W-1008`, `AIR-E-1046`). `null` on validation failures and
            `AIR-W-1004`.
        correlationId:
          type: string
          description: >-
            Unique request identifier. Include in support tickets so we can
            trace the request.
      title: AIR_Record Encounter_Record Encounter_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    minorId:
      type: apiKey
      in: header
      name: x-minor-id

```

## Examples

### Success



**Request**

```json
{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    },
    "ihiNumber": "8003608666974126"
  }
}
```

**Response**

```json
{
  "statusCode": "AIR-I-1007",
  "codeType": "AIRIBU",
  "message": "All encounter(s) were successfully recorded.",
  "claimDetails": {
    "claimId": "WB021Y6$",
    "encounters": null
  },
  "correlationId": "urn:uuid:MDE00000c5fd264090974984"
}
```

**SDK Code**

```python Success
import requests

url = "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

payload = {
    "informationProvider": { "providerNumber": "T39126X" },
    "encounters": [
        {
            "id": 1,
            "episodes": [
                {
                    "id": 1,
                    "vaccineCode": "BEXO",
                    "vaccineDose": "1",
                    "vaccineBatch": "ABC123",
                    "vaccineType": "NIP"
                }
            ],
            "dateOfService": "20052026"
        }
    ],
    "individual": {
        "personalDetails": {
            "dateOfBirth": "18042016",
            "firstName": "Tyson",
            "lastName": "HARDIE"
        },
        "medicareCard": {
            "medicareCardNumber": "4951633381",
            "medicareIRN": "6"
        },
        "ihiNumber": "8003608666974126"
    }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Success
const url = 'https://api.rebateright.com.au/AIR/v1.4/encounters/record';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"informationProvider":{"providerNumber":"T39126X"},"encounters":[{"id":1,"episodes":[{"id":1,"vaccineCode":"BEXO","vaccineDose":"1","vaccineBatch":"ABC123","vaccineType":"NIP"}],"dateOfService":"20052026"}],"individual":{"personalDetails":{"dateOfBirth":"18042016","firstName":"Tyson","lastName":"HARDIE"},"medicareCard":{"medicareCardNumber":"4951633381","medicareIRN":"6"},"ihiNumber":"8003608666974126"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Success
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

	payload := strings.NewReader("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Success
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/AIR/v1.4/encounters/record")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/AIR/v1.4/encounters/record")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}")
  .asString();
```

```php Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/AIR/v1.4/encounters/record', [
  'body' => '{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    },
    "ihiNumber": "8003608666974126"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Success
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/AIR/v1.4/encounters/record");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Success
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "informationProvider": ["providerNumber": "T39126X"],
  "encounters": [
    [
      "id": 1,
      "episodes": [
        [
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        ]
      ],
      "dateOfService": "20052026"
    ]
  ],
  "individual": [
    "personalDetails": [
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    ],
    "medicareCard": [
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    ],
    "ihiNumber": "8003608666974126"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/AIR/v1.4/encounters/record")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Dose Adjusted



**Request**

```json
{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH1",
          "vaccineType": "NIP"
        },
        {
          "id": 2,
          "vaccineCode": "BOOST",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH2",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    },
    "ihiNumber": "8003608666974126"
  }
}
```

**Response**

```json
{
  "statusCode": "AIR-I-1007",
  "codeType": "AIRIBU",
  "message": "All encounter(s) were successfully recorded.",
  "claimDetails": {
    "claimId": "WB021Y8$",
    "encounters": [
      {
        "id": "1",
        "claimSequenceNumber": "1",
        "information": {
          "status": "SUCCESS",
          "code": "AIR-I-1000",
          "text": "Encounter was successfully recorded."
        },
        "episodes": [
          {
            "id": 2,
            "vaccineCode": "BOOST",
            "vaccineDose": "A01",
            "vaccineBatch": "BATCH2",
            "vaccineType": "NIP",
            "routeOfAdministration": "",
            "information": {
              "status": "VALID",
              "code": "AIR-I-1003",
              "text": "Dosage was adjusted to A01"
            }
          }
        ]
      }
    ]
  },
  "correlationId": "urn:uuid:MDE00000c854fee751824ca8"
}
```

**SDK Code**

```python Dose Adjusted
import requests

url = "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

payload = {
    "informationProvider": { "providerNumber": "T39126X" },
    "encounters": [
        {
            "id": 1,
            "episodes": [
                {
                    "id": 1,
                    "vaccineCode": "BEXO",
                    "vaccineDose": "1",
                    "vaccineBatch": "BATCH1",
                    "vaccineType": "NIP"
                },
                {
                    "id": 2,
                    "vaccineCode": "BOOST",
                    "vaccineDose": "1",
                    "vaccineBatch": "BATCH2",
                    "vaccineType": "NIP"
                }
            ],
            "dateOfService": "20052026"
        }
    ],
    "individual": {
        "personalDetails": {
            "dateOfBirth": "18042016",
            "firstName": "Tyson",
            "lastName": "HARDIE"
        },
        "medicareCard": {
            "medicareCardNumber": "4951633381",
            "medicareIRN": "6"
        },
        "ihiNumber": "8003608666974126"
    }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Dose Adjusted
const url = 'https://api.rebateright.com.au/AIR/v1.4/encounters/record';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"informationProvider":{"providerNumber":"T39126X"},"encounters":[{"id":1,"episodes":[{"id":1,"vaccineCode":"BEXO","vaccineDose":"1","vaccineBatch":"BATCH1","vaccineType":"NIP"},{"id":2,"vaccineCode":"BOOST","vaccineDose":"1","vaccineBatch":"BATCH2","vaccineType":"NIP"}],"dateOfService":"20052026"}],"individual":{"personalDetails":{"dateOfBirth":"18042016","firstName":"Tyson","lastName":"HARDIE"},"medicareCard":{"medicareCardNumber":"4951633381","medicareIRN":"6"},"ihiNumber":"8003608666974126"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Dose Adjusted
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

	payload := strings.NewReader("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH1\",\n          \"vaccineType\": \"NIP\"\n        },\n        {\n          \"id\": 2,\n          \"vaccineCode\": \"BOOST\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH2\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Dose Adjusted
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/AIR/v1.4/encounters/record")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH1\",\n          \"vaccineType\": \"NIP\"\n        },\n        {\n          \"id\": 2,\n          \"vaccineCode\": \"BOOST\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH2\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Dose Adjusted
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/AIR/v1.4/encounters/record")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH1\",\n          \"vaccineType\": \"NIP\"\n        },\n        {\n          \"id\": 2,\n          \"vaccineCode\": \"BOOST\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH2\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}")
  .asString();
```

```php Dose Adjusted
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/AIR/v1.4/encounters/record', [
  'body' => '{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH1",
          "vaccineType": "NIP"
        },
        {
          "id": 2,
          "vaccineCode": "BOOST",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH2",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    },
    "ihiNumber": "8003608666974126"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Dose Adjusted
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/AIR/v1.4/encounters/record");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH1\",\n          \"vaccineType\": \"NIP\"\n        },\n        {\n          \"id\": 2,\n          \"vaccineCode\": \"BOOST\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"BATCH2\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"6\"\n    },\n    \"ihiNumber\": \"8003608666974126\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Dose Adjusted
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "informationProvider": ["providerNumber": "T39126X"],
  "encounters": [
    [
      "id": 1,
      "episodes": [
        [
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH1",
          "vaccineType": "NIP"
        ],
        [
          "id": 2,
          "vaccineCode": "BOOST",
          "vaccineDose": "1",
          "vaccineBatch": "BATCH2",
          "vaccineType": "NIP"
        ]
      ],
      "dateOfService": "20052026"
    ]
  ],
  "individual": [
    "personalDetails": [
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    ],
    "medicareCard": [
      "medicareCardNumber": "4951633381",
      "medicareIRN": "6"
    ],
    "ihiNumber": "8003608666974126"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/AIR/v1.4/encounters/record")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Insufficient Individual Info



**Request**

```json
{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    }
  }
}
```

**Response**

```json
{
  "statusCode": "AIR-E-1005",
  "codeType": "AIREBU",
  "message": "The request contains validation errors.",
  "errors": [
    {
      "code": "AIR-E-1026",
      "field": "Individual",
      "message": "Individual information provided is insufficient."
    }
  ],
  "correlationId": "urn:uuid:MDE0000039aba726b5c2467e"
}
```

**SDK Code**

```python Insufficient Individual Info
import requests

url = "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

payload = {
    "informationProvider": { "providerNumber": "T39126X" },
    "encounters": [
        {
            "id": 1,
            "episodes": [
                {
                    "id": 1,
                    "vaccineCode": "BEXO",
                    "vaccineDose": "1",
                    "vaccineBatch": "ABC123",
                    "vaccineType": "NIP"
                }
            ],
            "dateOfService": "20052026"
        }
    ],
    "individual": { "personalDetails": {
            "dateOfBirth": "18042016",
            "firstName": "Tyson",
            "lastName": "HARDIE"
        } }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Insufficient Individual Info
const url = 'https://api.rebateright.com.au/AIR/v1.4/encounters/record';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"informationProvider":{"providerNumber":"T39126X"},"encounters":[{"id":1,"episodes":[{"id":1,"vaccineCode":"BEXO","vaccineDose":"1","vaccineBatch":"ABC123","vaccineType":"NIP"}],"dateOfService":"20052026"}],"individual":{"personalDetails":{"dateOfBirth":"18042016","firstName":"Tyson","lastName":"HARDIE"}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Insufficient Individual Info
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

	payload := strings.NewReader("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Insufficient Individual Info
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/AIR/v1.4/encounters/record")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Insufficient Individual Info
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/AIR/v1.4/encounters/record")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    }\n  }\n}")
  .asString();
```

```php Insufficient Individual Info
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/AIR/v1.4/encounters/record', [
  'body' => '{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Insufficient Individual Info
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/AIR/v1.4/encounters/record");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"18042016\",\n      \"firstName\": \"Tyson\",\n      \"lastName\": \"HARDIE\"\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Insufficient Individual Info
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "informationProvider": ["providerNumber": "T39126X"],
  "encounters": [
    [
      "id": 1,
      "episodes": [
        [
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        ]
      ],
      "dateOfService": "20052026"
    ]
  ],
  "individual": ["personalDetails": [
      "dateOfBirth": "18042016",
      "firstName": "Tyson",
      "lastName": "HARDIE"
    ]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/AIR/v1.4/encounters/record")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Individual Not Found



**Request**

```json
{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "01012000",
      "firstName": "NOTAREAL",
      "lastName": "PERSON"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "9"
    }
  }
}
```

**Response**

```json
{
  "statusCode": "AIR-W-1004",
  "codeType": "AIRWBU",
  "message": "Individual was not found. Please either correct the individual details or confirm and accept individual details are correct.",
  "correlationId": "urn:uuid:MDE00000e9a0fcc2fbb24d38"
}
```

**SDK Code**

```python Individual Not Found
import requests

url = "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

payload = {
    "informationProvider": { "providerNumber": "T39126X" },
    "encounters": [
        {
            "id": 1,
            "episodes": [
                {
                    "id": 1,
                    "vaccineCode": "BEXO",
                    "vaccineDose": "1",
                    "vaccineBatch": "ABC123",
                    "vaccineType": "NIP"
                }
            ],
            "dateOfService": "20052026"
        }
    ],
    "individual": {
        "personalDetails": {
            "dateOfBirth": "01012000",
            "firstName": "NOTAREAL",
            "lastName": "PERSON"
        },
        "medicareCard": {
            "medicareCardNumber": "4951633381",
            "medicareIRN": "9"
        }
    }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Individual Not Found
const url = 'https://api.rebateright.com.au/AIR/v1.4/encounters/record';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"informationProvider":{"providerNumber":"T39126X"},"encounters":[{"id":1,"episodes":[{"id":1,"vaccineCode":"BEXO","vaccineDose":"1","vaccineBatch":"ABC123","vaccineType":"NIP"}],"dateOfService":"20052026"}],"individual":{"personalDetails":{"dateOfBirth":"01012000","firstName":"NOTAREAL","lastName":"PERSON"},"medicareCard":{"medicareCardNumber":"4951633381","medicareIRN":"9"}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Individual Not Found
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.rebateright.com.au/AIR/v1.4/encounters/record"

	payload := strings.NewReader("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"01012000\",\n      \"firstName\": \"NOTAREAL\",\n      \"lastName\": \"PERSON\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"9\"\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Individual Not Found
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/AIR/v1.4/encounters/record")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"01012000\",\n      \"firstName\": \"NOTAREAL\",\n      \"lastName\": \"PERSON\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"9\"\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Individual Not Found
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.rebateright.com.au/AIR/v1.4/encounters/record")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"01012000\",\n      \"firstName\": \"NOTAREAL\",\n      \"lastName\": \"PERSON\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"9\"\n    }\n  }\n}")
  .asString();
```

```php Individual Not Found
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.rebateright.com.au/AIR/v1.4/encounters/record', [
  'body' => '{
  "informationProvider": {
    "providerNumber": "T39126X"
  },
  "encounters": [
    {
      "id": 1,
      "episodes": [
        {
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        }
      ],
      "dateOfService": "20052026"
    }
  ],
  "individual": {
    "personalDetails": {
      "dateOfBirth": "01012000",
      "firstName": "NOTAREAL",
      "lastName": "PERSON"
    },
    "medicareCard": {
      "medicareCardNumber": "4951633381",
      "medicareIRN": "9"
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Individual Not Found
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/AIR/v1.4/encounters/record");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"informationProvider\": {\n    \"providerNumber\": \"T39126X\"\n  },\n  \"encounters\": [\n    {\n      \"id\": 1,\n      \"episodes\": [\n        {\n          \"id\": 1,\n          \"vaccineCode\": \"BEXO\",\n          \"vaccineDose\": \"1\",\n          \"vaccineBatch\": \"ABC123\",\n          \"vaccineType\": \"NIP\"\n        }\n      ],\n      \"dateOfService\": \"20052026\"\n    }\n  ],\n  \"individual\": {\n    \"personalDetails\": {\n      \"dateOfBirth\": \"01012000\",\n      \"firstName\": \"NOTAREAL\",\n      \"lastName\": \"PERSON\"\n    },\n    \"medicareCard\": {\n      \"medicareCardNumber\": \"4951633381\",\n      \"medicareIRN\": \"9\"\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Individual Not Found
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "informationProvider": ["providerNumber": "T39126X"],
  "encounters": [
    [
      "id": 1,
      "episodes": [
        [
          "id": 1,
          "vaccineCode": "BEXO",
          "vaccineDose": "1",
          "vaccineBatch": "ABC123",
          "vaccineType": "NIP"
        ]
      ],
      "dateOfService": "20052026"
    ]
  ],
  "individual": [
    "personalDetails": [
      "dateOfBirth": "01012000",
      "firstName": "NOTAREAL",
      "lastName": "PERSON"
    ],
    "medicareCard": [
      "medicareCardNumber": "4951633381",
      "medicareIRN": "9"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/AIR/v1.4/encounters/record")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```