COSS
Billing

List credits

GET
/v1/billing/credits

The organization's credits, newest first: each month's plan credit, prepaid commitments and credits from COSS support (in dollars, or free units of a product), with what's left. Only usable ones by default (status=all for every one). Pass the last id as after to get the next page while has_more is true.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Query Parameters

status?string

active (default): usable now or later, with something left; all: every credit, newest first.

Value in"active""all"
after?string

Continue after this id (the last of the previous page).

Lengthlength <= 64
limit?integer

At most this many (default 20).

Range1 <= value <= 100

Header Parameters

Coss-Version?"2026-10-10"

The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.

Value in"2026-10-10"

Response Body

A page of credits.

application/json
  1. response
object*"list"
Value in"list"
data*array<>
has_more*boolean
import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.billing.credits.list();
{  "object": "list",  "data": [    {      "object": "credit",      "id": "bcg_01k7c8m4q2f3e9v6t5r1n0p8yz",      "kind": "units",      "amount": 50000,      "remaining": 12000,      "meter": "email.recipients",      "meters": null,      "applies_to": "usage",      "source": "support",      "description": "Migration credit",      "effective_at": "2026-10-01T00:00:00.000Z",      "expires_at": "2027-01-01T00:00:00.000Z",      "voided_at": null,      "created_at": "2026-10-01T09:30:00.000Z"    }  ],  "has_more": false}