> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cabalspy.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Me

> GET /v1/me: the instance your API key works with, its plan, request rate and how many users you receive data for.

The instance your API key works with, its mode and plan, the request rate and how many users you currently receive data for. Call it first to check that your key is set up.

## Query Parameters

<ParamField query="instance" type="string">
  Your Instance ID (`csid_...`). Only needed when your account has several instances.
</ParamField>

<ParamField query="api_key" type="string" required>
  Your API key. Alternatively pass it as an Authorization Bearer header.
</ParamField>

## Usage Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api-id.cabalspy.xyz/v1/me" \
    -H "Authorization: Bearer YOUR_KEY"
  ```

  ```python Python theme={null}
  import requests

  r = requests.get("https://api-id.cabalspy.xyz/v1/me",
                   headers={"Authorization": "Bearer YOUR_KEY"})
  d = r.json()["data"]
  print(d["plan"], d["rate_limit_rps"], "rps,", d["users_with_data"], "users")
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch("https://api-id.cabalspy.xyz/v1/me", {
    headers: { Authorization: "Bearer YOUR_KEY" },
  });
  const { data } = await res.json();
  console.log(data.plan, data.rate_limit_rps, data.users_with_data);
  ```
</CodeGroup>

## Response

<ResponseField name="success" type="boolean">
  True on success.
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="data">
    <ResponseField name="instance" type="string">
      The registrable domain of a live instance, otherwise its client\_id.
    </ResponseField>

    <ResponseField name="client_id" type="string">
      The Instance ID.
    </ResponseField>

    <ResponseField name="mode" type="string">
      `sandbox`, `development` or `live`.
    </ResponseField>

    <ResponseField name="plan" type="string">
      `free`, `starter`, `pro`, `business` or `enterprise` for live instances, `development` otherwise.
    </ResponseField>

    <ResponseField name="rate_limit_rps" type="integer">
      Requests per second, null means unlimited.
    </ResponseField>

    <ResponseField name="websockets" type="boolean">
      Whether the live stream is available.
    </ResponseField>

    <ResponseField name="global_scope" type="boolean">
      Whether `scope=global` is available (Enterprise).
    </ResponseField>

    <ResponseField name="users_with_data" type="integer">
      Number of users you currently receive data for.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "instance": "example.com",
      "client_id": "csid_3f9a1c0e7b2d4a6f8e1c5b09",
      "mode": "live",
      "plan": "pro",
      "rate_limit_rps": 10,
      "websockets": true,
      "global_scope": false,
      "users_with_data": 128
    },
    "meta": {
      "request_id": "req_5162c7cf7f87",
      "cached": false,
      "cache_age_seconds": 0,
      "version": "v1",
      "timestamp": "2026-10-13T08:04:11Z"
    }
  }
  ```
</ResponseExample>

## Errors

| Status | Code | Meaning |
| - | - | - |
| 400 | instance\_required | Your account has several instances, pass instance. |
| 401 | missing\_api\_key | API key missing. |
| 403 | invalid\_api\_key | API key invalid or does not exist. |
| 403 | product\_not\_enabled | CabalSpy ID is not enabled for this key. |
| 403 | no\_instance | Create a CabalSpy ID instance first. |
| 404 | instance\_not\_found | No instance with this client\_id in your account. |
| 429 | rate\_limit\_exceeded | Rate limit exceeded. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.