cURL
curl --request GET \
--url https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId} \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}"
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
fetch('https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}', 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.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-ACCOUNT-KEY: <x-account-key>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
response = http.request(request)
puts response.read_body{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"lineItemId": "987a2b3c-4d5e-6f7g-8h9i-0j1k2l3m4n5o",
"accountId": "6733a433-9662-4a40-8e36-e38ebda94fe1",
"createdDate": "2021-01-01T00:00:00Z",
"description": "SEOUL Guest Chair, red",
"dimensions": [
{
"id": "c1d2e3f4-5678-9abc-def0-1234567890ab",
"categoryName": "CostCenter",
"name": "C1"
}
],
"discountItemAmount": 10,
"discountItemPercentage": 10,
"grossAmount": 109,
"itemsAmount": 100,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"name": "RED CHAIR",
"quantity": 1,
"taxCode": "03",
"taxRatePercentage": 19,
"unitAmount": 100,
"updatedDate": "2021-01-01T00:00:00Z"
}
}Invoice Lines
Get invoice line
GET
/
accounting
/
invoices
/
{invoiceId}
/
lineItems
/
{lineItemId}
cURL
curl --request GET \
--url https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId} \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}"
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
fetch('https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}', 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.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-ACCOUNT-KEY: <x-account-key>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/invoices/{invoiceId}/lineItems/{lineItemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
response = http.request(request)
puts response.read_body{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"lineItemId": "987a2b3c-4d5e-6f7g-8h9i-0j1k2l3m4n5o",
"accountId": "6733a433-9662-4a40-8e36-e38ebda94fe1",
"createdDate": "2021-01-01T00:00:00Z",
"description": "SEOUL Guest Chair, red",
"dimensions": [
{
"id": "c1d2e3f4-5678-9abc-def0-1234567890ab",
"categoryName": "CostCenter",
"name": "C1"
}
],
"discountItemAmount": 10,
"discountItemPercentage": 10,
"grossAmount": 109,
"itemsAmount": 100,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"name": "RED CHAIR",
"quantity": 1,
"taxCode": "03",
"taxRatePercentage": 19,
"unitAmount": 100,
"updatedDate": "2021-01-01T00:00:00Z"
}
}Field support per integration

Business Central
Business Central
If you’re not using the Interactive Authentication Flow, make sure the query parameters
environmentName and companyId are correctly populated.
You can obtain these values by using the GET Environments and GET Companies endpoints available under the Authentication section.boolean
string
string
string
number
number
number
number
number
Note that quantity can be a decimal numeral.
string
number
number

Lexware Office
Lexware Office

Sage Active
Sage Active
If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is correctly populated.
You can obtain this value by using the GET Companies endpoint available under the Authentication section. Please use the id field as the companyId.boolean
string
string
number
number
number
string
number
Note that quantity can be a decimal numeral.
number
number
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z

sevdesk
sevdesk

Xentral
Xentral
Last modified on July 9, 2026
Was this page helpful?