curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-UserID", "<x-userid>");
request.AddHeader("X-CompanyID", "<x-companyid>");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"Name\": \"3 Taksit\",\n \"DayCount\": 90,\n \"CommissionRates\": [\n {\n \"Name\": \"3 Taksit\",\n \"Rate\": 2.5,\n \"ExpenseCode\": \"MSR-0001\"\n }\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PUT',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
Name: '3 Taksit',
DayCount: 90,
CommissionRates: [{Name: '3 Taksit', Rate: 2.5, ExpenseCode: 'MSR-0001'}]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}"
payload = {
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "0201",
"Message": "X-UserID header is required.",
"Errors": [
{
"Code": "0201",
"Message": "X-UserID header is required."
}
]
}{
"Success": false,
"ResultCode": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token.",
"Errors": [
{
"Code": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token."
}
]
}{
"Success": false,
"ResultCode": "0110",
"Message": "You do not have permission for this operation.",
"Errors": [
{
"Code": "0110",
"Message": "You do not have permission for this operation."
}
]
}{
"Success": false,
"ResultCode": "8010",
"Message": "Bank account not found.",
"Errors": [
{
"Code": "8010",
"Message": "Bank account not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}Update repayment plan
Replaces all fields of the repayment plan and its commission rates.
curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-UserID", "<x-userid>");
request.AddHeader("X-CompanyID", "<x-companyid>");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"Name\": \"3 Taksit\",\n \"DayCount\": 90,\n \"CommissionRates\": [\n {\n \"Name\": \"3 Taksit\",\n \"Rate\": 2.5,\n \"ExpenseCode\": \"MSR-0001\"\n }\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PUT',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
Name: '3 Taksit',
DayCount: 90,
CommissionRates: [{Name: '3 Taksit', Rate: 2.5, ExpenseCode: 'MSR-0001'}]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-accounts/{bankAccountId}/repayment-plans/{repaymentPlanId}"
payload = {
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Name": "3 Taksit",
"DayCount": 90,
"CommissionRates": [
{
"Name": "3 Taksit",
"Rate": 2.5,
"ExpenseCode": "MSR-0001"
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "0201",
"Message": "X-UserID header is required.",
"Errors": [
{
"Code": "0201",
"Message": "X-UserID header is required."
}
]
}{
"Success": false,
"ResultCode": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token.",
"Errors": [
{
"Code": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token."
}
]
}{
"Success": false,
"ResultCode": "0110",
"Message": "You do not have permission for this operation.",
"Errors": [
{
"Code": "0110",
"Message": "You do not have permission for this operation."
}
]
}{
"Success": false,
"ResultCode": "8010",
"Message": "Bank account not found.",
"Errors": [
{
"Code": "8010",
"Message": "Bank account not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}PATCH changes only the fields you send.
Update is a full replace: fields you do not send are cleared, including CommissionRates, whose list is fully replaced.
Error codes
Codes this endpoint can return. The general errors that apply to every endpoint (authentication, permissions, request headers, daily limit) are not repeated here.| Code | HTTP | Meaning |
|---|---|---|
0002 | 400 | Request body could not be read (malformed JSON, wrong field type) |
0003 | 400 | A field exceeds its maximum length (the message names the field and the limit) |
0580 | 400 | A value given as text (a code or a name) matches more than one record; add the detail that tells them apart (for example City for a district, Country for a city) |
8010 | 404 | Bank account not found |
8020 | 404 | Repayment plan not found |
8021 | 400 | Repayment plan Name is required |
8022 | 400 | The repayment plan name is already used in this bank account |
8023 | 400 | DayCount cannot be negative |
8024 | 400 | A repayment plan can only be added to a POS account (AccountType 3) |
8031 | 400 | Commission rate Name is required |
8032 | 400 | The commission rate name is used more than once in the same repayment plan |
8033 | 400 | Rate must be between 0 and 100 |
8034 | 400 | ExpenseCode is required |
8035 | 400 | ExpenseCode was not found |
Authorizations
Access token obtained from the Noyax auth service with your API key.
Headers
ID of the Noyax user the request is made on behalf of. Written to the audit fields of created, updated and deleted records.
x >= 1ID of the company. The user must be assigned to this company. All reads and writes are limited to this company.
x >= 1ID of the accounting period. Optional for customer endpoints; if sent, it is written to created records.
x >= 1Path Parameters
Bank account ID.
Repayment plan ID.
Body
Required. Unique within the bank account. At most 100 characters.
"3 Taksit"
Required. Number of days, cannot be negative.
90
Commission rates of this repayment plan. On update this list fully replaces the existing ones.
Show child attributes
Show child attributes
Response
OK
Whether the operation succeeded.
true
"0000" on success. On failure, the code of the first error; all errors are listed in Errors.
"0000"
Show child attributes
Show child attributes
Error message when Success is false. Messages of all errors are joined into a single text.