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

# GET /api/v1/me — Account and usage info

> Returns your organization details, current plan limits, API key scopes, and real-time monthly usage. Requires any valid API key.

The `/me` endpoint returns everything you need to know about your API access — your organization, plan limits, key scopes, and how much of your monthly quota you've consumed. Call it whenever you want to verify your key is valid, confirm which scopes are attached to it, or check how much of your quota remains before the next reset.

## Endpoint

```
GET https://api.8bitedge.com/api/v1/me
```

## Authentication

Send any valid bearer key in the `Authorization` header. No specific scope is required — any active key for an active organization will work.

<Warning>
  If your organization is suspended you will receive a `403 account_inactive` response even with a valid key. Check `data.organization.status` in a successful response to confirm your account is in good standing.
</Warning>

## Request

```bash theme={null}
curl https://api.8bitedge.com/api/v1/me \
  -H "Authorization: Bearer $BITEDGE_API_KEY"
```

## Response 200

```json theme={null}
{
  "data": {
    "organization": { "id": 1, "name": "Acme Corp", "status": "active" },
    "plan": {
      "slug": "starter",
      "name": "Starter",
      "rate_limit_per_minute": 120,
      "rate_limit_per_day": 20000,
      "monthly_quota": 250000,
      "max_batch_size": 50,
      "max_page_size": 50
    },
    "api_key": { "name": "server", "last_four": "9f3a", "scopes": ["games.read"] },
    "usage": { "month": { "used": 1234, "quota": 250000, "resets_in": 1209600 } }
  }
}
```

## Response fields

<ResponseField name="data.organization.id" type="int">
  Your organization's unique ID.
</ResponseField>

<ResponseField name="data.organization.name" type="string">
  Your organization name.
</ResponseField>

<ResponseField name="data.organization.status" type="string">
  Account standing. Either `active` or `suspended`.
</ResponseField>

<ResponseField name="data.plan.slug" type="string">
  Plan identifier. One of `free`, `starter`, `pro`, or `enterprise`.
</ResponseField>

<ResponseField name="data.plan.rate_limit_per_minute" type="int">
  The maximum number of requests you can make in any rolling one-minute window.
</ResponseField>

<ResponseField name="data.plan.rate_limit_per_day" type="int">
  The maximum number of requests you can make in any single day.
</ResponseField>

<ResponseField name="data.plan.monthly_quota" type="int">
  Your total monthly request allowance. Returns `null` for unmetered Enterprise plans.
</ResponseField>

<ResponseField name="data.plan.max_batch_size" type="int">
  The maximum number of items you may include in a single batch request.
</ResponseField>

<ResponseField name="data.plan.max_page_size" type="int">
  The maximum `limit` value accepted by list endpoints. Requests for a larger page size are silently capped to this value — always read `meta.pagination.per_page` to confirm the actual page size used.
</ResponseField>

<ResponseField name="data.api_key.name" type="string">
  The human-readable name you assigned to this API key when it was created.
</ResponseField>

<ResponseField name="data.api_key.last_four" type="string">
  The last four characters of the key's public prefix, useful for identifying which key is in use without exposing the secret.
</ResponseField>

<ResponseField name="data.api_key.scopes" type="array">
  The list of permission scopes assigned to this key (e.g. `games.read`, `consoles.read`, `demand-intent.read`). A request to an endpoint whose required scope is not present returns `403 insufficient_scope`.
</ResponseField>

<ResponseField name="data.usage.month.used" type="int">
  The number of metered requests you have made in the current calendar month.
</ResponseField>

<ResponseField name="data.usage.month.quota" type="int">
  Your monthly quota for the current period, mirroring `data.plan.monthly_quota`.
</ResponseField>

<ResponseField name="data.usage.month.resets_in" type="int">
  Seconds remaining until your monthly quota counter resets. At `1 209 600` that is exactly 14 days.
</ResponseField>

## Error responses

| Status | `error.code`       | When it occurs                                                                  |
| ------ | ------------------ | ------------------------------------------------------------------------------- |
| `401`  | `unauthorized`     | The `Authorization` header is missing, the key is invalid, revoked, or expired. |
| `403`  | `account_inactive` | Your organization or client account is suspended.                               |
