Skip to content

Chaching API (1.0)

Chaching is a modern subscription-billing platform designed to simplify product management, customer lifecycle workflows, and recurring payments. It combines a clean dashboard for business users with a powerful API built for developers who need full automation and control.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://chaching.redocly.app/_mock/developer-guide/api

Customers

This object represents a customer of your business. Use it to create recurring charges, save payment and contact information, and track payments that belong to the same customer.

Operations

Products

Products describe the specific goods or services you offer to your customers. For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.

Operations

Transactions

Transactions represent the payments and charges made by your customers.

Operations

Invoices

Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription.

Operations

TaxRates

TaxRates allow you to calculate the tax to collect from your customer.

Operations

Prices

This object represents a price in your Chaching account. Use it to define the cost of your products, configure one-time or recurring billing intervals, specify tax behavior, and manage pricing updates or deactivations for your offerings.

Operations

List all prices

Request

Retrieves a paginated list of all prices for the authenticated account. Supports pagination and search functionality.

Query
searchstring

{"active":true, "inclusive":false, "currency":"usd", "type":"recurring|one_time", "product":"prod_5S8Wt9GNRDxZ7Tjy6g9KKBb5", "created[gt|gte|lt|lte]":1766066322}

Default ""
pagenumber>= 1
Default 1
takenumber[ 1 .. 50 ]
Default 10
Headers
cc-api-keystringrequired

Chaching API Key

curl -i -X GET \
  'https://chaching.redocly.app/_mock/developer-guide/api/prices?page=1&take=10' \
  -H 'cc-api-key: string'

Responses

Successfully retrieved paginated list of prices

Bodyapplication/json
dataArray of objects(PricePublicDto)
metaobject
Response
application/json
{ "data": [ { … } ], "meta": { "page": 1, "take": 10, "itemsTotal": 50, "pagesTotal": 5 } }

Retrieve a price

Request

Retrieves details of a specific price by its unique identifier.

Path
idstring^[a-z]+_[a-zA-Z0-9]+$required

Unique identifier of the price

Example: price_1SGKTmDZYOQH9uHk1vaSxPKa
Headers
cc-api-keystringrequired

Chaching API Key

curl -i -X GET \
  https://chaching.redocly.app/_mock/developer-guide/api/prices/price_1SGKTmDZYOQH9uHk1vaSxPKa \
  -H 'cc-api-key: string'

Responses

Successfully retrieved price

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "price_1SGKTmDZYOQH9uHk1vaSxPKa"
objectstringrequired

String representing the object’s type.

Default "price"
Value"price"
Example: "price"
activebooleanrequired

Indicates whether the object is active.

Example: true
creatednumber>= 0required

Time at which the object was created. Measured in seconds since the Unix epoch

Example: 1760018761
currencystring= 3 characters^[A-Z]{3}$required

Three-letter ISO currency code, in uppercase

Example: "USD"
descriptionstring or null<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
productstring(string)required

ID of the product this price is associated with

Example: null
recurringobject or nullrequired

The recurring components of a price such as interval and interval_count. Null if the price is not recurring.

Example: {"interval":"month","interval_count":1}
recurring.​intervalstringrequired

Billing frequency

Enum"day""week""month""year"
Example: "month"
recurring.​interval_countnumber[ 1 .. 365 ]required

Number of intervals between billings

Default 1
Example: 1
tax_behaviorstringrequired

The tax behavior of the product.

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber or null[ 0 .. 999999999 ]required

The unit amount in cents to be charged, represented as a whole integer if possible.

Example: 1000
unit_amount_decimalstring or nullrequired

Same as unit_amount

Example: "1000"
linkstring or null

Payment link associated with the price for hosted pages or other off-session payments.

Response
application/json
{ "id": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "object": "price", "active": true, "created": 1760018761, "currency": "USD", "description": "Premium Plan - Monthly", "product": null, "recurring": { "interval": "month", "interval_count": 1 }, "tax_behavior": "exclusive", "type": "one_time", "unit_amount": 1000, "unit_amount_decimal": "1000", "link": "string" }

Create a price for a product

Request

Creates a new price for an existing product. The price can be one-time or recurring (subscription-based).

Path
idstring^[a-z]+_[a-zA-Z0-9]+$required

Unique identifier of the product to add the price to

Example: prod_xT4LfvxLMQb4s9uFNIbXf9pm
Headers
cc-api-keystringrequired

Chaching API Key

Bodyapplication/jsonrequired

Price creation data

currencystringrequired

Three-letter ISO currency code

Value"USD"
Example: "USD"
descriptionstring<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
recurringobject or null

Recurring components of the price

