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

# Get account

> GET /v1/account — read your credit balance, subscription, and enabled providers.

<Note>
  **`GET https://api.linkskipper.app/v1/account`** · Any valid API key.
</Note>

Returns the account behind the API key: the linked Telegram identity, current credit
balance, subscription expiry (if any), and the list of providers available to you. Useful
for showing a balance in your dashboard or gating a resolve before you spend a credit.

## Request

### Headers

<ParamField header="Authorization" type="string" required>
  `Bearer sk_live_…`. See [Authentication](/docs/authentication).
</ParamField>

## Response

<ResponseField name="telegram_id" type="number">
  The Telegram user id linked to the account that owns the key.
</ResponseField>

<ResponseField name="balance" type="number">
  Current credit balance. Each resolve spends credits per the provider's
  [tier](/docs/providers); cached resolves are free.
</ResponseField>

<ResponseField name="subscription_until" type="string | null">
  ISO 8601 timestamp of when the active subscription ends, or `null` if there is no
  subscription.
</ResponseField>

<ResponseField name="providers" type="object[]">
  The providers available on this account.

  <Expandable title="provider object">
    <ResponseField name="provider" type="string">
      Provider id, e.g. `ouo`.
    </ResponseField>

    <ResponseField name="label" type="string">
      Human-readable provider name, e.g. `Ouo`.
    </ResponseField>

    <ResponseField name="tier" type="string">
      `"standard"` or `"premium"`.
    </ResponseField>
  </Expandable>
</ResponseField>

```json 200 OK theme={null}
{
  "telegram_id": 123456789,
  "balance": 248,
  "subscription_until": null,
  "providers": [
    { "provider": "aylink", "label": "Aylink", "tier": "standard" },
    { "provider": "linktl", "label": "LinkTL", "tier": "standard" },
    { "provider": "ouo", "label": "Ouo", "tier": "standard" },
    { "provider": "exe", "label": "Exe.io", "tier": "premium" }
  ]
}
```

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.linkskipper.app/v1/account \
    -H "Authorization: Bearer sk_live_XXXXXXXXXXXXXXXXXXXXXXXX"
  ```

  ```ts JavaScript theme={null}
  const account = await client.account();

  console.log(`Balance: ${account.balance} credits`);
  console.log(`Providers: ${account.providers.map((p) => p.provider).join(", ")}`);
  if (account.subscriptionUntil) {
    console.log(`Subscribed until ${account.subscriptionUntil}`);
  }
  ```

  ```php PHP theme={null}
  <?php

  $account = $client->account();

  printf("Balance: %d credits\n", $account->balance);
  echo "Providers: " . implode(", ", array_map(
      fn ($p) => $p->provider,
      $account->providers,
  )) . PHP_EOL;
  if ($account->subscriptionUntil !== null) {
      echo "Subscribed until " . $account->subscriptionUntil . PHP_EOL;
  }
  ```
</CodeGroup>

<Note>
  The provider list here mirrors [`GET /v1/providers`](/docs/providers) but omits the hosts,
  per-call cost, and latency. Use the providers endpoint when you need the full catalog
  detail.
</Note>
