Simulate check funds withdrawal
api reference simulates making a check withdrawal from a cross river account the account must be enabled for checks in cross river this is referred to as an inbound forward item because the federal reserve sends the check ( in ) to cross river for payment and attempts to clear the check on the account this api can only be run in the cross river sandbox docid kaqyvqvnuagqnekfkcuy { "name" "endpoint /checks/v1/payments/simulated inbound payments", "method" "post", "url" "https //sandbox crbcos com/checks/v1/payments/simulated inbound payments", "description" "", "tab" "examples", "examples" { "languages" \[ { "id" "flw3i6yalyach r3p6ugw", "language" "curl", "code" "curl location 'https //sandbox crbcos com/checks/v1/payments/simulated inbound payments' \\\\\n data '{\n \\"accountnumber\\" \\"2846220461\\",\n \\"payeename\\" \\"string\\",\n \\"checknumber\\" \\"1032357\\",\n \\"amount\\" 4400\n}'", "customlabel" "" }, { "id" "cygejvwztskxfwn zcmww", "language" "nodejs", "code" "var https = require('follow redirects') https;\nvar fs = require('fs');\n\nvar options = {\n 'method' 'post',\n 'hostname' 'sandbox crbcos com',\n 'path' '/checks/v1/payments/simulated inbound payments',\n 'headers' {\n },\n 'maxredirects' 20\n};\n\nvar req = https request(options, function (res) {\n var chunks = \[];\n\n res on(\\"data\\", function (chunk) {\n chunks push(chunk);\n });\n\n res on(\\"end\\", function (chunk) {\n var body = buffer concat(chunks);\n console log(body tostring());\n });\n\n res on(\\"error\\", function (error) {\n console error(error);\n });\n});\n\nvar postdata = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2846220461\\\\\\",\\\r\\\n \\\\\\"payeename\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"checknumber\\\\\\" \\\\\\"1032357\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 4400\\\r\\\n}\\";\n\nreq write(postdata);\n\nreq end();", "customlabel" "" }, { "id" "xayu cguxjwdlnlkfafte", "language" "python", "code" "import requests\n\nurl = \\"https //sandbox crbcos com/checks/v1/payments/simulated inbound payments\\"\n\npayload = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2846220461\\\\\\",\\\r\\\n \\\\\\"payeename\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"checknumber\\\\\\" \\\\\\"1032357\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 4400\\\r\\\n}\\"\nheaders = {}\n\nresponse = requests request(\\"post\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "customlabel" "" }, { "id" "xf qw7wmg slyqn8g9gud", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //sandbox crbcos com/checks/v1/payments/simulated inbound payments\\")\n\nhttps = net http new(url host, url port)\nhttps use ssl = true\n\nrequest = net http post new(url)\nrequest body = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2846220461\\\\\\",\\\r\\\n \\\\\\"payeename\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"checknumber\\\\\\" \\\\\\"1032357\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 4400\\\r\\\n}\\"\n\nresponse = https request(request)\nputs response read body\n", "customlabel" "" }, { "id" "09kqcfa4vewcg6mvic2d2", "language" "go", "code" "package main\n\nimport (\n \\"fmt\\"\n \\"strings\\"\n \\"net/http\"\n \\"io\\"\n)\n\nfunc main() {\n\n url = \\"https //sandbox crbcos com/checks/v1/payments/simulated inbound payments\\"\n method = \\"post\\"\n\n payload = strings newreader(`{`+\\"\n\\"+`\n \\"accountnumber\\" \\"2846220461\\",`+\\"\n\\"+`\n \\"payeename\\" \\"string\\",`+\\"\n\\"+`\n \\"checknumber\\" \\"1032357\\",`+\\"\n\\"+`\n \\"amount\\" 4400`+\\"\n\\"+`\n}`)\n\n client = \&http client {\n }\n req, err = http newrequest(method, url, payload)\n\n if err != nil {\n fmt println(err)\n return\n }\n res, err = client do(req)\n if err != nil {\n fmt println(err)\n return\n }\n defer res body close()\n\n body, err = io readall(res body)\n if err != nil {\n fmt println(err)\n return\n }\n fmt println(string(body))\n}", "customlabel" "" } ], "selectedlanguageid" "flw3i6yalyach r3p6ugw" }, "results" { "languages" \[ { "id" "uv43jrbeg 9mgyane5ty4", "language" "200", "code" "{\n \\"id\\" \\"2100980b 4419 4a42 bc4c b449006b84ec\\",\n \\"accountnumber\\" \\"2846220461\\",\n \\"referenceid\\" \\"c133054u0d94\\",\n \\"paymenttype\\" \\"forward\\",\n \\"checktype\\" \\"unknown\\",\n \\"direction\\" \\"inbound\\",\n \\"status\\" \\"created\\",\n \\"source\\" \\"api\\",\n \\"posting\\" \\"pending\\",\n \\"postingcode\\" \\"ok\\",\n \\"fedbatchid\\" \\"9fa74496 c1dd 47a4 b6aa b449006b84ec\\",\n \\"fedbatchsequence\\" 0,\n \\"coretransactionid\\" \\"ea4e0082 63db 4fe3 afa2 b449006b84ec\\",\n \\"originalpaymentid\\" \\"2100980b 4419 4a42 bc4c b449006b84ec\\",\n \\"customerid\\" \\"05106466 9144 4f3f 8fb1 b345005d18ba\\",\n \\"payerroutingnumber\\" \\"021214891\\",\n \\"payeraccountnumber\\" \\"2846220461\\",\n \\"payeename\\" \\"string\\",\n \\"checknumber\\" \\"1032357\\",\n \\"bofdroutingnumber\\" \\"061000146\\",\n \\"sequencenumber\\" \\"6121648120\\",\n \\"amount\\" 4400,\n \\"currency\\" \\"usd\\",\n \\"recognizedamount\\" 0,\n \\"iqapassed\\" false,\n \\"hasfrontimage\\" true,\n \\"hasbackimage\\" true,\n \\"isredeposit\\" false,\n \\"policy\\" \\"standard\\",\n \\"schedule\\" \[],\n \\"createdat\\" \\"2026 05 13t02 31 27 9322387 04 00\\",\n \\"wasreturned\\" false,\n \\"purpose\\" \\"testing\\",\n \\"depositbusinessdate\\" \\"260514\\",\n \\"decisionrequired\\" false,\n \\"wasdecisioned\\" false,\n \\"productid\\" \\"83bed086 8182 4151 a1e3 af5b01362783\\",\n \\"partnerid\\" \\"cd9c12f4 7691 424a b38b af5b0134c611\\",\n \\"lastmodifiedat\\" \\"2026 05 13t02 31 27 9322683 04 00\\"\n}", "customlabel" "" } ], "selectedlanguageid" "uv43jrbeg 9mgyane5ty4" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "accountnumber", "kind" "required", "type" "string", "description" "number of the cross river account the simulated check is drawn on", "" "number of the cross river account the simulated check is drawn on" }, { "name" "payeename", "kind" "required", "type" "string", "description" "name written on the pay to the order of line of the check maximum 50 characters for the simulation, this field must be included in the request body, but it can be null ", "" "name written on the pay to the order of line of the check maximum 50 characters for the simulation, this field must be included in the request body, but it can be null " }, { "name" "checknumber", "kind" "required", "type" "string", "description" "the serial number that appears on the check maximum 20 characters but usually contains between 3 5 digits ", "" "the serial number that appears on the check maximum 20 characters but usually contains between 3 5 digits " }, { "name" "amount", "kind" "required", "type" "integer", "description" "the amount to be transferred, in cents for example, 10001 = $100 01 ", "" "the amount to be transferred, in cents for example, 10001 = $100 01 " }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes maximum 50 characters ", "" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes maximum 50 characters " } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "response" \[ { "name" "id", "kind" "optional", "type" "string", "description" "check payment id this id is in guid format " }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "number of the account the check is drawn on", "children" \[] }, { "name" "referenceid", "kind" "optional", "type" "string", "description" "the reference id of the check payment, indicating the rail type in the first element of the string in this case it is c this is an internal cross river attribute ", "children" \[] }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "the check paymenttype indicates whether the check has been presented for payment or has been returned for some reason \n\n forward (a check presented for payment, to be sent to the payer bank)\n return (a previous forward item that the payer bank returned)", "children" \[] }, { "name" "checktype", "kind" "optional", "type" "string", "description" "type of check being dealt with there are several check types \n standard\n onus\n treasury\n moneyorder\n fedreservebank\n fedhomeloan\n statelocalgovt\n certified\n unknown", "children" \[] }, { "name" "direction ", "kind" "optional", "type" "string", "description" "check direction \n inbound (a check drawn from a cos account, deposited at another bank)\n outbound (a check deposited into a cos account, drawn from an account at another bank)", "children" \[] }, { "name" "status", "kind" "optional", "type" "string", "description" "status of the check payment there are several possible payment statuses \n created\n pending\n hold\n batched\n processing\n completed\n rejected\n canceled", "children" \[] }, { "name" "source", "kind" "optional", "type" "string", "description" "source of the payment request \n api\n partnerportal\n opsportal\n file\n system\n lockbox", "children" \[] }, { "name" "posting", "kind" "optional", "type" "string", "description" "posting status \n pending\n posted\n failed\n canceled\n authorized\n authorizing", "children" \[] }, { "name" "rejectionreason", "kind" "optional", "type" "string", "description" "rejected because \n imageanalysisfailure\n postingexception\n amountmismatch\n maxitemamountexceeded\n maxdepositamountexceeded\n maxitemsperdayexceeded\n duplicate\n payerroutingnumberinvalid\n payeraccountnumberinvalid\n checknumberinvalid\n accountnotfound\n depositsnotenabled\n invalidaccounttype\n notspecified", "children" \[] }, { "name" "positivepayresult", "kind" "optional", "type" "string", "description" "if positive pay is enabled, the positive pay status of the check \n pending\n authorized\n unauthorized\n disabled", "children" \[] }, { "name" "positivepaymatchid", "kind" "optional", "type" "string", "description" "if positive pay is enabled, id of the positive pay record associated with the payment", "children" \[] }, { "name" "postingcode", "kind" "optional", "type" "string", "description" "code related to the cross river system transaction tied to the payment any value other than “ok” indicates a rejection ", "children" \[] }, { "name" "clientbatchid", "kind" "optional", "type" "string", "description" "id for the batch received from the cross river lockbox vendor", "children" \[] }, { "name" "clientbatchsequence", "kind" "optional", "type" "integer", "description" "sequence number of the payment inside the batch received from the cross river lockbox vendor", "children" \[] }, { "name" "fedbatchid", "kind" "optional", "type" "string", "description" "id of the distribution that the check was included in", "children" \[] }, { "name" "fedbatchsequence", "kind" "optional", "type" "integer", "description" "sequence number of the payment inside the distribution", "children" \[] }, { "name" "coretransactionid", "kind" "optional", "type" "string", "description" "internal cross river unique id for the transaction", "children" \[] }, { "name" "memopostid", "kind" "optional", "type" "string", "description" "unique identifier for the memo post this id is in guid format ", "children" \[] }, { "name" "originalpaymentid", "kind" "optional", "type" "string", "description" "the original payment id, when a check has been returned or redeposited", "children" \[] }, { "name" "customerid", "kind" "optional", "type" "string", "description" "the unique id assigned to a customer when the customer record is created you need this id to take action for a specific customer for example, when opening an account or adding an address to a customer record \n\nthe id is in guid format ", "children" \[] }, { "name" "payerroutingnumber", "kind" "optional", "type" "string", "description" "the payer’s routing number (printed on the check)", "children" \[] }, { "name" "payeraccountnumber", "kind" "optional", "type" "string", "description" "the payer’s account number (printed on the check)", "children" \[] }, { "name" "payeename", "kind" "optional", "type" "string", "description" "name written on the pay to the order of line of the check", "children" \[] }, { "name" "checknumber", "kind" "optional", "type" "string", "description" "the serial number that appears on the check", "children" \[] }, { "name" "bofdroutingnumber", "kind" "optional", "type" "string", "description" "the routing number of the bank where the check was first deposited", "children" \[] }, { "name" "sequencenumber", "kind" "optional", "type" "string", "description" "the check sequence number", "children" \[] }, { "name" "amount", "kind" "optional", "type" "integer", "description" "money amount that appears on the check", "children" \[] }, { "name" "currency", "kind" "optional", "type" "string", "description" "currency of the check for example, usd (us dollars)", "children" \[] }, { "name" "micr", "kind" "optional", "type" "string", "description" "the magnetic ink character recognition line, consisting of the routing number, account number and check number", "children" \[] }, { "name" "recognizedamount", "kind" "optional", "type" "integer", "description" "the check amount recognized from the check image via ocr", "children" \[] }, { "name" "iqapassed", "kind" "optional", "type" "boolean", "description" "true if the check has passed the fed’s image quality assurance standards, otherwise false", "children" \[] }, { "name" "returncode", "kind" "optional", "type" "string", "description" "the 1 character code indicating the reason for the check return see the checks request and response codes page for a complete list of values ", "children" \[] }, { "name" "hasfrontimage", "kind" "optional", "type" "boolean", "description" "true if the check image file includes the front of the check otherwise false ", "children" \[] }, { "name" "hasbackimage", "kind" "optional", "type" "boolean", "description" "true if the check image file includes the back of the check otherwise false ", "children" \[] }, { "name" "isredeposit", "kind" "optional", "type" "boolean", "description" "true if the check was deposited before otherwise false ", "children" \[] }, { "name" "policy ", "kind" "optional", "type" "string", "description" "the current availability policy type assigned to the deposit, defining the schedule for making funds available \n standard\n newaccount\n largedeposits\n redepositedcheck\n repeatedoverdrafts\n onus\n rcnoticeofunpaidreturn\n rcsuspectfraud\n rcfundingaccountoverdrafts\n rcunverifiedendorsement\n rcinconsistentinformation\n rcerasuresoralterations\n rcoutofdateroutingnumber\n rcpostdatedorstaledate\n rcpayingbanknotpaidindication\n rclostordamaged\n fiveday\n emergencyconditions", "children" \[] }, { "name" "schedule", "kind" "optional", "type" "array", "description" "funds availability schedule, determined by the policy, and based on whenever the check was released to the fed in a distribution consists of a day by day breakdown based on calendar day, with each day’s availability amount displayed ", "children" \[] }, { "name" "createdat", "kind" "optional", "type" "string", "description" "date and time the check payment was created in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "canceledat", "kind" "optional", "type" "string", "description" "date and time the check payment was canceled in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "rejectedat", "kind" "optional", "type" "string", "description" "date and time the check payment was rejected in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "processedat", "kind" "optional", "type" "string", "description" "date and time the check payment was processed in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "completedat", "kind" "optional", "type" "string", "description" "date and time the check payment was completed in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "postedat", "kind" "optional", "type" "string", "description" "date and time the check payment was posted in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "wasreturned", "kind" "optional", "type" "boolean", "description" "true if the check was returned otherwise false ", "children" \[] }, { "name" "purpose", "kind" "optional", "type" "string", "description" "purpose of the deposited check", "children" \[] }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes ", "children" \[] }, { "name" "depositbusinessdate", "kind" "optional", "type" "string", "description" "the business date of the deposit in the format of yymmdd this date is usually day 1 of the schedule for making the funds available if the check is deposited after the day's deposit cut off time, day 1 might be a different date in that case, the processedat date is day 1 ", "children" \[] }, { "name" "lockboxvendorid", "kind" "optional", "type" "string", "description" "id of the lockbox service receiving the paper checks and sending them via icl to cross river", "children" \[] }, { "name" "productid", "kind" "optional", "type" "string", "description" "id in guid format of your specific product type on which the cross river account is based provided by cross river ", "children" \[] }, { "name" "partnerid", "kind" "optional", "type" "string", "description" "your unique id in the cross river system this id is in guid format ", "children" \[] }, { "name" "lastmodifiedat", "kind" "optional", "type" "string", "description" "internal cross river value date and time the database entry was last modified in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] } ], "hastryitout" false, "autogeneratedanchorslug" "endpoint checksv1paymentssimulated inbound payment", "legacyhash" "pbzz4s3fwlcp5odqctpdg" }