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.

CampoTipoDescripción
area_idstring
bank_account_numberstring
bank_account_typestring
bank_namestring
email_workstring
eps_codestring
first_namestringEj.: "Laura"
hire_datestring (date)Ej.: "2025-02-01"
id_number obligatoriostringEj.: "1032456789"
id_typestringEj.: "CC"
last_namestringEj.: "Pérez"
pension_fund_codestring
phonestring
position_idstring

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.

CampoTipoDescripción
date obligatoriostring (date)
description obligatoriostring
external_idstringEj.: "ERP-AS-2026-000123"
lines obligatorioarray de object
referencestring
third_partystringId o documento del tercero.
voucher_typestringEj.: "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.

CampoTipoDescripción
certificate_numberstring
daysinteger
diagnosis_codestringCIE-10; nunca se devuelve por API.
employee obligatoriostringId o documento del colaborador. Ej.: "1032456789"
end_datestring (date)
hoursnumber
issuing_entitystring
reasonstring
start_date obligatoriostring (date)
type_code obligatoriostringEj.: "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 #

CampoTipoDescripción
amountnumber | stringValor en COP (conceptos por valor).
concept_codestringEj.: "HED"
datestring (date)
descriptionstring
employeestringEj.: "1032456789"
end_datestring (date)
quantitynumber | stringHoras o días (conceptos por horas).
recurringboolean

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.

CampoTipoDescripción
amountnumber | string
concept_codestring
datestring (date)
employeestring
itemsarray de AdminPayrollNovelty
period_idstring
quantitynumber | string

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

AdminResultList #

Lista del motor administrativo (results; count en las paginadas).

CampoTipoDescripción
countinteger
resultsarray 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).

CampoTipoDescripción
bank_account obligatoriostring
closing_balancenumber | string
contentstring
date_fromstring (date)
date_tostring (date)
linesarray de object
opening_balancenumber | string

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

AdminTaxComputeIn #

CampoTipoDescripción
datestring (date)
items obligatorioarray de object
third_partystring

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.

CampoTipoDescripción
business_namestring
emailstring
first_last_namestring
first_namestring
id_number obligatoriostringEj.: "900123456"
id_type obligatoriostringEj.: "NIT"
is_customerboolean
is_supplierboolean
phonestring
responsibilitiesarray de string
tax_regimestring

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.

CampoTipoDescripción
amountnumber | string
applicationsarray de object
bank_accountstring
datestring (date)
descriptionstring
income_accountstring
issue_datestring (date)
methodstringEj.: "TRANSFERENCIA"
referencestring
subtotalnumber | string
third_party obligatoriostring

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

AffiliateBatchResult #

CampoTipoDescripción
accepted obligatoriointegerEj.: 2
created obligatoriointegerEj.: 1
errorsarray de object
errors_countintegerEj.: 0
rejected obligatoriointegerEj.: 0
updated obligatoriointegerEj.: 1

AffiliateLookup #

CampoTipoDescripción
affiliateobject
document_number obligatoriostringEj.: "1032456789"
exists obligatoriobooleanEj.: 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.

CampoTipoDescripción
categorystring (nullable)Caja Horizonte affiliation category (A/B/C). Ej.: "A"
document_numberstringEj.: "1032456789"
document_typestringValores: CC, CE, TI, PA, RC, NIT, PEP, PPT. Ej.: "CC"
emailstring (nullable)Ej.: "maria.gomez@example.co"
first_namestringEj.: "María"
last_namestringEj.: "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.

CampoTipoDescripción
document_number obligatoriostringEj.: "1032456789"
document_type obligatoriostringValores: CC, CE, TI, PA, RC, NIT, PEP, PPT. Ej.: "CC"

CreditApplicationIn #

Credit application radicada into the BRE pipeline. Proxied to the engine as-is.

