---
title: "Get Charge Timeline"
method: GET
path: "/billing/charge/timeline"
tags: ["provider", "billing"]
---

# Get Charge Timeline

`GET /billing/charge/timeline`

Get a timeline of events for a specific charge or payment.
This will include all related charges, payments, adjustments, and refunds.

## Query parameters

- `charge_id` string, nullable
- `payment_id` string, nullable

## Headers

- `TENANT` string, required
- `API-KEY` string, required

## Response `200`

Successful Response

- ChargeTimeline[]
  - `id` string, required
  - `type` 'CHARGE' | 'PAYMENT' | 'REFUND' | 'VOID' | 'ADJUSTMENT' | 'EXTERNAL_SETTLEMENT' | 'WRITE_OFF' | 'SCHEDULED_PAYMENT' | 'FAILED_PAYMENT', required
  - `amount` integer, required
  - `date` string, date-time, required
  - `paymentMethod` PaymentMethodSummary
    - `id` string, required
    - `patientId` string, nullable, required
    - `rainforestPaymentMethodId` string, required
    - `brand` string, nullable, required
    - `last4` string, nullable, required
    - `expMonth` integer, nullable, required
    - `expYear` integer, nullable, required
    - `accountHolderType` string, nullable, required
    - `accountNumberLast4` integer, nullable, required
    - `bankName` string, nullable, required
    - `routingNumber` integer, nullable, required
    - `description` string, nullable, required
    - `type` 'CARD' | 'ACH' | 'APPLE_PAY', required
    - `isDefault` boolean
    - `isArchived` boolean
  - `paymentMedium` string, nullable
  - `status` union
    - 'OUTSTANDING' | 'PAID' | 'EXTERNAL_SETTLEMENT' | 'VOID' | 'WRITE_OFF' | 'REFUNDED' | 'CHARGEBACK' | 'PAYMENT_PLAN' | 'COLLECTIONS'
    - 'CANCELED' | 'CREATED' | 'FAILED' | 'IN_REVIEW' | 'PRESENTING' | 'PROCESSING' | 'SUCCEEDED'
    - 'SCHEDULED' | 'COMPLETED' | 'FAILED' | 'CANCELLED'
  - `comment` string, nullable
  - `description` string, nullable
  - `refundReason` string, nullable
  - `items` ChargeItemDetailOutput[], nullable
    - `id` string, nullable — Unique identifier for the charge item
    - `itemId` string, nullable — Optional unique identifier for the item
    - `chargeId` string, required — Identifier of the charge this item is associated with
    - `name` string, nullable — Name of the item (None for items with associated inventory item)
    - `description` string, nullable — Description of the item
    - `quantity` integer, required — Quantity of the item being charged
    - `discountAmount` integer, nullable — Discount amount for the item
    - `discountPercentage` number, nullable — Discount percentage for the item
    - `discountReason` string, nullable — Reason for discount
    - `price` integer, required — Price of the item in cents
    - `soldPackageId` string, nullable — Unique identifier for the sold package usage
    - `bankedQuantity` integer, nullable — Quantity to bank for later use
    - `bankedItemId` string, nullable — ID of banked item being used (for tracking usage)
    - `issuedDiscountId` string, nullable — Unique identifier for the specific issued discount instance used
    - `soldByProviderId` string, nullable — Unique identifier for the provider who sold the item
    - `taxAmount` integer, nullable — Tax amount for the item in cents
    - `pricingId` string, nullable — Unique identifier for the pricing for the item
    - `shipmentIds` string[], nullable — Optional list of shipment IDs to reduce the stock quantity of
    - `item` ItemTiny
      - `id` string — Unique identifier for the item
      - `name` string, required — Name of the item
      - `brandName` string, nullable — Optional brand name of the item
      - `description` string, nullable — Optional description of the item
      - `price` integer, required — Price of the item in cents
      - `category` string, nullable — Category name (references category.name)
      - `unit` 'AMPOULES' | 'APPLICATORS' | 'BOTTLES' | 'BOXES' | 'CAPSULES' | 'CUPS' | 'DOSES' | 'G_PER_ML' | 'GRAMS' | 'IU' | 'IU_PER_ML' | 'OUNCES' | 'FLUID_OUNCES' | 'KG' | 'KITS' | 'LITERS' | 'MCG' | 'MG' | 'MG_PER_ML' | 'ML' | 'MMOL' | 'MICROGRAM_PER_ML' | 'PACKS' | 'PAIRS' | 'PATCHES' | 'PERCENTAGE' | 'PIECES' | 'POUCHES' | 'ROLLS' | 'SACHETS' | 'SHEETS' | 'SPRAYS' | 'STRIPS' | 'SYRINGES' | 'TABLETS' | 'TABLETS_PER_DAY' | 'TESTS' | 'TUBES' | 'UNITS' | 'VIALS' | 'TREATMENTS' | 'SESSIONS' | 'PULSES' | 'JOULES' | 'CENTIMETERS' | 'THREAD_COUNT' | 'INJECTIONS' | 'WRINKLE_UNITS' | 'POUNDS' | 'FEET' | 'INCHES'
      - `isPhysical` boolean — Whether the item is physical
      - `isArchived` boolean — Whether the item is archived
      - `internalNotes` string, nullable — Optional internal notes for the item
      - `taxable` boolean — Whether the item is subject to taxes
      - `sortOrder` integer, nullable — Optional sort order for the item
      - `allowCustomPricing` boolean — Whether custom pricing is allowed for this item
      - `type` 'ITEM' | 'PRODUCT' | 'MEDICATION' | 'SERVICE' | 'PACKAGE' | 'MEMBERSHIP'
    - `locationId` string, nullable — Location ID where the sale occurred
    - `locationName` string, nullable — Location name where the sale occurred
    - `saleDate` string, date-time, nullable — Date when the sale occurred
  - `discountAmount` integer, nullable
  - `creator` UserTiny
    - `id` string, required — The unique identifier for the user.
    - `firstName` string, nullable — The user's first name.
    - `lastName` string, nullable — The user's last name.
    - `phoneNumber` string, nullable — The user's phone number.
    - `email` string, nullable — The user's email address.
    - `type` 'PROVIDER' | 'PATIENT' | 'ASSISTANT', required
    - `locationId` string, nullable — The location of the user.
  - `feeToPatient` integer, nullable
  - `tips` TipDetail[], nullable
    - `chargeId` string, required — Charge ID this tip belongs to
    - `amount` integer, required — Tip amount in cents
    - `providerId` string, required — Provider ID receiving the tip
    - `id` string — Unique identifier for the tip
    - `provider` ProviderTiny
      - `id` string, required
      - `firstName` string, required
      - `lastName` string, nullable
      - `email` string, nullable
      - `createdDate` string, date-time, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/decodahealth/apis/decoda-api.md) · [All operations](https://skmtc.dev/decodahealth/apis/decoda-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/decodahealth/decoda-api/revisions/4939a65a89d2/schema)
