Clerk · Capability
Clerk Backend Api — Billing
Clerk Billing capability. 10 operations. Lead operation: List All Billing Plans.
Capability Spec
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