The contract’s schemas exactly as the gateway publishes them. Fields marked as required must be sent in the request; additionalProperties means the gateway forwards any additional fields to the engine untouched (which is why the SDKs accept extra / fields).

AdminEmployeeIn #

Create or update an employee (upsert by id_number). Bank details are only accepted on creation; changing them later is done in the panel. user_id is not accepted.

FieldTypeDescription
area_idstring
bank_account_numberstring
bank_account_typestring
bank_namestring
email_workstring
eps_codestring
first_namestringE.g.: "Laura"
hire_datestring (date)E.g.: "2025-02-01"
id_number requiredstringE.g.: "1032456789"
id_typestringE.g.: "CC"
last_namestringE.g.: "Pérez"
pension_fund_codestring
phonestring
position_idstring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminEntryIn #

Journal entry in DRAFT. external_id (the ERP id) makes it idempotent in the engine. post: true is rejected: the accountant posts it in the panel.

FieldTypeDescription
date requiredstring (date)
description requiredstring
external_idstringE.g.: "ERP-AS-2026-000123"
lines requiredarray of object
referencestring
third_partystringThird-party id or document.
voucher_typestringE.g.: "CC"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminHrNoveltyIn #

Human resources novelty. It remains SOLICITADA until human resources validates it.

FieldTypeDescription
certificate_numberstring
daysinteger
diagnosis_codestringICD-10; never returned through the API.
employee requiredstringEmployee id or document. E.g.: "1032456789"
end_datestring (date)
hoursnumber
issuing_entitystring
reasonstring
start_date requiredstring (date)
type_code requiredstringE.g.: "INCAPACIDAD_COMUN"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminObject #

Administrative engine object (the same payload the panel uses).

Type: object

AdminPayrollNovelty #

FieldTypeDescription
amountnumber | stringAmount in COP (amount-based concepts).
concept_codestringE.g.: "HED"
datestring (date)
descriptionstring
employeestringE.g.: "1032456789"
end_datestring (date)
quantitynumber | stringHours or days (hour-based concepts).
recurringboolean

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminPayrollNoveltyIn #

A single payroll adjustment (AdminPayrollNovelty fields at the root) or a batch in items (max. 500, all or nothing). period_id is optional: it validates that the period is open and that the date falls within it; without date, the period start is used.

FieldTypeDescription
amountnumber | string
concept_codestring
datestring (date)
employeestring
itemsarray of AdminPayrollNovelty
period_idstring
quantitynumber | string

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminResultList #

Administrative engine list (results; count on paginated ones).

FieldTypeDescription
countinteger
resultsarray of object

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminStatementIn #

Bank statement: lines (JSON) or content (CSV with date and amount).

FieldTypeDescription
bank_account requiredstring
closing_balancenumber | string
contentstring
date_fromstring (date)
date_tostring (date)
linesarray of object
opening_balancenumber | string

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminTaxComputeIn #

FieldTypeDescription
datestring (date)
items requiredarray of object
third_partystring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminThirdPartyIn #

Create or update a third party (upsert by document type and number). id_type accepts the DIAN code (31, 13…) or the alias (NIT, CC, CE, PA…). Bank details: panel only.

FieldTypeDescription
business_namestring
emailstring
first_last_namestring
first_namestring
id_number requiredstringE.g.: "900123456"
id_type requiredstringE.g.: "NIT"
is_customerboolean
is_supplierboolean
phonestring
responsibilitiesarray of string
tax_regimestring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AdminTreasuryDocIn #

Collection / outgoing payment (third_party, bank_account id or number, date, amount, method, reference, applications) or billing statement (third_party, issue_date, description, income_account, subtotal, iva_concept). Always in DRAFT.

FieldTypeDescription
amountnumber | string
applicationsarray of object
bank_accountstring
datestring (date)
descriptionstring
income_accountstring
issue_datestring (date)
methodstringE.g.: "TRANSFERENCIA"
referencestring
subtotalnumber | string
third_party requiredstring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

AffiliateBatchResult #

FieldTypeDescription
accepted requiredintegerE.g.: 2
created requiredintegerE.g.: 1
errorsarray of object
errors_countintegerE.g.: 0
rejected requiredintegerE.g.: 0
updated requiredintegerE.g.: 1

AffiliateLookup #

FieldTypeDescription
affiliateobject
document_number requiredstringE.g.: "1032456789"
exists requiredbooleanE.g.: 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.

