# List a shipment's invoices

`GET https://api.mothership.com/beta/invoices/by_shipment_id/{shipmentId}`

Sandbox: `https://sandbox.api.mothership.com/beta/invoices/by_shipment_id/{shipmentId}`

Lists all invoices associated with a shipment.

## Authorization

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

## Path parameters

- `shipmentId` (string, required): The shipment's public reference number, such as `MS5016101`, or its internal UUID.

## Query parameters

- `page` (string, optional): Pagination cursor. Leave it out on the first call, then pass the `nextPage` value from the previous response to get the next page.
- `limit` (string, optional): Number of results to return, from 1 to 100. Defaults to 10.

## Responses

### 200

The results, inside `data`.

- `data` (object, required)
  - `invoices` (array of objects, required)
    - `id` (string, required): Invoice ID.
    - `lastModifiedAt` (string, required): The most recent timestamp the invoice was modified at.
  - `hasMore` (boolean, required): True if there are more records to fetch.
  - `total` (number, optional): The total number of invoices that are modified on or after the date.
  - `limit` (number, optional): Number of results requested for this page. The last page can return fewer.
  - `currentPage` (number, optional): Index of this page of results.
  - `nextPage` (number, optional, nullable): Index of the next page of results, if there is one.

## Example request

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

## Example response (200)

```json
{
  "data": {
    "invoices": [
      {
        "id": "3f1c2a9e-5b7d-4e8a-9c61-2d4f8b0e7a15",
        "lastModifiedAt": "2026-03-19T17:00:00.000Z"
      }
    ],
    "hasMore": true,
    "total": 1,
    "limit": 10,
    "currentPage": 1,
    "nextPage": 2
  }
}
```