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

# Get the partner's tier and usage

> The tier the partner pays the host for, the pool its businesses share and what they used of it this month, and the pool's overage.



## OpenAPI

````yaml /api-reference/openapi.json get /partner/billing
openapi: 3.1.0
info:
  title: LobbyStack API
  version: v1
  description: >-
    Read calls, contacts, appointments and messages, book appointments, and
    subscribe to webhooks. Authenticate with an API key in the Authorization
    header. A platform key also names the business it acts on in the
    LobbyStack-Business header. Each key allows 120 requests per minute by
    default.
servers:
  - url: https://app.lobbystack.com/api/v1
security:
  - bearerAuth: []
tags:
  - name: Business
  - name: Receptionist
  - name: Agents
  - name: Billing
  - name: Phone numbers
  - name: Onboarding
  - name: Team
  - name: Website chat
  - name: Calendars
  - name: Notifications
  - name: Calls
  - name: Contacts
  - name: Appointments
  - name: Messages
  - name: Knowledge
  - name: Webhooks
  - name: Platform
  - name: Partner
paths:
  /partner/billing:
    get:
      tags:
        - Partner
      summary: Get the partner's tier and usage
      description: >-
        The tier the partner pays the host for, the pool its businesses share
        and what they used of it this month, and the pool's overage.
      operationId: getPartnerBilling
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/PartnerBilling'
        '400':
          description: The request is invalid (invalid_request).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The API key is missing, invalid, or revoked (unauthorized).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Refused. insufficient_scope: the key lacks the partner.billing:read
            scope, which partner.billing:write also grants. forbidden: only a
            partner's platform keys can call this endpoint, or what only the
            partner's owners may do. key_owner_inactive: the person the key acts
            for can't any more: a per-business key's creator is no longer an
            owner or admin, or a platform key's owner_email has no verified
            LobbyStack account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The request conflicts with the current state. key_owner_inactive:
            the owner who made the key is no longer an owner of the partner, so
            its billing scopes no longer apply.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            Too many requests (rate_limited). Wait for the Retry-After header's
            number of seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait.
      security:
        - bearerAuth: []
components:
  schemas:
    PartnerBilling:
      type: object
      properties:
        billed:
          type: boolean
          description: Whether this deployment bills partners for tiers.
        tier:
          type: string
          enum:
            - free
            - starter
            - growth
            - scale
        interval:
          anyOf:
            - type: string
              enum:
                - monthly
                - annual
            - type: 'null'
        subscription_state:
          type:
            - string
            - 'null'
        current_period_end:
          anyOf:
            - type: string
              format: date-time
              description: ISO 8601 timestamp in UTC.
            - type: 'null'
        ends_at:
          anyOf:
            - type: string
              format: date-time
              description: ISO 8601 timestamp in UTC.
            - type: 'null'
          description: When a canceled tier ends, or null while it renews.
        included_numbers:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        trial_numbers:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        numbers_held:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        pool:
          anyOf:
            - type: object
              properties:
                period:
                  type: string
                voice_seconds_limit:
                  anyOf:
                    - type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                    - type: 'null'
                chats_limit:
                  anyOf:
                    - type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                    - type: 'null'
                voice_seconds_used:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                chats_used:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                overage_spend_cents:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
              required:
                - period
                - voice_seconds_limit
                - chats_limit
                - voice_seconds_used
                - chats_used
                - overage_spend_cents
              additionalProperties: false
            - type: 'null'
          description: >-
            What the businesses used of their shared pool this month, or null
            while nothing limits it.
        pool_overage:
          type: object
          properties:
            enabled:
              type: boolean
            cap_cents:
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            billed:
              type: boolean
              description: Only a paid tier bills overage, so Free stops at its pool.
          required:
            - enabled
            - cap_cents
            - billed
          additionalProperties: false
      required:
        - billed
        - tier
        - interval
        - subscription_state
        - current_period_end
        - ends_at
        - included_numbers
        - trial_numbers
        - numbers_held
        - pool
        - pool_overage
      additionalProperties: false
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - invalid_request
                - unauthorized
                - forbidden
                - insufficient_scope
                - not_found
                - conflict
                - idempotency_key_reused
                - idempotency_request_in_progress
                - booking_disabled
                - booking_requires_confirmation
                - slot_unavailable
                - rate_limited
                - rate_limit_unavailable
                - method_not_allowed
                - internal_error
                - business_required
                - key_owner_inactive
                - plan_limit_reached
                - phone_numbers_unavailable
            message:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  path:
                    type: string
                  message:
                    type: string
                required:
                  - path
                  - message
                additionalProperties: false
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An API key from Settings > API keys (lsk_...), which acts on its own
        business, or a platform key from the PLATFORM_API_KEYS setting
        (lsp_...), which onboards and manages businesses. Scopes: business:read,
        business:write, calls:read, contacts:read, contacts:write,
        appointments:read, appointments:write, messages:read, knowledge:read,
        knowledge:write, webhooks:manage, billing:manage, phone_numbers:manage,
        team:manage, businesses:create, users:create, phone_numbers:purchase,
        partner:read, partner.businesses:write, partner.demos:write,
        partner.packages:write, partner.branding:write, partner.templates:write,
        partner.team:write, partner.billing:read, partner.billing:write. Only
        platform keys can hold businesses:create and users:create, and only a
        key a partner made in its console can hold the partner scopes, which the
        Partner endpoints use. Only a partner's owners grant
        partner.billing:read and partner.billing:write.

````

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