# API usage

Monitor request volume and response latency.



[Authentication](/build/authentication/) · [Errors](/build/errors/) · [Amounts and units](/build/units/)


Response examples below come from a local test account. IDs, balances and timestamps are sample data. Replace IDs and credentials with values from your account.


## Request/latency time series + totals from real request logs

`GET /usage`


**Access:** `partner:read`.


**SDK methods:** TypeScript `client.usage.get(…)`; Python `client.usage.get(…)`.


### Parameters

| Name | Location | Type | Required | Description |

| --- | --- | --- | --- | --- |

| `range` | query | `"24h"`, `"7d"`, `"30d"` | No |  |

### Request example

```bash
curl --fail-with-body -X GET "$THESAUROS_API_BASE/usage" \
  -H "Authorization: Bearer $THESAUROS_API_KEY"
```

### Response · 200

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | `string` | Yes |   |
| `data` | [UsageReport](/api/partner-models/#usagereport) | Yes |   |


<details><summary>View example response</summary>

```json
{
  "object": "usage",
  "data": {
    "object": "usage",
    "range": "30d",
    "totals": {
      "requests": 30,
      "errors": 0,
      "error_rate": 0,
      "p50_ms": 11,
      "p99_ms": 81
    },
    "series": [
      {
        "t": "2026-08-09T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-10T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-11T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-12T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-13T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-14T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-15T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-16T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-17T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-18T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-19T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-20T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-21T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-22T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-23T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-24T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-25T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-26T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-27T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-28T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-29T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-30T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-08-31T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-01T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-02T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-03T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-04T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-05T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-06T00:00:00.000Z",
        "requests": 0,
        "errors": 0,
        "p50_ms": 0,
        "p99_ms": 0
      },
      {
        "t": "2026-09-07T00:00:00.000Z",
        "requests": 30,
        "errors": 0,
        "p50_ms": 11,
        "p99_ms": 81
      }
    ],
    "top_endpoints": [
      {
        "endpoint": "GET /api/v1/partner/summary",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/users",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/deposits",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/withdrawals",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/tvl",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/yield",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/points",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/revenue",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/user/:id/positions",
        "requests": 1,
        "errors": 0
      },
      {
        "endpoint": "GET /api/v1/partner/yield/history/:asset",
        "requests": 1,
        "errors": 0
      }
    ]
  }
}
```

</details>


For failed requests, inspect `error.code`, `error.message` and the request ID. [Error handling](/build/errors/).

