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

# List Commission Rates

> Retrieve a paginated list of commission rates.

Returns commission rates with their rules and currency-specific values.

<Note>
  `scope_type` is a virtual filter derived from each rate's rules — it is not a
  stored column. Use it to filter rates by the scope their rules target.
</Note>

## Query parameters

<ParamField query="limit" type="number" default="50">Maximum number of records to return.</ParamField>
<ParamField query="offset" type="number" default="0">Number of records to skip.</ParamField>
<ParamField query="order" type="string">Field to sort by, prefix with `-` for descending order.</ParamField>
<ParamField query="fields" type="string">Comma-separated fields to include in the response.</ParamField>
<ParamField query="q" type="string">Search term matched against commission rates.</ParamField>
<ParamField query="id" type="string | string[]">Filter by commission rate ID(s).</ParamField>
<ParamField query="code" type="string | string[]">Filter by commission rate code(s).</ParamField>
<ParamField query="type" type="string | string[]">Filter by rate type: `fixed` or `percentage`.</ParamField>
<ParamField query="scope_type" type="string | string[]">Filter by rule scope: `store`, `product_type`, `category`, `store_product_type`, or `store_category`.</ParamField>
<ParamField query="is_enabled" type="boolean">Filter by enabled state.</ParamField>
<ParamField query="is_default" type="boolean">Filter by whether the rate is the marketplace default.</ParamField>
<ParamField query="created_at" type="object">Filter by creation date using operators like `$gte` and `$lte`.</ParamField>
<ParamField query="updated_at" type="object">Filter by update date using operators like `$gte` and `$lte`.</ParamField>

## Response

<ResponseField name="commission_rates" type="object[]">
  <Expandable title="properties">
    <ResponseField name="id" type="string">The commission rate's ID.</ResponseField>
    <ResponseField name="name" type="string">The rate's display name.</ResponseField>
    <ResponseField name="code" type="string">The rate's unique code.</ResponseField>
    <ResponseField name="type" type="string">The rate type: `fixed` or `percentage`.</ResponseField>
    <ResponseField name="value" type="number">The commission value — a percentage or a fixed amount.</ResponseField>
    <ResponseField name="currency_code" type="string | null">Currency of a fixed rate's value.</ResponseField>
    <ResponseField name="include_tax" type="boolean">Whether commission is calculated on tax-inclusive amounts.</ResponseField>
    <ResponseField name="include_shipping" type="boolean">Whether shipping is included in the commission base.</ResponseField>
    <ResponseField name="is_enabled" type="boolean">Whether the rate is active.</ResponseField>
    <ResponseField name="is_default" type="boolean">Whether this is the marketplace default rate.</ResponseField>
    <ResponseField name="rules" type="object[]">Rules scoping the rate, each with `id`, `reference`, and `reference_id`.</ResponseField>
    <ResponseField name="values" type="object[]">Per-currency fixed amounts, each with `id`, `currency_code`, and `amount`.</ResponseField>
    <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
    <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="count" type="number">Total number of matching commission rates.</ResponseField>
<ResponseField name="offset" type="number">Number of records skipped.</ResponseField>
<ResponseField name="limit" type="number">Maximum number of records returned.</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl 'http://localhost:9000/admin/commission-rates?scope_type=store&limit=20' \
    -H 'Authorization: Bearer <token>'
  ```

  ```ts JS Client theme={null}
  const { commission_rates, count } = await client.admin.commissionRates.query({
    scope_type: "store",
    limit: 20,
  })
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "commission_rates": [
      {
        "id": "comrate_01HXYZ8Q2M4N6P8R0T2V4W6X8Y",
        "name": "Default",
        "code": "default",
        "type": "percentage",
        "value": 10,
        "currency_code": null,
        "include_tax": false,
        "include_shipping": false,
        "is_enabled": true,
        "is_default": true,
        "rules": [],
        "values": []
      }
    ],
    "count": 1,
    "offset": 0,
    "limit": 20
  }
  ```
</ResponseExample>
