RevKeenDocs

Upsert one product mapping


Related endpoints

  • POST /integrations/{provider}/activate — Activate integration
  • POST /integrations/{provider}/deactivate — Deactivate integration
  • GET /integrations/{provider} — Get integration status
  • POST /integrations/{provider}/test — Test integration credentials
  • POST /integrations/{provider}/sync — Trigger manual sync
  • POST /integrations/{provider}/invoices/{externalInvoiceId}/refresh — Refresh a single PracticeHub invoice
  • GET /integrations/{provider}/invoices/{externalInvoiceId}/refresh-status — Get demand invoice refresh status
  • GET /integrations — List all integrations

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.

PUT
/integrations/{provider}/product-mappings/{externalId}
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

Legacy configurable integration provider (practicehub, wodify, terminal).

Value in"practicehub" | "wodify" | "terminal"
externalId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

Stuck on an error response? Ask the RevKeen assistant to explain it.
curl -X PUT "https://api.revkeen.com/v2/integrations/practicehub/product-mappings/string" \
  -H "x-api-key: $REVKEEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "internalId": "00000000-0000-0000-0000-000000000000"
  }'
{
  "success": true,
  "data": {
    "external_id": "string",
    "external_name": "string",
    "internal_id": "string",
    "ignored": true,
    "product_name": "string",
    "product_kind": "string",
    "product_amount_minor": 0,
    "product_currency": "string",
    "metadata": null
  }
}
{
  "error": "Bad request"
}
{
  "error": "Not found"
}