Api reference
Save product mappings
Replace the full product-mapping set atomically. The request body is treated as the desired end state — any existing mapping not in the payload is deleted. To change a single mapping without affecting others, read first via GET then send the merged set back. Use DELETE for single-mapping removal.
Related endpoints
POST /integrations/{provider}/activate— Activate integrationPOST /integrations/{provider}/deactivate— Deactivate integrationGET /integrations/{provider}— Get integration statusPOST /integrations/{provider}/test— Test integration credentialsPOST /integrations/{provider}/sync— Trigger manual syncGET /integrations— List all integrationsPUT /integrations/{provider}/status— Update integration statusPUT /integrations/{provider}/sync-toggle— Toggle integration sync
Common errors
400 invalid_request— malformed payload or failed validation.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.
x-api-key<token>
Your RevKeen API key (powered by Unkey). Get it from Dashboard > Settings > API Keys. Use rk_sandbox_* for test mode and rk_live_* for production.
In: header
Path Parameters
provider*string
Value in
"practicehub" | "wodify" | "terminal"Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PUT "https://api.revkeen.com/v2/integrations/practicehub/product-mappings" \ -H "x-api-key: $REVKEEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "mappings": [ { "externalId": "string", "internalId": "00000000-0000-0000-0000-000000000000", "metadata": { "name": "string", "type": "string", "charge_type": "string" } } ] }'{
"success": true,
"count": 0
}Empty
Empty