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

# Read Tenant Usage Counters and Limits

> Read Sinjapp Business tenant usage counters, subscription limits, and per-sender message volume to monitor plan headroom and alert ops.

Use the usage endpoint to monitor message volume and subscription limits for the current tenant.

Requires `usage.read` scope.

## Read Usage

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://{tenant}.sinjapp.org/api/v1/usage" \
    -H "X-Api-Key: {tenant_api_key}" \
    -H "Accept: application/json"
  ```

  ```js JavaScript theme={null}
  const response = await fetch('https://{tenant}.sinjapp.org/api/v1/usage', {
    headers: {
      'X-Api-Key': tenantApiKey,
      'Accept': 'application/json',
    },
  })

  const usage = await response.json()
  ```

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

  $response = file_get_contents('https://{tenant}.sinjapp.org/api/v1/usage', false, stream_context_create([
      'http' => [
          'method' => 'GET',
          'header' => [
              'X-Api-Key: ' . $tenantApiKey,
              'Accept: application/json',
          ],
          'timeout' => 30,
      ],
  ]));

  $usage = json_decode($response, true);
  ```

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

  response = requests.get(
      "https://{tenant}.sinjapp.org/api/v1/usage",
      headers={
          "X-Api-Key": tenant_api_key,
          "Accept": "application/json",
      },
      timeout=30,
  )

  usage = response.json()
  ```
</CodeGroup>

## When To Use It

* Show remaining limits inside an integration dashboard.
* Alert your operations team before a tenant reaches a daily or plan limit.
* Compare message volume by sender number when your response includes sender-level counters.
