Skip to main content
POST
Register an indirect participant

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Body

application/json
name
string
required

Display name of the indirect participant (1..120 chars).

Example:

"Indirect PSP Ltda"

delivery
object

Delivery endpoint + signing secret.

directIspb
string

ISPB of the DIRECT participant of this tenant the indirect mounts on — the institution whose ISPB and credential its Pix travels on, and in whose books its @pi position account is created. OPTIONAL: omit it and the tenant's default participant is used, which is where every indirect lived before this deployment could act as several. Must be a participant this deployment actually acts as (422 PIX-0128 otherwise). It is ROUTING DATA you supply and guarantee, never a credential. IMMUTABLE after registration: the @pi account exists in exactly one ledger, so PATCH cannot re-point it. Send it as an absent key, not an empty string; an empty value is refused 400 PIX-0061.

Pattern: ^[0-9]{8}$
Example:

"12345678"

ispb
string

The indirect PSP's own ISPB (exactly 8 digits). Required for MVP flows.

Example:

"12345678"

messagingMode
string

Delivery mode; the MVP supports 'raw' (JD-pure passthrough).

Example:

"raw"

Response

Created

createdAt
string<date-time>
required

Creation timestamp (UTC).

delivery
object
required

Delivery endpoint (secret redacted).

directIspb
string
required

ISPB of the direct participant this indirect mounts on — recorded at registration and never changed.

Example:

"12345678"

indirectId
string
required

The indirect participant id (routing identifier).

Example:

"018f2b7c-0000-7000-8000-000000000000"

ispb
string
required

The indirect PSP's ISPB.

Example:

"12345678"

ledgerId
string
required

The Midaz ledger inside that organization the @pi account was created in. Read-only.

Example:

"019fb9b6-8ed1-7964-86e6-b421f711e62a"

messagingMode
string
required

Delivery mode.

Example:

"raw"

name
string
required

Display name.

Example:

"Indirect PSP Ltda"

organizationId
string
required

The Midaz organization of that direct participant: the books this indirect's @pi account lives in. Read-only.

Example:

"019fb9b6-7593-7667-abe9-3b087192747b"

piAccountAlias
string
required

The derived @pi_{ispb} Midaz account alias.

Example:

"@pi_12345678"

provisioning
object
required

Legacy provisioning state. Always present as an object; its failedStep is always null for a row registered by this service.

qrCertificate
object
required

Own-QR-code certificate configuration.

status
string
required

Lifecycle status.

Example:

"ACTIVE"

updatedAt
string<date-time>
required

Last-update timestamp (UTC).