> ## Documentation Index
> Fetch the complete documentation index at: https://docs.centsless.org/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /transactions — Query and retrieve transactions

> List transactions filtered by merchant, state, or type, with limit/offset pagination. Or fetch a single transaction by ID to retrieve its full detail record.

You can query your transaction history in two ways: list multiple transactions with optional filters, or fetch a single transaction by its ID. Use the list endpoint for reporting, compliance exports, and reconciliation. Use the single-fetch endpoint when you need the full detail record for a specific transaction — for example, to generate a receipt or process a void.

## Endpoints

```
GET https://api.centsless.org/api/v1/transactions
GET https://api.centsless.org/api/v1/transaction/{id}
```

## Authentication

<ParamField header="x-api-key" type="string" required>
  Your merchant, auditor, or partner API key.
</ParamField>

***

## GET /transactions — List with filters

### Query parameters

<ParamField query="merchant_id" type="string">
  Filter results to a specific merchant. Required if your key has access to multiple merchants.
</ParamField>

<ParamField query="state" type="string">
  Filter by two-letter state code (e.g., `AZ`, `IN`). Returns only transactions processed under that state's jurisdiction.
</ParamField>

<ParamField query="type" type="string">
  Filter by transaction type. One of: `SALE`, `VOID`, `REFUND`.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Maximum number of results to return per page. Defaults to `50`.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of results to skip before returning. Use with `limit` for pagination. Defaults to `0`.
</ParamField>

### Example

```bash theme={null}
curl "https://api.centsless.org/api/v1/transactions?merchant_id=MERCHANT-001&state=AZ&type=SALE&limit=10&offset=0" \
  -H "x-api-key: YOUR_API_KEY"
```

***

## GET /transaction/{id} — Get by ID

### Path parameter

<ParamField path="id" type="string" required>
  The transaction ID to retrieve (e.g., `TXN-2026-04-14-A82C2EAA`).
</ParamField>

### Example

```bash theme={null}
curl https://api.centsless.org/api/v1/transaction/TXN-2026-04-14-A82C2EAA \
  -H "x-api-key: YOUR_API_KEY"
```

<Note>
  A `404` response is returned when the transaction ID does not exist. Verify the ID is correct and that the transaction was processed under the same merchant account your key is scoped to.
</Note>