FieldTypeDescription
categorystring (nullable)Caja Horizonte affiliation category (A/B/C). E.g.: "A"
document_numberstringE.g.: "1032456789"
document_typestringValues: CC, CE, TI, PA, RC, NIT, PEP, PPT. E.g.: "CC"
emailstring (nullable)E.g.: "maria.gomez@example.co"
first_namestringE.g.: "María"
last_namestringE.g.: "Gómez"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "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.

FieldTypeDescription
document_number requiredstringE.g.: "1032456789"
document_type requiredstringValues: CC, CE, TI, PA, RC, NIT, PEP, PPT. E.g.: "CC"

CreditApplicationIn #

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

FieldTypeDescription
afiliado requiredAffiliateRef
amount requiredMoneyCOP
external_reference requiredstringCaja-side application id; echoed back and used for idempotency correlation. E.g.: "HORIZONTE-CRED-2026-000123"
product_code requiredstringE.g.: "LIBRANZA_12M"
purposestring (nullable)E.g.: "Compra de cartera"
term_months requiredintegerE.g.: 12 Range 1–120.

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "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 #

FieldTypeDescription
approved_amountMoneyCOPRequired when decision is APPROVE.
decision requiredstringValues: APPROVE, REJECT. E.g.: "APPROVE"
reasonstring (nullable)E.g.: "Cumple capacidad de pago."

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "approved_amount": "3500000",
  "decision": "APPROVE",
  "reason": "Cumple capacidad de pago."
}

FieldError #

A single field-level validation failure.

FieldTypeDescription
field requiredstringE.g.: "term_months"
message requiredstringE.g.: "Input should be greater than or equal to 1"

FxConvertIn #

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

FieldTypeDescription
amount requiredMoneyCOP
buy_currency requiredstringE.g.: "USD"
documentstringE.g.: "1032456789"
quote_idstring (nullable)A quote id returned by /fx/quote/. E.g.: "fxq_abc123"
sell_currency requiredstringE.g.: "COP"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "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.

FieldTypeDescription
amount requirednumberE.g.: 100
converted_amount requirednumberE.g.: 400000
from_currency requiredstringE.g.: "USD"
rate requirednumberE.g.: 4000
to_currency requiredstringE.g.: "COP"

FxQuoteIn #

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

FieldTypeDescription
amount requiredMoneyCOP
buy_currency requiredstringE.g.: "USD"
documentstringE.g.: "1032456789"
sell_currency requiredstringE.g.: "COP"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

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

GatewayHealth #

FieldTypeDescription
scopes requiredarray of stringE.g.: ["credits:read","credits:submit"]
status requiredstringE.g.: "ok"
tenant requiredstringE.g.: "horizonte"

LoanCertificate #

Debt certificate as of a date; paz_y_salvo=true when the loan is paid in full.

FieldTypeDescription
as_ofstring (date)
loan_idstring
outstanding_principalstring | number
paz_y_salvoboolean
pdf_urlstring (nullable)
statusstring
total_debtstring | number

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

LoanCollectionIn #

Collection reported by the entity. The reference is the receipt’s natural key (loan + channel + reference): resending it returns the same receipt; with a different amount → 409.

FieldTypeDescription
amountstring | numberAmount in COP. Optional for payoff. E.g.: "195000"
channelstringValues: CASH, ACH_LIBRANZA, BANK_FILE, MANUAL. E.g.: "CASH"
documentstringOptional: if sent, the loan must belong to that affiliate. E.g.: "1032456789"
installment_numberintegerPayments only: installment to pay first.
modestringExtra-payment only. Values: reduce_term, reduce_installment.
reference requiredstringE.g.: "REC-2026-001" Max. 100 characters.
value_datestring (date)Value date (not in the future).

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "amount": "195000",
  "channel": "CASH",
  "document": "1032456789",
  "reference": "REC-2026-001"
}

LoanInstallment #

Payment plan installment (the same format the affiliate sees in the app).

