Get external payment methods (temporary credentials)

Fetch payment methods using one-shot credentials supplied in the request body. Used by the activation wizard before credentials are stored, so the merchant can preview the mappings they'll need to configure. Credentials are not persisted by this call. --- **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}/rotate` — Rotate 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 **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. **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).

POST
/integrations/{provider}/payment-methods

Fetch payment methods using one-shot credentials supplied in the request body. Used by the activation wizard before credentials are stored, so the merchant can preview the mappings they'll need to configure. Credentials are not persisted by this call.


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}/rotate — Rotate 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

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.

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 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

provider*string

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

Value in

  • "practicehub"
  • "wodify"
  • "terminal"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

Stuck on an error response? Ask the RevKeen assistant to explain it.
curl -X POST "https://api.revkeen.com/v2/integrations/practicehub/payment-methods" \
  -H "x-api-key: $REVKEEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "baseUrl": "https://example.com",
    "apiKey": "string"
  }'
{  "success": true,  "data": [    {      "id": 0,      "name": "string",      "active": true,      "sort_order": 0    }  ]}

Get external payment methods (stored credentials) GET

Fetch the live list of payment methods configured on the external provider, using the merchant's stored credentials. Used by the mappings UI to populate the provider-side dropdown. Credentials must already be stored — call the `POST` variant for credential-less lookups during the activation wizard. --- **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}/rotate` — Rotate 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 **Common errors** - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **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.

Update product mapping policy PUT

Controls optional PracticeHub service-product creation and the separate strict missing-mapping guard. --- **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}/rotate` — Rotate 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 **Common errors** - `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).