# List receipts

`GET /receipts`

API version: `v2026.07.00`. Send `X-Moov-Version: v2026.07.00` to get the behavior described here.

> AI agents: search and read all Moov docs with the docs MCP server at https://docs.moov.io/mcp (no API key). Setup: https://docs.moov.io/guides/developer-tools/mcp-ai/docs-mcp/index.md

List receipts by transferID, scheduleID, or occurrenceID.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
you'll need to specify the `/accounts/{accountID}/transfers.read` scope.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Moov-Version` | header | string |  | Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, the earliest supported version, which may not match the behavior documented here. An unrecognized well-formed version uses the latest supported version that is not newer than the requested version, when one exists. For example, `v2026.08.00` uses `v2026.07.00`. A malformed value, such as `2022`, returns a `404` response. Values: `v2026.07.00`. |
| `id` | query | string | Yes | The transfer, schedule, or transfer occurrence ID to filter receipts by. |

## Response 200

The request completed successfully.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `[].receiptID` | string | Yes | Unique identifier for the receipt request. |
| `[].createdBy` | string | Yes | AccountID for which the receipt request was created. |
| `[].disabledOn` | string (date-time) |  | The date and time the receipt was disabled. |
| `[].kind` | string | Yes | The type of receipt. Values: `sale.customer.v1`. |
| `[].email` | string (email) |  | The email address the receipt is sent to. Either email or emailAccountID will be in the response, but not both. |
| `[].emailAccountID` | string |  | The accountID the receipt is sent to. Either email or emailAccountID will be in the response, but not both. |
| `[].forTransferID` | string |  | The ID of the transfer associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided. |
| `[].forScheduleID` | string |  | The ID of the schedule associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided. |
| `[].forOccurrenceID` | string |  | The ID of the schedule occurrence associated with this receipt. Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided. |
| `[].sentFor` | array of object |  | The list of receipts that have been sent. |
| `[].sentFor[].receiptID` | string | Yes | Unique identifier for the receipt. |
| `[].sentFor[].idempotencyKey` | string | Yes | The idempotency key used when creating the receipt. |
| `[].sentFor[].sentOn` | string (date-time) | Yes | When the receipt was sent. |

## Errors

| Status | Meaning |
| --- | --- |
| 401 | The request contained missing or expired authentication. |
| 403 | The user is not authorized to make the request. |
| 429 | Request was refused due to rate limiting. |
| 500 | The request failed due to an unexpected error. |
| 504 | The request failed because a downstream service failed to respond. |

## Examples

### cURL

```bash
curl -X GET "https://api.moov.io/receipts" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
```

### Typescript (SDK)

```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.receipts.list({
    id: "8508cf6c-9ce4-4e35-84c1-4b77320a620b",
  });

  console.log(result);
}

run();
```

Full reference with SDK examples in every language: https://docs.moov.io/api/money-movement/receipts/list/