FieldTypeDescription
amount_duestringAmount in COP as a decimal string. E.g.: "195000.00"
blocked_reasonstring
days_overdueinteger
feesstringAmount in COP as a decimal string. E.g.: "195000.00"
insurancestringAmount in COP as a decimal string. E.g.: "195000.00"
intereststringAmount in COP as a decimal string. E.g.: "195000.00"
is_overdueboolean
ivastringAmount in COP as a decimal string. E.g.: "195000.00"
numberinteger
payableboolean
pending_amountstringAmount in COP as a decimal string. E.g.: "195000.00"
principalstringAmount in COP as a decimal string. E.g.: "195000.00"
scheduled_datestring (date)
statusstringPENDING | PARTIAL | OVERDUE | PAID | CANCELLED E.g.: "PENDING"
total_amountstringAmount in COP as a decimal string. E.g.: "195000.00"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

LoanInstallmentList #

FieldTypeDescription
countinteger
next_payable_numberinteger (nullable)
resultsarray of LoanInstallment

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

LoanList #

FieldTypeDescription
count requiredinteger
documentstring
results requiredarray of LoanSummary

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

LoanNextInstallment #

FieldTypeDescription
amount_duestringAmount in COP as a decimal string. E.g.: "195000.00"
days_overdueintegerE.g.: 0
due_datestring (nullable)E.g.: "2026-11-15"
is_overdueboolean
numberintegerE.g.: 4
pending_amountstringAmount in COP as a decimal string. E.g.: "195000.00"

LoanQuote #

Quote (today’s full payoff, extra payment or installment breakdown).

Type: object

LoanSummary #

Summary of a disbursed loan (engine: GwLoans._summary).

FieldTypeDescription
approved_amountstringAmount in COP as a decimal string. E.g.: "195000.00"
currencystringE.g.: "COP"
days_overdueinteger
holderobject
installments_paidinteger
installments_totalinteger
loan_id requiredstringE.g.: "3f1c2e7a-4b8d-4e6f-a1c0-d2e3f4a5b6c7"
loan_numberstring (nullable)E.g.: "CRD-00123"
monthly_paymentstringAmount in COP as a decimal string. E.g.: "195000.00"
next_installmentLoanNextInstallment
outstanding_principal requiredstringAmount in COP as a decimal string. E.g.: "195000.00"
overdue_amountstringAmount in COP as a decimal string. E.g.: "195000.00"
overdue_installmentsinteger
productstring (nullable)
status requiredstringACTIVE | DISBURSED | IN_ARREARS | DEFAULTED | RESTRUCTURED | IN_RECOVERY | PAID_OFF | WRITTEN_OFF E.g.: "ACTIVE"
term_monthsinteger (nullable)

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

MonetaryAllowanceGenerateIn #

Evaluate eligibility and generate the period’s monetary allowance for the compensation fund.

FieldTypeDescription
dry_runbooleanEvaluate without persisting disbursements. E.g.: false
period requiredstringSettlement period YYYY-MM. E.g.: "2026-06"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "dry_run": false,
  "period": "2026-06"
}

MoneyCOP #

A monetary amount in Colombian pesos (COP), as a decimal string to avoid float drift.

Type: string · pattern ^\d+(\.\d{1,2})?$ · e.g. "3500000"

Page #

DRF-style paginated list proxied from the processing engine.

FieldTypeDescription
count requiredintegerE.g.: 42
nextstring (nullable)
previousstring (nullable)
results requiredarray of object

Pqrs #

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

FieldTypeDescription
affiliateobjectE.g.: {"document_number":"1032456789","name":"A*** M***"}
attachmentsarray of object
created_atstring (nullable)
deadlinestring (nullable)
descriptionstring
electronic_notification_consentedboolean
external_referencestring (nullable)
historyarray of objectStatus history: from/to, when, source (app|panel|gateway) and actor.
id requiredstring
is_overdueboolean
issue_typestringValues: petition, complaint, claim, suggestion.
origin_channelstring
prioritystring
radicado requiredstringE.g.: "PQRS-2026-000123"
resolved_atstring (nullable)
responsesarray of object
service_areastring
status requiredstringValues: opened, in_progress, escalated, resolved, closed.
subjectstring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

PqrsPage #

FieldTypeDescription
count requiredinteger
pageinteger
page_sizeinteger
results requiredarray of Pqrs

PqrsRespondIn #

FieldTypeDescription
agentstringMax. 80 characters.
is_finalbooleanA final response leaves the PQRS resolved.
response_text requiredstringE.g.: "Se reversó el cobro el 28-oct."

PqrsStats #

FieldTypeDescription
by_service_area requiredobject
by_status requiredobject
by_type requiredobject
overdue requiredinteger
total requiredinteger

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.