tax_behaviorstringrequired

Tax calculation behavior

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

Price type

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber[ 0 .. 99999999 ]required

Unit amount in cents

Example: 1000
curl -i -X POST \
  https://chaching.redocly.app/_mock/developer-guide/api/prices/prod_xT4LfvxLMQb4s9uFNIbXf9pm \
  -H 'Content-Type: application/json' \
  -H 'cc-api-key: string' \
  -d '{
    "currency": "USD",
    "unit_amount": 2999,
    "type": "recurring",
    "recurring": {
      "interval": "month",
      "interval_count": 1
    },
    "tax_behavior": "exclusive",
    "description": "Monthly subscription"
  }'

Responses

Price successfully created

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "price_1SGKTmDZYOQH9uHk1vaSxPKa"
objectstringrequired

String representing the object’s type.

Default "price"
Value"price"
Example: "price"
activebooleanrequired

Indicates whether the object is active.

Example: true
creatednumber>= 0required

Time at which the object was created. Measured in seconds since the Unix epoch

Example: 1760018761
currencystring= 3 characters^[A-Z]{3}$required

Three-letter ISO currency code, in uppercase

Example: "USD"
descriptionstring or null<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
productstring(string)required

ID of the product this price is associated with

Example: null
recurringobject or nullrequired

The recurring components of a price such as interval and interval_count. Null if the price is not recurring.

Example: {"interval":"month","interval_count":1}
recurring.​intervalstringrequired

Billing frequency

Enum"day""week""month""year"
Example: "month"
recurring.​interval_countnumber[ 1 .. 365 ]required

Number of intervals between billings

Default 1
Example: 1
tax_behaviorstringrequired

The tax behavior of the product.

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber or null[ 0 .. 999999999 ]required

The unit amount in cents to be charged, represented as a whole integer if possible.

Example: 1000
unit_amount_decimalstring or nullrequired

Same as unit_amount

Example: "1000"
linkstring or null

Payment link associated with the price for hosted pages or other off-session payments.

Response
application/json
{ "id": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "object": "price", "active": true, "created": 1760018761, "currency": "USD", "description": "Premium Plan - Monthly", "product": null, "recurring": { "interval": "month", "interval_count": 1 }, "tax_behavior": "exclusive", "type": "one_time", "unit_amount": 1000, "unit_amount_decimal": "1000", "link": "string" }

Delete a price

Request

Permanently deletes a price. This action cannot be undone. Active prices associated with active subscriptions should be deactivated instead of deleted.

Path
idstring^[a-z]+_[a-zA-Z0-9]+$required

Unique identifier of the price to delete

Example: price_1SGKTmDZYOQH9uHk1vaSxPKa
Headers
cc-api-keystringrequired

Chaching API Key

curl -i -X DELETE \
  https://chaching.redocly.app/_mock/developer-guide/api/prices/price_1SGKTmDZYOQH9uHk1vaSxPKa \
  -H 'cc-api-key: string'

Responses

Price successfully deleted

Bodyapplication/json
idstring
Example: "price_1SGKTmDZYOQH9uHk1vaSxPKa"
deletedboolean
Example: true
Response
application/json
{ "id": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "deleted": true }

Update an inactive price

Request

Updates an inactive price with new details. Only inactive prices can be fully updated with this endpoint.

Path
idstring^[a-z]+_[a-zA-Z0-9]+$required

Unique identifier of the inactive price to update

Example: price_1SGKTmDZYOQH9uHk1vaSxPKa
Headers
cc-api-keystringrequired

Chaching API Key

Bodyapplication/jsonrequired

Price update data

currencystringrequired

Three-letter ISO currency code

Value"USD"
Example: "USD"
descriptionstring<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
recurringobject or null

Recurring components of the price

tax_behaviorstringrequired

Tax calculation behavior

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

Price type

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber[ 0 .. 99999999 ]required

Unit amount in cents

Example: 1000
curl -i -X PATCH \
  https://chaching.redocly.app/_mock/developer-guide/api/prices/price_1SGKTmDZYOQH9uHk1vaSxPKa/inactive \
  -H 'Content-Type: application/json' \
  -H 'cc-api-key: string' \
  -d '{
    "currency": "USD",
    "unit_amount": 3999,
    "type": "recurring",
    "recurring": {
      "interval": "month",
      "interval_count": 1
    },
    "tax_behavior": "exclusive",
    "description": "Updated monthly subscription"
  }'

Responses

Price successfully updated

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "price_1SGKTmDZYOQH9uHk1vaSxPKa"
objectstringrequired

String representing the object’s type.

Default "price"
Value"price"
Example: "price"
activebooleanrequired

