Update a price
Updates a price. Only certain fields can be updated (active, name, nickname, lookup_key, metadata). Core pricing fields are immutable. --- **Related endpoints** - `GET /prices` — List prices - `POST /prices` — Create a price - `GET /prices/{id}` — Retrieve a price - `DELETE /prices/{id}` — Archive a price **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).
Updates a price. Only certain fields can be updated (active, name, nickname, lookup_key, metadata). Core pricing fields are immutable.
Related endpoints
GET /prices— List pricesPOST /prices— Create a priceGET /prices/{id}— Retrieve a priceDELETE /prices/{id}— Archive a price
Common errors
400 invalid_request— malformed payload or failed validation.401 authentication_error— missing, invalid, expired, or revoked credential. Codes:authentication_failed,invalid_api_key,expired_api_key,api_key_revoked,session_invalid,merchant_required. Carries aWWW-Authenticate: Bearerchallenge.404 resource_missing— the referenced resource does not exist or is not visible to your key.
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.
In: header
Path Parameters
Price ID
uuidRequest Body
application/json
Price update details
TypeScript Definitions
Use the request body type in TypeScript.
Parameters for updating an existing price. Amounts cannot be changed — archive and create a new price instead.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://api.revkeen.com/v2/prices/00000000-0000-0000-0000-000000000000" \
-H "x-api-key: $REVKEEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"active": false,
"name": null,
"nickname": null,
"description": null,
"lookup_key": null,
"metadata": {}
}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "price", "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1", "active": true, "currency": "string", "unit_amount": 0, "unit_amount_decimal": "string", "type": "one_time", "pricing_model": "fixed", "interval": "day", "interval_count": 0, "trial_period_days": 0, "start_rule": "immediate", "minimum_amount": 0, "maximum_amount": 0, "suggested_amount": 0, "preset_amounts": [ 0 ], "name": "string", "nickname": "string", "description": "string", "version": 1, "lookup_key": "string", "billing_scheme": "per_unit", "tiers_mode": "graduated", "tiers": [ { "up_to": 1, "unit_amount_minor": 0, "unit_amount_decimal": "string", "flat_amount_minor": 0 } ], "transform_quantity": { "divide_by": 1, "round": "up" }, "percentage_rate_bps": 0, "pay_in_advance": true, "spending_minimum_cents": 0, "metadata": {}, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}List prices GET
List all prices for the authenticated merchant. Supports filtering and cursor-based pagination. --- **Related endpoints** - `POST /prices` — Create a price - `GET /prices/{id}` — Retrieve a price - `PATCH /prices/{id}` — Update a price - `DELETE /prices/{id}` — Archive a price **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. **Pagination** Offset-based with `limit` (default 25, max 100) and `offset`. The response `pagination` block includes `total` and `hasMore`. See [the pagination guide](/docs/fundamentals/pagination) for SDK auto-paging helpers.
Create product POST
Create a new product. Requires 'products:write' scope. --- **Related endpoints** - `GET /products` — List products - `GET /products/{id}` — Get product by ID - `PATCH /products/{id}` — Update product - `PUT /products/external/{source}/{externalId}` — Upsert product by external ID - `PUT /products/external/batch` — Batch upsert products by external ID **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).