Skip to content

Creating Transactions

When submitting RCC transactions, there are important differences between single and bulk (multi) submission modes, as well as how item statuses are reported in responses.

  • If you submit a single transaction and the data is not formatted correctly, the API will return a 400 Bad Request error.
  • In some cases, even if the data is valid, the item may later be marked with ItemStatus='I' (Invalid) or ItemStatus='B' (Blocked) due to business processing rules. For example, this can happen if a state is restricted or an account number is blocked after initial validation.
  • If everything is successful, the response will include ItemStatus='W', which means all checks have passed and the item is waiting for further processing.

When submitting multiple transactions in bulk, there is a flag that controls how the API handles validation for the entire set:

  • If the all-or-nothing flag is enabled (the whole set must be valid), and even a single item in the set is invalid (e.g., an account number contains an apostrophe), the entire set will be rejected and a 400 Bad Request will be returned.
  • If the flag is disabled (partial commit allowed), the API will process all valid items and return the invalid items with ItemStatus='I'.
  • If alwaysCommitValid == true, the API will process all valid items, and for invalid items, it will create entries and mark their ItemStatus as 'I'.
  • W: Waiting – All checks passed, item is ready for processing.
  • I: Invalid – The item failed validation or was later found to be invalid due to business rules.
  • B: Blocked – The item is blocked, possibly due to restrictions or account issues.

Tip: Even if data is initially valid, business rules may later change the status to I or B.


To add a single, RCC transaction to the system, use the following endpoint:

POST /api/v3/RccTransactions/companycode/{companyCode}

Model required for adding the transaction (filled wiht random values):

Model Example:
{
"firstSignerFirstName": "WA9MtsoBrYaCoTN RuouA4Do",
"firstSignerLastName": "wAYKfyzw&OC2lLhplm",
"secondSignerFirstName": "Chx&MP`hI93?CAiCCXQhQu",
"secondSignerLastName": "ITw75Bl0z05w0mH51UZs",
"address1": "B jvSy8-o/kNm",
"address2": "'/dnj(1 1dYEPCFIGk",
"city": "je8feR6tPchAD",
"state": "uD",
"zip": "65218 7156",
"yourReferenceNumber": "string",
"bankRoutingNumber": "247090010",
"bankAccountNumber": "29155-",
"amount": 0
}

To add multiple, RCC transactions to the system, use the following endpoint:

POST /apiv3/RccTransactions/companycode/{companyCode}/many

Model required for adding the transaction (filled with random values):

Model Example:
{
"alwaysCommitValid": true,
"items": [
{
"firstSignerFirstName": "oPbavjEnEV&aKR7m'q",
"firstSignerLastName": "7W5E.sBw0",
"secondSignerFirstName": "&wHPKa",
"secondSignerLastName": "P-`g?cyWo.Y-smO",
"address1": "0d1tArkeKRHS(4",
"address2": "FcgAPb(vR",
"city": "X0D9t",
"state": "HE",
"zip": "68327 8705",
"yourReferenceNumber": "string",
"bankRoutingNumber": "411281220",
"bankAccountNumber": "048-444-366",
"amount": 0
}
]
}

Submitting items that will automatically return (Dev Only)

Section titled “Submitting items that will automatically return (Dev Only)”

To test return scenarios, Flex has created a mechanism that allows you to submit an account number that will automatically return an item. The pattern includes a variable for delaying the response as well as defining the particular reason code that will be returned.

Account Number Pattern: XXXXXXXXX99990001
XXXXXXXXX: Optional prefix digits
9999: Signals to flex that this transaction should respond with a Return response
00: How many days to wait till Return response is triggered
01: Return code that should be triggered
Return Pattern Id Return Code Description
00 0 Reserved for Future Use by X9
01 1 Non-Conformant TIFF
02 2 Non-Conformant to Universal Companion Document (UCD)
03 3 Warranty Breach (Includes Rule 8 & 9 claims)
04 4 RCC Warranty Breach (Rule 8) - Effective: 12/20/2014
05 5 Forged and Counterfeit Warranty Breach (Rule 9) - Effective: 12/20/2014
06 6 Retired/Ineligible Routing Number - Effective: 12/20/2014
07 7 Reserved for Future Use by X9
08 8 Reserved for Future Use by X9
09 9 Reserved for Future Use by X9
10 A NSF - Not Sufficient Funds
11 B UCF - Uncollected Funds Hold
12 C Stop Payment
13 D Closed Account
14 E UTLA - Unable to Locate Account
15 F Frozen/Blocked Account
16 G Stale Dated
17 H Post Dated
18 I Endorsement Missing or Image Missing
19 J Endorsement Irregular
20 K Signature(s) Missing
21 L Signature(s) Irregular, Suspected Forgery
22 M Non-Cash Item (Non Negotiable)
23 N Altered/Fictitious Item/Suspected Counterfeit/Counterfeit
24 O Unable to Process
25 P Item Exceeds Stated Max Value
26 Q Not Authorized (Includes Drafts) or Ineligible
27 R Branch/Account Sold (Wrong Bank)–Divested Account, Not Our Item
28 S Refer to Maker
29 T Item cannot be re-presented (Exceeds number of allowable times the item can be presented) - Effective: 12/20/2014
30 U Unusable Image (Image could not be used for required business purpose, e.g. gross image defects, illegible, etc.) - Effective: 12/20/2014
31 V Image Fails Security Check
32 W Cannot Determine Amount–Amount cannot be verified
33 X Refer to Image–Return Reason information is contained within the image of the item.
34 Y Duplicate Presentment (Supporting documentation shall be readily available) - Effective: 12/20/2014
35 Z Forgery–An affidavit shall be available upon request