FieldTypeDescription
agentstringMax. 80 characters.
notestringMax. 1000 characters.
prioritystringValues: low, normal, high, urgent.
status requiredstringValues: 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.

FieldTypeDescription
agentstringYour agent/user reference (traceability). E.g.: "ana.p" Max. 80 characters.
description requiredstringE.g.: "El afiliado reporta un cobro que no reconoce."
document requiredstringAffiliate national document. E.g.: "1032456789"
electronic_notification_consented requiredbooleanREQUIRED: whether the affiliate accepted electronic notification (Ley 1437 art. 56).
external_referencestringCase id in your CRM. E.g.: "CRM-88231" Max. 100 characters.
issue_type requiredstringValues: petition, complaint, claim, suggestion.
origin_channelstringValues: 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)Values: credit_application, subsidy_application, credit, subsidy, .
service_area requiredstringValues: subsidies, credits, health, marketplace, benefits, wallet, payments, general.
subject requiredstringE.g.: "Cobro no reconocido" Max. 255 characters.
Example
{
  "agent": "ana.p",
  "description": "The affiliate reports a 45.000 charge they don't recognize.",
  "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.

FieldTypeDescription
detailstring (nullable)E.g.: "One or more fields are invalid."
errorsarray (nullable)Present on 422 validation failures.
status requiredintegerE.g.: 422
title requiredstringE.g.: "Validation error"
trace_id requiredstringE.g.: "9f1c2e7a4b8d4e6fa1c0d2e3f4a5b6c7"
typestring (uri)Stable, dereferenceable problem-type URI. E.g.: "https://errors.compense.co/gateway/validation"

SubsidyApplicationIn #

Statutory subsidy application. subsidy_type is the path segment (e.g. unemployment).

FieldTypeDescription
afiliado requiredAffiliateRef
external_referencestringE.g.: "HORIZONTE-SUB-2026-000045"
periodstringSettlement period YYYY-MM. E.g.: "2026-06"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "afiliado": {
    "document_number": "1032456789",
    "document_type": "CC"
  },
  "external_reference": "HORIZONTE-SUB-2026-000045",
  "period": "2026-06"
}

SubsidyDecisionIn #

FieldTypeDescription
decision requiredstringValues: APPROVE, REJECT. E.g.: "APPROVE"
reasonstring (nullable)E.g.: "Cumple requisitos de permanencia."

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "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.

FieldTypeDescription
data requiredobject
idempotent_replaybooleanE.g.: false
module requiredstringE.g.: "credits"
status requiredstringValues: success. E.g.: "success"
transaction_id requiredstringE.g.: "a1b2c3d4-0000-4a1b-9c2d-000000000001"
warningsarray of string

TransactionStatus #

Persisted gateway transaction log record.

FieldTypeDescription
historyarray of stringE.g.: ["received","submitted"]
modulestringE.g.: "credits"
referencestring (nullable)E.g.: "CRED-2026-000123"
statusstringE.g.: "PROCESSING"
transaction_idstringE.g.: "a1b2c3d4-0000-4a1b-9c2d-000000000001"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletAccount #

One account owned by the holder (primary wallet, pocket, or savings goal).

FieldTypeDescription
available_balance requirednumberBalance net of holds; this is the spendable figure. E.g.: 120000
balance requirednumberE.g.: 150000
currency requiredstringE.g.: "COP"
id requiredstringE.g.: "3f1a2b3c-0000-4a1b-9c2d-000000000001"
is_primary requiredbooleanE.g.: false
kind requiredstringE.g.: "POCKET"
name requiredstringE.g.: "Bolsillo"
status requiredstringE.g.: "ACTIVE"
target_amountnumberE.g.: 500000
target_datestring (nullable)E.g.: "2026-12-31"

WalletAccountCreateIn #

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

FieldTypeDescription
document requiredstringNational document of the wallet holder. E.g.: "1032456789"
kind requiredstringValues: pocket, savings, goal. E.g.: "pocket"
namestringE.g.: "Ahorro vacaciones"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

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

WalletAccountList #

FieldTypeDescription
accounts requiredarray of WalletAccount

WalletBalance #

FieldTypeDescription
available_cashnumberAvailable balance (net of holds). E.g.: 150000
currencystringE.g.: "COP"
pending_amountnumberE.g.: 0
restricted_amountnumberE.g.: 0
totalnumberE.g.: 150000

