# List carts

**GET** `/carts`

## Parameters

### `limit` (_query_, optional)

Page size (max 100)

- **Type:** `integer`
- **Default:** `50`
- **Example:** `50`
- **Constraints:** >= 1, <= 100

### `offset` (_query_, optional)

Number of items to skip

- **Type:** `integer`
- **Nullable:** yes
- **Default:** `0`
- **Example:** `0`
- **Constraints:** >= 0

### `purchaser_id` (_query_, optional)

Filter carts by purchaser user id

- **Type:** `integer`
- **Example:** `12`
- **Constraints:** > 0

## Responses

### 200

Paginated carts

**application/json**

_Schema ref:_ `#/components/schemas/ListCartsResponse` (ListCartsResponse)

```json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "purchaser_id": {
            "type": "integer",
            "nullable": true
          },
          "num_devices": {
            "type": "integer",
            "nullable": true
          },
          "rent": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "rent": {
                  "type": "string",
                  "nullable": true
                },
                "product_id": {
                  "type": "integer",
                  "nullable": true,
                  "description": "Catalog product id (`products.id`) when the line is tied to a catalog product",
                  "example": 101
                }
              },
              "required": [
                "id",
                "name",
                "rent",
                "product_id"
              ]
            }
          }
        },
        "required": [
          "id",
          "purchaser_id",
          "num_devices",
          "rent",
          "currency",
          "devices"
        ]
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "description": "Total rows matching filters (before paging)",
          "example": 42
        },
        "limit": {
          "type": "integer",
          "description": "Requested page size after validation",
          "example": 50
        },
        "offset": {
          "type": "integer",
          "description": "Requested offset after validation",
          "example": 0
        }
      },
      "required": [
        "total",
        "limit",
        "offset"
      ]
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
```

### 400

Validation error

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  },
  "required": [
    "error"
  ]
}
```

## Security

```json
[
  {
    "bearerAuth": []
  }
]
```

**bearerAuth:** Bearer token using a Fleet platform API key (flt_sk_…).

---

_Generated from the OpenAPI specification for raw Markdown / tooling use._
