Skip to main content
POST
/
sandbox
/
incoming-payments
/
simulate
curl --request POST \ --url https://public-test.blips.network/sandbox/incoming-payments/simulate \ --header 'Authorization: Basic <encoded-value>' \ --header 'Content-Type: application/json' \ --data ' { "receiverCustomerId": "cust_123", "scenario": "sanctions_hit", "amountMinor": 200000, "currencyCode": "USD" } '
{ "transactionId": "6fdd05e9-5293-41ee-9f77-58beea38d8a2", "receiverCustomerId": "cust_123", "scenario": "sanctions_hit", "type": "INCOMING", "status": "PENDING", "decisionRequired": true, "receivedAmount": { "currencyCode": "USD", "amountMinor": "200000" }, "createdAt": "2026-04-12T10:30:00Z" }

Authorizations

Authorization
string
header
required

Integration-key Basic Auth (clientId:clientSecret) as documented in docs/public/AUTHENTICATION.md.

Headers

X-Platform-Id
string

Optional platform scope selector for sandbox multitenant/internal compatibility. Basic-auth integration requests normally omit this header because platform context is derived from credentials. If supplied, it must be a UUIDv4 value.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

Body

application/json

Exact request contract for creating one synthetic incoming-payment review case. Additional properties are not allowed.

receiverCustomerId
string
required

Receiver customer identifier for the synthetic incoming payment review case.

Minimum string length: 1
scenario
enum<string>
required

Frozen sandbox scenario selector. sanctions_hit means the external sender/counterparty is sanctioned. sender_kyc_not_approved means the external sending VASP or FI supplied a sender compliance status that fails receiver-platform acceptance. counterparty_info_incomplete means manual review is required because required counterparty fields are missing; the created review case later exposes missingRequiredFields = [senderFullLegalName, senderCountryCode, senderDateOfBirthOrRegistrationId, purposeOfPayment] through the existing transaction review reads.

Available options:
sanctions_hit,
sender_kyc_not_approved,
counterparty_info_incomplete
amountMinor
integer
required

Positive incoming amount in minor units.

Required range: x >= 1
currencyCode
string
required

Incoming payment currency as an uppercase 3-letter code.

Pattern: ^[A-Z]{3}$

Response

Synthetic incoming-payment review case created. Use the returned transactionId with the existing transaction review APIs.

Bounded create acknowledgement for the synthetic incoming-payment review case. This is not a second transaction detail model; continue on the existing transaction review APIs using transactionId.

transactionId
string
required

Canonical follow-up identifier for GET /transactions/{transactionId} and POST /transactions/{transactionId}/reject.

Minimum string length: 1
receiverCustomerId
string
required

Receiver customer targeted by the simulation.

Minimum string length: 1
scenario
enum<string>
required

Frozen sandbox scenario applied to the created review case.

Available options:
sanctions_hit,
sender_kyc_not_approved,
counterparty_info_incomplete
type
enum<string>
required

Fixed transaction type for this sandbox simulation route.

Available options:
INCOMING
status
enum<string>
required

Fixed initial review status for the created incoming payment case.

Available options:
PENDING
decisionRequired
enum<boolean>
required

Always true because the synthetic case is created in review-required state.

Available options:
true
receivedAmount
object
required
createdAt
string<date-time>
required

ISO timestamp for when the synthetic review case was created.