CampoTipoDescripción
afiliado obligatorioAffiliateRef
amount obligatorioMoneyCOP
external_reference obligatoriostringCaja-side application id; echoed back and used for idempotency correlation. Ej.: "HORIZONTE-CRED-2026-000123"
product_code obligatoriostringEj.: "LIBRANZA_12M"
purposestring (nullable)Ej.: "Compra de cartera"
term_months obligatoriointegerEj.: 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 #

CampoTipoDescripción
approved_amountMoneyCOPRequired when decision is APPROVE.
decision obligatoriostringValores: APPROVE, REJECT. Ej.: "APPROVE"
reasonstring (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.

CampoTipoDescripción
field obligatoriostringEj.: "term_months"
message obligatoriostringEj.: "Input should be greater than or equal to 1"

FxConvertIn #

Execute a currency conversion (moves money — idempotency-key recommended).

CampoTipoDescripción
amount obligatorioMoneyCOP
buy_currency obligatoriostringEj.: "USD"
documentstringEj.: "1032456789"
quote_idstring (nullable)A quote id returned by /fx/quote/. Ej.: "fxq_abc123"
sell_currency obligatoriostringEj.: "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.

CampoTipoDescripción
amount obligatorionumberEj.: 100
converted_amount obligatorionumberEj.: 400000
from_currency obligatoriostringEj.: "USD"
rate obligatorionumberEj.: 4000
to_currency obligatoriostringEj.: "COP"

FxQuoteIn #

Request an indicative FX quote (moves no money, not billable).

CampoTipoDescripción
amount obligatorioMoneyCOP
buy_currency obligatoriostringEj.: "USD"
documentstringEj.: "1032456789"
sell_currency obligatoriostringEj.: "COP"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

Ejemplo
{
  "amount": "1000000",
  "buy_currency": "USD",
  "document": "1032456789",
  "sell_currency": "COP"
}

GatewayHealth #

CampoTipoDescripción
scopes obligatorioarray de stringEj.: ["credits:read","credits:submit"]
status obligatoriostringEj.: "ok"
tenant obligatoriostringEj.: "horizonte"

LoanCertificate #

Certificado de deuda a una fecha; paz_y_salvo=true cuando el crédito está saldado.

CampoTipoDescripción
as_ofstring (date)
loan_idstring
outstanding_principalstring | number
paz_y_salvoboolean
pdf_urlstring (nullable)
statusstring
total_debtstring | 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.

CampoTipoDescripción
amountstring | numberMonto COP. En payoff es opcional. Ej.: "195000"
channelstringValores: CASH, ACH_LIBRANZA, BANK_FILE, MANUAL. Ej.: "CASH"
documentstringOpcional: si viene, el préstamo debe ser suyo. Ej.: "1032456789"
installment_numberintegerSolo en payments: cuota a pagar primero.
modestringSolo en extra-payment. Valores: reduce_term, reduce_installment.
reference obligatoriostringEj.: "REC-2026-001" Máx. 100 caracteres.
value_datestring (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).

CampoTipoDescripción
amount_duestringMonto COP como decimal en texto. Ej.: "195000.00"
blocked_reasonstring
days_overdueinteger
feesstringMonto COP como decimal en texto. Ej.: "195000.00"
insurancestringMonto COP como decimal en texto. Ej.: "195000.00"
intereststringMonto COP como decimal en texto. Ej.: "195000.00"
is_overdueboolean
ivastringMonto COP como decimal en texto. Ej.: "195000.00"
numberinteger
payableboolean
pending_amountstringMonto COP como decimal en texto. Ej.: "195000.00"
principalstringMonto COP como decimal en texto. Ej.: "195000.00"
scheduled_datestring (date)
statusstringPENDING | PARTIAL | OVERDUE | PAID | CANCELLED Ej.: "PENDING"
total_amountstringMonto COP como decimal en texto. Ej.: "195000.00"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

LoanInstallmentList #

CampoTipoDescripción
countinteger
next_payable_numberinteger (nullable)
resultsarray de LoanInstallment

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

LoanList #

CampoTipoDescripción
count obligatoriointeger
documentstring
results obligatorioarray de LoanSummary

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

LoanNextInstallment #

CampoTipoDescripción
amount_duestringMonto COP como decimal en texto. Ej.: "195000.00"
days_overdueintegerEj.: 0
due_datestring (nullable)Ej.: "2026-11-15"
is_overdueboolean
numberintegerEj.: 4
pending_amountstringMonto 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).