Indicates whether the object is active.

Example: true
creatednumber>= 0required

Time at which the object was created. Measured in seconds since the Unix epoch

Example: 1760018761
currencystring= 3 characters^[A-Z]{3}$required

Three-letter ISO currency code, in uppercase

Example: "USD"
descriptionstring or null<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
productstring(string)required

ID of the product this price is associated with

Example: null
recurringobject or nullrequired

The recurring components of a price such as interval and interval_count. Null if the price is not recurring.

Example: {"interval":"month","interval_count":1}
recurring.​intervalstringrequired

Billing frequency

Enum"day""week""month""year"
Example: "month"
recurring.​interval_countnumber[ 1 .. 365 ]required

Number of intervals between billings

Default 1
Example: 1
tax_behaviorstringrequired

The tax behavior of the product.

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber or null[ 0 .. 999999999 ]required

The unit amount in cents to be charged, represented as a whole integer if possible.

Example: 1000
unit_amount_decimalstring or nullrequired

Same as unit_amount

Example: "1000"
linkstring or null

Payment link associated with the price for hosted pages or other off-session payments.

Response
application/json
{ "id": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "object": "price", "active": true, "created": 1760018761, "currency": "USD", "description": "Premium Plan - Monthly", "product": null, "recurring": { "interval": "month", "interval_count": 1 }, "tax_behavior": "exclusive", "type": "one_time", "unit_amount": 1000, "unit_amount_decimal": "1000", "link": "string" }

Update an active price

Request

Updates metadata of an active price. Only the description field can be modified for active prices to maintain billing consistency.

Path
idstring^[a-z]+_[a-zA-Z0-9]+$required

Unique identifier of the active price to update

Example: price_1SGKTmDZYOQH9uHk1vaSxPKa
Headers
cc-api-keystringrequired

Chaching API Key

Bodyapplication/jsonrequired

Price metadata update data (only description can be updated for active prices)

descriptionstring<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
curl -i -X PATCH \
  https://chaching.redocly.app/_mock/developer-guide/api/prices/price_1SGKTmDZYOQH9uHk1vaSxPKa/active \
  -H 'Content-Type: application/json' \
  -H 'cc-api-key: string' \
  -d '{
    "description": "Updated description for active price"
  }'

Responses

Price metadata successfully updated

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "price_1SGKTmDZYOQH9uHk1vaSxPKa"
objectstringrequired

String representing the object’s type.

Default "price"
Value"price"
Example: "price"
activebooleanrequired

Indicates whether the object is active.

Example: true
creatednumber>= 0required

Time at which the object was created. Measured in seconds since the Unix epoch

Example: 1760018761
currencystring= 3 characters^[A-Z]{3}$required

Three-letter ISO currency code, in uppercase

Example: "USD"
descriptionstring or null<= 255 characters

Customer-facing price description

Example: "Premium Plan - Monthly"
productstring(string)required

ID of the product this price is associated with

Example: null
recurringobject or nullrequired

The recurring components of a price such as interval and interval_count. Null if the price is not recurring.

Example: {"interval":"month","interval_count":1}
recurring.​intervalstringrequired

Billing frequency

Enum"day""week""month""year"
Example: "month"
recurring.​interval_countnumber[ 1 .. 365 ]required

Number of intervals between billings

Default 1
Example: 1
tax_behaviorstringrequired

The tax behavior of the product.

Default "exclusive"
Enum"exclusive""inclusive"
Example: "exclusive"
typestringrequired

One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

Enum"recurring""one_time"
Example: "one_time"
unit_amountnumber or null[ 0 .. 999999999 ]required

The unit amount in cents to be charged, represented as a whole integer if possible.

Example: 1000
unit_amount_decimalstring or nullrequired

Same as unit_amount

Example: "1000"
linkstring or null

Payment link associated with the price for hosted pages or other off-session payments.

Response
application/json
{ "id": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "object": "price", "active": true, "created": 1760018761, "currency": "USD", "description": "Premium Plan - Monthly", "product": null, "recurring": { "interval": "month", "interval_count": 1 }, "tax_behavior": "exclusive", "type": "one_time", "unit_amount": 1000, "unit_amount_decimal": "1000", "link": "string" }

Subscriptions

Subscriptions are a way to charge your customers on a recurring basis. They can be used for products or services that are delivered over time, such as memberships or software licenses.

Operations

Balance

Balances represent the amount of money in your account. You can use balances to track your income and expenses, and to make payments to your customers or vendors.

Operations

Payment Methods

Payment Methods represent a way to collect payment from your customers. They can be attached to customers to make charging easier and more efficient.

Operations