Back to neotek ↗Get Sandbox Access

ChannelMaintenance

PUThttps://test.api.neotek.sa/b2b-unified/va/v1/remitters/{remitterId}/channels

Sandbox URL · in Production call https://api.neotek.sa

Enables or disables individual payment rails on a VA. This is the only endpoint that performs two operations in one request — incoming and outgoing are independently optional, but at least one must be present.

Path parameters:

ParameterRequiredDescription
remitterIdRequiredthe VA identifier

Body:

ParameterRequiredDescription
bankCodeRequiredalways RJHISARI
remitterIbanRequiredthe VA IBAN, 24 characters
incomingConditionalall 8 incoming flags. Required if you are updating incoming
outgoingConditionalall 3 outgoing flags. Required if you are updating outgoing
schemeIdOptionalrequired only if you have several schemes
msgReferenceOptionalgenerated if omitted

incoming takes cash, accountTransfer, cheque, sarie, overseas, eChannels, cdm and ips, all booleans. outgoing takes accountTransfer, sarie and overseas. See the channel table for what each rail means.

Each direction is a full replacement. Send every flag in the direction you are updating — omitting a channel does not preserve its current state.

Headers:

ParameterRequiredDescription
authorizationRequiredBearer <ACCESS_TOKEN>
content-typeRequiredapplication/json
cURL
curl -X PUT 'https://test.api.neotek.sa/b2b-unified/va/v1/remitters/{remitterId}/channels' \  --header 'authorization: Bearer <ACCESS_TOKEN>' \  --header 'content-type: application/json' \  --data '{    "bankCode": "RJHISARI",    "remitterIban": "SA4580000204000010006087",    "incoming": {      "cash": true,      "accountTransfer": true,      "cheque": false,      "sarie": true,      "overseas": true,      "eChannels": true,      "cdm": false,      "ips": true    },    "outgoing": {      "accountTransfer": true,      "sarie": true,      "overseas": false    }  }'

Response

JSON
{  "success": true,  "code": "SUCCESS",  "message": "Channel maintenance completed successfully",  "remitterId": "CUST001",  "remitterIban": "SA4580000204000010006087",  "schemeId": "SCHEME001",  "msgReference": "CHN001",  "incomingMsgReference": "INC-REF-001",  "outgoingMsgReference": "OUT-REF-001"}

Response — partial failure. When both directions are requested both are always attempted, with no short-circuit on the first failure. success is true only when every requested operation succeeded, and errors[].operation says which direction failed

JSON
{  "success": false,  "code": "SYSTEM_ERROR",  "message": "Channel maintenance partially failed",  "errors": [    {      "bankCode": "VA-DCMF020",      "message": "Blocking is not allowed for Outgoing Channel SARIE. Since cooling period…",      "operation": "OUTGOING"    }  ],  "incomingMsgReference": "INC-REF-001"}

SARIE outgoing has a cooling period. After unblocking the SARIE outgoing channel, ARB will not let you re-block it immediately. No other channel behaves this way.

Errors — every B2B failure carries a category that determines the HTTP status; see Statements → Errors.