Skip to main content
A connected account represents a vendor attached to your marketplace. You create it, it belongs to you exclusively, and the link is immutable. Integration guide: Create a connected account.

Base URL

The paths below are relative to this base. Both hosts serve the same endpoints.
Code casing. On input, country and currency are accepted in any casing: cg and CG designate the same country. On output, the connect_account object returns them normalised to uppercase by the reference data, while money objects (allocation, withdrawal, balances) carry a currency in lowercase. Compare case-insensitively.

The connect_account object

string
Unique identifier, prefixed acct_.
string
Always connect_account.
string
The marketplace account that controls this vendor. Immutable.
string | null
The vendor’s own organisation. A vendor is an entity distinct from its marketplace.
string
Always business for a connected account.
string
The vendor’s legal or trading name.
string | null
The vendor’s email. This is the channel through which Yabetoo reaches them.
string | null
Account state. active means the account exists, not that it is verified nor that it can receive funds.
string
test or live. Inherited from the API key that created the account.
string | null
controller or account: who bears Yabetoo’s fees. Derived from the marketplace’s connect_mode, never supplied at creation.
string | null
ISO 3166-1 alpha-2 country code. Determines the compliance schedule of the KYC file.
string | null
The account’s currency code.
string | null
ISO 8601 timestamp.

Create a connected account

Idempotency-Key header required (255 characters maximum).

Parameters

Rejected (422): phone, type, fee_payer.

Returns

The connect_account object, as 201. ⚠️ This body carries neither country nor currency: they appear on the read and the list.
201
Rate limited to 20 requests per minute.

List your connected accounts

Returns

A cursor-paginated list: { object: "list", data, has_more, next_cursor }. Each entry is a complete connect_account, including country and currency.

Read a connected account

Returns

A connect_account without type or currency, augmented with balances:
array
One entry per currency. [] for a vendor with no wallet: a nominal state, response 200.

List a connected account’s transactions

Returns

{ object: "list", data, has_more }: pagination by page, therefore no next_cursor. Each entry carries id, object, amount, currency, amount_fee, created_at, available_at, matured_at.

Read a connected account’s compliance

The vendor’s verification state and what it is allowed to do. Two reads from the identity service, returned together or not at all.

Returns

200
string | null
Raw status of the verification file: created, pending, documents_submitted, in_review, approved, rejected, needs_info, suspended. null when no file exists — vendor created, onboarding link never opened. That is a nominal state, not an error.
boolean
false while no policy is attached to the vendor — typically before its file is approved. In that case allowed_operations is [].
string[]
Operations the vendor may perform: collect (receive payments on its behalf) and withdraw (receive a payout).
verification.status is for display; capabilities.allowed_operations is the only authority. An approved file does not mean a payout will succeed: withdraw being present in allowed_operations does. Never derive a capability from the status.
A 503 E_IDENTITY_UNAVAILABLE returns a body without verification or capabilities: retry, do not read it as “no capabilities”.
Empty body. No Idempotency-Key: the call resumes a session in progress. Rejected (422, rule: "derived"): country, kycLevel.

Returns

201

Pay out a connected account’s balance

Idempotency-Key header required. Empty body: the withdrawal covers the entire available balance. Rejected (422): amount. There is no partial withdrawal.

Returns

201
The call is synchronous and waits for the operator. status is the final state: succeeded or failed. An operator refusal returns 201 with status: "failed", not an HTTP error.

Errors

See the Connect error reference.
connect.account.created and connect.account.updated are not emitted. Read a vendor’s state with GET /v1/connect/accounts/{acct}, and its verification state with GET /v1/connect/accounts/{acct}/compliance.