Skip to main content
WEBHOOK

Authorizations

X-HG-Webhook-Signature
string
header
required

HMAC-SHA256 signature of the raw JSON body. Format: sha256=<hex>. When you configure a webhook signing secret in account settings, HG.Cash includes this header on every webhook POST. Verify the signature in your endpoint to ensure the request is authentic.

Body

application/json

Payload sent to your webhook endpoint whenever money moves in or out of one of your HG.Cash accounts.

Headers: When you configure a webhook signing secret in account settings, HG.Cash sends the header X-HG-Webhook-Signature: sha256=<hex> where the value is HMAC-SHA256 of the raw JSON body using your secret. Verify this to ensure the request is authentic.

Notes:

  • Numeric values (like amount, CBU/CUIT) are sent as strings to preserve precision and formatting.
  • date is a local date-time and must be interpreted using timezone.
id
string<uuid>
required

Internal movement ID

externalID
string
required

Provider- or bank-level external identifier for the movement

amount
string
required

Movement amount as a decimal string

currency
string
required

ISO 4217 currency code

Pattern: ^[A-Z]{3}$
direction
enum<string>
required

Movement direction relative to your account

Available options:
Inbound,
Outbound
status
string
required

Current status of the movement

type
string
required

Type of movement (for example inbound or outbound)

accountId
string<uuid>
required

HG.Cash account ID associated with the movement

date
string<date-time>
required

Movement local date-time in the provided timezone

timezone
string
required

IANA timezone identifier used to interpret date

topic
enum<string>
required

Webhook topic for routing

Available options:
TRANSACTION
Example:

"TRANSACTION"

eventType
enum<string>
required

Event kind within the topic

Available options:
created,
status_change
Example:

"created"

fromName
string

Name of the sender

toName
string

Name of the recipient

fromCBU
string

Sender CBU (22-digit). Sent as string.

Pattern: ^\d{22}$
toCBU
string

Recipient CBU (22-digit). Sent as string.

Pattern: ^\d{22}$
fromCUIT
string

Sender CUIT/CUIL (11-digit). Sent as string.

Pattern: ^\d{11}$
toCUIT
string

Recipient CUIT/CUIL (11-digit). Sent as string.

Pattern: ^\d{11}$
coelsaCode
string

Coelsa transaction code

endToEndId
string

Optional Brazil PIX end-to-end identifier stored on the movement. Included on TRANSACTION webhooks when present. Omitted when empty.

Example:

"E60701190202505022140DY5DH1K8FL1"

cancelledReason
enum<string>

On a Venezuela payout status_change, included only for VE_KYC_EXPIRED, VE_KYC_DECLINED, or VE_KYC_REQUIRED. Other cancellation reasons are omitted. A processing payout that becomes cancelled does not send this webhook.

Available options:
VE_KYC_EXPIRED,
VE_KYC_DECLINED,
VE_KYC_REQUIRED
feeBreakdown
object

Optional fee snapshot on a transaction webhook. Amounts are decimal strings. Omitted when the movement has no breakdown. collectedAmount is the single combined fee: the percentage charged to the client plus the flat fee. flatFee is that flat amount only. Stored platformFee and transactionFee are not sent here; they remain on REST status (GET /api/v1/{br,cl,co,ve,bo}/transactions/{id}/status). Webhooks do not include flatFee.source.