# Retrieve a rebill

`GET https://api.mothership.com/beta/rebills/{rebillId}`

Sandbox: `https://sandbox.api.mothership.com/beta/rebills/{rebillId}`

Retrieves a rebill by its ID or reference number, with every line item and its dispute, if it has one.

Pass the rebill's `id` or its reference number, such as `MSSR5016101`, in any case. A rebill that doesn't exist or belongs to another organization is a `404 NOT_FOUND`.

The response has every line item, with what the carrier charged for and what a dispute of it needs, and the line item's `dispute` when it has one. [Rebills](https://docs.mothership.com/reference/rebills) explains each status and line item type.

## Authorization

Send your API token as a Bearer token: `Authorization: Bearer <token>`.

## Path parameters

- `rebillId` (string, required): The ID of the rebill, or its reference number, such as MSSR5016101.

## Responses

### 200

The rebill, inside `data`.

- `data` (object, required)
  - `id` (string, required): The ID of the rebill.
  - `referenceNumber` (string, required): The reference number of the rebill, such as MSSR5016101. A second rebill on the same shipment ends in -2.
  - `status` (string, required): Where the rebill is in its review. The Rebills reference page explains each status. One of: `scheduled`, `disputed`, `finalized`, `processed`, `waived`, `voided`, `accepted`, `failed`.
  - `shipmentId` (string, required): The reference number of the shipment the carrier billed for, such as MS5016101.
  - `proNumber` (string, required, nullable): The carrier's PRO number on the bill.
  - `amountCents` (integer, required): The total of the line items in cents.
  - `processingFeeCents` (integer, required): The carrier bill processing fee in cents, or 0 when there is none. It may apply if the rebill is finalized or a dispute is lost.
  - `totalAmountCents` (integer, required): amountCents plus processingFeeCents.
  - `currency` (string, required): Three-letter ISO currency code, in lowercase. Always 'usd'.
  - `disputableUntil` (string, required, nullable): ISO string of when the review window ends. Until then you can accept or dispute each line item, and after it the rebill is charged as billed.
  - `invoiceId` (string, required, nullable): The ID of the invoice that charges the rebill, once its review is over. Pass it to Retrieve an invoice. Null before then, and when there is nothing to charge.
  - `lineItems` (array of objects, required): The charges the carrier billed.
    - `id` (string, required): The ID of the line item.
    - `type` (string, required): The kind of charge. The Rebills reference page explains each type. One of: `bill-of-lading-correction`, `reconsignment`, `delivery-attempt`, `driver-labor`, `expedited-delivery`, `additional-freight`, `lumper-fee`, `pickup-address-change`, `pickup-attempt`, `reactivated-shipment`, `return-shipment`, `detention`, `incorrect-weight`, `liftgate-pickup`, `liftgate-delivery`, `incorrect-dimensions`, `appointment`, `residential-pickup`, `residential-delivery`, `inside-pickup`, `inside-delivery`, `excessive-length`, `commodity-class-up`, `tradeshow`, `blind-shipment`, `government-airport-gas-mine-or-refinery-delivery`, `container-freight-station-pickup`, `container-freight-station-delivery`, `storage-fee`, `amazon-distribution-center`, `call-before-delivery`, `carrier-or-service-upgrade`, `limited-truck-access-pickup`, `limited-truck-access-delivery`, `hazmat`, `toll-fee`, `freight-coverage`, `oversize-fee`, `scheduled-delivery`, `documentation`, `cancellation-fee`, `cargo-details-updated`.
    - `name` (string, required): The name of the charge, as the dashboard shows it.
    - `amountCents` (integer, required): The amount of the charge in cents.
    - `explanation` (string, required): What the charge is and why the carrier billed it, in Markdown.
    - `avoidanceGuidance` (string, required): How to avoid this charge on later shipments, in Markdown.
    - `disputeEvidence` (string, required): What a dispute of this charge needs to succeed, in Markdown.
    - `disputeRequiresDocuments` (boolean, required): Whether a dispute of this charge must include supporting documents.
    - `acceptedAt` (string, required, nullable): ISO string of when you accepted the charge.
    - `dispute` (object, required, nullable): The dispute on this line item, or null when the charge has not been disputed.
      - `id` (string, required): The ID of the dispute.
      - `lineItemId` (string, required): The ID of the line item the dispute is about.
      - `status` (string, required): Where the dispute is. The Rebills reference page explains each status. One of: `under-review`, `with-carrier`, `info-needed`, `resolved-approved`, `resolved-waived-approved`, `resolved-charged`, `withdrawn`, `voided`.
      - `reason` (string, required, nullable): The reason you picked when you disputed the charge, such as Wasn't performed.
      - `message` (string, required, nullable): Your explanation of why the charge is wrong.
      - `infoRequested` (string, required, nullable): What Mothership last asked you to send while the status was info-needed, or null when Mothership has not asked for anything.
      - `fileIds` (array of strings, required): The files you attached to the dispute. Download one with Retrieve a file.
      - `createdAt` (string, required): ISO string of when you disputed the charge.
      - `updatedAt` (string, required): ISO string of when the dispute last changed.
  - `createdAt` (string, required): ISO string of when the rebill was created.
  - `updatedAt` (string, required): ISO string of when the rebill last changed.
  - `statusUpdatedAt` (string, required): ISO string of when the status last changed.

