curl --request PATCH \
--url https://api-sandbox.synctera.com/v0/accounts/products/{product_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_type": "INTEREST",
"description": "The rate is designed for high interest saving account.",
"rates": [
{
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
]
}
'import requests
url = "https://api-sandbox.synctera.com/v0/accounts/products/{product_id}"
payload = {
"product_type": "INTEREST",
"description": "The rate is designed for high interest saving account.",
"rates": [
{
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
]
}
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({
product_type: 'INTEREST',
description: 'The rate is designed for high interest saving account.',
rates: [{rate: 1, valid_from: '2023-12-25', valid_to: '2023-12-25'}]
})
};
fetch('https://api-sandbox.synctera.com/v0/accounts/products/{product_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/accounts/products/{product_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([
'product_type' => 'INTEREST',
'description' => 'The rate is designed for high interest saving account.',
'rates' => [
[
'rate' => 1,
'valid_from' => '2023-12-25',
'valid_to' => '2023-12-25'
]
]
]),
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/accounts/products/{product_id}"
payload := strings.NewReader("{\n \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\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/accounts/products/{product_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/accounts/products/{product_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 \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"accrual_payout_schedule": "MONTHLY",
"calculation_method": "COMPOUNDED_DAILY",
"product_type": "FEE",
"rates": [
{
"accrual_period": "DAILY",
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
],
"description": "The rate is designed for high interest saving account.",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"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"
}Patch account product
Patch account product. Rates requires at minimum 1 entry if specified.
The FEE account product has been deprecated. Instead, use the /v1/fee_templates and /v1/fees endpoints.
curl --request PATCH \
--url https://api-sandbox.synctera.com/v0/accounts/products/{product_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_type": "INTEREST",
"description": "The rate is designed for high interest saving account.",
"rates": [
{
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
]
}
'import requests
url = "https://api-sandbox.synctera.com/v0/accounts/products/{product_id}"
payload = {
"product_type": "INTEREST",
"description": "The rate is designed for high interest saving account.",
"rates": [
{
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
]
}
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({
product_type: 'INTEREST',
description: 'The rate is designed for high interest saving account.',
rates: [{rate: 1, valid_from: '2023-12-25', valid_to: '2023-12-25'}]
})
};
fetch('https://api-sandbox.synctera.com/v0/accounts/products/{product_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/accounts/products/{product_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([
'product_type' => 'INTEREST',
'description' => 'The rate is designed for high interest saving account.',
'rates' => [
[
'rate' => 1,
'valid_from' => '2023-12-25',
'valid_to' => '2023-12-25'
]
]
]),
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/accounts/products/{product_id}"
payload := strings.NewReader("{\n \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\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/accounts/products/{product_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.synctera.com/v0/accounts/products/{product_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 \"product_type\": \"INTEREST\",\n \"description\": \"The rate is designed for high interest saving account.\",\n \"rates\": [\n {\n \"rate\": 1,\n \"valid_from\": \"2023-12-25\",\n \"valid_to\": \"2023-12-25\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"accrual_payout_schedule": "MONTHLY",
"calculation_method": "COMPOUNDED_DAILY",
"product_type": "FEE",
"rates": [
{
"accrual_period": "DAILY",
"rate": 1,
"valid_from": "2023-12-25",
"valid_to": "2023-12-25"
}
],
"description": "The rate is designed for high interest saving account.",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"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
Account Product ID
"92113c51-e4ff-4e57-9558-08cab6b963dd"
Body
Account product fields to be patched
- Option 1
- Option 2
INTEREST MONTHLY, NONE COMPOUNDED_DAILY, COMPOUNDED_MONTHLY User provided description for the current interest.
"The rate is designed for high interest saving account."
A list of interest rate. Date intervals between valid_from and valid_to expect to have no overlap.
Show child attributes
Show child attributes
Response
Updated account product
- Option 1
- Option 2
MONTHLY, NONE COMPOUNDED_DAILY, COMPOUNDED_MONTHLY FEE, INTEREST A list of interest rate. Date intervals between valid_from and valid_to expect to have no overlap.
Show child attributes
Show child attributes
User provided description for the current interest.
"The rate is designed for high interest saving account."
Interest ID
Was this page helpful?

