Skip to main content

Merchant automation (REST)

The Node SDK is the recommended path, but every partner operation is a plain HTTP call. This page is the route reference for backends in any language. All write calls require your Partner Key (tp_sk_live_… / tp_sk_test_…, partner-scoped), minted in the Partner Hub. The routes split along the platform’s two domains: There is no cross-partner access — every call is scoped to your par_xxx.

Authentication

Only Partner Keys can provision merchants/TPAs or mint keys on their behalf. Scoped keys (CRM/Processing) cannot provision.
A test Partner Key can only mint test keys. Minting a live key with a test Partner Key returns 403 mode_escalation_forbidden.

CRM domain — merchants & CRM Keys

Base: /api/public/v1/partner

Processing domain — TPAs & Processing Keys

Base: /api/tagadapay/v1/partner
Direct (non-partner) merchants use the same Processing routes without the /partner segment — e.g. POST /api/tagadapay/v1/tpas — authenticated with their own Processing Key. The /partner prefix is what marks an “on behalf of” call.

Target exists and belongs to you

Every mint/list/revoke validates the target before acting:
  1. The merchant/TPA exists — else 404 (merchant_not_found / tpa_not_found).
  2. It belongs to your partnership — else 403 (merchant_access_denied / tpa_access_denied).
You cannot mint keys for something you have not provisioned. Create it first, then mint on the returned id.

Common error responses


Store secrets in your vault immediately — token/secret cannot be retrieved later.

End-to-end (SDK)

This is the pattern any embedded PSP, marketplace, or whitelabel payfac partner should follow — not a one-off integration. CRM-only partners stop after step 1 on the CRM side and use entity applications (or embed) instead of tpas.create.