Referencia del API
Esquemas
Los esquemas reutilizables del contrato (components.schemas): cuerpos de petición, respuestas, sobre de transacción, Problem y tipos como MoneyCOP.
Esquemas del contrato tal como los publica el gateway. Los campos marcados como obligatorio deben
viajar en la petición; additionalProperties significa que el gateway reenvía al motor los campos
adicionales sin tocarlos (por eso los SDK aceptan extra / fields).
AdminEmployeeIn #
Alta o actualización de un colaborador (upsert por id_number). Los datos bancarios solo se aceptan en el alta; cambiarlos después se hace en el panel. user_id no se acepta.
| Campo | Tipo | Descripción |
|---|---|---|
area_id | string | |
bank_account_number | string | |
bank_account_type | string | |
bank_name | string | |
email_work | string | |
eps_code | string | |
first_name | string | Ej.: "Laura" |
hire_date | string (date) | Ej.: "2025-02-01" |
id_number obligatorio | string | Ej.: "1032456789" |
id_type | string | Ej.: "CC" |
last_name | string | Ej.: "Pérez" |
pension_fund_code | string | |
phone | string | |
position_id | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminEntryIn #
Comprobante contable en BORRADOR. external_id (id del ERP) lo hace idempotente en el motor. post: true se rechaza: el contador contabiliza en el panel.
| Campo | Tipo | Descripción |
|---|---|---|
date obligatorio | string (date) | |
description obligatorio | string | |
external_id | string | Ej.: "ERP-AS-2026-000123" |
lines obligatorio | array de object | |
reference | string | |
third_party | string | Id o documento del tercero. |
voucher_type | string | Ej.: "CC" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminHrNoveltyIn #
Novedad de talento humano. Queda SOLICITADA hasta que talento humano la valide.
| Campo | Tipo | Descripción |
|---|---|---|
certificate_number | string | |
days | integer | |
diagnosis_code | string | CIE-10; nunca se devuelve por API. |
employee obligatorio | string | Id o documento del colaborador. Ej.: "1032456789" |
end_date | string (date) | |
hours | number | |
issuing_entity | string | |
reason | string | |
start_date obligatorio | string (date) | |
type_code obligatorio | string | Ej.: "INCAPACIDAD_COMUN" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminObject #
Objeto del motor administrativo (mismo payload que usa el panel).
Tipo: object
AdminPayrollNovelty #
| Campo | Tipo | Descripción |
|---|---|---|
amount | number | string | Valor en COP (conceptos por valor). |
concept_code | string | Ej.: "HED" |
date | string (date) | |
description | string | |
employee | string | Ej.: "1032456789" |
end_date | string (date) | |
quantity | number | string | Horas o días (conceptos por horas). |
recurring | boolean |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminPayrollNoveltyIn #
Una novedad (campos de AdminPayrollNovelty en la raíz) o un lote en items (máx. 500, todo o nada). period_id opcional: valida que el periodo esté abierto y que la fecha caiga dentro; sin date, se usa el inicio del periodo.
| Campo | Tipo | Descripción |
|---|---|---|
amount | number | string | |
concept_code | string | |
date | string (date) | |
employee | string | |
items | array de AdminPayrollNovelty | |
period_id | string | |
quantity | number | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminResultList #
Lista del motor administrativo (results; count en las paginadas).
| Campo | Tipo | Descripción |
|---|---|---|
count | integer | |
results | array de object |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminStatementIn #
Extracto bancario: lines (JSON) o content (CSV con fecha y valor).
| Campo | Tipo | Descripción |
|---|---|---|
bank_account obligatorio | string | |
closing_balance | number | string | |
content | string | |
date_from | string (date) | |
date_to | string (date) | |
lines | array de object | |
opening_balance | number | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminTaxComputeIn #
| Campo | Tipo | Descripción |
|---|---|---|
date | string (date) | |
items obligatorio | array de object | |
third_party | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminThirdPartyIn #
Alta o actualización de un tercero (upsert por tipo y número de documento). id_type acepta el código DIAN (31, 13…) o el alias (NIT, CC, CE, PA…). Datos bancarios: solo en el panel.
| Campo | Tipo | Descripción |
|---|---|---|
business_name | string | |
email | string | |
first_last_name | string | |
first_name | string | |
id_number obligatorio | string | Ej.: "900123456" |
id_type obligatorio | string | Ej.: "NIT" |
is_customer | boolean | |
is_supplier | boolean | |
phone | string | |
responsibilities | array de string | |
tax_regime | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AdminTreasuryDocIn #
Recaudo / egreso (third_party, bank_account id o número, date, amount, method, reference, applications) o cuenta de cobro (third_party, issue_date, description, income_account, subtotal, iva_concept). Siempre en BORRADOR.
| Campo | Tipo | Descripción |
|---|---|---|
amount | number | string | |
applications | array de object | |
bank_account | string | |
date | string (date) | |
description | string | |
income_account | string | |
issue_date | string (date) | |
method | string | Ej.: "TRANSFERENCIA" |
reference | string | |
subtotal | number | string | |
third_party obligatorio | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
AffiliateBatchResult #
| Campo | Tipo | Descripción |
|---|---|---|
accepted obligatorio | integer | Ej.: 2 |
created obligatorio | integer | Ej.: 1 |
errors | array de object | |
errors_count | integer | Ej.: 0 |
rejected obligatorio | integer | Ej.: 0 |
updated obligatorio | integer | Ej.: 1 |
AffiliateLookup #
| Campo | Tipo | Descripción |
|---|---|---|
affiliate | object | |
document_number obligatorio | string | Ej.: "1032456789" |
exists obligatorio | boolean | Ej.: true |
AffiliateRecordIn #
A single affiliate row. Keys are normalized at the edge, so both Spanish source headers (tipo_documento, documento, nombres) and canonical keys are accepted; unknown keys are ignored.
| Campo | Tipo | Descripción |
|---|---|---|
category | string (nullable) | Caja Horizonte affiliation category (A/B/C). Ej.: "A" |
document_number | string | Ej.: "1032456789" |
document_type | string | Valores: CC, CE, TI, PA, RC, NIT, PEP, PPT. Ej.: "CC" |
email | string (nullable) | Ej.: "maria.gomez@example.co" |
first_name | string | Ej.: "María" |
last_name | string | Ej.: "Gómez" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"category": "A",
"document_number": "1032456789",
"document_type": "CC",
"email": "maria.gomez@example.co",
"first_name": "María",
"last_name": "Gómez"
}AffiliateRef #
Minimal reference to an affiliate by national document.
| Campo | Tipo | Descripción |
|---|---|---|
document_number obligatorio | string | Ej.: "1032456789" |
document_type obligatorio | string | Valores: CC, CE, TI, PA, RC, NIT, PEP, PPT. Ej.: "CC" |
CreditApplicationIn #
Credit application radicada into the BRE pipeline. Proxied to the engine as-is.
| Campo | Tipo | Descripción |
|---|---|---|
afiliado obligatorio | AffiliateRef | |
amount obligatorio | MoneyCOP | |
external_reference obligatorio | string | Caja-side application id; echoed back and used for idempotency correlation. Ej.: "HORIZONTE-CRED-2026-000123" |
product_code obligatorio | string | Ej.: "LIBRANZA_12M" |
purpose | string (nullable) | Ej.: "Compra de cartera" |
term_months obligatorio | integer | Ej.: 12 Rango 1–120. |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"afiliado": {
"document_number": "1032456789",
"document_type": "CC"
},
"amount": "3500000",
"external_reference": "HORIZONTE-CRED-2026-000123",
"product_code": "LIBRANZA_12M",
"purpose": "Compra de cartera",
"term_months": 12
}CreditDecisionIn #
| Campo | Tipo | Descripción |
|---|---|---|
approved_amount | MoneyCOP | Required when decision is APPROVE. |
decision obligatorio | string | Valores: APPROVE, REJECT. Ej.: "APPROVE" |
reason | string (nullable) | Ej.: "Cumple capacidad de pago." |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"approved_amount": "3500000",
"decision": "APPROVE",
"reason": "Cumple capacidad de pago."
}FieldError #
A single field-level validation failure.
| Campo | Tipo | Descripción |
|---|---|---|
field obligatorio | string | Ej.: "term_months" |
message obligatorio | string | Ej.: "Input should be greater than or equal to 1" |
FxConvertIn #
Execute a currency conversion (moves money — idempotency-key recommended).
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
buy_currency obligatorio | string | Ej.: "USD" |
document | string | Ej.: "1032456789" |
quote_id | string (nullable) | A quote id returned by /fx/quote/. Ej.: "fxq_abc123" |
sell_currency obligatorio | string | Ej.: "COP" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"amount": "1000000",
"buy_currency": "USD",
"document": "1032456789",
"quote_id": "fxq_abc123",
"sell_currency": "COP"
}FxQuote #
Indicative pricing. The rate is re-resolved when the conversion executes.
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | number | Ej.: 100 |
converted_amount obligatorio | number | Ej.: 400000 |
from_currency obligatorio | string | Ej.: "USD" |
rate obligatorio | number | Ej.: 4000 |
to_currency obligatorio | string | Ej.: "COP" |
FxQuoteIn #
Request an indicative FX quote (moves no money, not billable).
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
buy_currency obligatorio | string | Ej.: "USD" |
document | string | Ej.: "1032456789" |
sell_currency obligatorio | string | Ej.: "COP" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"amount": "1000000",
"buy_currency": "USD",
"document": "1032456789",
"sell_currency": "COP"
}GatewayHealth #
| Campo | Tipo | Descripción |
|---|---|---|
scopes obligatorio | array de string | Ej.: ["credits:read","credits:submit"] |
status obligatorio | string | Ej.: "ok" |
tenant obligatorio | string | Ej.: "horizonte" |
LoanCertificate #
Certificado de deuda a una fecha; paz_y_salvo=true cuando el crédito está saldado.
| Campo | Tipo | Descripción |
|---|---|---|
as_of | string (date) | |
loan_id | string | |
outstanding_principal | string | number | |
paz_y_salvo | boolean | |
pdf_url | string (nullable) | |
status | string | |
total_debt | string | number |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
LoanCollectionIn #
Recaudo reportado por la entidad. La reference es la llave natural del recibo (préstamo + canal + referencia): reenviarla devuelve el mismo recibo; con otro monto → 409.
| Campo | Tipo | Descripción |
|---|---|---|
amount | string | number | Monto COP. En payoff es opcional. Ej.: "195000" |
channel | string | Valores: CASH, ACH_LIBRANZA, BANK_FILE, MANUAL. Ej.: "CASH" |
document | string | Opcional: si viene, el préstamo debe ser suyo. Ej.: "1032456789" |
installment_number | integer | Solo en payments: cuota a pagar primero. |
mode | string | Solo en extra-payment. Valores: reduce_term, reduce_installment. |
reference obligatorio | string | Ej.: "REC-2026-001" Máx. 100 caracteres. |
value_date | string (date) | Fecha valor (no futura). |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"amount": "195000",
"channel": "CASH",
"document": "1032456789",
"reference": "REC-2026-001"
}LoanInstallment #
Cuota del plan de pagos (mismo formato que ve el afiliado en la app).
| Campo | Tipo | Descripción |
|---|---|---|
amount_due | string | Monto COP como decimal en texto. Ej.: "195000.00" |
blocked_reason | string | |
days_overdue | integer | |
fees | string | Monto COP como decimal en texto. Ej.: "195000.00" |
insurance | string | Monto COP como decimal en texto. Ej.: "195000.00" |
interest | string | Monto COP como decimal en texto. Ej.: "195000.00" |
is_overdue | boolean | |
iva | string | Monto COP como decimal en texto. Ej.: "195000.00" |
number | integer | |
payable | boolean | |
pending_amount | string | Monto COP como decimal en texto. Ej.: "195000.00" |
principal | string | Monto COP como decimal en texto. Ej.: "195000.00" |
scheduled_date | string (date) | |
status | string | PENDING | PARTIAL | OVERDUE | PAID | CANCELLED Ej.: "PENDING" |
total_amount | string | Monto COP como decimal en texto. Ej.: "195000.00" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
LoanInstallmentList #
| Campo | Tipo | Descripción |
|---|---|---|
count | integer | |
next_payable_number | integer (nullable) | |
results | array de LoanInstallment |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
LoanList #
| Campo | Tipo | Descripción |
|---|---|---|
count obligatorio | integer | |
document | string | |
results obligatorio | array de LoanSummary |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
LoanNextInstallment #
| Campo | Tipo | Descripción |
|---|---|---|
amount_due | string | Monto COP como decimal en texto. Ej.: "195000.00" |
days_overdue | integer | Ej.: 0 |
due_date | string (nullable) | Ej.: "2026-11-15" |
is_overdue | boolean | |
number | integer | Ej.: 4 |
pending_amount | string | Monto COP como decimal en texto. Ej.: "195000.00" |
LoanQuote #
Cotización (pago total de hoy, abono extraordinario o desglose de cuota).
Tipo: object
LoanSummary #
Resumen de un préstamo desembolsado (motor: GwLoans._summary).
| Campo | Tipo | Descripción |
|---|---|---|
approved_amount | string | Monto COP como decimal en texto. Ej.: "195000.00" |
currency | string | Ej.: "COP" |
days_overdue | integer | |
holder | object | |
installments_paid | integer | |
installments_total | integer | |
loan_id obligatorio | string | Ej.: "3f1c2e7a-4b8d-4e6f-a1c0-d2e3f4a5b6c7" |
loan_number | string (nullable) | Ej.: "CRD-00123" |
monthly_payment | string | Monto COP como decimal en texto. Ej.: "195000.00" |
next_installment | LoanNextInstallment | |
outstanding_principal obligatorio | string | Monto COP como decimal en texto. Ej.: "195000.00" |
overdue_amount | string | Monto COP como decimal en texto. Ej.: "195000.00" |
overdue_installments | integer | |
product | string (nullable) | |
status obligatorio | string | ACTIVE | DISBURSED | IN_ARREARS | DEFAULTED | RESTRUCTURED | IN_RECOVERY | PAID_OFF | WRITTEN_OFF Ej.: "ACTIVE" |
term_months | integer (nullable) |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
MonetaryAllowanceGenerateIn #
Evaluate eligibility and generate the period’s cuota monetaria for the caja.
| Campo | Tipo | Descripción |
|---|---|---|
dry_run | boolean | Evaluate without persisting disbursements. Ej.: false |
period obligatorio | string | Settlement period YYYY-MM. Ej.: "2026-06" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"dry_run": false,
"period": "2026-06"
}MoneyCOP #
A monetary amount in Colombian pesos (COP), as a decimal string to avoid float drift.
Tipo: string
· patrón ^\d+(\.\d{1,2})?$ · ej. "3500000"
Page #
DRF-style paginated list proxied from the processing engine.
| Campo | Tipo | Descripción |
|---|---|---|
count obligatorio | integer | Ej.: 42 |
next | string (nullable) | |
previous | string (nullable) | |
results obligatorio | array de object |
Pqrs #
A PQRS. affiliate.name is masked; description, responses, attachments and history are present on detail and write responses.
| Campo | Tipo | Descripción |
|---|---|---|
affiliate | object | Ej.: {"document_number":"1032456789","name":"A*** M***"} |
attachments | array de object | |
created_at | string (nullable) | |
deadline | string (nullable) | |
description | string | |
electronic_notification_consented | boolean | |
external_reference | string (nullable) | |
history | array de object | Status history: from/to, when, source (app|panel|gateway) and actor. |
id obligatorio | string | |
is_overdue | boolean | |
issue_type | string | Valores: petition, complaint, claim, suggestion. |
origin_channel | string | |
priority | string | |
radicado obligatorio | string | Ej.: "PQRS-2026-000123" |
resolved_at | string (nullable) | |
responses | array de object | |
service_area | string | |
status obligatorio | string | Valores: opened, in_progress, escalated, resolved, closed. |
subject | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
PqrsPage #
| Campo | Tipo | Descripción |
|---|---|---|
count obligatorio | integer | |
page | integer | |
page_size | integer | |
results obligatorio | array de Pqrs |
PqrsRespondIn #
| Campo | Tipo | Descripción |
|---|---|---|
agent | string | Máx. 80 caracteres. |
is_final | boolean | A final response leaves the PQRS resolved. |
response_text obligatorio | string | Ej.: "Se reversó el cobro el 28-oct." |
PqrsStats #
| Campo | Tipo | Descripción |
|---|---|---|
by_service_area obligatorio | object | |
by_status obligatorio | object | |
by_type obligatorio | object | |
overdue obligatorio | integer | |
total obligatorio | integer |
PqrsStatusIn #
Change status following the PQRS state machine: closed is terminal, resolved can only be closed; repeating the current status is an idempotent no-op.
| Campo | Tipo | Descripción |
|---|---|---|
agent | string | Máx. 80 caracteres. |
note | string | Máx. 1000 caracteres. |
priority | string | Valores: low, normal, high, urgent. |
status obligatorio | string | Valores: opened, in_progress, escalated, resolved, closed. |
PqrsSubmitIn #
File a PQRS on behalf of an affiliate. The radicado (PQRS-AAAA-NNNNNN) and the legal deadline (15 business days, Ley 1755/2015) are set by the engine.
| Campo | Tipo | Descripción |
|---|---|---|
agent | string | Your agent/user reference (traceability). Ej.: "ana.p" Máx. 80 caracteres. |
description obligatorio | string | Ej.: "El afiliado reporta un cobro que no reconoce." |
document obligatorio | string | Affiliate national document. Ej.: "1032456789" |
electronic_notification_consented obligatorio | boolean | REQUIRED: whether the affiliate accepted electronic notification (Ley 1437 art. 56). |
external_reference | string | Case id in your CRM. Ej.: "CRM-88231" Máx. 100 caracteres. |
issue_type obligatorio | string | Valores: petition, complaint, claim, suggestion. |
origin_channel | string | Valores: web, call_center, phone, email, in_person, chat, whatsapp, crm, api, other. |
related_credit_application_id | string (nullable) | |
related_credit_id | string | |
related_subsidy_active_id | string | |
related_subsidy_application_id | string (nullable) | |
related_type | string (nullable) | Valores: credit_application, subsidy_application, credit, subsidy, . |
service_area obligatorio | string | Valores: subsidies, credits, health, marketplace, benefits, wallet, payments, general. |
subject obligatorio | string | Ej.: "Cobro no reconocido" Máx. 255 caracteres. |
Ejemplo
{
"agent": "ana.p",
"description": "El afiliado reporta un cobro de 45.000 que no reconoce.",
"document": "1032456789",
"electronic_notification_consented": true,
"external_reference": "CRM-88231",
"issue_type": "claim",
"origin_channel": "call_center",
"service_area": "wallet",
"subject": "Cobro no reconocido"
}Problem #
RFC 9457 application/problem+json error envelope (GW-006). The same shape is returned for every error; trace_id equals the X-Request-ID response header and should be quoted to support.
| Campo | Tipo | Descripción |
|---|---|---|
detail | string (nullable) | Ej.: "One or more fields are invalid." |
errors | array (nullable) | Present on 422 validation failures. |
status obligatorio | integer | Ej.: 422 |
title obligatorio | string | Ej.: "Validation error" |
trace_id obligatorio | string | Ej.: "9f1c2e7a4b8d4e6fa1c0d2e3f4a5b6c7" |
type | string (uri) | Stable, dereferenceable problem-type URI. Ej.: "https://errors.compense.co/gateway/validation" |
SubsidyApplicationIn #
Statutory subsidy application. subsidy_type is the path segment (e.g. unemployment).
| Campo | Tipo | Descripción |
|---|---|---|
afiliado obligatorio | AffiliateRef | |
external_reference | string | Ej.: "HORIZONTE-SUB-2026-000045" |
period | string | Settlement period YYYY-MM. Ej.: "2026-06" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"afiliado": {
"document_number": "1032456789",
"document_type": "CC"
},
"external_reference": "HORIZONTE-SUB-2026-000045",
"period": "2026-06"
}SubsidyDecisionIn #
| Campo | Tipo | Descripción |
|---|---|---|
decision obligatorio | string | Valores: APPROVE, REJECT. Ej.: "APPROVE" |
reason | string (nullable) | Ej.: "Cumple requisitos de permanencia." |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"decision": "APPROVE",
"reason": "Cumple requisitos de permanencia."
}TransactionEnvelope #
Standard async-write acknowledgement. data carries the engine response verbatim; idempotent_replay is true when a prior request with the same Idempotency-Key is being replayed.
| Campo | Tipo | Descripción |
|---|---|---|
data obligatorio | object | |
idempotent_replay | boolean | Ej.: false |
module obligatorio | string | Ej.: "credits" |
status obligatorio | string | Valores: success. Ej.: "success" |
transaction_id obligatorio | string | Ej.: "a1b2c3d4-0000-4a1b-9c2d-000000000001" |
warnings | array de string |
TransactionStatus #
Persisted gateway transaction log record.
| Campo | Tipo | Descripción |
|---|---|---|
history | array de string | Ej.: ["received","submitted"] |
module | string | Ej.: "credits" |
reference | string (nullable) | Ej.: "CRED-2026-000123" |
status | string | Ej.: "PROCESSING" |
transaction_id | string | Ej.: "a1b2c3d4-0000-4a1b-9c2d-000000000001" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletAccount #
One account owned by the holder (primary wallet, pocket, or savings goal).
| Campo | Tipo | Descripción |
|---|---|---|
available_balance obligatorio | number | Balance net of holds; this is the spendable figure. Ej.: 120000 |
balance obligatorio | number | Ej.: 150000 |
currency obligatorio | string | Ej.: "COP" |
id obligatorio | string | Ej.: "3f1a2b3c-0000-4a1b-9c2d-000000000001" |
is_primary obligatorio | boolean | Ej.: false |
kind obligatorio | string | Ej.: "POCKET" |
name obligatorio | string | Ej.: "Bolsillo" |
status obligatorio | string | Ej.: "ACTIVE" |
target_amount | number | Ej.: 500000 |
target_date | string (nullable) | Ej.: "2026-12-31" |
WalletAccountCreateIn #
Create a sub-account (pocket / savings / goal) for the wallet holder.
| Campo | Tipo | Descripción |
|---|---|---|
document obligatorio | string | National document of the wallet holder. Ej.: "1032456789" |
kind obligatorio | string | Valores: pocket, savings, goal. Ej.: "pocket" |
name | string | Ej.: "Ahorro vacaciones" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"document": "1032456789",
"kind": "pocket",
"name": "Ahorro vacaciones"
}WalletAccountList #
| Campo | Tipo | Descripción |
|---|---|---|
accounts obligatorio | array de WalletAccount |
WalletBalance #
| Campo | Tipo | Descripción |
|---|---|---|
available_cash | number | Saldo disponible (neto de retenciones). Ej.: 150000 |
currency | string | Ej.: "COP" |
pending_amount | number | Ej.: 0 |
restricted_amount | number | Ej.: 0 |
total | number | Ej.: 150000 |
WalletBillInquiryIn #
| Campo | Tipo | Descripción |
|---|---|---|
barcode | string | Alternativa a biller_code+reference (GS1). |
biller_code | string | Ej.: "EPM" |
document obligatorio | string | Ej.: "1032456789" |
reference | string | Ej.: "123456789" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletBillPayIn #
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
biller_code obligatorio | string | Ej.: "EPM" |
document obligatorio | string | Ej.: "1032456789" |
reference obligatorio | string | Ej.: "123456789" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletBillPayment #
| Campo | Tipo | Descripción |
|---|---|---|
amount | string | Monto decimal como texto. Ej.: "50000.00" |
approval_number | string (nullable) | |
biller | object | |
created_at | string (date-time) | |
currency | string | |
id | string | |
kind | string | Valores: BILL, TOPUP. |
status | string | Ej.: "APPROVED" |
transaction_id | string (nullable) |
WalletBillPaymentPage #
| Campo | Tipo | Descripción |
|---|---|---|
has_more | boolean | |
limit | integer | |
next_offset | integer (nullable) | |
offset | integer | |
results | array de WalletBillPayment |
WalletBillerList #
| Campo | Tipo | Descripción |
|---|---|---|
billers | array de object |
WalletBreBLimits #
| Campo | Tipo | Descripción |
|---|---|---|
available_today | number (nullable) | |
currency | string | Ej.: "COP" |
max_daily_amount | number (nullable) | |
max_monthly_amount | number (nullable) | |
max_per_transaction | number (nullable) | |
tier | string | |
used_month | number | |
used_today | number |
WalletBreBResolveIn #
| Campo | Tipo | Descripción |
|---|---|---|
document obligatorio | string | Ej.: "1032456789" |
key_type obligatorio | string | Valores: PHONE, DOCUMENT, EMAIL, ALIAS. |
value obligatorio | string | Ej.: "3109876543" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletCard #
Non-sensitive card metadata. PAN/CVV are never returned here.
| Campo | Tipo | Descripción |
|---|---|---|
card_type obligatorio | string | Ej.: "DEBIT" |
currency | string | Ej.: "COP" |
expiry_month | integer | Ej.: 12 |
expiry_year | integer | Ej.: 2030 |
form_factor obligatorio | string | Ej.: "VIRTUAL" |
id obligatorio | string | Ej.: "card-9" |
is_default | boolean | Ej.: true |
last_four | string | Ej.: "4242" |
name_on_card | string | Ej.: "JUAN PEREZ" |
network | string | Ej.: "VISA" |
status obligatorio | string | Ej.: "ACTIVE" |
WalletCardIssueIn #
Issue a card (debit; virtual or physical) for the wallet holder.
| Campo | Tipo | Descripción |
|---|---|---|
document obligatorio | string | Ej.: "1032456789" |
form_factor | string | Valores: virtual, physical. Ej.: "virtual" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"document": "1032456789",
"form_factor": "virtual"
}WalletCardList #
| Campo | Tipo | Descripción |
|---|---|---|
cards obligatorio | array de WalletCard |
WalletCardStatusIn #
Change a card’s state (freeze / unfreeze / block).
| Campo | Tipo | Descripción |
|---|---|---|
document obligatorio | string | Ej.: "1032456789" |
status obligatorio | string | Valores: freeze, unfreeze, block. Ej.: "freeze" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"document": "1032456789",
"status": "freeze"
}WalletCardTransactionList #
Movements on one card, most recent first.
| Campo | Tipo | Descripción |
|---|---|---|
transactions obligatorio | array de object |
WalletDocument #
Document id of the wallet holder; the engine resolves the member from it.
Tipo: string
· ej. "1090123456"
WalletInvoice #
| Campo | Tipo | Descripción |
|---|---|---|
allows_partial | boolean | |
amount | string | Monto decimal como texto. Ej.: "50000.00" |
biller | object | |
currency | string | Ej.: "COP" |
due_date | string (nullable) | |
holder_name | string | Titular de la factura, enmascarado. |
max_amount | string | Monto decimal como texto. Ej.: "50000.00" |
min_amount | string | Monto decimal como texto. Ej.: "50000.00" |
period | string (nullable) | |
reference | string | |
status | string | Ej.: "PENDING" |
WalletResolution #
Destinatario enmascarado y token de envío (vida corta, 300 s).
| Campo | Tipo | Descripción |
|---|---|---|
display_name | string | Ej.: "Ma*** Pé***" |
expires_in | integer | Ej.: 300 |
found | boolean | |
institution_name | string | |
is_local | boolean | |
key_display | string | |
resolution_token | string |
WalletResolveP2PIn #
| Campo | Tipo | Descripción |
|---|---|---|
alias obligatorio | string | Celular, correo, documento o @alias del destinatario. Ej.: "3001234567" |
document obligatorio | string | Documento del titular que envía. Ej.: "1032456789" |
key_type | string | Opcional: desambigua una cadena de dígitos. Valores: PHONE, EMAIL, DOCUMENT, ALIAS. |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletTopupIn #
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
carrier obligatorio | string | Ej.: "CLARO" |
document obligatorio | string | Ej.: "1032456789" |
phone_number obligatorio | string | Ej.: "3001234567" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WalletTopupOperators #
| Campo | Tipo | Descripción |
|---|---|---|
operators | array de object | |
source | string | Valores: catalog, default. |
WalletTransaction #
| Campo | Tipo | Descripción |
|---|---|---|
amount | number | Ej.: 20000 |
category | string | Ej.: "TRANSFER" |
currency | string | Ej.: "COP" |
date | string (date-time) | |
description | string | |
id | string | Ej.: "6b1f8c1e-0000-4a1b-9c2d-000000000001" |
status | string | Ej.: "COMPLETED" |
transaction_type | string | Ej.: "TRANSFER_OUT" |
type | string | Ej.: "DEBIT" |
WalletTransactionPage #
| Campo | Tipo | Descripción |
|---|---|---|
has_more | boolean | |
limit | integer | Ej.: 50 |
next_offset | integer (nullable) | |
offset | integer | Ej.: 0 |
results | array de WalletTransaction |
WalletTransferIn #
Transfer funds between two of the holder’s own accounts.
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
document obligatorio | string | Ej.: "1032456789" |
from_account obligatorio | string | Ej.: "acc_main" |
to_account obligatorio | string | Ej.: "acc_pocket_1" |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
Ejemplo
{
"amount": "150000",
"document": "1032456789",
"from_account": "acc_main",
"to_account": "acc_pocket_1"
}WalletTransferIn2 #
Envío P2P o Bre-B: solo con el resolution_token del resolve (nunca un id suelto).
| Campo | Tipo | Descripción |
|---|---|---|
amount obligatorio | MoneyCOP | |
description | string | Máx. 140 caracteres. |
document obligatorio | string | Ej.: "1032456789" |
resolution_token obligatorio | string |
Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.
WebhookDeliveryDetail #
A delivery with every attempt of the same event (original + replays). Request headers other than the signature headers are redacted; the secret is never returned.
| Campo | Tipo | Descripción |
|---|---|---|
attempts obligatorio | array de object | |
event_type obligatorio | string | |
id obligatorio | string | |
request | object | |
response | object | |
status obligatorio | string |
WebhookDeliveryList #
| Campo | Tipo | Descripción |
|---|---|---|
count obligatorio | integer | |
page | integer | |
page_size | integer | |
results obligatorio | array de WebhookDeliverySummary |
WebhookDeliverySummary #
| Campo | Tipo | Descripción |
|---|---|---|
attempt_number | integer | |
completed_at | string (nullable) | |
duration_ms | integer (nullable) | |
endpoint_id | string | |
event_id | string | |
event_type obligatorio | string | |
id obligatorio | string | Ej.: "7c9e6679-7425-40de-944b-e07fc1f90ae7" |
parent_delivery_id | string (nullable) | |
queued_at | string (nullable) | |
replayable | boolean | |
response_status_code | integer (nullable) | |
status obligatorio | string | Valores: pending, in_flight, success, failed, abandoned. |
WebhookEndpoint #
An outbound endpoint of the organization. Never carries the secret on reads.
| Campo | Tipo | Descripción |
|---|---|---|
active | boolean | |
created_at | string (nullable) | |
description | string | |
events obligatorio | array de string | Ej.: ["credits.decision"] |
id obligatorio | string | Ej.: "3f1a2b3c-0000-4a1b-9c2d-000000000001" |
label | string | Ej.: "ERP" |
max_retries | integer | Ej.: 5 |
secret | string | Signing secret. Present ONLY in the create and rotate-secret responses. |
stats | object | |
status obligatorio | string | Valores: active, paused, failing, disabled. |
status_label | string | |
timeout_seconds | integer | Ej.: 10 |
updated_at | string (nullable) | |
url obligatorio | string (uri) | Ej.: "https://erp.nova.example/compense/webhooks" |
WebhookEndpointCreateIn #
| Campo | Tipo | Descripción |
|---|---|---|
active | boolean | |
description | string | |
events obligatorio | array de string | Keys from the event catalog. Ej.: ["credits.decision","wallets.cashin.confirmed"] |
label | string | Máx. 128 caracteres. |
url obligatorio | string (uri) | Public HTTPS URL. Ej.: "https://erp.nova.example/compense/webhooks" |
WebhookEndpointList #
| Campo | Tipo | Descripción |
|---|---|---|
count obligatorio | integer | |
results obligatorio | array de WebhookEndpoint |
WebhookEndpointUpdateIn #
Partial update. Only these fields are accepted.
| Campo | Tipo | Descripción |
|---|---|---|
active | boolean | |
description | string | |
events | array de string | |
label | string | Máx. 128 caracteres. |
url | string (uri) |
WebhookEventCatalog #
Every subscribable event plus the signature contract of outbound deliveries.
| Campo | Tipo | Descripción |
|---|---|---|
aliases | object | |
categories | object | Ej.: {"credits":["credits.decision"],"wallets":["wallets.cashin.confirmed"]} |
count obligatorio | integer | Ej.: 37 |
events obligatorio | array de WebhookEventInfo | |
signature | object | Headers and algorithm used to sign deliveries. |
WebhookEventInfo #
| Campo | Tipo | Descripción |
|---|---|---|
category | string | Ej.: "credits" |
description obligatorio | string | |
event obligatorio | string | Ej.: "credits.decision" |
label | string | |
payload_example obligatorio | object | |
since | string (nullable) | Ej.: "2026-06-01" |
version | string | Ej.: "1" |
WebhookTestIn #
| Campo | Tipo | Descripción |
|---|---|---|
event_type | string | Catalog key whose payload_example is sent (default test.ping). Ej.: "credits.decision" |