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

# Get Subscription

> Retrieve a single subscription by its ID.

<Info>
  This endpoint requires a **PRO plan or above**. If your plan does not include the External Billing API, the request returns `403` with error code `external_billing_api`.
</Info>


## OpenAPI

````yaml GET /api/v2/external-billing/subscriptions/{subscription_id}/
openapi: 3.1.0
info:
  title: VoiceAIWrapper API
  description: >-
    REST API for managing campaigns, leads, clients, web widgets, and voice
    providers on VoiceAIWrapper.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.voiceaiwrapper.app
security:
  - bearerAuth: []
paths:
  /api/v2/external-billing/subscriptions/{subscription_id}/:
    get:
      tags:
        - External Billing - Subscriptions
      summary: Get Subscription
      description: >-
        Returns a single subscription by ID. The subscription must belong to
        your tenant.


        ## Authentication

        Requires `Authorization: Bearer <api_key>`. The API key must belong to a
        tenant on a **PRO plan or above**.
      operationId: getSubscription
      parameters:
        - name: subscription_id
          in: path
          required: true
          description: Integer ID of the subscription.
          schema:
            type: string
            example: '1'
      responses:
        '200':
          description: Subscription returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
              example:
                id: '1'
                client_id: '42'
                client_name: Acme Corp
                product_id: '7'
                product_name: Pro Plan
                status: active
                current_period_start: '2025-01-01T00:00:00'
                current_period_end: '2025-02-01T00:00:00'
                created_at: '2025-01-01T00:00:00'
                updated_at: '2025-01-15T10:00:00'
        '401':
          description: >-
            Authentication failed - `Authorization` header missing, malformed,
            or API key not found / disabled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                message: Authorization header not found
        '403':
          description: >-
            Access denied - your current plan does not include the External
            Billing API. Upgrade to PRO or above.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                message: >-
                  External Billing API access requires a PRO plan. Error Code:
                  external_billing_api
        '404':
          description: Subscription not found or does not belong to your tenant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                message: Subscription not found
        '500':
          description: Internal server error. Contact support if this persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                message: Internal server error
components:
  schemas:
    Subscription:
      type: object
      properties:
        id:
          type: string
          description: Subscription ID.
          example: '1'
        client_id:
          type: string
          description: ID of the client this subscription belongs to.
          example: '42'
        client_name:
          type: string
          description: Display name of the client.
          example: Acme Corp
        product_id:
          type: string
          description: ID of the billing plan/product.
          example: '7'
        product_name:
          type: string
          description: Name of the billing plan/product.
          example: Starter Plan
        status:
          type: string
          enum:
            - active
            - past_due
            - blocked
            - canceled
          description: Current subscription status.
          example: active
        current_period_start:
          type: string
          format: date-time
          nullable: true
          description: Start of the current billing period (ISO 8601).
          example: '2025-01-01T00:00:00'
        current_period_end:
          type: string
          format: date-time
          nullable: true
          description: End of the current billing period (ISO 8601).
          example: '2025-02-01T00:00:00'
        created_at:
          type: string
          format: date-time
          description: When the subscription was created (ISO 8601).
          example: '2025-01-01T00:00:00'
        updated_at:
          type: string
          format: date-time
          description: When the subscription was last updated (ISO 8601).
          example: '2025-01-15T10:00:00'
    ErrorMessage:
      type: object
      properties:
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````