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

# Get a subscription

> Retrieves a single subscription by its ID. Read endpoints never return the signing `secret` - use `signing_enabled` to tell whether signing is on.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/public/webhook/subscription/{id}
openapi: 3.1.0
info:
  title: Verbex Platform API
  description: API for managing AI agents, calls, phone numbers, and more.
  version: 1.0.0
servers: []
security: []
paths:
  /v1/public/webhook/subscription/{id}:
    get:
      tags:
        - Webhook Subscriptions
      summary: Get a subscription
      description: >-
        Retrieves a single subscription by its ID. Read endpoints never return
        the signing `secret` - use `signing_enabled` to tell whether signing is
        on.
      operationId: get_webhook_subscription
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            title: Id
          description: The subscription ID.
      responses:
        '200':
          description: OK (no `secret`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionResponse'
              example:
                id: 6a27a76692d9e3a8ffd7e62d
                organization_id: ddd6f1d8-b232-497e-bf1e-ea7317622d17
                scope: ORGANIZATION
                created_user_id: google-oauth2|101090478854418701727
                name: Payment Events Webhook
                url: https://api.example.com/webhooks/payments
                events: []
                active: true
                headers:
                  X-Custom-Header: custom-value
                  Authorization: Bearer your-api-token-here
                description: Receives payment events with custom authentication
                request_timeout_ms: 1000
                retry_policy:
                  retryStrategy: FIXED_DELAY
                  maxRetryAttempts: 3
                  maxRetryDelayMs: 10000
                signing_enabled: true
                created_at: '2026-06-09T10:15:00.000Z'
                updated_at: '2026-06-09T10:15:00.000Z'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookAuthErrorResponse'
          description: Unauthorized - missing or invalid Bearer token.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookErrorResponse'
          description: Not Found - no subscription exists for the given id.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookErrorResponse'
          description: Internal Server Error.
      security:
        - BearerAuth: []
components:
  schemas:
    WebhookSubscriptionResponse:
      type: object
      title: WebhookSubscriptionResponse
      properties:
        id:
          type: string
          title: Id
          description: Subscription ID. Required for GET / PUT / DELETE.
          example: 6a27a76692d9e3a8ffd7e62d
        organization_id:
          type: string
          title: Organization Id
          description: Owning organization (resolved from your API key).
          example: ddd6f1d8-b232-497e-bf1e-ea7317622d17
        scope:
          type: string
          enum:
            - ORGANIZATION
            - WORKSPACE
            - AGENT
          title: Scope
          description: Resolved delivery scope.
          example: ORGANIZATION
        created_user_id:
          type: string
          title: Created User Id
          description: User that created the subscription.
          example: google-oauth2|101090478854418701727
        name:
          type: string
          title: Name
          example: Payment Events Webhook
        url:
          type: string
          title: Url
          example: https://api.example.com/webhooks/payments
        events:
          type: array
          items:
            type: string
          title: Events
          example: []
        active:
          type: boolean
          title: Active
          example: true
        headers:
          type: object
          additionalProperties:
            type: string
          title: Headers
          description: >-
            Custom HTTP headers forwarded with each delivery; omitted when
            unset.
          example:
            X-Custom-Header: custom-value
            Authorization: Bearer your-api-token-here
        description:
          type: string
          title: Description
          description: Free-text description; omitted when unset.
          example: Receives payment events with custom authentication
        agent_ids:
          type: array
          items:
            type: string
          title: Agent Ids
          description: Agent scope; omitted when unset.
        workspace_ids:
          type: array
          items:
            type: string
          title: Workspace Ids
          description: Workspace scope; omitted when unset.
        request_timeout_ms:
          type: integer
          title: Request Timeout Ms
          description: Per-attempt delivery timeout in ms (default `1000`).
          example: 1000
        retry_policy:
          $ref: '#/components/schemas/WebhookRetryPolicy'
        signing_enabled:
          type: boolean
          title: Signing Enabled
          description: Whether the subscription has a signing secret. Always present.
          example: true
        secret:
          type: string
          title: Secret
          description: >-
            HMAC signing secret, prefixed `whsec_`. Present only at issuance
            when signing is enabled. Never returned by read endpoints.
          example: whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        created_at:
          type: string
          format: date-time
          title: Created At
          example: '2026-06-09T10:15:00.000Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          example: '2026-06-09T10:15:00.000Z'
    WebhookAuthErrorResponse:
      type: object
      title: WebhookAuthErrorResponse
      description: >-
        Authentication failures rejected at the API gateway (401) return this
        leaner body (note camelCase `traceId`).
      properties:
        error:
          type: string
          title: Error
          example: Authentication
        message:
          type: string
          title: Message
          example: Authentication failed
        traceId:
          type: string
          title: Trace Id
          example: e679120f-1d1c-41d2-947c-34e194d5a4a1
    WebhookErrorResponse:
      type: object
      title: WebhookErrorResponse
      description: Service-level error body (400, 404, 409, 500).
      properties:
        status:
          type: integer
          title: Status
          example: 400
        type:
          type: string
          title: Type
          example: VALIDATION_ERROR
        message:
          type: string
          title: Message
          example: Validation failed
        details:
          type: object
          title: Details
          description: >-
            Optional structured detail (e.g. `fields` -> per-field validation
            messages).
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        path:
          type: string
          title: Path
          example: /v1/public/webhook/subscription
        trace_id:
          type: string
          title: Trace Id
          example: 341b5325-a0be-4533-85dd-6f697476dfc3
    WebhookRetryPolicy:
      type: object
      title: WebhookRetryPolicy
      description: Delivery retry configuration.
      properties:
        retryStrategy:
          type: string
          title: Retry Strategy
          example: FIXED_DELAY
        maxRetryAttempts:
          type: integer
          title: Max Retry Attempts
          example: 3
        maxRetryDelayMs:
          type: integer
          title: Max Retry Delay Ms
          example: 10000
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key passed as a Bearer token in the `Authorization` header:
        `Authorization: Bearer <YOUR_API_KEY>`.

````