Enruta

Docs · Platforms

Embedded calls

LiveUpdated

Platforms. Written for PSPs, acquirers, orchestrators, dispute services and agent platforms that act for many customers.

Everything an agent, a developer or a seller can do, a platform can do for a connected account: the same endpoints, decisions and records, with Enruta-Account saying whose they are. Each account keeps its own policies, budgets, keys and chain, so one customer’s policy never decides another customer’s payment.

Ask to pay for an account

curl https://api.enruta.ai/v0/payment-requests \
  -H "Authorization: Bearer $ENRUTA_PLATFORM_KEY" \
  -H "Enruta-Account: cust_48121" \
  -H "Enruta-Agent: agt_01M3D2…" \
  -H "Idempotency-Key: 7f41…" \
  -H "Content-Type: application/json" \
  -d '{
    "payee": { "name": "Ream & Rule", "domain": "reamandrule.com" },
    "amount": { "value": "77.04", "currency": "USD" },
    "purpose": "Office supplies for the Main Street clinic",
    "checkout": { "protocol": "ucp", "reference": "chk_01M3D5…" },
    "intent": { "text": "Restock printer paper and toner" }
  }'

The answer is the account’s decision: a mandate and a credential on allow, questions on clarify, an approval link on step_up, reasons on deny, and the id of the record sealed on the account’s chain.

What platforms embed

CallForAnswers
POST /v0/payment-requestsAn agents account’s agentThe decision, the mandate and credential, the record id
POST /v0/payment-requests/{id}/clarificationsThe same agentThe request, decided again
POST /v0/sellers/verifyA sellers accountWhether a mandate is valid for the account’s domain
GET /v0/records/{id}/verifyAny accountA server-side verification report; enruta-verify gives the same offline
GET /v0/payment-requests/{id}/economics, GET /v0/sellers/orders/{id}/economicsEither sideThe money split of one payment
GET /v0/records/{id}/psp-metadata?psp=PSPs and orchestratorsThe fields to write into your own payment object (PSP metadata)

Every endpoint on the API page works the same way; the account’s role decides what is allowed.

Isolation

  • Each account is its own organization. Policies, budgets, keys, rails, consents and records never cross between accounts.
  • A platform key without Enruta-Account reaches only /v0/platform/*.
  • Suspending an account refuses every call made for it with account_not_connected; its records stay verifiable.

Metering

Usage is counted per account and read with GET /v0/platform/usage?period=YYYY-MM: records, mandates, agent orders and dispute packets. Platforms pay by records in volume, never by the money that moves (Pricing).