/token/metrics/batchtoken-getMetricsBatchPOST batch variant of /token/{tokenSlug}/metrics. Accepts { slugs: [...] } (max 100); returns per-slug identity + metrics. Per-slug parse / lookup failures isolate to data: null so a single bad slug doesn't fail the whole request.
| Name | Location | Details |
|---|---|---|
BearerAuth | Authorization header · bearer | JWT issued by the Honeycluster auth service for the `indexer` audience. Present as `Authorization: Bearer <token>`. |
| Field | Type | Description |
|---|---|---|
slugsrequired | string[] | Array of token slugs in `currency.issuer` form (max 100 per request). Per-slug parse / lookup failures surface as `{ slug, data: null }` so a single bad slug doesn't take down the rest. |
{
"slugs": [
"string"
]
}| Field | Type | Description |
|---|---|---|
items | object[] | One entry per input slug, in the same order as the request. Always has the same length as `input.slugs`. |
items[]. | string | The token slug that produced this row (echoed from the request). |
items[]. | object | Per-slug response, or `null` when the slug is malformed / unknown / the per-slug query threw. |
{
"items": [
{
"slug": "string",
"data": {
"currency": "string",
"issuer": "string",
"id": "00000000-0000-0000-0000-000000000000",
"slug": "string",
"metrics": {
"trustlines": 0,
"holders": 0,
"supply": "string",
"circulating_supply": "string",
"price": "string",
"market_cap": "string",
"fdv": "string",
"tvl": "string",
"vesting": {
"total": "string",
"next_7d": "string",
"next_30d": "string"
},
"price_change": {
"last_5m": {
"absolute": "string",
"percent": "string"
},
"last_1h": {
"absolute": "string",
"percent": "string"
},
"last_6h": {
"absolute": "string",
"percent": "string"
},
"last_24h": {
"absolute": "string",
"percent": "string",
"since_inception": false
},
"last_7d": {
"absolute": "string",
"percent": "string",
"since_inception": false
}
},
"volume": {
"last_5m": {
"value": "string",
"change_absolute": "string",
"change_percent": "string"
},
"last_1h": {
"value": "string",
"change_absolute": "string",
"change_percent": "string"
},
"last_6h": {
"value": "string",
"change_absolute": "string",
"change_percent": "string"
},
"last_24h": {
"value": "string",
"change_absolute": "string",
"change_percent": "string"
},
"last_7d": "string",
"total": "string",
"dominance": {
"last_24h": "string"
}
},
"txn": {
"last_5m": {
"value": 0,
"change_absolute": 0,
"change_percent": "string"
},
"last_1h": {
"value": 0,
"change_absolute": 0,
"change_percent": "string"
},
"last_6h": {
"value": 0,
"change_absolute": 0,
"change_percent": "string"
},
"last_24h": {
"value": 0,
"change_absolute": 0,
"change_percent": "string"
},
"last_7d": 0
},
"takers_24h": 0,
"takers_7d": 0,
"buy_sell_24h": {
"buys": {
"txns": 0,
"traders": 0,
"xrp": "string"
},
"sells": {
"txns": 0,
"traders": 0,
"xrp": "string"
}
},
"quality_score": "string"
}
}
}
]
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}