Skip to main content
POST
/
transactions
/
{transactionId}
/
reject
Reject incoming transaction.
curl --request POST \
  --url https://{publicHost}/transactions/{transactionId}/reject \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "reason": "KYC_NOT_APPROVED"
}
'
{
  "transactionId": "txn_incoming_reject_001",
  "type": "INCOMING",
  "status": "FAILED",
  "customerId": "00000000-0000-4000-8000-000000000001",
  "platformCustomerId": "partner_cust_001",
  "createdAt": "2026-04-05T12:00:00Z",
  "updatedAt": "2026-04-05T12:02:00Z",
  "settledAt": "2026-04-05T12:02:00Z",
  "source": {
    "accountId": "InternalAccount:sender_sgd_001",
    "sourceType": "INTERNAL_ACCOUNT"
  },
  "destination": {
    "destinationType": "PPV_ADDRESS",
    "ppvAddress": "receiver@demo.blips.test"
  },
  "receivedAmount": {
    "currencyCode": "SGD",
    "amountMinor": "5000"
  },
  "failureReason": "KYC_NOT_APPROVED"
}

Authorizations

Authorization
string
header
required

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

Path Parameters

transactionId
string
required

Canonical public transaction identifier for transaction-family readback and actions.

Body

application/json

Provide the receiver-side rejection reason for the pending incoming transaction. Use the current uppercase BLIPS reason-token format.

Receiver-review rejection payload for a pending incoming transaction.

reason
string
required

Receiver-side rejection reason code for the pending incoming transaction. Use the current BLIPS uppercase reason-token format.

Response

Incoming transaction rejected.

Bounded public incoming-review rejection result. The response is transaction-first and intentionally smaller than full transaction detail.

transactionId
string
required

Canonical public transaction identifier for the rejected incoming transaction.

type
enum<string>
required

Direction of this rejected transaction.

Available options:
INCOMING
status
enum<string>
required

Current transaction lifecycle status after the rejection decision was recorded.

Available options:
CREATED,
PENDING,
PROCESSING,
COMPLETED,
REJECTED,
FAILED,
REFUNDED,
EXPIRED
customerId
string | null
required

System-generated BLIPS customer identifier associated with this incoming transaction when available.

platformCustomerId
string | null
required

Platform-side customer identifier associated with this incoming transaction when available.

createdAt
string<date-time>
required

Transaction creation timestamp.

updatedAt
string<date-time>
required

Last update timestamp after the rejection decision was recorded.

settledAt
string<date-time> | null
required

Settlement timestamp when the rejected incoming transaction reached its terminal failed state.

source
object
required

Bounded source detail for the rejected incoming transaction.

destination
object
required

Bounded destination detail for the rejected incoming transaction.

receivedAmount
object
required

Main received amount for the rejected incoming transaction.

failureReason
string
required

Receiver-side rejection reason token recorded for this incoming-review decision.