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

Get tax codes with category names

Request

Retrieves a list of tax codes with their associated category names. Optionally filter by search term.

Query
searchstring

Search by tax codes or category names

Headers
cc-api-keystringrequired

Chaching API Key

curl -i -X GET \
  'https://chaching.redocly.app/_mock/developer-guide/api/products/taxCodes?search=string' \
  -H 'cc-api-key: string'

Responses

Successfully retrieved tax codes with category names

Bodyapplication/json
property name*stringadditional property
Response
application/json
{ "txcd_92010001": "Shipping", "txcd_20030000": "General - Services" }

List all products

Request

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

Query
searchstring

{"active":true, "tax_code":"txcd_10000000", "ids":"prod_299eea6f29146d93aaa4bceb,prod_cc5b3aa61adca9f52747dd40", "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/products?page=1&take=10' \
  -H 'cc-api-key: string'

Responses

Successfully retrieved paginated list of products

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

Create a product

Request

Creates a new product with the specified details. The product name must be unique and follow specific naming conventions.

Headers
cc-api-keystringrequired

Chaching API Key

Bodyapplication/jsonrequired
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
namestring[ 1 .. 100 ] charactersrequired

The product name.

Example: "premium_plan"
tax_codestring or null^txcd_[a-zA-Z0-9]+$

The tax category for this product

Default "txcd_00000000"
Enum"txcd_99999999""txcd_20030000""txcd_10000000""txcd_00000000""txcd_10010001""txcd_10101000""txcd_10102000""txcd_10102001""txcd_10103000""txcd_10103001"
Example: "txcd_10000000"
curl -i -X POST \
  https://chaching.redocly.app/_mock/developer-guide/api/products \
  -H 'Content-Type: application/json' \
  -H 'cc-api-key: string' \
  -d '{
    "currency": "USD",
    "description": "Premium Plan - Monthly",
    "recurring": {
      "interval": "month",
      "interval_count": 1
    },
    "tax_behavior": "exclusive",
    "type": "one_time",
    "unit_amount": 1000,
    "name": "premium_plan",
    "tax_code": "txcd_10000000"
  }'

Responses

Product successfully created

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "prod_xT4LfvxLMQb4s9uFNIbXf9pm"
objectstringrequired

String representing the object’s type.

Default "product"
Value"product"
Example: "product"
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
default_pricestring or null(string)

The ID of the Price object that is the default price for this product.

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

Customer-facing description.

Example: null
namestring[ 1 .. 100 ] charactersrequired

The name of the product.

Example: "Gold Plan"
tax_codestring^txcd_[a-zA-Z0-9]+$

The tax code for the product.

Default "txcd_00000000"
Example: "txcd_10000000"
updatednumber or null>= 0required

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

Example: 1753181495
Response
application/json
{ "id": "prod_xT4LfvxLMQb4s9uFNIbXf9pm", "object": "product", "active": true, "created": 1760018761, "default_price": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "description": null, "name": "Gold Plan", "tax_code": "txcd_10000000", "updated": 1753181495 }

Retrieve a product

Request

Retrieves details of a specific product by its unique identifier.

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

Unique identifier of the product

Example: prod_xT4LfvxLMQb4s9uFNIbXf9pm
Headers
cc-api-keystringrequired

Chaching API Key

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

Responses

Successfully retrieved product

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "prod_xT4LfvxLMQb4s9uFNIbXf9pm"
objectstringrequired

String representing the object’s type.

Default "product"
Value"product"
Example: "product"
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
default_pricestring or null(string)

The ID of the Price object that is the default price for this product.

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

Customer-facing description.

Example: null
namestring[ 1 .. 100 ] charactersrequired

The name of the product.

Example: "Gold Plan"
tax_codestring^txcd_[a-zA-Z0-9]+$

The tax code for the product.

Default "txcd_00000000"
Example: "txcd_10000000"
updatednumber or null>= 0required

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

Example: 1753181495
Response
application/json
{ "id": "prod_xT4LfvxLMQb4s9uFNIbXf9pm", "object": "product", "active": true, "created": 1760018761, "default_price": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "description": null, "name": "Gold Plan", "tax_code": "txcd_10000000", "updated": 1753181495 }

Update a product

Request

Updates an existing product with the specified details. Only provided fields will be updated.

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

Unique identifier of the product to update

Example: prod_xT4LfvxLMQb4s9uFNIbXf9pm
Headers
cc-api-keystringrequired

Chaching API Key

Bodyapplication/jsonrequired

Product update data

descriptionstring<= 255 characters

Customer-facing product description

Example: "Product description"
namestring[ 1 .. 100 ] charactersrequired

The product name.

Example: "Music"
tax_codestring or null^txcd_[a-zA-Z0-9]+$

The tax category for this product

Default "txcd_00000000"
Enum"txcd_99999999""txcd_20030000""txcd_10000000""txcd_00000000""txcd_10010001""txcd_10101000""txcd_10102000""txcd_10102001""txcd_10103000""txcd_10103001"
Example: "txcd_10000000"
curl -i -X PATCH \
  https://chaching.redocly.app/_mock/developer-guide/api/products/prod_xT4LfvxLMQb4s9uFNIbXf9pm \
  -H 'Content-Type: application/json' \
  -H 'cc-api-key: string' \
  -d '{
    "name": "premium_plan_updated",
    "description": "Updated premium plan",
    "tax_code": "txcd_20030000"
  }'

Responses

Product successfully updated

Bodyapplication/json
idstring(string)required

Unique identifier for the object.

Example: "prod_xT4LfvxLMQb4s9uFNIbXf9pm"
objectstringrequired

String representing the object’s type.

Default "product"
Value"product"
Example: "product"
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
default_pricestring or null(string)

The ID of the Price object that is the default price for this product.

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

Customer-facing description.

Example: null
namestring[ 1 .. 100 ] charactersrequired

The name of the product.

Example: "Gold Plan"
tax_codestring^txcd_[a-zA-Z0-9]+$

The tax code for the product.

Default "txcd_00000000"
Example: "txcd_10000000"
updatednumber or null>= 0required

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

Example: 1753181495
Response
application/json
{ "id": "prod_xT4LfvxLMQb4s9uFNIbXf9pm", "object": "product", "active": true, "created": 1760018761, "default_price": "price_1SGKTmDZYOQH9uHk1vaSxPKa", "description": null, "name": "Gold Plan", "tax_code": "txcd_10000000", "updated": 1753181495 }

Delete a product

Request

Permanently deletes a product. This action cannot be undone.

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

Unique identifier of the product to delete

Example: prod_xT4LfvxLMQb4s9uFNIbXf9pm
Headers
cc-api-keystringrequired

Chaching API Key

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

Responses

Product successfully deleted

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

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

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