CampoTipoDescripción
approved_amountstringMonto COP como decimal en texto. Ej.: "195000.00"
currencystringEj.: "COP"
days_overdueinteger
holderobject
installments_paidinteger
installments_totalinteger
loan_id obligatoriostringEj.: "3f1c2e7a-4b8d-4e6f-a1c0-d2e3f4a5b6c7"
loan_numberstring (nullable)Ej.: "CRD-00123"
monthly_paymentstringMonto COP como decimal en texto. Ej.: "195000.00"
next_installmentLoanNextInstallment
outstanding_principal obligatoriostringMonto COP como decimal en texto. Ej.: "195000.00"
overdue_amountstringMonto COP como decimal en texto. Ej.: "195000.00"
overdue_installmentsinteger
productstring (nullable)
status obligatoriostringACTIVE | DISBURSED | IN_ARREARS | DEFAULTED | RESTRUCTURED | IN_RECOVERY | PAID_OFF | WRITTEN_OFF Ej.: "ACTIVE"
term_monthsinteger (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.

CampoTipoDescripción
dry_runbooleanEvaluate without persisting disbursements. Ej.: false
period obligatoriostringSettlement 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.

CampoTipoDescripción
count obligatoriointegerEj.: 42
nextstring (nullable)
previousstring (nullable)
results obligatorioarray de object

Pqrs #

A PQRS. affiliate.name is masked; description, responses, attachments and history are present on detail and write responses.

CampoTipoDescripción
affiliateobjectEj.: {"document_number":"1032456789","name":"A*** M***"}
attachmentsarray de object
created_atstring (nullable)
deadlinestring (nullable)
descriptionstring
electronic_notification_consentedboolean
external_referencestring (nullable)
historyarray de objectStatus history: from/to, when, source (app|panel|gateway) and actor.
id obligatoriostring
is_overdueboolean
issue_typestringValores: petition, complaint, claim, suggestion.
origin_channelstring
prioritystring
radicado obligatoriostringEj.: "PQRS-2026-000123"
resolved_atstring (nullable)
responsesarray de object
service_areastring
status obligatoriostringValores: opened, in_progress, escalated, resolved, closed.
subjectstring

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

PqrsPage #

CampoTipoDescripción
count obligatoriointeger
pageinteger
page_sizeinteger
results obligatorioarray de Pqrs

PqrsRespondIn #

CampoTipoDescripción
agentstringMáx. 80 caracteres.
is_finalbooleanA final response leaves the PQRS resolved.
response_text obligatoriostringEj.: "Se reversó el cobro el 28-oct."

PqrsStats #

CampoTipoDescripción
by_service_area obligatorioobject
by_status obligatorioobject
by_type obligatorioobject
overdue obligatoriointeger
total obligatoriointeger

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.

CampoTipoDescripción
agentstringMáx. 80 caracteres.
notestringMáx. 1000 caracteres.
prioritystringValores: low, normal, high, urgent.
status obligatoriostringValores: 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.

CampoTipoDescripción
agentstringYour agent/user reference (traceability). Ej.: "ana.p" Máx. 80 caracteres.
description obligatoriostringEj.: "El afiliado reporta un cobro que no reconoce."
document obligatoriostringAffiliate national document. Ej.: "1032456789"
electronic_notification_consented obligatoriobooleanREQUIRED: whether the affiliate accepted electronic notification (Ley 1437 art. 56).
external_referencestringCase id in your CRM. Ej.: "CRM-88231" Máx. 100 caracteres.
issue_type obligatoriostringValores: petition, complaint, claim, suggestion.
origin_channelstringValores: web, call_center, phone, email, in_person, chat, whatsapp, crm, api, other.
related_credit_application_idstring (nullable)
related_credit_idstring
related_subsidy_active_idstring
related_subsidy_application_idstring (nullable)
related_typestring (nullable)Valores: credit_application, subsidy_application, credit, subsidy, .
service_area obligatoriostringValores: subsidies, credits, health, marketplace, benefits, wallet, payments, general.
subject obligatoriostringEj.: "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.

CampoTipoDescripción
detailstring (nullable)Ej.: "One or more fields are invalid."
errorsarray (nullable)Present on 422 validation failures.
status obligatoriointegerEj.: 422
title obligatoriostringEj.: "Validation error"
trace_id obligatoriostringEj.: "9f1c2e7a4b8d4e6fa1c0d2e3f4a5b6c7"
typestring (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).

CampoTipoDescripción
afiliado obligatorioAffiliateRef
external_referencestringEj.: "HORIZONTE-SUB-2026-000045"
periodstringSettlement 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 #

CampoTipoDescripción
decision obligatoriostringValores: APPROVE, REJECT. Ej.: "APPROVE"
reasonstring (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.

CampoTipoDescripción
data obligatorioobject
idempotent_replaybooleanEj.: false
module obligatoriostringEj.: "credits"
status obligatoriostringValores: success. Ej.: "success"
transaction_id obligatoriostringEj.: "a1b2c3d4-0000-4a1b-9c2d-000000000001"
warningsarray de string

TransactionStatus #

Persisted gateway transaction log record.

CampoTipoDescripción
historyarray de stringEj.: ["received","submitted"]
modulestringEj.: "credits"
referencestring (nullable)Ej.: "CRED-2026-000123"
statusstringEj.: "PROCESSING"
transaction_idstringEj.: "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).

CampoTipoDescripción
available_balance obligatorionumberBalance net of holds; this is the spendable figure. Ej.: 120000
balance obligatorionumberEj.: 150000
currency obligatoriostringEj.: "COP"
id obligatoriostringEj.: "3f1a2b3c-0000-4a1b-9c2d-000000000001"
is_primary obligatoriobooleanEj.: false
kind obligatoriostringEj.: "POCKET"
name obligatoriostringEj.: "Bolsillo"
status obligatoriostringEj.: "ACTIVE"
target_amountnumberEj.: 500000
target_datestring (nullable)Ej.: "2026-12-31"

WalletAccountCreateIn #

Create a sub-account (pocket / savings / goal) for the wallet holder.

CampoTipoDescripción
document obligatoriostringNational document of the wallet holder. Ej.: "1032456789"
kind obligatoriostringValores: pocket, savings, goal. Ej.: "pocket"
namestringEj.: "Ahorro vacaciones"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

Ejemplo
{
  "document": "1032456789",
  "kind": "pocket",
  "name": "Ahorro vacaciones"
}

WalletAccountList #

CampoTipoDescripción
accounts obligatorioarray de WalletAccount

WalletBalance #

CampoTipoDescripción
available_cashnumberSaldo disponible (neto de retenciones). Ej.: 150000
currencystringEj.: "COP"
pending_amountnumberEj.: 0
restricted_amountnumberEj.: 0
totalnumberEj.: 150000

WalletBillInquiryIn #

CampoTipoDescripción
barcodestringAlternativa a biller_code+reference (GS1).
biller_codestringEj.: "EPM"
document obligatoriostringEj.: "1032456789"
referencestringEj.: "123456789"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

WalletBillPayIn #

CampoTipoDescripción
amount obligatorioMoneyCOP
biller_code obligatoriostringEj.: "EPM"
document obligatoriostringEj.: "1032456789"
reference obligatoriostringEj.: "123456789"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

WalletBillPayment #

CampoTipoDescripción
amountstringMonto decimal como texto. Ej.: "50000.00"
approval_numberstring (nullable)
billerobject
created_atstring (date-time)
currencystring
idstring
kindstringValores: BILL, TOPUP.
statusstringEj.: "APPROVED"
transaction_idstring (nullable)

WalletBillPaymentPage #

CampoTipoDescripción
has_moreboolean
limitinteger
next_offsetinteger (nullable)
offsetinteger
resultsarray de WalletBillPayment

WalletBillerList #

CampoTipoDescripción
billersarray de object

WalletBreBLimits #

CampoTipoDescripción
available_todaynumber (nullable)
currencystringEj.: "COP"
max_daily_amountnumber (nullable)
max_monthly_amountnumber (nullable)
max_per_transactionnumber (nullable)
tierstring
used_monthnumber
used_todaynumber

WalletBreBResolveIn #

CampoTipoDescripción
document obligatoriostringEj.: "1032456789"
key_type obligatoriostringValores: PHONE, DOCUMENT, EMAIL, ALIAS.
value obligatoriostringEj.: "3109876543"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

WalletCard #

Non-sensitive card metadata. PAN/CVV are never returned here.

CampoTipoDescripción
card_type obligatoriostringEj.: "DEBIT"
currencystringEj.: "COP"
expiry_monthintegerEj.: 12
expiry_yearintegerEj.: 2030
form_factor obligatoriostringEj.: "VIRTUAL"
id obligatoriostringEj.: "card-9"
is_defaultbooleanEj.: true
last_fourstringEj.: "4242"
name_on_cardstringEj.: "JUAN PEREZ"
networkstringEj.: "VISA"
status obligatoriostringEj.: "ACTIVE"

WalletCardIssueIn #

Issue a card (debit; virtual or physical) for the wallet holder.

CampoTipoDescripción
document obligatoriostringEj.: "1032456789"
form_factorstringValores: virtual, physical. Ej.: "virtual"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

Ejemplo
{
  "document": "1032456789",
  "form_factor": "virtual"
}

WalletCardList #

CampoTipoDescripción
cards obligatorioarray de WalletCard

WalletCardStatusIn #

Change a card’s state (freeze / unfreeze / block).

CampoTipoDescripción
document obligatoriostringEj.: "1032456789"
status obligatoriostringValores: 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.

CampoTipoDescripción
transactions obligatorioarray de object

WalletDocument #

Document id of the wallet holder; the engine resolves the member from it.

Tipo: string · ej. "1090123456"

WalletInvoice #

CampoTipoDescripción
allows_partialboolean
amountstringMonto decimal como texto. Ej.: "50000.00"
billerobject
currencystringEj.: "COP"
due_datestring (nullable)
holder_namestringTitular de la factura, enmascarado.
max_amountstringMonto decimal como texto. Ej.: "50000.00"
min_amountstringMonto decimal como texto. Ej.: "50000.00"
periodstring (nullable)
referencestring
statusstringEj.: "PENDING"

WalletResolution #

Destinatario enmascarado y token de envío (vida corta, 300 s).

CampoTipoDescripción
display_namestringEj.: "Ma*** Pé***"
expires_inintegerEj.: 300
foundboolean
institution_namestring
is_localboolean
key_displaystring
resolution_tokenstring

WalletResolveP2PIn #

CampoTipoDescripción
alias obligatoriostringCelular, correo, documento o @alias del destinatario. Ej.: "3001234567"
document obligatoriostringDocumento del titular que envía. Ej.: "1032456789"
key_typestringOpcional: desambigua una cadena de dígitos. Valores: PHONE, EMAIL, DOCUMENT, ALIAS.

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

WalletTopupIn #

CampoTipoDescripción
amount obligatorioMoneyCOP
carrier obligatoriostringEj.: "CLARO"
document obligatoriostringEj.: "1032456789"
phone_number obligatoriostringEj.: "3001234567"

Acepta campos adicionales (additionalProperties): se reenvían al motor sin cambios.

WalletTopupOperators #

CampoTipoDescripción
operatorsarray de object
sourcestringValores: catalog, default.

WalletTransaction #

CampoTipoDescripción
amountnumberEj.: 20000
categorystringEj.: "TRANSFER"
currencystringEj.: "COP"
datestring (date-time)
descriptionstring
idstringEj.: "6b1f8c1e-0000-4a1b-9c2d-000000000001"
statusstringEj.: "COMPLETED"
transaction_typestringEj.: "TRANSFER_OUT"
typestringEj.: "DEBIT"

WalletTransactionPage #

CampoTipoDescripción
has_moreboolean
limitintegerEj.: 50
next_offsetinteger (nullable)
offsetintegerEj.: 0
resultsarray de WalletTransaction

WalletTransferIn #

Transfer funds between two of the holder’s own accounts.

CampoTipoDescripción
amount obligatorioMoneyCOP
document obligatoriostringEj.: "1032456789"
from_account obligatoriostringEj.: "acc_main"
to_account obligatoriostringEj.: "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).

CampoTipoDescripción
amount obligatorioMoneyCOP
descriptionstringMáx. 140 caracteres.
document obligatoriostringEj.: "1032456789"
resolution_token obligatoriostring

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.

CampoTipoDescripción
attempts obligatorioarray de object
event_type obligatoriostring
id obligatoriostring
requestobject
responseobject
status obligatoriostring

WebhookDeliveryList #

CampoTipoDescripción
count obligatoriointeger
pageinteger
page_sizeinteger
results obligatorioarray de WebhookDeliverySummary

WebhookDeliverySummary #

CampoTipoDescripción
attempt_numberinteger
completed_atstring (nullable)
duration_msinteger (nullable)
endpoint_idstring
event_idstring
event_type obligatoriostring
id obligatoriostringEj.: "7c9e6679-7425-40de-944b-e07fc1f90ae7"
parent_delivery_idstring (nullable)
queued_atstring (nullable)
replayableboolean
response_status_codeinteger (nullable)
status obligatoriostringValores: pending, in_flight, success, failed, abandoned.

WebhookEndpoint #

An outbound endpoint of the organization. Never carries the secret on reads.

CampoTipoDescripción
activeboolean
created_atstring (nullable)
descriptionstring
events obligatorioarray de stringEj.: ["credits.decision"]
id obligatoriostringEj.: "3f1a2b3c-0000-4a1b-9c2d-000000000001"
labelstringEj.: "ERP"
max_retriesintegerEj.: 5
secretstringSigning secret. Present ONLY in the create and rotate-secret responses.
statsobject
status obligatoriostringValores: active, paused, failing, disabled.
status_labelstring
timeout_secondsintegerEj.: 10
updated_atstring (nullable)
url obligatoriostring (uri)Ej.: "https://erp.nova.example/compense/webhooks"

WebhookEndpointCreateIn #

CampoTipoDescripción
activeboolean
descriptionstring
events obligatorioarray de stringKeys from the event catalog. Ej.: ["credits.decision","wallets.cashin.confirmed"]
labelstringMáx. 128 caracteres.
url obligatoriostring (uri)Public HTTPS URL. Ej.: "https://erp.nova.example/compense/webhooks"

WebhookEndpointList #

CampoTipoDescripción
count obligatoriointeger
results obligatorioarray de WebhookEndpoint

WebhookEndpointUpdateIn #

Partial update. Only these fields are accepted.

CampoTipoDescripción
activeboolean
descriptionstring
eventsarray de string
labelstringMáx. 128 caracteres.
urlstring (uri)

WebhookEventCatalog #

Every subscribable event plus the signature contract of outbound deliveries.

CampoTipoDescripción
aliasesobject
categoriesobjectEj.: {"credits":["credits.decision"],"wallets":["wallets.cashin.confirmed"]}
count obligatoriointegerEj.: 37
events obligatorioarray de WebhookEventInfo
signatureobjectHeaders and algorithm used to sign deliveries.

WebhookEventInfo #

CampoTipoDescripción
categorystringEj.: "credits"
description obligatoriostring
event obligatoriostringEj.: "credits.decision"
labelstring
payload_example obligatorioobject
sincestring (nullable)Ej.: "2026-06-01"
versionstringEj.: "1"

WebhookTestIn #

CampoTipoDescripción
event_typestringCatalog key whose payload_example is sent (default test.ping). Ej.: "credits.decision"