Programmatic SDK Usage API

Retrieve your team's SDK usage for a specific product in machine-readable format. The API returns usage in minutes per day and per API key over any date range.

Endpoint Configuration

Host: https://api.developers.krisp.ai/

GET /v2/sdk/usage

Retrieves your team's SDK usage for a specific product over a date range. The response includes the total minutes and a breakdown by day and API key.


Authentication

Use the Authorization header with your API key:

Authorization: api-key YOUR_KEY

Use the api-key scheme.

Accepted keys: license keys, while valid (not paused, suspended, archived, or expired).

Not accepted: session tokens.

Scope: any accepted key returns the usage of its whole team (all of the team's keys), not only its own.


Request Parameters

Query Parameters

ParameterRequiredDescription
productYesOne of: nc (Noise Cancellation), tt (Turn-Taking), ac (Accent Conversion), vad (Voice Activity Detection), vt (Voice Translation), tts (TTS Detection, not text-to-speech), sv (Studio Voice), ip (Interrupt Prediction). Lowercase; one value per request.
fromNoStart date, inclusive, in YYYY-MM-DD format. Default: 29 days before to, so the default range is the last 30 days including to.
toNoEnd date, inclusive, in YYYY-MM-DD format. Default: today (UTC).

Rules:

  • product is case-sensitive and lowercase only (NC returns a 400 error).
  • to must be on or after from.
  • Maximum 366 days per request. For longer history, make consecutive requests with non-overlapping ranges.

Example Request

curl --location 'https://api.developers.krisp.ai/v2/sdk/usage?product=nc&from=2026-09-01&to=2026-09-30' \
--header 'Authorization: api-key YOUR_KEY'

Response Structure

Example Response

{
  "code": 0,
  "message": "Success",
  "data": {
    "product": "nc",
    "unit": "minutes",
    "from": "2026-09-01",
    "to": "2026-09-30",
    "total": 495.75,
    "records": [
      {
        "date": "2026-09-01",
        "key_name": "prod-backend",
        "minutes": 180.5
      },
      {
        "date": "2026-09-02",
        "key_name": "prod-backend",
        "minutes": 195.25
      },
      {
        "date": "2026-09-02",
        "key_name": "staging-backend",
        "minutes": 120.0
      }
    ]
  },
  "req_id": "3f1c9a52-a41f-4e8b-8c12-example"
}

Response Object Attributes

FieldTypeDescription
data.productStringThe requested product name.
data.unitStringAlways minutes, for every product.
data.fromStringThe inclusive start date (after applying defaults).
data.toStringThe inclusive end date (after applying defaults).
data.totalNumberTotal minutes for the whole range, rounded to 2 decimals. Computed from unrounded values, so may differ from the sum of rounded records by a few hundredths.
data.recordsArrayBreakdown by day and API key. One entry per day and key that had usage, sorted by date then key name. Empty array if no usage in the range.
records[].dateStringDate in YYYY-MM-DD format.
records[].key_nameStringThe API key's name as shown in the dashboard.
records[].minutesNumberMinutes processed that day with that key, rounded to 2 decimals.
req_idStringUnique request identifier.

No usage in the range returns HTTP 200 with "records": [] and "total": 0.


Error Responses

HTTP StatusError CodeWhenFix
400VALIDATION_ERRORMissing or unknown product; invalid date format; to before from; range exceeds 366 days. details specifies which field is invalid.Correct the request.
401AUTH_HEADER_MISSINGMissing Authorization: api-key … header.Add the header.
401AUTH_API_KEY_INVALIDUnknown, paused, suspended, or archived key; or a session token.Use a valid, active license key.
401AUTH_API_KEY_EXPIREDExpired key.Rotate to an active key.
403AUTH_API_KEY_TYPE_NOT_ALLOWEDPlayground key used.Use a license key.
429TOO_MANY_REQUESTSRate limit exceeded.Retry after the Retry-After header value (in seconds).
502USAGE_METRICS_UNAVAILABLEUsage backend temporarily unavailable.Retry with backoff.
500INTERNAL_SERVER_ERRORUnexpected server error.Retry later.

Example Error Response

{
  "code": 1016,
  "error_code": "VALIDATION_ERROR",
  "message": "Something went wrong.",
  "message_code": "3f1c9a52",
  "situation": "Happens when api receives inputs from client that are unexpected or wrong",
  "req_id": "3f1c9a52-a41f-4e8b-8c12-example",
  "details": {
    "details": "The date range cannot be longer than 366 days"
  }
}

Rate Limits and Caching

Rate limit: 200 requests per 15 minutes per API key.

Headers: All successful responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset. A 429 response adds a Retry-After header with the number of seconds to wait.

Caching: Results can be up to 10 minutes old.


Notes

This API returns usage only: minutes of usage, not cost or consumed credits.

The API does not return:

  • Prices, cost, or credits.
  • Session counts.
  • Custom tags or labels.

To split usage across your own groups (environment, workload, region), use a separate API key per group — usage is reported per key.


Did this page help you?