WalletBillInquiryIn #

FieldTypeDescription
barcodestringAlternative to biller_code+reference (GS1).
biller_codestringE.g.: "EPM"
document requiredstringE.g.: "1032456789"
referencestringE.g.: "123456789"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletBillPayIn #

FieldTypeDescription
amount requiredMoneyCOP
biller_code requiredstringE.g.: "EPM"
document requiredstringE.g.: "1032456789"
reference requiredstringE.g.: "123456789"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletBillPayment #

FieldTypeDescription
amountstringDecimal amount as a string. E.g.: "50000.00"
approval_numberstring (nullable)
billerobject
created_atstring (date-time)
currencystring
idstring
kindstringValues: BILL, TOPUP.
statusstringE.g.: "APPROVED"
transaction_idstring (nullable)

WalletBillPaymentPage #

FieldTypeDescription
has_moreboolean
limitinteger
next_offsetinteger (nullable)
offsetinteger
resultsarray of WalletBillPayment

WalletBillerList #

FieldTypeDescription
billersarray of object

WalletBreBLimits #

FieldTypeDescription
available_todaynumber (nullable)
currencystringE.g.: "COP"
max_daily_amountnumber (nullable)
max_monthly_amountnumber (nullable)
max_per_transactionnumber (nullable)
tierstring
used_monthnumber
used_todaynumber

WalletBreBResolveIn #

FieldTypeDescription
document requiredstringE.g.: "1032456789"
key_type requiredstringValues: PHONE, DOCUMENT, EMAIL, ALIAS.
value requiredstringE.g.: "3109876543"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletCard #

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

FieldTypeDescription
card_type requiredstringE.g.: "DEBIT"
currencystringE.g.: "COP"
expiry_monthintegerE.g.: 12
expiry_yearintegerE.g.: 2030
form_factor requiredstringE.g.: "VIRTUAL"
id requiredstringE.g.: "card-9"
is_defaultbooleanE.g.: true
last_fourstringE.g.: "4242"
name_on_cardstringE.g.: "JUAN PEREZ"
networkstringE.g.: "VISA"
status requiredstringE.g.: "ACTIVE"

WalletCardIssueIn #

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

FieldTypeDescription
document requiredstringE.g.: "1032456789"
form_factorstringValues: virtual, physical. E.g.: "virtual"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

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

WalletCardList #

FieldTypeDescription
cards requiredarray of WalletCard

WalletCardStatusIn #

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

FieldTypeDescription
document requiredstringE.g.: "1032456789"
status requiredstringValues: freeze, unfreeze, block. E.g.: "freeze"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "document": "1032456789",
  "status": "freeze"
}

WalletCardTransactionList #

Movements on one card, most recent first.

FieldTypeDescription
transactions requiredarray of object

WalletDocument #

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

Type: string · e.g. "1090123456"

WalletInvoice #

FieldTypeDescription
allows_partialboolean
amountstringDecimal amount as a string. E.g.: "50000.00"
billerobject
currencystringE.g.: "COP"
due_datestring (nullable)
holder_namestringBill holder, masked.
max_amountstringDecimal amount as a string. E.g.: "50000.00"
min_amountstringDecimal amount as a string. E.g.: "50000.00"
periodstring (nullable)
referencestring
statusstringE.g.: "PENDING"

WalletResolution #

Masked recipient and send token (short-lived, 300 s).

FieldTypeDescription
display_namestringE.g.: "Ma*** Pé***"
expires_inintegerE.g.: 300
foundboolean
institution_namestring
is_localboolean
key_displaystring
resolution_tokenstring

WalletResolveP2PIn #

FieldTypeDescription
alias requiredstringRecipient’s mobile number, email, document or @alias. E.g.: "3001234567"
document requiredstringDocument of the sending holder. E.g.: "1032456789"
key_typestringOptional: disambiguates a string of digits. Values: PHONE, EMAIL, DOCUMENT, ALIAS.

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletTopupIn #

FieldTypeDescription
amount requiredMoneyCOP
carrier requiredstringE.g.: "CLARO"
document requiredstringE.g.: "1032456789"
phone_number requiredstringE.g.: "3001234567"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

WalletTopupOperators #

FieldTypeDescription
operatorsarray of object
sourcestringValues: catalog, default.

WalletTransaction #

