SonaCORE

Referência / Quadra Command API

Holds

4 operações em Quadra Command API 0.2.0.

POST/v1/holds

Place a Hold on Account Funds

Reserve funds on an account: they leave `available`, appear in `held`, and remain in the owner's custody until captured or released. Optional deadline (`expires_at` XOR `expires_in_hours`); absent = indefinite.

Parâmetros

NomeTipoDetalhe
Idempotency-Keystringheaderobrigatório

Corpo da requisição

PlaceHoldRequest — obrigatório. Os campos estão listados em Esquemas, abaixo.

Respostas

StatusCorpoDetalhe
201Resposta bem-sucedidaO contrato não declara um modelo para esta resposta, então a forma dela não está documentada aqui. Um roteiro de demonstração mostra a forma que ela realmente devolve.
422HTTPValidationErrorErro de validação
PATCH/v1/holds/{hold_id}

Adjust a Hold's Amount or Expiry

Decrease the hold amount (re-split; the difference is released) and/or change the expiry (record-only; explicit null clears the deadline). Amount increases are rejected — place a second hold.

Parâmetros

NomeTipoDetalhe
hold_idstringpathobrigatório
Idempotency-Keystringheaderobrigatório

Corpo da requisição

AdjustHoldRequest — obrigatório. Os campos estão listados em Esquemas, abaixo.

Respostas

StatusCorpoDetalhe
200Resposta bem-sucedidaO contrato não declara um modelo para esta resposta, então a forma dela não está documentada aqui. Um roteiro de demonstração mostra a forma que ela realmente devolve.
422HTTPValidationErrorErro de validação
POST/v1/holds/{hold_id}/capture

Capture a Hold into an Obligation

Convert the hold (fully or partially) into an ordinary obligation to the creditor; any remainder returns to the holder's available balance. Single-shot: the hold goes terminal CAPTURED.

Parâmetros

NomeTipoDetalhe
hold_idstringpathobrigatório
Idempotency-Keystringheaderobrigatório

Corpo da requisição

CaptureHoldRequest — obrigatório. Os campos estão listados em Esquemas, abaixo.

Respostas

StatusCorpoDetalhe
200Resposta bem-sucedidaO contrato não declara um modelo para esta resposta, então a forma dela não está documentada aqui. Um roteiro de demonstração mostra a forma que ela realmente devolve.
422HTTPValidationErrorErro de validação
POST/v1/holds/{hold_id}/release

Release a Hold

Release held funds back to the holder's spendable balance (chain-free).

Parâmetros

NomeTipoDetalhe
hold_idstringpathobrigatório
Idempotency-Keystringheaderobrigatório

Corpo da requisição

ReleaseHoldRequest, opcional — opcional. Os campos estão listados em Esquemas, abaixo.

Respostas

StatusCorpoDetalhe
200Resposta bem-sucedidaO contrato não declara um modelo para esta resposta, então a forma dela não está documentada aqui. Um roteiro de demonstração mostra a forma que ela realmente devolve.
422HTTPValidationErrorErro de validação

Esquemas

Os modelos que as operações acima aceitam e devolvem. Campos opcionais estão marcados como tal; um campo tipado como outro modelo está documentado sob o nome dele.

AdjustHoldRequest

CampoTipoDetalhe
amount_centsinteger, opcionalNew (smaller) hold amount in centavos; increases are rejected
expires_atstring, opcionalNew ISO-8601 expiry; explicit null clears the deadline (indefinite)

CaptureHoldRequest

CampoTipoDetalhe
amount_centsinteger, opcionalPartial capture amount in centavos; omitted = full capture
creditor_account_idstringobrigatórioAccount receiving the captured funds

HTTPValidationError

CampoTipoDetalhe
detailarray de ValidationError

PlaceHoldRequest

CampoTipoDetalhe
account_idstringobrigatórioHolder account (funds never leave it)
amount_centsintegerobrigatórioAmount to encumber, in centavos
currencystringISO 4217 currency codePadrão "BRL"
expires_atstring, opcionalISO-8601 expiry; mutually exclusive with expires_in_hours. Absent = indefinite.
expires_in_hoursinteger, opcionalRelative expiry in hours; mutually exclusive with expires_at
hold_typestringobrigatórioFree-form hold classification (e.g. CARD_AUTH, PIX_AUTOMATICO)
metadataobject, opcional
referencestring, opcional

ReleaseHoldRequest

CampoTipoDetalhe
reasonstring, opcional

ValidationError

CampoTipoDetalhe
ctxobject
inputnão declarado
locarray de string ou integerobrigatório
msgstringobrigatório
typestringobrigatório