/token/holder-history/batchtoken-holderHistoryBatchPOST batch variant of /token/{tokenSlug}/holder-history. Accepts { slugs: [...], days } (max 100 slugs, default 30 days); returns per-slug daily holder-count rows. Same lower-bound semantics as the single-slug endpoint (CURRENT_DATE − days).
| 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 | Default | 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. | |
days | integer | 30 | Lookback window in days, applied per slug. Defaults to 30; capped at 365. |
{
"slugs": [
"string"
],
"days": 30
}| 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": {
"items": [
{
"bucketDate": "2026-04-23",
"holderCount": 142,
"totalSupply": "5000000.000000"
},
{
"bucketDate": "2026-04-24",
"holderCount": 148,
"totalSupply": "5000000.000000"
}
],
"nextCursor": null
}
}
]
}| 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": []
}