curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": [
"<string>"
]
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId}");
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 \"WaybillType\": -2,\n \"WaybillNumber\": \"9446A4D834\",\n \"DocumentNumber\": \"2026-15\",\n \"Date\": \"2026-09-21T10:30:00\",\n \"ActualDispatchDate\": \"2023-11-07T05:31:56Z\",\n \"Description\": \"<string>\",\n \"CustomerCode\": \"C-0001\",\n \"CurrencyCode\": \"TRY\",\n \"DueDays\": 30,\n \"SharingCode\": \"<string>\",\n \"ShipmentDefinitionCode\": \"<string>\",\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 \"ProductCode\": \"URN-0001\",\n \"UnitCode\": \"C62\",\n \"Quantity\": 10,\n \"UnitPrice\": 100,\n \"CurrencyCode\": \"TRY\",\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 \"LineGroupName\": \"<string>\",\n \"WarehouseName\": \"Main Warehouse\",\n \"Description\": \"<string>\",\n \"Description2\": \"<string>\",\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 \"Lots\": [\n {\n \"LotNo\": \"0000000109\",\n \"Quantity\": 10,\n \"UnitCode\": \"C62\",\n \"SupplierLotNo\": \"<string>\",\n \"ExpiryDate\": \"2023-11-07T05:31:56Z\",\n \"Description\": \"<string>\"\n }\n ],\n \"SerialNumbers\": [\n \"<string>\"\n ]\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({
WaybillType: -2,
WaybillNumber: '9446A4D834',
DocumentNumber: '2026-15',
Date: '2026-09-21T10:30:00',
ActualDispatchDate: '2023-11-07T05:31:56Z',
Description: '<string>',
CustomerCode: 'C-0001',
CurrencyCode: 'TRY',
DueDays: 30,
SharingCode: '<string>',
ShipmentDefinitionCode: '<string>',
DiscountTotal: 0,
SubTotal: 1000,
VatTotal: 200,
AdditionalTaxTotal: 0,
WithholdingTotal: 0,
GrandTotal: 1200,
AverageExchangeRate: 1,
Lines: [
{
ProductCode: 'URN-0001',
UnitCode: 'C62',
Quantity: 10,
UnitPrice: 100,
CurrencyCode: 'TRY',
ExchangeRate: 1,
DiscountRate: 0,
DiscountAmount: 0,
Discounts: [{Rate: 10}],
VatRate: 20,
VatIncluded: false,
VatAmount: 123,
AmountExcludingTax: 123,
AmountIncludingTax: 123,
VatBase: 123,
VatExemptionCode: '<string>',
LineGroupName: '<string>',
WarehouseName: 'Main Warehouse',
Description: '<string>',
Description2: '<string>',
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,
Lots: [
{
LotNo: '0000000109',
Quantity: 10,
UnitCode: 'C62',
SupplierLotNo: '<string>',
ExpiryDate: '2023-11-07T05:31:56Z',
Description: '<string>'
}
],
SerialNumbers: ['<string>']
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId}', 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/waybills/{waybillId}"
payload = {
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [{ "Rate": 10 }],
"VatRate": 20,
"VatIncluded": False,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": ["<string>"]
}
]
}
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",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerName": "<string>",
"ShipmentDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Address": "<string>",
"CustomerTitle": "<string>",
"TaxNumber": "<string>",
"TaxOffice": "<string>",
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"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": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"WarehouseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ProductName": "<string>",
"UnitName": "ADET",
"MainUnitQuantity": 10,
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": [
"<string>"
]
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "7003",
"Message": "WaybillNumber cannot be 'Next' on update.",
"Errors": [
{
"Code": "7003",
"Message": "WaybillNumber cannot be 'Next' on update."
}
]
}{
"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": "7000",
"Message": "Waybill not found.",
"Errors": [
{
"Code": "7000",
"Message": "Waybill not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}Update waybill
Replaces all fields and lines of the waybill.
curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": [
"<string>"
]
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId}");
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 \"WaybillType\": -2,\n \"WaybillNumber\": \"9446A4D834\",\n \"DocumentNumber\": \"2026-15\",\n \"Date\": \"2026-09-21T10:30:00\",\n \"ActualDispatchDate\": \"2023-11-07T05:31:56Z\",\n \"Description\": \"<string>\",\n \"CustomerCode\": \"C-0001\",\n \"CurrencyCode\": \"TRY\",\n \"DueDays\": 30,\n \"SharingCode\": \"<string>\",\n \"ShipmentDefinitionCode\": \"<string>\",\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 \"ProductCode\": \"URN-0001\",\n \"UnitCode\": \"C62\",\n \"Quantity\": 10,\n \"UnitPrice\": 100,\n \"CurrencyCode\": \"TRY\",\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 \"LineGroupName\": \"<string>\",\n \"WarehouseName\": \"Main Warehouse\",\n \"Description\": \"<string>\",\n \"Description2\": \"<string>\",\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 \"Lots\": [\n {\n \"LotNo\": \"0000000109\",\n \"Quantity\": 10,\n \"UnitCode\": \"C62\",\n \"SupplierLotNo\": \"<string>\",\n \"ExpiryDate\": \"2023-11-07T05:31:56Z\",\n \"Description\": \"<string>\"\n }\n ],\n \"SerialNumbers\": [\n \"<string>\"\n ]\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({
WaybillType: -2,
WaybillNumber: '9446A4D834',
DocumentNumber: '2026-15',
Date: '2026-09-21T10:30:00',
ActualDispatchDate: '2023-11-07T05:31:56Z',
Description: '<string>',
CustomerCode: 'C-0001',
CurrencyCode: 'TRY',
DueDays: 30,
SharingCode: '<string>',
ShipmentDefinitionCode: '<string>',
DiscountTotal: 0,
SubTotal: 1000,
VatTotal: 200,
AdditionalTaxTotal: 0,
WithholdingTotal: 0,
GrandTotal: 1200,
AverageExchangeRate: 1,
Lines: [
{
ProductCode: 'URN-0001',
UnitCode: 'C62',
Quantity: 10,
UnitPrice: 100,
CurrencyCode: 'TRY',
ExchangeRate: 1,
DiscountRate: 0,
DiscountAmount: 0,
Discounts: [{Rate: 10}],
VatRate: 20,
VatIncluded: false,
VatAmount: 123,
AmountExcludingTax: 123,
AmountIncludingTax: 123,
VatBase: 123,
VatExemptionCode: '<string>',
LineGroupName: '<string>',
WarehouseName: 'Main Warehouse',
Description: '<string>',
Description2: '<string>',
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,
Lots: [
{
LotNo: '0000000109',
Quantity: 10,
UnitCode: 'C62',
SupplierLotNo: '<string>',
ExpiryDate: '2023-11-07T05:31:56Z',
Description: '<string>'
}
],
SerialNumbers: ['<string>']
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/waybills/{waybillId}', 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/waybills/{waybillId}"
payload = {
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"DiscountTotal": 0,
"SubTotal": 1000,
"VatTotal": 200,
"AdditionalTaxTotal": 0,
"WithholdingTotal": 0,
"GrandTotal": 1200,
"AverageExchangeRate": 1,
"Lines": [
{
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [{ "Rate": 10 }],
"VatRate": 20,
"VatIncluded": False,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": ["<string>"]
}
]
}
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",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerName": "<string>",
"ShipmentDefinitionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"Address": "<string>",
"CustomerTitle": "<string>",
"TaxNumber": "<string>",
"TaxOffice": "<string>",
"WaybillType": -2,
"WaybillNumber": "9446A4D834",
"DocumentNumber": "2026-15",
"Date": "2026-09-21T10:30:00",
"ActualDispatchDate": "2023-11-07T05:31:56Z",
"Description": "<string>",
"CustomerCode": "C-0001",
"CurrencyCode": "TRY",
"DueDays": 30,
"SharingCode": "<string>",
"ShipmentDefinitionCode": "<string>",
"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": [
{
"ProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"UnitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"LineGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"WarehouseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ProductName": "<string>",
"UnitName": "ADET",
"MainUnitQuantity": 10,
"ProductCode": "URN-0001",
"UnitCode": "C62",
"Quantity": 10,
"UnitPrice": 100,
"CurrencyCode": "TRY",
"ExchangeRate": 1,
"DiscountRate": 0,
"DiscountAmount": 0,
"Discounts": [
{
"Rate": 10
}
],
"VatRate": 20,
"VatIncluded": false,
"VatAmount": 123,
"AmountExcludingTax": 123,
"AmountIncludingTax": 123,
"VatBase": 123,
"VatExemptionCode": "<string>",
"LineGroupName": "<string>",
"WarehouseName": "Main Warehouse",
"Description": "<string>",
"Description2": "<string>",
"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,
"Lots": [
{
"LotNo": "0000000109",
"Quantity": 10,
"UnitCode": "C62",
"SupplierLotNo": "<string>",
"ExpiryDate": "2023-11-07T05:31:56Z",
"Description": "<string>"
}
],
"SerialNumbers": [
"<string>"
]
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "7003",
"Message": "WaybillNumber cannot be 'Next' on update.",
"Errors": [
{
"Code": "7003",
"Message": "WaybillNumber cannot be 'Next' on update."
}
]
}{
"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": "7000",
"Message": "Waybill not found.",
"Errors": [
{
"Code": "7000",
"Message": "Waybill 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.
The update is a full replacement and the lines are replaced too, but the order in which you send lines determines their identity: see line identity on update. Always send the lines in the same order Get waybill returned them, with only the fields you actually want to change edited in place.
WaybillTypecannot be changed andWaybillNumbercannot be"Next"(7003).- A Lot that has already been consumed by an outbound transaction, or a serial number that has already been dispatched, blocks removing or reducing the line/entry it belongs to.
- A waybill line linked to an order (see linked orders) cannot be updated to exceed the order line’s quantity (
7115). - The API does not calculate amounts; send the totals as your system calculated them.
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) |
7000 | 404 | Waybill not found |
7001 | 400 | WaybillNumber is required |
7002 | 400 | The waybill number is already used in the company for this waybill type |
7003 | 400 | WaybillNumber cannot be Next on update |
7004 | 400 | WaybillType must be 2 (inbound) or -2 (outbound) |
7005 | 400 | Date is required |
7006 | 400 | CustomerCode is required |
7007 | 400 | Customer not found or not visible to the user |
7009 | 400 | CurrencyCode is required |
7010 | 400 | Currency not found in the company |
7011 | 400 | SharingCode is not one of the user’s sharing codes |
7012 | 400 | At least one line is required |
7013 | 400 | DueDays cannot be less than 0 |
7015 | 400 | ShipmentDefinitionCode was not found in the company |
7101 | 400 | ProductCode is required |
7102 | 400 | Product not found in the company |
7103 | 400 | UnitCode is required |
7104 | 400 | UnitCode is not one of the product’s own units (Unit1/Unit2/Unit3) |
7105 | 400 | Quantity must be greater than 0 |
7106 | 400 | UnitPrice cannot be negative |
7107 | 400 | DiscountRate must be between 0 and 100 |
7108 | 400 | Currency of the line not found in the company |
7109 | 400 | VatRate must be between 0 and 100 |
7110 | 400 | Line group not found in the company |
7111 | 400 | ExchangeRate cannot be negative |
7112 | 400 | WarehouseName was not found in the company |
7113 | 400 | The product defines no conversion quantity for the line’s unit, so the main unit quantity cannot be calculated |
7114 | 400 | WarehouseName is required |
7115 | 400 | The waybill line exceeds the quantity of the order line it is linked to |
7116 | 400 | The sum of the Lot/serial number entries does not match the line’s Quantity |
7117 | 400 | Lots/SerialNumbers were not sent as required for the product’s stock type |
7201 | 400 | The Rate of a discount must be between 0 and 100 |
7301 | 400 | LotNo is required |
7302 | 400 | LotNo is already used in the company |
7303 | 400 | Lot not found |
7304 | 400 | The lot has already been used in an outbound transaction, so the operation (delete/update) was cancelled |
7305 | 400 | Not enough Lot stock for this product and warehouse |
7401 | 400 | SerialNumbers contains an empty value |
7402 | 400 | The serial number has already been registered and has not been dispatched yet |
7404 | 400 | The serial number cannot be removed because it has already been dispatched |
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
Waybill ID.
Body
Required. 2: Inbound waybill (goods receipt), -2: Outbound waybill (dispatch). Cannot be changed after the waybill is created.
-2
Required. Waybill number, unique within the company for the same WaybillType. Send "Next" on create to generate it automatically: from the company's waybill number series for the type, or, for an outbound waybill when the company uses e-Waybill, from the e-Waybill numbering. At most 20 characters.
"9446A4D834"
Document number (free text). At most 100 characters.
"2026-15"
Required. Waybill date. The date part is stored as the waybill date; if a time is sent it is stored as the waybill time, otherwise the current time is used.
"2026-09-21T10:30:00"
Actual dispatch date.
Description. At most 1000 characters.
Required. Customer code (the customer's CustomerCode from GET /api/v1/customers). The waybill's address, title and tax fields are copied from the customer at the moment it is saved (the invoice address when the customer has one, otherwise the first address) and are not accepted in the request.
"C-0001"
Required. Currency code from GET /api/v1/definitions/currencies.
"TRY"
Payment term in days. Cannot be less than 0.
30
Sharing code that limits who can see the waybill. Empty means visible to everyone; otherwise it must be one of the user's sharing codes.
Shipment definition code from GET /api/v1/definitions/shipment-definitions.
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 order in which lines are sent determines their identity: the line at the same position as an existing line is treated as that line (its Lot/serial number and linked-order records move with it), a shorter list removes the trailing lines, a longer list adds new ones at the end.
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.