Register a recipient on your own account
Changed onRegisters a bank account or wallet on your own account rather than on a customer. It is paid from your own balance. Use it for payouts you make on behalf of your own users, where the recipient is identified and screened but not onboarded. The response carries your own account as customerId.
relationshipType is required: FIRST_PARTY for an account or wallet you hold yourself, THIRD_PARTY for a beneficiary you pay.
You never name a rail. Alfred derives supportedRails[] from the country and the identifier type.
| Country | identifierType | supportedRails[] |
|---|---|---|
| MEX | CLABE | [SPEI] |
| ARG | CBU or CVU, 22 digits | [COELSA] |
| BRA | PIX_KEY, with pixKeyType | [PIX] |
| USA | ROUTING_AND_ACCOUNT or ACCOUNT_NUMBER | [ACH] |
| COL | ACCOUNT_NUMBER, with bankCode | [ACH] |
A combination with no rail, or a wallet on a chain that can't be screened, is refused with 422 route_unsupported.
When it can be paid. A bank account is VERIFIED on creation. A wallet is PENDING until on-chain screening clears, normally within moments; read it back with GET /v1/linked_accounts/{linkedAccountId}. A payout to anything other than VERIFIED is refused with recipient_not_linked.
Request
- Base URLhttps://api.sandbox.alfredpay.io
- URLhttps://api.sandbox.alfredpay.io/v1/linked_accounts
- Auth
- HTTP bearer
- or API key in header api-key and API key in header api-secret
Headers
Required on every state-changing POST, simulators included; the only exempt POST is …/verifications/preflight. Replay (same key, same body) returns the original response with Idempotent-Replayed: true; same key with a different body → 409 idempotency_conflict. Keys are UUIDs, scoped to the API key, retained for 24 hours.
Request body
Response
Created. A bank account returns VERIFIED; a wallet returns PENDING.
Changes
- info
endpoint added
- info