RevKeen Docs
Api reference

Test integration credentials

Validate credentials against the provider's authentication endpoint without activating the integration. Used by the activation wizard to surface credential errors before the merchant commits to a sync schedule. Returns { valid: true } on success or { valid: false, reason } with the provider's error message on failure. No state is persisted.


Related endpoints

  • POST /integrations/{provider}/activate — Activate integration
  • POST /integrations/{provider}/deactivate — Deactivate integration
  • GET /integrations/{provider} — Get integration status
  • POST /integrations/{provider}/sync — Trigger manual sync
  • GET /integrations — List all integrations
  • PUT /integrations/{provider}/status — Update integration status
  • PUT /integrations/{provider}/sync-toggle — Toggle integration sync
  • PUT /integrations/{provider}/sync-interval — Update sync interval

Common errors

  • 401 unauthenticated — missing, malformed, or revoked API key.

Idempotency

Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.

POST
/integrations/{provider}/test
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

application/json

curl -X POST "https://api.revkeen.com/v2/integrations/practicehub/test" \  -H "x-api-key: $REVKEEN_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "credentials": {      "apiKey": "string",      "baseUrl": "https://example.com",      "appName": "RevKeen",      "appEmail": "info@revkeen.com"    }  }'
{
  "valid": true,
  "error": "string"
}
{
  "valid": false,
  "error": "string"
}