## Example request

```bash
curl --request GET \
  --url 'https://sandbox.api.mothership.com/beta/rebills/MSSR5016101' \
  --header "Authorization: Bearer $MOTHERSHIP_API_TOKEN" \
  --header 'Accept: application/json'
```

## Example response (200)

```json
{
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "referenceNumber": "MSSR5016101",
    "status": "disputed",
    "shipmentId": "MS5016101",
    "proNumber": "1234567890",
    "amountCents": 23500,
    "processingFeeCents": 1500,
    "totalAmountCents": 25000,
    "currency": "usd",
    "disputableUntil": "2026-03-29T17:00:00.000Z",
    "invoiceId": null,
    "lineItems": [
      {
        "id": "1b4e28ba-2fa1-4d3b-a3f5-ef19b5a7633b",
        "type": "incorrect-weight",
        "name": "Incorrect Weight",
        "amountCents": 8500,
        "explanation": "The carrier weighed the freight at its terminal and found it heavier than the weight on the bill of lading, so it billed for the difference.",
        "avoidanceGuidance": "Weigh each handling unit, packaging included, and enter that weight when you book.",
        "disputeEvidence": "A scale ticket or a photo of the freight on a certified scale showing the weight you booked, taken before pickup.",
        "disputeRequiresDocuments": true,
        "acceptedAt": "2026-03-20T15:12:44.000Z",
        "dispute": null
      },
      {
        "id": "6fa459ea-ee8a-4ca4-894e-db77e160355e",
        "type": "detention",
        "name": "Detention",
        "amountCents": 15000,
        "explanation": "The driver waited at the delivery location beyond the free time the carrier allows.",
        "avoidanceGuidance": "Make sure the receiver is ready to unload at the scheduled time.",
        "disputeEvidence": "Check-in and check-out times signed by the receiver, or a delivery receipt showing them.",
        "disputeRequiresDocuments": true,
        "acceptedAt": null,
        "dispute": {
          "id": "16fd2706-8baf-433b-82eb-8c7fada847da",
          "lineItemId": "6fa459ea-ee8a-4ca4-894e-db77e160355e",
          "status": "info-needed",
          "reason": "Wasn't performed",
          "message": "The receiver unloaded the truck within the free time.",
          "infoRequested": "Please send the delivery receipt showing the check-in and check-out times.",
          "fileIds": ["3f1c2a9e-5b7d-4e8a-9c61-2d4f8b0e7a15"],
          "createdAt": "2026-03-20T15:12:44.000Z",
          "updatedAt": "2026-03-22T14:05:31.000Z"
        }
      }
    ],
    "createdAt": "2026-03-19T17:00:00.000Z",
    "updatedAt": "2026-03-22T14:05:31.000Z",
    "statusUpdatedAt": "2026-03-20T15:12:44.000Z"
  }
}
```