Clerk · Capability

Clerk Backend Api — Billing

Clerk Billing capability. 10 operations. Lead operation: List All Billing Plans.

Run with Naftiko ClerkBilling

Capability Spec

clerk-backend-api-billing.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Clerk Backend Api — Billing
  description: 'Clerk Billing capability. 10 operations. Lead operation: List All Billing Plans.'
  tags:
  - Clerk
  - Billing
  created: '2026-05-22'
  modified: '2026-05-22'
binds:
- namespace: env
  keys:
    CLERK_SECRET_KEY: CLERK_SECRET_KEY
capability:
  consumes:
  - type: http
    namespace: clerk-backend-api-billing
    baseUri: https://api.clerk.com/v1
    description: Clerk clerk-backend-api Billing business capability.
    resources:
    - name: billing-plans
      path: /billing/plans
      operations:
      - name: GetCommercePlanList
        method: GET
        description: List All Billing Plans
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: payer_type
          in: query
          type: string
          description: Filter plans by payer type
          required: false
    - name: billing-prices
      path: /billing/prices
      operations:
      - name: GetBillingPriceList
        method: GET
        description: List All Billing Prices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: plan_id
          in: query
          type: string
          description: Filter prices by plan ID
          required: false
      - name: CreateBillingPrice
        method: POST
        description: Create a Custom Billing Price
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: billing-subscription-items
      path: /billing/subscription_items
      operations:
      - name: GetCommerceSubscriptionItemList
        method: GET
        description: List All Subscription Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter subscription items by status
          required: false
        - name: payer_type
          in: query
          type: string
          description: Filter subscription items by payer type
          required: false
        - name: plan_id
          in: query
          type: string
          description: Filter subscription items by plan ID
          required: false
        - name: include_free
          in: query
          type: boolean
          description: Whether to include free plan subscription items
          required: false
        - name: query
          in: query
          type: string
          description: Search query to filter subscription items
          required: false
    - name: billing-subscription-items-subscription-item-id
      path: /billing/subscription_items/{subscription_item_id}
      operations:
      - name: CancelCommerceSubscriptionItem
        method: DELETE
        description: Cancel a Subscription Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: subscription_item_id
          in: path
          type: string
          description: The ID of the subscription item to cancel
          required: true
        - name: end_now
          in: query
          type: boolean
          description: Whether to cancel the subscription immediately (true) or at the end of the current billing period (false, default)
          required: false
    - name: billing-subscription-items-subscription-item-id-extend-free-trial
      path: /billing/subscription_items/{subscription_item_id}/extend_free_trial
      operations:
      - name: ExtendBillingSubscriptionItemFreeTrial
        method: POST
        description: Extend Free Trial for a Subscription Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: subscription_item_id
          in: path
          type: string
          description: The ID of the subscription item to extend the free trial for
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: billing-subscription-items-subscription-item-id-price-transition
      path: /billing/subscription_items/{subscription_item_id}/price_transition
      operations:
      - name: CreateBillingPriceTransition
        method: POST
        description: Create a Price Transition for a Subscription Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: subscription_item_id
          in: path
          type: string
          description: The ID of the subscription item to transition
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: billing-statements
      path: /billing/statements
      operations:
      - name: GetBillingStatementList
        method: GET
        description: List All Billing Statements
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: billing-statements-statementid
      path: /billing/statements/{statementID}
      operations:
      - name: GetBillingStatement
        method: GET
        description: Retrieve a Billing Statement
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: statementID
          in: path
          type: string
          description: The ID of the statement to retrieve.
          required: true
    - name: billing-statements-statementid-payment-attempts
      path: /billing/statements/{statementID}/payment_attempts
      operations:
      - name: GetBillingStatementPaymentAttempts
        method: GET
        description: List Payment Attempts for a Billing Statement
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: statementID
          in: path
          type: string
          description: The ID of the statement to retrieve payment attempts for.
          required: true