> For the complete documentation index, see [llms.txt](https://docs.hydromancer.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hydromancer.xyz/readme/rest-api/metadata/perpconciseannotations.md).

# perpConciseAnnotations

Returns concise annotations for every annotated perpetual asset as a list of `[coin, annotation]` pairs. Each annotation carries the category plus optional display name and keywords — the description is omitted (use [perpAnnotation](/readme/rest-api/metadata/perpannotation.md) for the full description of a single asset).

<table><thead><tr><th width="115">Field</th><th width="177">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type</code></td><td>string</td><td>Must be <code>"perpConciseAnnotations"</code></td></tr></tbody></table>

## Request

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.hydromancer.xyz/info \
  -H "Authorization: Bearer $HYDROMANCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "perpConciseAnnotations"
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import os
import json

response = requests.post(
    'https://api.hydromancer.xyz/info',
    json={
        'type': 'perpConciseAnnotations'
    },
    headers={
        'Authorization': f'Bearer {os.environ["HYDROMANCER_API_KEY"]}',
        'Content-Type': 'application/json'
    }
)
print(json.dumps(response.json(), indent=2))
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
import axios from 'axios';

const response = await axios.post(
  'https://api.hydromancer.xyz/info',
  {
    type: 'perpConciseAnnotations'
  },
  {
    headers: {
      'Authorization': `Bearer ${process.env.HYDROMANCER_API_KEY}`,
      'Content-Type': 'application/json'
    }
  }
);

console.log(JSON.stringify(response.data, null, 2));
```

{% endtab %}
{% endtabs %}

***

## Response Fields

| Field                | Type    | Description                                                  |
| -------------------- | ------- | ------------------------------------------------------------ |
| (root)               | array   | Array of `[coin, annotation]` pairs                          |
| `[n][0]`             | string  | Perp asset name (with DEX prefix for builder-deployed perps) |
| `[n][1].category`    | string  | Asset category                                               |
| `[n][1].displayName` | string? | Optional display name                                        |
| `[n][1].keywords`    | array?  | Optional list of search keywords                             |

<details>

<summary>Response</summary>

```json
[
  ["flx:BTC", { "category": "crypto" }],
  ["flx:COIN", { "category": "stocks" }],
  ["para:AVGO", { "category": "stocks", "keywords": ["broadcom", "ai"] }],
  ["para:BTCD", { "category": "crypto", "displayName": "BTC.D", "keywords": ["dominance", "index"] }]
]
```

</details>
