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

# List Strategies

> Returns the authenticated tenant's strategies with cursor-based pagination.

Returns all strategies belonging to the authenticated tenant. Each item
includes the full strategy detail (allocation, schedule, preferences,
visibility, version, and creation timestamp).

* Auth: `x-api-key` header (required)
* Scope: `strategies:read`

Results are paginated using cursor-based (keyset) pagination ordered by
`createdAt` descending. Pass the `nextCursor` value from the previous response
as the `cursor` query parameter to fetch the next page. `nextCursor` is `null`
when there are no more results.

<ParamField query="limit" type="integer" default="50">
  Max strategies per page. Min 1, max 200.
</ParamField>

<ParamField query="cursor" type="string">
  Opaque pagination cursor from a previous response.
</ParamField>

Common error responses:

* `400` when `limit` is out of range or `cursor` is malformed
* `401` when `x-api-key` header is missing or the key is invalid
* `403` when the API key lacks the `strategies:read` scope
* `500` on unexpected server errors

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.glider.fi/v2/strategies?limit=50' \
    --header 'x-api-key: gldr_sk_your_api_key'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.glider.fi/v2/strategies?limit=50", {
    headers: { "x-api-key": "gldr_sk_your_api_key" },
  });
  const data = await response.json();

  // Fetch next page if present
  if (data.nextCursor) {
    const next = await fetch(
      `https://api.glider.fi/v2/strategies?limit=50&cursor=${encodeURIComponent(data.nextCursor)}`,
      { headers: { "x-api-key": "gldr_sk_your_api_key" } },
    );
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "strategies": [
        {
          "strategyId": "01JWZEE2MF30KVRMRX53N88VA4",
          "name": "Balanced Growth",
          "description": "Multi-chain balanced allocation strategy",
          "allocation": {
            "assets": [
              { "assetId": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "weight": "60" },
              { "assetId": "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7", "weight": "40" }
            ]
          },
          "schedule": {
            "type": "interval",
            "frequency": "daily"
          },
          "preferences": {
            "swap": {
              "slippageBps": 300,
              "priceImpactBps": null,
              "thresholdUsd": "5.00"
            }
          },
          "isPublic": false,
          "version": 3,
          "createdAt": "2026-04-17T12:00:00.000Z"
        }
      ]
    },
    "nextCursor": "eyJjIjoiMjAyNi0wMy0zMVQxMjowMDowMC4wMDBaIiwiaSI6IjAxSldaRUUyTUYzMEtWUk1SWDUzTjg4VkE0In0"
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": {
      "code": "API_400",
      "message": "Invalid cursor"
    }
  }
  ```
</ResponseExample>
