---
title: "The key, plan, limits and tracked-ticker count"
method: GET
path: "/me"
tags: ["account"]
---

# The key, plan, limits and tracked-ticker count

`GET /me`

## Request

- Base URL: `https://api.tradingpal.io/api/v1`
- URL: `https://api.tradingpal.io/api/v1/me`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.tradingpal.io/oauth/authorize`, token URL `https://api.tradingpal.io/oauth/token`, scopes: `patterns`)

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 on an account with Premium+.

## Headers

- `X-TradingPal-Client` string

## Response `200`

OK

- Me: The calling key, the plan, the account's limits and how many tickers it tracks.
  - `api_version` 'v1', required: The contract version, always v1. Field names in v1 do not change, and v1 stays available at least 12 months after a v2 ships.
  - `as_of_session` string, date, nullable, required: The last trading session the data describes, as an ISO date. Setups change nightly, so say it when presenting data and do not cache setups across days. Null on routes that do not read a dated artifact (account, tickers, history, families, universe and the demo index).
  - `data_version` string, nullable: Identifier of the stored artifact the answer came from: the candidate-book generation for patterns, the sealed manifest for family records. Null when the route reads no versioned artifact.
  - `source` object, required: Who produced the data. Constant on every response.
    - `name` string: Always "TradingPal".
    - `url` string, uri: Always https://tradingpal.io.
  - `disclaimer` 'Educational breakout-pattern analysis from TradingPal, not investment advice. Past results do not guarantee future outcomes.', required: The educational-use disclaimer, constant on every response. Repeat it when presenting a setup as something the user might act on.
  - `key` object: The key that made the call, without its secret.
    - `prefix` string: The first 16 characters of the key (tp_live_ plus eight).
    - `name` string: The label given when the key was created.
    - `created_at` string, date-time: When the key was created, ISO 8601 date-time.
  - `plan` 'api' | 'staff': The account's plan: api (Premium+, which includes Premium) or staff. No other account passes the gate.
  - `limits` object: The account's limits. Every value is an integer.
    - `tracked_tickers` integer: How many tickers the account may track: the cap PUT /tickers enforces.
    - `requests_per_minute` integer: Per-key burst limit, requests per minute (60).
    - `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` string, uri: The developer docs, where keys are managed.
  - `mcp_url` string, uri: The MCP server endpoint (Streamable HTTP), which takes the same key.

## Other responses

- `401`: missing_api_key (no Authorization: Bearer tp_live_… header) or invalid_api_key (unknown, revoked, or the account is inactive)
- `403`: forbidden (the account is not on Premium+, the plan with API access)
- `429`: rate_limited; wait details.retry_after_seconds

---

[API](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api.md) · [All operations](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/revisions/e96e1f20c1ce?raw)
