---
title: "Spend credits on a dataset. THE reason to hold an API key — it is the only call an anonymous caller cannot make. Product keys come from GET /v1/credits/pricing: the section keys ARE the product_key values."
method: POST
path: "/v1/credits/purchase"
---

# Spend credits on a dataset. THE reason to hold an API key — it is the only call an anonymous caller cannot make. Product keys come from GET /v1/credits/pricing: the section keys ARE the product_key values.

`POST /v1/credits/purchase`

## Request

- Base URL: `https://kairossignal.com`
- URL: `https://kairossignal.com/v1/credits/purchase`
- Auth: none declared. Required headers: `X-API-Key`

## Headers

- `X-API-Key` string, required

## Request body

- object
  - `product_key` string, required: e.g. depin_provenance ($0.49), depin_networks ($0.99), depin_revenue_snapshot ($2.99)

## Response `200`

Purchased; data delivered inline in the response body

- object
  - `status` string
  - `price_paid` number
  - `remaining_balance` number
  - `delivery` string

## Other responses

- `402`: Insufficient credits — the response states the shortfall and how to top up

---

[API](https://skmtc.dev/kairossignal/apis/kairos-signal-depin-intelligence-api.md) · [All operations](https://skmtc.dev/kairossignal/apis/kairos-signal-depin-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kairossignal/apis/kairos-signal-depin-intelligence-api/revisions/0df815a9c5e4?raw)
