Wire transfer
Relevant webhooks
For this endpoint be sure you have registered for these webhooks:
API reference
Sends a single wire transfer payment.
Endpoint: /wires/v1/payments
POST
https://sandbox.crbcos.com/wires/v1/payments
Body Parameters
- accountNumberstringrequiredDescription
- originatorobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- businessFunctionCodestringrequiredDescription
- receiverRoutingNumberstringrequiredDescription
- beneficiaryobjectrequiredDescription
- idCodestringrequiredDescription
- identifierstringrequiredDescription
- namestringrequiredDescription
- postalAddressobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- beneficiaryFiobjectDescription
- idCodestringrequiredDescription
- identifierstringrequiredDescription
- namestringrequiredDescription
- postalAddressobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- intermediaryFiobjectDescription
- idCodestringrequiredDescription
- identifierstringrequiredDescription
- namestringrequiredDescription
- postalAddressobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- beneficiaryReferencestringDescription
- originatorToBeneficiary1stringDescription
- amountintegerrequiredDescription
- purposestringrequiredDescription
- clientIdentifierstringDescription
Response
- idstringDescription
- accountNumberstringDescription
- coreTransactionIdstringDescription
- referenceIdstringDescription
- fedBatchIdstringDescription
- fedBatchSequenceintegerDescription
- directionstringDescription
- paymentTypestringDescription
- sourcestringDescription
- statusstringDescription
- postingstringDescription
- rejectionReasonstringDescription
- blockedReasonstringDescription
- partnerAuthorizationstringDescription
- authorizedAtstringDescription
- authorizedByIdstringDescription
- authorizedByNamestringDescription
- partnerAuthorization2stringDescription
- authorizedAt2stringDescription
- authorizedById2stringDescription
- authorizedByName2stringDescription
- amountintegerDescription
- currencystringDescription
- purposestringDescription
- imadstringDescription
- omadstringDescription
- businessFunctionCodestringDescription
- typeCodestringDescription
- senderRoutingNumberstringDescription
- senderNamestringDescription
- senderReferencestringDescription
- receiverRoutingNumberstringDescription
- receiverNamestringDescription
- originatingFiobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressInfoobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- originatorobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressInfoobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- intermediaryFiobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressInfoobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- beneficiaryFiobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressInfoobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- beneficiaryobjectDescription
- idCodestringDescription
- identifierstringDescription
- namestringDescription
- postalAddressInfoobjectDescription
- adrLine1stringrequiredDescription
- adrLine2stringDescription
- countrystringrequiredDescription
- statestringDescription
- postalCodestringDescription
- citystringrequiredDescription
- address1stringDescription
- address2stringDescription
- address3stringDescription
- originatorToBeneficiary1stringDescription
- beneficiaryReferencestringDescription
- receiptDatestringDescription
- receiptTimestringDescription
- wasReversedbooleanDescription
- isInternationalbooleanDescription
- clientIdentifierstringDescription
- createdAtstringDescription
- releasedAtstringDescription
- processedAtstringDescription
- canceledAtstringDescription
- rejectedAtstringDescription
- blockedAtstringDescription
- effectiveDatestringDescription
- completedAtstringDescription
- postedAtstringDescription
- originalPaymentIdstringDescription
- partnerIdstringDescription
- productIdstringDescription
- lastModifiedAtstringDescription
- postingCodestringDescription
curl
curl --location 'https://sandbox.crbcos.com/wires/v1/payments' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"accountNumber": "2955057589",
"businessFunctionCode": "CTR",
"receiverRoutingNumber": "026009593",
"beneficiary": {
"idCode": "D",
"identifier": "316840684",
"name": "Stewie Griffin",
"postalAddress": {
"adrLine1": "31 Spooner St",
"city": "Quahog",
"state": "RI",
"postalCode": "33030",
"country": "US"
}
},
"beneficiaryReference": "Gift",
"originatorToBeneficiary1": "Happy Birthday",
"amount": 15000,
"purpose": "Testing",
"clientIdentifier": "05d73490-65ac-4725-98b6-cbf8252e52fe"
}
'nodejs
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'sandbox.crbcos.com',
'path': '/wires/v1/payments',
'headers': {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "{\r\n \"accountNumber\": \"2955057589\",\r\n \"businessFunctionCode\": \"CTR\",\r\n \"receiverRoutingNumber\": \"026009593\",\r\n \"beneficiary\": {\r\n \"idCode\": \"D\",\r\n \"identifier\": \"316840684\",\r\n \"name\": \"Stewie Griffin\",\r\n \"postalAddress\": {\r\n \"adrLine1\": \"31 Spooner St\",\r\n \"city\": \"Quahog\",\r\n \"state\": \"RI\",\r\n \"postalCode\": \"33030\",\r\n \"country\": \"US\"\r\n }\r\n },\r\n \"beneficiaryReference\": \"Gift\",\r\n \"originatorToBeneficiary1\": \"Happy Birthday\",\r\n \"amount\": 15000,\r\n \"purpose\": \"Testing\",\r\n \"clientIdentifier\": \"05d73490-65ac-4725-98b6-cbf8252e52fe\"\r\n}\r\n\r\n";
req.write(postData);
req.end();python
import requests
url = "https://sandbox.crbcos.com/wires/v1/payments"
payload = "{\r\n \"accountNumber\": \"2955057589\",\r\n \"businessFunctionCode\": \"CTR\",\r\n \"receiverRoutingNumber\": \"026009593\",\r\n \"beneficiary\": {\r\n \"idCode\": \"D\",\r\n \"identifier\": \"316840684\",\r\n \"name\": \"Stewie Griffin\",\r\n \"postalAddress\": {\r\n \"adrLine1\": \"31 Spooner St\",\r\n \"city\": \"Quahog\",\r\n \"state\": \"RI\",\r\n \"postalCode\": \"33030\",\r\n \"country\": \"US\"\r\n }\r\n },\r\n \"beneficiaryReference\": \"Gift\",\r\n \"originatorToBeneficiary1\": \"Happy Birthday\",\r\n \"amount\": 15000,\r\n \"purpose\": \"Testing\",\r\n \"clientIdentifier\": \"05d73490-65ac-4725-98b6-cbf8252e52fe\"\r\n}\r\n\r\n"
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
ruby
require "uri"
require "net/http"
url = URI("https://sandbox.crbcos.com/wires/v1/payments")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = "{\r\n \"accountNumber\": \"2955057589\",\r\n \"businessFunctionCode\": \"CTR\",\r\n \"receiverRoutingNumber\": \"026009593\",\r\n \"beneficiary\": {\r\n \"idCode\": \"D\",\r\n \"identifier\": \"316840684\",\r\n \"name\": \"Stewie Griffin\",\r\n \"postalAddress\": {\r\n \"adrLine1\": \"31 Spooner St\",\r\n \"city\": \"Quahog\",\r\n \"state\": \"RI\",\r\n \"postalCode\": \"33030\",\r\n \"country\": \"US\"\r\n }\r\n },\r\n \"beneficiaryReference\": \"Gift\",\r\n \"originatorToBeneficiary1\": \"Happy Birthday\",\r\n \"amount\": 15000,\r\n \"purpose\": \"Testing\",\r\n \"clientIdentifier\": \"05d73490-65ac-4725-98b6-cbf8252e52fe\"\r\n}\r\n\r\n"
response = https.request(request)
puts response.read_body
go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.crbcos.com/wires/v1/payments"
method := "POST"
payload := strings.NewReader(`{
"accountNumber": "2955057589",
"businessFunctionCode": "CTR",
"receiverRoutingNumber": "026009593",
"beneficiary": {
"idCode": "D",
"identifier": "316840684",
"name": "Stewie Griffin",
"postalAddress": {
"adrLine1": "31 Spooner St",
"city": "Quahog",
"state": "RI",
"postalCode": "33030",
"country": "US"
}
},
"beneficiaryReference": "Gift",
"originatorToBeneficiary1": "Happy Birthday",
"amount": 15000,
"purpose": "Testing",
"clientIdentifier": "05d73490-65ac-4725-98b6-cbf8252e52fe"
}
`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}200
{
"id": "2c17d36d-cb70-420d-9a16-b30100ddd39c",
"accountNumber": "2955057589",
"coreTransactionId": "5449f04c-9dce-4d54-9873-b30100ddd39c",
"referenceId": "FT86171667Z",
"direction": "Outbound",
"paymentType": "Transfer",
"source": "Api",
"status": "Created",
"posting": "Pending",
"partnerAuthorization": "NotRequired",
"partnerAuthorization2": "NotRequired",
"enteredById": "b799951d47eb410d92b9da901b8ffa69",
"amount": 15000,
"currency": "usd",
"purpose": "Testing",
"businessFunctionCode": "CTR",
"typeCode": "1000",
"senderRoutingNumber": "021214891",
"senderName": "CROSS RIVER BANK",
"senderReference": "FT86171667Z",
"receiverRoutingNumber": "026009593",
"receiverName": "BK AMER NYC ",
"originatingFi": {
"idCode": "F",
"identifier": "021214891",
"name": "CROSS RIVER BANK",
"address1": "400 KELBY STREET",
"address2": "FORT LEE, NJ",
"address3": "US"
},
"originator": {
"identifier": "2955057589",
"name": "ORIGINATOR NAME"
},
"beneficiary": {
"idCode": "D",
"identifier": "316840684",
"name": "Stewie Griffin",
"address1": "31 Spooner St",
"address2": "Quahog RI 33030",
"address3": "US"
},
"originatorToBeneficiary1": "HAPPY BIRTHDAY",
"beneficiaryReference": "GIFT",
"wasReversed": false,
"isInternational": false,
"clientIdentifier": "05d73490-65ac-4725-98b6-cbf8252e52fe",
"createdAt": "2025-06-19T09:27:38.7553761-04:00",
"effectiveDate": "2025-06-19T00:00:00-04:00",
"originalPaymentId": "2c17d36d-cb70-420d-9a16-b30100ddd39c",
"partnerId": "1101a33d-fbd9-4b9e-b169-b29500f12407",
"productId": "29f3022a-ccfc-42eb-aa8f-b29500f13d00",
"lastModifiedAt": "2025-06-19T09:27:38.7553761-04:00",
"postingCode": "OK",
"investigated": false,
"isoPaymentType": "CustomerCreditTransfer"
}403
{
"errors": [
{
"code": 3001,
"message": "Origination payment amount exceeds user permissions"
}
]
}Validation Rules
- Originator Requirement
- If Originator is null or empty, the system will use the configured account/product originator.
- If the configured account/product originator contains any of the following ID codes, the request will be rejected:
- "U" (CHIPS Identifier)
- "C" (CHIPS Participant)
- "F" (Fed Routing Number)
- Error Message: Account or product configuration error.
- Intermediary FI and Beneficiary FI Uniqueness
- If both are specified with the same identifier, the request will be rejected.
- Error Message: IntermediaryFi and BeneficiaryFi cannot be identical.
- Beneficiary Validation
- Must be validated as a person or organization.
- Errors follow the person/organization validation rules.
- Beneficiary FI Validation
- Must be validated as a financial institution.
- Errors follow the financial institution validation rules.
- Intermediary FI Validation
- Must be validated as a financial institution.
- Errors follow the financial institution validation rules.
Default Values
- Beneficiary FI (if not explicitly provided — no ID Code or Identifier specified)
- Derived from the Receiver Routing Number:
- ID Code: "F"
- Identifier: Routing number
- Name: Participant’s customer name
- Address1: Participant’s city and state