Transaction Limit Callbacks
StraitsX sends callbacks to your registered URL when transaction limits change for a Customer Profile+ (CP+). This page covers two related events.
Transaction limit callbacks are applicable to Customer Profile+ (CP+) only. Regular CP profiles do not have configurable transaction limits.
Events
| Event | Description |
|---|---|
cpTxnLimitsUpdated | Transaction limits change after a tier upgrade or approved limits request. |
cpTxnLimitsUpdateRequestStatusUpdated | A transaction limit update request is approved or rejected. |
cpTxnLimitsUpdated
cpTxnLimitsUpdatedFires when a customer profile's transaction limits change (e.g., after a verification tier upgrade or an approved limits update request).
Personal CP+ profiles have annual limits. Business CP+ profiles have daily limits.
Payload structure
{
"data": {
"id": "customer_profile_transaction_limit_c3d4e5f6-a7b8-9012-cdef-123456789012",
"attributes": {
"customerProfileId": "customer_profile_d4e5f6a7-b8c9-0123-def0-234567890123",
"totalDailyPaymentLimit": "300000.0",
"availableDailyPaymentLimit": "300000.0",
"totalDailyPayoutLimit": "300000.0",
"availableDailyPayoutLimit": "300000.0",
"transactionSizeLimit": "50000.0"
}
}
}{
"data": {
"id": "customer_profile_transaction_limit_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"attributes": {
"customerProfileId": "customer_profile_b2c3d4e5-f6a7-8901-bcde-f12345678901",
"totalAnnualPaymentLimit": "50000.0",
"availableAnnualPaymentLimit": "48500.0",
"totalAnnualPayoutLimit": "50000.0",
"availableAnnualPayoutLimit": "49000.0",
"transactionSizeLimit": "10000.0"
}
}
}Field reference
| Field | Scope | Type | Description |
|---|---|---|---|
data.id | Common fields | String | Transaction limits record ID. |
data.attributes.customerProfileId | Common fields | String | Customer profile this limit belongs to. |
data.attributes.transactionSizeLimit | Common | String | Maximum single transaction size in USD. |
data.attributes.totalAnnualPaymentLimit | Personal CP+ | String | Total annual payment limit in USD. |
data.attributes.availableAnnualPaymentLimit | Personal CP+ | String | Remaining annual payment limit. |
data.attributes.totalAnnualPayoutLimit | Personal CP+ | String | Total annual payout limit in USD. |
data.attributes.availableAnnualPayoutLimit | Personal CP+ | String | Remaining annual payout limit. |
data.attributes.totalDailyPaymentLimit | Business CP+ | String | Total daily payment limit in USD. |
data.attributes.availableDailyPaymentLimit | Business CP+ | String | Remaining daily payment limit. |
data.attributes.totalDailyPayoutLimit | Business CP+ | String | Total daily payout limit in USD. |
data.attributes.availableDailyPayoutLimit | Business CP+ | String | Remaining daily payout limit. |
cpTxnLimitsUpdateRequestStatusUpdated
cpTxnLimitsUpdateRequestStatusUpdatedFires when a transaction limits update request status changes.
Status values
| Status | Description |
|---|---|
pending | Request submitted, under review. |
approved | Limits update approved and applied. |
rejected | Limits update request rejected. |
Payload structure
{
"data": {
"id": "transaction_limits_update_request_b2c3d4e5-f6a7-8901-bcde-f12345678901",
"type": "transactionLimitsUpdateRequest",
"attributes": {
"status": "approved",
"customerProfileId": "customer_profile_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"updatedAt": "2026-05-03T14:30:00+08:00",
"createdAt": "2026-05-01T10:00:00+08:00"
}
}
}Field reference
| Field | Type | Description |
|---|---|---|
data.id | String | Update request ID. |
data.type | String | Always transactionLimitsUpdateRequest. |
data.attributes.status | String | Update request status: pending, approved, or rejected. |
data.attributes.customerProfileId | String | Customer profile this request belongs to. |
data.attributes.createdAt | String | ISO 8601 timestamp when the request was submitted. |
data.attributes.updatedAt | String | ISO 8601 timestamp when the status last changed. |
Updated 2 months ago
Did this page help you?

