Get quote
curl --request GET \
--url https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId} \
--header 'Authorization: Bearer <token>' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>'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>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'GET',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>'
}
};
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}"
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, 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": "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": "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."
}
]
}Quotes
Get quote
Returns a quote with its lines.
GET
/
api
/
v1
/
quotes
/
{quoteId}
Get quote
curl --request GET \
--url https://dev.noyax.com/services/noyax_api/api/v1/quotes/{quoteId} \
--header 'Authorization: Bearer <token>' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>'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>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'GET',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>'
}
};
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}"
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, 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": "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": "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."
}
]
}Returns the quote with its lines (in line order) and the discounts of each line. Quotes the user cannot see, because of sharing codes, return 404.
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 |
|---|---|---|
5000 | 404 | Quote 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.
Required range:
x >= 1ID of the company. The user must be assigned to this company. All reads and writes are limited to this company.
Required range:
x >= 1ID of the accounting period. Optional for customer endpoints; if sent, it is written to created records.
Required range:
x >= 1Path Parameters
Quote ID.
Response
OK
Whether the operation succeeded.
Example:
true
"0000" on success. On failure, the code of the first error; all errors are listed in Errors.
Example:
"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.