API reference
Your key and limits
/meKey requiredThe key, plan, limits and tracked-ticker count
Returns the calling key (prefix, name, creation time), the plan, the account's limits (the tracked-ticker cap, requests per minute and per day) and how many tickers the account tracks. Call it to confirm a key works and to size a tracking list before PUT /tickers. Needs a key; during the beta the account must be Premium.
Authentication
Needs a key: send Authorization: Bearer tp_live_… (see Authentication). Counted against the key's limits of 60 requests a minute and 10,000 a day.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-TradingPal-Client | header | string | no | Optional name of the agent or script making the call. It is recorded in the account's usage log so the user can see which client made which calls; the User-Agent is recorded when it is absent. |
Request
curl "https://api.tradingpal.io/api/v1/me" \
-H "Authorization: Bearer $TRADINGPAL_API_KEY"Response
JSON. The fields this route adds are below; every response also carries the envelope fields (api_version, as_of_session, data_version, source, disclaimer).
| Field | Type | Description |
|---|---|---|
key | object | The key that made the call, without its secret. |
key.prefix | string | The first 16 characters of the key (tp_live_ plus eight). |
key.name | string | The label given when the key was created. |
key.created_at | datetime | When the key was created, ISO 8601 date-time. |
plan | string | The account's API plan. Always beta while the API is in beta. |
limits | object | The account's limits. Every value is an integer. |
limits.tracked_tickers | integer | How many tickers the account may track: the cap PUT /tickers enforces. |
limits.requests_per_minute | integer | Per-key burst limit, requests per minute (60). |
limits.requests_per_day | integer | Per-key daily limit, requests per day (10,000). |
tracked_ticker_count | integer | How many tickers the account tracks now. |
docs_url | url | The developer docs, where keys are managed. |
mcp_url | url | The MCP server endpoint (Streamable HTTP), which takes the same key. |
Example response
{
"api_version": "v1",
"plan": "beta",
"tracked_ticker_count": 3
}Errors
Errors are JSON with the Error shape; the fix field says what to do.
| Status | Code | Meaning | Fix |
|---|---|---|---|
| 401 | missing_api_key | The request had no Authorization: Bearer tp_live_… header and the route needs one. | Send the header on every keyed call. Only the demo, families and universe routes answer without it. |
| 401 | invalid_api_key | The key is not one we know, or it has been revoked. | Create a new key on the Keys page and replace it wherever the old one was stored. |
| 403 | forbidden | The account behind the key is not on a plan with API access. | During the beta, keys work on Premium accounts. Upgrade the account, then retry with the same key. |
| 429 | rate_limited | The key passed 60 requests in a minute or 10,000 in a day, or a keyless caller passed 30 a minute from one IP. | Wait details.retry_after_seconds, then retry. Cache the nightly answers; they do not change until the next session. |