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

# List tradable instruments

> List every instrument available to the user's account group.

## Path parameters

<ParamField path="group" type="string" required>
  The user's account group identifier, for example 'MobileMY\MY\_100'. Must match the authenticated user's group at the origin — returns 403 otherwise. Cached catalogs may be served publicly by the CDN.
</ParamField>

## Response

`200` Success.

<ResponseField name="response" type="object[]">
  <Expandable title="properties">
    <ResponseField name="_id" type="string" />

    <ResponseField name="logo" type="string" />

    <ResponseField name="friendlyName" type="string" />

    <ResponseField name="delayed" type="boolean" />

    <ResponseField name="desc" type="string" />

    <ResponseField name="sharia" type="boolean" />

    <ResponseField name="shariaStatus" type="enum<string>">
      Available options: `QUESTIONABLE`, `COMPLIANT`, `NONCOMPLIANT`
    </ResponseField>

    <ResponseField name="leverage" type="number" />

    <ResponseField name="pdt" type="boolean" />

    <ResponseField name="digits" type="number" />

    <ResponseField name="session" type="string[]" />

    <ResponseField name="quotes" type="string[]" />

    <ResponseField name="tradingHours" type="object">
      <Expandable title="properties">
        <ResponseField name="timezone" type="string" />

        <ResponseField name="regular" type="string[]" />

        <ResponseField name="preMarket" type="string[]" />

        <ResponseField name="postMarket" type="string[]" />

        <ResponseField name="overnight" type="string[]" />

        <ResponseField name="otherExtended" type="string[]" />
      </Expandable>
    </ResponseField>

    <ResponseField name="sector" type="number" />

    <ResponseField name="industry" type="number" />

    <ResponseField name="mode" type="number" />

    <ResponseField name="calc" type="number" />

    <ResponseField name="swap" type="object">
      <Expandable title="properties">
        <ResponseField name="long" type="number" />

        <ResponseField name="short" type="number" />

        <ResponseField name="mode" type="number" />

        <ResponseField name="tick" type="number" />
      </Expandable>
    </ResponseField>

    <ResponseField name="min" type="number" />

    <ResponseField name="max" type="number" />

    <ResponseField name="step" type="number" />

    <ResponseField name="limit" type="number" />

    <ResponseField name="mCurrency" type="string" />

    <ResponseField name="pCurrency" type="string" />

    <ResponseField name="mFx" type="string" />

    <ResponseField name="pFx" type="string" />

    <ResponseField name="access" type="string[]" />
  </Expandable>
</ResponseField>

## Possible Errors

| Error | Possible cause | What to do |
| - | - | - |
| 400 | Invalid or missing field | Check the request against the schema. |
| 401 | Token missing or expired | Log in again or use the refresh token. |
| 403 | IP not whitelisted, or account restricted | Confirm your IP is whitelisted; otherwise contact Amana. |
| 429 / 5xx | Rate limit, or temporary issue on our side | Retry with backoff; contact support if it persists. |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://gateway.amana.io/trading/tickers/{group}' \
    --header 'Authorization: Bearer <token>'
  ```

  ```python Python theme={null}
  import requests

  url = "https://gateway.amana.io/trading/tickers/{group}"
  headers = {"Authorization": "Bearer <token>"}

  response = requests.request("GET", url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://gateway.amana.io/trading/tickers/{group}', {
    method: 'GET',
    headers: {"Authorization": "Bearer <token>"},
  });
  console.log(await response.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "_id": "<string>",
      "logo": "<string>",
      "friendlyName": "<string>",
      "delayed": true,
      "desc": "<string>",
      "sharia": true,
      "shariaStatus": "QUESTIONABLE",
      "leverage": 123.45,
      "pdt": true,
      "digits": 123.45,
      "session": [
        "<string>"
      ],
      "quotes": [
        "<string>"
      ],
      "tradingHours": {
        "timezone": "<string>",
        "regular": [
          "<string>"
        ],
        "preMarket": [
          "<string>"
        ],
        "postMarket": [
          "<string>"
        ],
        "overnight": [
          "<string>"
        ],
        "otherExtended": [
          "<string>"
        ]
      },
      "sector": 123.45,
      "industry": 123.45,
      "mode": 123.45,
      "calc": 123.45,
      "swap": {
        "long": 123.45,
        "short": 123.45,
        "mode": 123.45,
        "tick": 123.45
      },
      "min": 123.45,
      "max": 123.45,
      "step": 123.45,
      "limit": 123.45,
      "mCurrency": "<string>",
      "pCurrency": "<string>",
      "mFx": "<string>",
      "pFx": "<string>",
      "access": [
        "<string>"
      ]
    }
  ]
  ```

  ```json 400 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```

  ```json 401 theme={null}
  {
    "error": "<string>",
    "message": "<string>",
    "details": {}
  }
  ```

  ```json 403 theme={null}
  {
    "error": "<string>",
    "message": "<string>",
    "details": {}
  }
  ```

  ```json 429 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```

  ```json 500 theme={null}
  {
    "error": "<string>",
    "message": "<string>"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.