SonaCORE

Referência / Quadra Command API

Limits

4 operações em Quadra Command API 0.2.0.

POST/v1/accounts/{account_id}/limits

Create a Per-Account Limit Policy

Create an ACCOUNT-scope velocity/limit policy (WARN or REJECT) enforced on the account's monetary writes. GL and faucet accounts are exempt.

Parâmetros

NomeTipoDetalhe
account_idstringpathobrigatório
Idempotency-Keystringheaderobrigatório

Corpo da requisição

CreateAccountLimitPolicyRequest — 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
PUT/v1/accounts/{account_id}/pix-limits

Set Self-Service Pix Limits

Adjust the account's Pix limits within the pack ceilings (LaaS-07 D7/D8). Decreases apply immediately; increases (and the 20:00→22:00 night start) take effect only after the mandated 24–48 h delay, reported per knob as ``pending {value, activates_at}``. Above a ceiling → 422 LIMIT_CEILING_EXCEEDED (operator path).

Parâmetros

NomeTipoDetalhe
account_idstringpathobrigatório
Idempotency-Keystringheaderobrigatório

Corpo da requisição

PutPixLimitsRequest — 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/limit-policies

Create a Shared-Scope Limit Policy

Create a GLOBAL / ACCOUNT_TYPE / RAIL / PRODUCT limit policy.

Parâmetros

NomeTipoDetalhe
Idempotency-Keystringheaderobrigatório

Corpo da requisição

CreateLimitPolicyRequest — 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
DELETE/v1/limit-policies/{policy_id}

Disable a Limit Policy

Soft-disable (``enabled=false``). Policy rows are never deleted — an auditor may need them. Idempotent: re-disabling returns 200.

Parâmetros

NomeTipoDetalhe
policy_idstringpathobrigatório

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.

ActiveBetweenModel

CampoTipoDetalhe
endstringobrigatórioSão Paulo local 'HH:MM' (exclusive); start > end wraps midnight
startstringobrigatórioSão Paulo local 'HH:MM' (inclusive)

CreateAccountLimitPolicyRequest

POST /v1/accounts/{account_id}/limits — ACCOUNT-scope policy.

CampoTipoDetalhe
action"WARN" | "REJECT"obrigatório
active_betweenActiveBetweenModel, opcionalTime-of-day applicability (e.g. a nighttime policy); requires window=DAY
applies_max_kyc_levelinteger, opcionalApplies only when the funnel supplies kyc_level <= this; funnels that don't populate kyc_level skip the policy (fail-open)
dimension"AMOUNT" | "COUNT" | "SINGLE_AMOUNT"obrigatórioWhat the threshold bounds: summed centavos (AMOUNT), event count (COUNT), or a per-transaction cap — threshold compare only, no counter (SINGLE_AMOUNT)
direction"DEBIT" | "CREDIT"obrigatório
enforce_per"SCOPE" | "ACCOUNT", opcionalACCOUNT: this broad-scope policy gates per-account counters (default SCOPE = one shared counter per scope)
policy_keystring, opcionalPack identity (e.g. 'pix.night.amount'): the most-specific scope carrying a key shadows broader ones, and interval counters key on it so overrides inherit mid-window utilization. Unique per scope.
railstring, opcionalRestrict to one rail (QUADRA/ACH/MOCK/PIX); absent = all rails
thresholdintegerobrigatórioCentavos for AMOUNT, count for COUNT
window"MINUTE" | "HOUR" | "DAY" | "MONTH"obrigatórioTumbling calendar window, América/São Paulo boundaries

CreateLimitPolicyRequest

POST /v1/limit-policies — GLOBAL / ACCOUNT_TYPE / RAIL / PRODUCT scope.

CampoTipoDetalhe
action"WARN" | "REJECT"obrigatório
active_betweenActiveBetweenModel, opcionalTime-of-day applicability (e.g. a nighttime policy); requires window=DAY
applies_max_kyc_levelinteger, opcionalApplies only when the funnel supplies kyc_level <= this; funnels that don't populate kyc_level skip the policy (fail-open)
dimension"AMOUNT" | "COUNT" | "SINGLE_AMOUNT"obrigatórioWhat the threshold bounds: summed centavos (AMOUNT), event count (COUNT), or a per-transaction cap — threshold compare only, no counter (SINGLE_AMOUNT)
direction"DEBIT" | "CREDIT"obrigatório
enforce_per"SCOPE" | "ACCOUNT", opcionalACCOUNT: this broad-scope policy gates per-account counters (default SCOPE = one shared counter per scope)
policy_keystring, opcionalPack identity (e.g. 'pix.night.amount'): the most-specific scope carrying a key shadows broader ones, and interval counters key on it so overrides inherit mid-window utilization. Unique per scope.
railstring, opcionalRestrict to one rail (QUADRA/ACH/MOCK/PIX); absent = all rails
scope_idstring, opcionalType name / rail family / product id; omitted for GLOBAL
scope_type"GLOBAL" | "ACCOUNT_TYPE" | "RAIL" | "PRODUCT"obrigatório
thresholdintegerobrigatórioCentavos for AMOUNT, count for COUNT
window"MINUTE" | "HOUR" | "DAY" | "MONTH"obrigatórioTumbling calendar window, América/São Paulo boundaries

HTTPValidationError

CampoTipoDetalhe
detailarray de ValidationError

PutPixLimitsRequest

CampoTipoDetalhe
actorstring, opcionalCaller identity (caller-injected until laas-23 authz lands)
daily_limit_minorinteger, opcionalDaytime cumulative Pix limit, integer centavos
nighttime_limit_minorinteger, opcionalNighttime cumulative Pix limit, integer centavos
nighttime_start"20:00" | "22:00", opcionalNighttime window start (Res. BCB 142/2021: 20:00 default, 22:00 opt-in)

ValidationError

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