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 IdReturn CodeDescription
000Reserved for Future Use by X9
011Non-Conformant TIFF
022Non-Conformant to Universal Companion Document (UCD)
033Warranty Breach (Includes Rule 8 & 9 claims)
044RCC Warranty Breach (Rule 8) - Effective: 12/20/2014
055Forged and Counterfeit Warranty Breach (Rule 9) - Effective: 12/20/2014
066Retired/Ineligible Routing Number - Effective: 12/20/2014
077Reserved for Future Use by X9
088Reserved for Future Use by X9
099Reserved for Future Use by X9
10ANSF - Not Sufficient Funds
11BUCF - Uncollected Funds Hold
12CStop Payment
13DClosed Account
14EUTLA - Unable to Locate Account
15FFrozen/Blocked Account
16GStale Dated
17HPost Dated
18IEndorsement Missing or Image Missing
19JEndorsement Irregular
20KSignature(s) Missing
21LSignature(s) Irregular, Suspected Forgery
22MNon-Cash Item (Non Negotiable)
23NAltered/Fictitious Item/Suspected Counterfeit/Counterfeit
24OUnable to Process
25PItem Exceeds Stated Max Value
26QNot Authorized (Includes Drafts) or Ineligible
27RBranch/Account Sold (Wrong Bank)–Divested Account, Not Our Item
28SRefer to Maker
29TItem cannot be re-presented (Exceeds number of allowable times the item can be presented) - Effective: 12/20/2014
30UUnusable Image (Image could not be used for required business purpose, e.g. gross image defects, illegible, etc.) - Effective: 12/20/2014
31VImage Fails Security Check
32WCannot Determine Amount–Amount cannot be verified
33XRefer to Image–Return Reason information is contained within the image of the item.
34YDuplicate Presentment (Supporting documentation shall be readily available) - Effective: 12/20/2014
35ZForgery–An affidavit shall be available upon request