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

# List Products

> List all products

Get a list of all products for the merchant.

<ParamField path="page" type="integer">
  Page number (default: 1)
</ParamField>

<ParamField path="limit" type="integer">
  Items per page (default: 10)
</ParamField>

<ParamField path="active" type="boolean">
  Filter by active status
</ParamField>

<ResponseField name="success" type="boolean">
  Indicates if the request was successful
</ResponseField>

<ResponseField name="data.products" type="array">
  Array of product objects
</ResponseField>

<ResponseField name="data.pagination" type="object">
  Pagination information
</ResponseField>

## Example Request

```bash theme={null}
curl -X GET "https://api.transaction.gg/merchant/product/list?page=1&limit=10&active=true" \
  -H "Authorization: Bearer jwt_token"
```

## Example Response

```json theme={null}
{
  "success": true,
  "data": {
    "products": [
      {
        "id": "prod_X4dUuzsMaruQ4UsX",
        "name": "Premium Plan",
        "description": "Monthly premium subscription",
        "recurring": true,
        "recurringInterval": "monthly",
        "active": true,
        "createdAt": "2024-01-01T00:00:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 10,
      "total": 1
    }
  }
}
```

## Error Responses

<ResponseExample name="Unauthorized">
  ```json theme={null}
  {
    "success": false,
    "error": {
      "status": 401,
      "code": "UNAUTHORISED",
      "message": "Invalid or missing authentication"
    },
    "data": null
  }
  ```
</ResponseExample>
