curl --request PATCH \
--url https://api-sandbox.synctera.com/v0/ach/{transaction_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"funds_availability_time": "2010-05-06T12:23:34.321Z",
"status": "CANCELED"
}
'import requests
url = "https://api-sandbox.synctera.com/v0/ach/{transaction_id}"
payload = {
"funds_availability_time": "2010-05-06T12:23:34.321Z",
"status": "CANCELED"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({funds_availability_time: '2010-05-06T12:23:34.321Z', status: 'CANCELED'})
};
fetch('https://api-sandbox.synctera.com/v0/ach/{transaction_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.synctera.com/v0/ach/{transaction_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'funds_availability_time' => '2010-05-06T12:23:34.321Z',
'status' => 'CANCELED'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.synctera.com/v0/ach/{transaction_id}"
payload := strings.NewReader("{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-sandbox.synctera.com/v0/ach/{transaction_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/ach/{transaction_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}"
response = http.request(request)
puts response.read_body{
"account_no": "122455799",
"amount": 1560,
"bank_id": 1,
"effective_date": "2022-03-25",
"external_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"is_same_day": true,
"memo": "<string>",
"partner_id": 2,
"source_account_no": "123638791329",
"status": "CANCELED",
"trace_no": "123456780000069",
"account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"account_name": "Bruce Wayne",
"company_entry_description": "PAYROLL",
"company_name": "Asdf Finance",
"hold": {
"amount": 123,
"availability_time": "2010-05-06T12:23:34.321Z"
},
"incoming_ach_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"reference_info": "<string>",
"return_data": {
"code": "R01",
"original_dfi_no": "364275034",
"original_trace": "123456780000069",
"dishonored_return_code": "69",
"dishonored_return_settlement_date": "256",
"dishonored_return_trace": "123456780000069",
"field_errors": "05",
"return_code": "13",
"return_settlement_date": "256",
"return_trace": "123456780000069"
},
"source_account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"source_account_name": "Thomas Anderson"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Update a sent ACH transaction
Update a sent ACH transaction (either status or funds availability)
curl --request PATCH \
--url https://api-sandbox.synctera.com/v0/ach/{transaction_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"funds_availability_time": "2010-05-06T12:23:34.321Z",
"status": "CANCELED"
}
'import requests
url = "https://api-sandbox.synctera.com/v0/ach/{transaction_id}"
payload = {
"funds_availability_time": "2010-05-06T12:23:34.321Z",
"status": "CANCELED"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({funds_availability_time: '2010-05-06T12:23:34.321Z', status: 'CANCELED'})
};
fetch('https://api-sandbox.synctera.com/v0/ach/{transaction_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.synctera.com/v0/ach/{transaction_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'funds_availability_time' => '2010-05-06T12:23:34.321Z',
'status' => 'CANCELED'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.synctera.com/v0/ach/{transaction_id}"
payload := strings.NewReader("{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-sandbox.synctera.com/v0/ach/{transaction_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/ach/{transaction_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"funds_availability_time\": \"2010-05-06T12:23:34.321Z\",\n \"status\": \"CANCELED\"\n}"
response = http.request(request)
puts response.read_body{
"account_no": "122455799",
"amount": 1560,
"bank_id": 1,
"effective_date": "2022-03-25",
"external_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"is_same_day": true,
"memo": "<string>",
"partner_id": 2,
"source_account_no": "123638791329",
"status": "CANCELED",
"trace_no": "123456780000069",
"account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"account_name": "Bruce Wayne",
"company_entry_description": "PAYROLL",
"company_name": "Asdf Finance",
"hold": {
"amount": 123,
"availability_time": "2010-05-06T12:23:34.321Z"
},
"incoming_ach_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"reference_info": "<string>",
"return_data": {
"code": "R01",
"original_dfi_no": "364275034",
"original_trace": "123456780000069",
"dishonored_return_code": "69",
"dishonored_return_settlement_date": "256",
"dishonored_return_trace": "123456780000069",
"field_errors": "05",
"return_code": "13",
"return_settlement_date": "256",
"return_trace": "123456780000069"
},
"source_account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"source_account_name": "Thomas Anderson"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key. A different key must be used for each request, unless it is a retry.
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Path Parameters
Transaction ID in the ledger
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
Body
Update sent ach transaction
Response
Sent ACH transaction representation.
Represents a sent ACH transaction.
Receiving account number
"122455799"
Transaction amount in cents
1560
1
Effective date of the transaction
"2022-03-25"
Transaction ID in the ledger
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
Was initiated as same-day ACH transaction
2
Originating account number
"123638791329"
CANCELED, COMPLETE, DECLINED, INIT, PENDING Trace number of the transaction
"123456780000069"
Receiving account uuid. This links to the external account resource (represented by 'receiving_account_id' in the request to send outgoing ACH).
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
Receiving account name
"Bruce Wayne"
Company Entry Description field in ACH batch header. Originator inserts this field's value to provide the Receiver with a description of the entry's purpose. NACHA Operating Rules dictate that Payroll or E-Commerce Purchase ACH transactions require setting this field to PAYROLL or PURCHASE respectively.
"PAYROLL"
Company Name field in ACH batch header.
"Asdf Finance"
Show child attributes
Show child attributes
ID of the linked incoming ACH entry. This is filled only for outgoing ACH entries that are returns and links to the originally received incoming entry.
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
Transaction reference info
Filled if the entry is a return.
Show child attributes
Show child attributes
Originating account uuid. This links to the customer account on Synctera platform (represented by 'originating_account_id' in the request to send outgoing ACH).
"b01db9c7-78f2-4a99-8aca-1231d32f9b96"
Originating account name
"Thomas Anderson"
Was this page helpful?