FieldTypeDescription
amountnumberE.g.: 20000
categorystringE.g.: "TRANSFER"
currencystringE.g.: "COP"
datestring (date-time)
descriptionstring
idstringE.g.: "6b1f8c1e-0000-4a1b-9c2d-000000000001"
statusstringE.g.: "COMPLETED"
transaction_typestringE.g.: "TRANSFER_OUT"
typestringE.g.: "DEBIT"

WalletTransactionPage #

FieldTypeDescription
has_moreboolean
limitintegerE.g.: 50
next_offsetinteger (nullable)
offsetintegerE.g.: 0
resultsarray of WalletTransaction

WalletTransferIn #

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

FieldTypeDescription
amount requiredMoneyCOP
document requiredstringE.g.: "1032456789"
from_account requiredstringE.g.: "acc_main"
to_account requiredstringE.g.: "acc_pocket_1"

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

Example
{
  "amount": "150000",
  "document": "1032456789",
  "from_account": "acc_main",
  "to_account": "acc_pocket_1"
}

WalletTransferIn2 #

P2P or Bre-B send: only with the resolution_token from resolve (never a bare id).

FieldTypeDescription
amount requiredMoneyCOP
descriptionstringMax. 140 characters.
document requiredstringE.g.: "1032456789"
resolution_token requiredstring

Accepts additional fields (additionalProperties): they're forwarded to the engine unchanged.

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.

FieldTypeDescription
attempts requiredarray of object
event_type requiredstring
id requiredstring
requestobject
responseobject
status requiredstring

WebhookDeliveryList #

FieldTypeDescription
count requiredinteger
pageinteger
page_sizeinteger
results requiredarray of WebhookDeliverySummary

WebhookDeliverySummary #

FieldTypeDescription
attempt_numberinteger
completed_atstring (nullable)
duration_msinteger (nullable)
endpoint_idstring
event_idstring
event_type requiredstring
id requiredstringE.g.: "7c9e6679-7425-40de-944b-e07fc1f90ae7"
parent_delivery_idstring (nullable)
queued_atstring (nullable)
replayableboolean
response_status_codeinteger (nullable)
status requiredstringValues: pending, in_flight, success, failed, abandoned.

WebhookEndpoint #

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

FieldTypeDescription
activeboolean
created_atstring (nullable)
descriptionstring
events requiredarray of stringE.g.: ["credits.decision"]
id requiredstringE.g.: "3f1a2b3c-0000-4a1b-9c2d-000000000001"
labelstringE.g.: "ERP"
max_retriesintegerE.g.: 5
secretstringSigning secret. Present ONLY in the create and rotate-secret responses.
statsobject
status requiredstringValues: active, paused, failing, disabled.
status_labelstring
timeout_secondsintegerE.g.: 10
updated_atstring (nullable)
url requiredstring (uri)E.g.: "https://erp.nova.example/compense/webhooks"

WebhookEndpointCreateIn #

FieldTypeDescription
activeboolean
descriptionstring
events requiredarray of stringKeys from the event catalog. E.g.: ["credits.decision","wallets.cashin.confirmed"]
labelstringMax. 128 characters.
url requiredstring (uri)Public HTTPS URL. E.g.: "https://erp.nova.example/compense/webhooks"

WebhookEndpointList #

FieldTypeDescription
count requiredinteger
results requiredarray of WebhookEndpoint

WebhookEndpointUpdateIn #

Partial update. Only these fields are accepted.

FieldTypeDescription
activeboolean
descriptionstring
eventsarray of string
labelstringMax. 128 characters.
urlstring (uri)

WebhookEventCatalog #

Every subscribable event plus the signature contract of outbound deliveries.

FieldTypeDescription
aliasesobject
categoriesobjectE.g.: {"credits":["credits.decision"],"wallets":["wallets.cashin.confirmed"]}
count requiredintegerE.g.: 37
events requiredarray of WebhookEventInfo
signatureobjectHeaders and algorithm used to sign deliveries.

WebhookEventInfo #

FieldTypeDescription
categorystringE.g.: "credits"
description requiredstring
event requiredstringE.g.: "credits.decision"
labelstring
payload_example requiredobject
sincestring (nullable)E.g.: "2026-06-01"
versionstringE.g.: "1"

WebhookTestIn #

FieldTypeDescription
event_typestringCatalog key whose payload_example is sent (default test.ping). E.g.: "credits.decision"