---
title: "Get a single purchase"
method: GET
path: "/purchases/{purchase_id}"
tags: ["purchases"]
---

# Get a single purchase

`GET /purchases/{purchase_id}`

## Path parameters

- `purchase_id` string, uuid, required

## Headers

- `Authorization` string, required

## Response `200`

A single purchase.

- Purchase
  - `purchase_id` string, uuid, required — Andel-issued unique identifier.
  - `member_id` string, required — Plan or PBM member identifier.
  - `plan_id` string, required — Plan that the member belongs to. Each member belongs to exactly one plan. Tokens are scoped to a set of allowed plan IDs; purchases for plans outside that set are not returned.
  - `purchased_at` string, date-time, required — ISO 8601 UTC timestamp from the pharmacy point-of-sale.
  - `ndc` string — 11-digit National Drug Code.
  - `prescriber_spi` string — Surescripts Prescriber ID.
  - `member_purchase_amount` number, double — (Proposed - provenance pending) Total amount the member paid at point-of-sale, USD.
  - `oop_amount` number, double — (Proposed - provenance pending) Member out-of-pocket portion, USD.
  - `plan_contribution` number, double — (Proposed - provenance pending) Plan's portion of the purchase (the plan contribution), USD.
  - `quantity` integer — Units dispensed.
  - `currency` string, required — ISO 4217 currency code.
  - `date_of_service` string, date, required — The actual fill date used for eligibility validation. Distinct from `purchased_at`, which is the point-of-sale timestamp.
  - `days_supply` integer — Days of therapy the dispensed quantity covers.
  - `provider_type` 'ncpdp' | 'npi' | 'dea' | 'copay_assist' — Qualifier describing which provider identifier is carried in the provider slot.
  - `pharmacy_npi` string — Dispensing pharmacy identifier, when provided.
  - `network_ind` 'in_network' | 'out_of_network' | 'both' | 'inn_house' — Whether the fill adjudicated in- or out-of-network.
  - `event_type` 'claim' | 'reversal' | 'adjustment' | 'hra_initial_load' | 'hra_rollover' | 'hra_incentive', required — The kind of accumulator event. `claim` is a normal fill; `reversal` restores accumulators for a returned or voided fill; `adjustment` is a flat or paired correction.
  - `original_purchase_id` string, uuid, nullable — For reversals or adjustments, the `purchase_id` of the purchase being corrected. Null for new purchases.
  - `status` 'accepted' | 'rejected' | 'pended' | 'reversed' — Processing status of the purchase.
  - `deductible_applied` number, double — (Proposed - provenance pending) Amount of this purchase applied to the member's deductible, USD.
  - `subscriber_id` string — The member's subscriber identifier at the PBM's eligibility system. Distinct from `member_id`.
  - `first_name` string — Member first name.
  - `last_name` string — Member last name.
  - `date_of_birth` string, date — Member date of birth.
  - `gender` 'unknown' | 'male' | 'female' | 'non_binary' — Member gender as carried to the PBM.
  - `relationship` 'subscriber' | 'spouse' | 'dependent' | 'student' | 'disabled_dependent' | 'adult_dependent' | 'domestic_partner' — Member's relationship to the subscriber.
  - `accumulators` Accumulator[] — (Proposed - provenance pending) Per-accumulator deltas this purchase applies (deductible, out-of-pocket, HRA, caps). A single fill can apply against up to six accumulators at once.
    - `type_of_benefit_account` 'hra' | 'deductible' | 'oop' | 'cap' | 'lifetime_cap' | 'drug_cap' | 'benefit_deductible' | 'benefit_oop' | 'base_deductible' | 'base_oop' | 'tmoop', required — Which benefit accumulator this delta applies to.
    - `participation_type` 'in_network' | 'out_of_network' | 'combined' | 'inn_house' — Network level this accumulator tracks (may differ per accumulator).
    - `amount` number, double, required — (Proposed - provenance pending) Dollars applied to this accumulator on this purchase, USD.
    - `cr_db_indicator` 'debit' | 'credit' | 'replace' | 'bypass', required — `debit` consumes the accumulator, `credit` restores it (a reversal), `replace` overwrites the running total, `bypass` ignores this accumulator for this transaction.
    - `accumulated_amount` number, double — (Proposed - provenance pending) Running total applied to date, USD. Required by ESI for `replace`.
    - `remaining_amount` number, double — (Proposed - provenance pending) Amount left before the accumulator cap is met, USD.
    - `met_this_transaction` boolean — True when this purchase drove `remaining_amount` to zero (e.g., deductible met on this fill).
  - `origin_code` 'E' | 'R' — ESI origin code for HRA balance events (`hra_initial_load`, `hra_rollover`, `hra_incentive`); `E` is a non-shared pharmacy dollars load. Omitted for pharmacy fills.
  - `plan_year` integer — Plan year the balance applies to. Used for HRA balance events.
  - `esi` EsiIdentity — ESI wire-protocol identifiers, populated when a purchase is exchanged via the ESI CDH format. All fields optional.
    - `sender_id` string — ESI-assigned trading-partner sender identifier.
    - `receiver_id` string — Receiver identifier; `MHS` when sending to ESI.
    - `signature` string — 26-character composite transaction key (date + milliseconds + sequence + source-app code).
    - `claim_id` string — ESI claim identifier.
    - `claim_xref_id` string — Original-transaction reference on a reversal or adjustment. Mirrors `original_purchase_id`.
    - `transmission_type` 'DQ' | 'DR' — Data Request (sent) vs Data Response (acknowledged).
    - `request_code` '01' | '02' | '04' — Claim / Reversal / Adjustment request code.
    - `response_code` string — ESI Data Response code; `00` is accepted, otherwise an error code.
    - `reason_code` string — Granular reason detail beyond the response code.

## Other responses

- `401` — Missing or invalid token.
- `403` — Token lacks the required scope, or is not authorized for the requested `plan_id`.
- `404` — Resource not found.
- `500` — Unexpected server error.

---

[API](https://skmtc.net/andel/apis/data-exchange-api.md) · [All operations](https://skmtc.net/andel/apis/data-exchange-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/andel/data-exchange-api/versions/733d22590e14/schema)
