curl --request PATCH \
--url https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId}");
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 \"QuoteType\": 2,\n \"QuoteNumber\": \"52825CA9F1\",\n \"DocumentNumber\": \"2026-15\",\n \"Date\": \"2026-09-21T10:30:00\",\n \"Description\": \"<string>\",\n \"CustomerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"RepresentativeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"CurrencyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"DueDays\": 30,\n \"DeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"SharingCodeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"DiscountTotal\": 0,\n \"SubTotal\": 1000,\n \"VatTotal\": 200,\n \"AdditionalTaxTotal\": 0,\n \"WithholdingTotal\": 0,\n \"GrandTotal\": 1200,\n \"AverageExchangeRate\": 1,\n \"Lines\": [\n {\n \"ProductId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"UnitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"Quantity\": 10,\n \"UnitPrice\": 100,\n \"CurrencyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ExchangeRate\": 1,\n \"DiscountRate\": 0,\n \"DiscountAmount\": 0,\n \"Discounts\": [\n {\n \"Rate\": 10\n }\n ],\n \"VatRate\": 20,\n \"VatIncluded\": false,\n \"VatAmount\": 123,\n \"AmountExcludingTax\": 123,\n \"AmountIncludingTax\": 123,\n \"VatBase\": 123,\n \"VatExemptionCode\": \"<string>\",\n \"LineGroupId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"Description\": \"<string>\",\n \"Description2\": \"<string>\",\n \"DeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"AdditionalTaxCode1\": \"<string>\",\n \"AdditionalTaxRate1\": 123,\n \"AdditionalTaxAmount1\": 123,\n \"AdditionalTaxBase1\": 123,\n \"AdditionalTaxCode2\": \"<string>\",\n \"AdditionalTaxRate2\": 123,\n \"AdditionalTaxAmount2\": 123,\n \"AdditionalTaxBase2\": 123,\n \"AdditionalTaxCode3\": \"<string>\",\n \"AdditionalTaxRate3\": 123,\n \"AdditionalTaxAmount3\": 123,\n \"AdditionalTaxBase3\": 123,\n \"WithholdingCode\": \"<string>\",\n \"WithholdingNumerator\": 123,\n \"WithholdingDenominator\": 123,\n \"WithheldVatAmount\": 123\n }\n ]\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PATCH',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
QuoteType: 2,
QuoteNumber: '52825CA9F1',
DocumentNumber: '2026-15',
Date: '2026-09-21T10:30:00',
Description: '<string>',
CustomerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
RepresentativeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
CurrencyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
DueDays: 30,
DeliveryDate: '2023-11-07T05:31:56Z',
SharingCodeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
DiscountTotal: 0,
SubTotal: 1000,
VatTotal: 200,
AdditionalTaxTotal: 0,
WithholdingTotal: 0,
GrandTotal: 1200,
AverageExchangeRate: 1,
Lines: [
{
ProductId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
UnitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
Quantity: 10,
UnitPrice: 100,
CurrencyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ExchangeRate: 1,
DiscountRate: 0,
DiscountAmount: 0,
Discounts: [{Rate: 10}],
VatRate: 20,
VatIncluded: false,
VatAmount: 123,
AmountExcludingTax: 123,
AmountIncludingTax: 123,
VatBase: 123,
VatExemptionCode: '<string>',
LineGroupId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
Description: '<string>',
Description2: '<string>',
DeliveryDate: '2023-11-07T05:31:56Z',
AdditionalTaxCode1: '<string>',
AdditionalTaxRate1: 123,
AdditionalTaxAmount1: 123,
AdditionalTaxBase1: 123,
AdditionalTaxCode2: '<string>',
AdditionalTaxRate2: 123,
AdditionalTaxAmount2: 123,
AdditionalTaxBase2: 123,
AdditionalTaxCode3: '<string>',
AdditionalTaxRate3: 123,
AdditionalTaxAmount3: 123,
AdditionalTaxBase3: 123,
WithholdingCode: '<string>',
WithholdingNumerator: 123,
WithholdingDenominator: 123,
WithheldVatAmount: 123
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId}', 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/quotes/{quoteId}"
payload = {
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [{ "Rate": 10 }],
"VatRate": 20,
"VatIncluded": False,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Status": 0,
"CustomerName": "<string>",
"CurrencyCode": "TRY",
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"CreateDate": "2023-11-07T05:31:56Z",
"ModifyDate": "2023-11-07T05:31:56Z",
"Lines": [
{
"ProductCode": "URN-0001",
"ProductName": "<string>",
"UnitName": "ADET",
"CurrencyCode": "TRY",
"LineGroupName": "<string>",
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "5015",
"Message": "QuoteType cannot be changed after the quote is created.",
"Errors": [
{
"Code": "5015",
"Message": "QuoteType cannot be changed after the quote is created."
}
]
}{
"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": "5000",
"Message": "Quote not found.",
"Errors": [
{
"Code": "5000",
"Message": "Quote not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}Partially update quote
Changes only the sent fields of a quote.
curl --request PATCH \
--url https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId}");
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 \"QuoteType\": 2,\n \"QuoteNumber\": \"52825CA9F1\",\n \"DocumentNumber\": \"2026-15\",\n \"Date\": \"2026-09-21T10:30:00\",\n \"Description\": \"<string>\",\n \"CustomerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"RepresentativeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"CurrencyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"DueDays\": 30,\n \"DeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"SharingCodeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"DiscountTotal\": 0,\n \"SubTotal\": 1000,\n \"VatTotal\": 200,\n \"AdditionalTaxTotal\": 0,\n \"WithholdingTotal\": 0,\n \"GrandTotal\": 1200,\n \"AverageExchangeRate\": 1,\n \"Lines\": [\n {\n \"ProductId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"UnitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"Quantity\": 10,\n \"UnitPrice\": 100,\n \"CurrencyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ExchangeRate\": 1,\n \"DiscountRate\": 0,\n \"DiscountAmount\": 0,\n \"Discounts\": [\n {\n \"Rate\": 10\n }\n ],\n \"VatRate\": 20,\n \"VatIncluded\": false,\n \"VatAmount\": 123,\n \"AmountExcludingTax\": 123,\n \"AmountIncludingTax\": 123,\n \"VatBase\": 123,\n \"VatExemptionCode\": \"<string>\",\n \"LineGroupId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"Description\": \"<string>\",\n \"Description2\": \"<string>\",\n \"DeliveryDate\": \"2023-11-07T05:31:56Z\",\n \"AdditionalTaxCode1\": \"<string>\",\n \"AdditionalTaxRate1\": 123,\n \"AdditionalTaxAmount1\": 123,\n \"AdditionalTaxBase1\": 123,\n \"AdditionalTaxCode2\": \"<string>\",\n \"AdditionalTaxRate2\": 123,\n \"AdditionalTaxAmount2\": 123,\n \"AdditionalTaxBase2\": 123,\n \"AdditionalTaxCode3\": \"<string>\",\n \"AdditionalTaxRate3\": 123,\n \"AdditionalTaxAmount3\": 123,\n \"AdditionalTaxBase3\": 123,\n \"WithholdingCode\": \"<string>\",\n \"WithholdingNumerator\": 123,\n \"WithholdingDenominator\": 123,\n \"WithheldVatAmount\": 123\n }\n ]\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PATCH',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
QuoteType: 2,
QuoteNumber: '52825CA9F1',
DocumentNumber: '2026-15',
Date: '2026-09-21T10:30:00',
Description: '<string>',
CustomerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
RepresentativeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
CurrencyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
DueDays: 30,
DeliveryDate: '2023-11-07T05:31:56Z',
SharingCodeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
DiscountTotal: 0,
SubTotal: 1000,
VatTotal: 200,
AdditionalTaxTotal: 0,
WithholdingTotal: 0,
GrandTotal: 1200,
AverageExchangeRate: 1,
Lines: [
{
ProductId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
UnitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
Quantity: 10,
UnitPrice: 100,
CurrencyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ExchangeRate: 1,
DiscountRate: 0,
DiscountAmount: 0,
Discounts: [{Rate: 10}],
VatRate: 20,
VatIncluded: false,
VatAmount: 123,
AmountExcludingTax: 123,
AmountIncludingTax: 123,
VatBase: 123,
VatExemptionCode: '<string>',
LineGroupId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
Description: '<string>',
Description2: '<string>',
DeliveryDate: '2023-11-07T05:31:56Z',
AdditionalTaxCode1: '<string>',
AdditionalTaxRate1: 123,
AdditionalTaxAmount1: 123,
AdditionalTaxBase1: 123,
AdditionalTaxCode2: '<string>',
AdditionalTaxRate2: 123,
AdditionalTaxAmount2: 123,
AdditionalTaxBase2: 123,
AdditionalTaxCode3: '<string>',
AdditionalTaxRate3: 123,
AdditionalTaxAmount3: 123,
AdditionalTaxBase3: 123,
WithholdingCode: '<string>',
WithholdingNumerator: 123,
WithholdingDenominator: 123,
WithheldVatAmount: 123
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId}', 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/quotes/{quoteId}"
payload = {
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [{ "Rate": 10 }],
"VatRate": 20,
"VatIncluded": False,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Status": 0,
"CustomerName": "<string>",
"CurrencyCode": "TRY",
"QuoteType": 2,
"QuoteNumber": "52825CA9F1",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"Description": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"RepresentativeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DueDays": 30,
"DeliveryDate": "2023-11-07T05:31:56Z",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"CreateDate": "2023-11-07T05:31:56Z",
"ModifyDate": "2023-11-07T05:31:56Z",
"Lines": [
{
"ProductCode": "URN-0001",
"ProductName": "<string>",
"UnitName": "ADET",
"CurrencyCode": "TRY",
"LineGroupName": "<string>",
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Description": "<string>",
"Description2": "<string>",
"DeliveryDate": "2023-11-07T05:31:56Z",
"AdditionalTaxCode1": "<string>",
"AdditionalTaxRate1": 123,
"AdditionalTaxAmount1": 123,
"AdditionalTaxBase1": 123,
"AdditionalTaxCode2": "<string>",
"AdditionalTaxRate2": 123,
"AdditionalTaxAmount2": 123,
"AdditionalTaxBase2": 123,
"AdditionalTaxCode3": "<string>",
"AdditionalTaxRate3": 123,
"AdditionalTaxAmount3": 123,
"AdditionalTaxBase3": 123,
"WithholdingCode": "<string>",
"WithholdingNumerator": 123,
"WithholdingDenominator": 123,
"WithheldVatAmount": 123
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "5015",
"Message": "QuoteType cannot be changed after the quote is created.",
"Errors": [
{
"Code": "5015",
"Message": "QuoteType cannot be changed after the quote is created."
}
]
}{
"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": "5000",
"Message": "Quote not found.",
"Errors": [
{
"Code": "5000",
"Message": "Quote not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}- A field that is not sent stays unchanged, a field sent as
nullis cleared. - Validation runs on the whole merged record; setting a required field to
nullis rejected. - Lists are not merged: when
Linesis sent it replaces all lines of the quote, when it is not sent the lines stay as they are. - The API does not recalculate totals: when you change lines or amounts, send the matching totals too.
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) |
5000 | 404 | Quote not found |
5001 | 400 | QuoteNumber is required |
5002 | 400 | The quote number is already used in the company for this quote type |
5003 | 400 | QuoteNumber cannot be Next on update |
5004 | 400 | QuoteType must be 1 (purchase) or 2 (sales) |
5005 | 400 | Date is required |
5006 | 400 | CustomerId is required |
5007 | 400 | Customer not found, or not visible to the user |
5008 | 400 | The representative was not found for this customer |
5009 | 400 | CurrencyId is required |
5010 | 400 | Currency not found in the company |
5011 | 400 | SharingCodeId is not one of the user’s sharing codes |
5012 | 400 | At least one line is required |
5013 | 400 | DueDays cannot be less than 0 |
5015 | 400 | QuoteType cannot be changed after the quote is created |
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
Quote ID.
Body
Required. 1: Purchase quote (received), 2: Sales quote (issued). Cannot be changed after the quote is created.
2
Required. Quote number, unique within the company for the same QuoteType. Send "Next" on create to generate it from the company's quote number series for the type. At most 10 characters.
"52825CA9F1"
Document number (free text). At most 20 characters.
"2026-15"
Required. Quote date. The date part is stored as the quote date; if a time is sent it is stored as the quote time, otherwise the current time is used.
"2026-09-21T10:30:00"
Description. At most 1000 characters.
Required. Customer ID from GET /api/v1/customers.
ID of a representative of the customer from GET /api/v1/customers/{customerId}/representatives.
Required. Currency ID from GET /api/v1/definitions/currencies.
Payment term in days. Cannot be less than 0.
30
Delivery date.
Sharing code that limits who can see the quote. Empty means visible to everyone; otherwise it must be one of the user's sharing codes.
Total discount amount. Sent by the integrator, not calculated by the API.
0
Subtotal (sum of the line amounts excluding taxes). Sent by the integrator, not calculated by the API.
1000
Total VAT amount. Sent by the integrator, not calculated by the API.
200
Total additional tax amount. Sent by the integrator, not calculated by the API.
0
Total withholding (tevkifat) amount. Sent by the integrator, not calculated by the API.
0
Grand total. Sent by the integrator, not calculated by the API.
1200
Weighted average exchange rate of the lines. Sent by the integrator, not calculated by the API. Use 1 when everything is in the company's default currency.
1
Required, at least one line. On update the lines are replaced: the quote's existing lines are removed and these are saved instead.
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"
Response data. Null when Success is false.
Show child attributes
Show child attributes
Error message when Success is false. Messages of all errors are joined into a single text.