cURL
curl --request GET \
--url https://api.maesn.dev/accounting/bills/{billId}/lineItems \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/bills/{billId}/lineItems"
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/bills/{billId}/lineItems', 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/bills/{billId}/lineItems",
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/bills/{billId}/lineItems"
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/bills/{billId}/lineItems")
.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/bills/{billId}/lineItems")
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": [
{
"id": "987a2b3c-4d5e-6f7g-8h9i-0j1k2l3m4n5o",
"accountId": "6733a433-9662-4a40-8e36-e38ebda94fe1",
"accountNumber": "200",
"createdDate": "2021-01-01T00:00:00Z",
"deferredEndDate": "2021-06-01T00:00:00Z",
"deferredStartDate": "2021-01-01T00:00:00Z",
"description": "SEOUL Guest Chair, red",
"dimensions": [
{
"name": "C1",
"categoryName": "CostCenter"
}
],
"itemId": "4f3a2hf4-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"itemName": "RED CHAIR",
"quantity": 1,
"taxCode": "03",
"taxRatePercentage": 19,
"totalDiscountAmount": 10,
"totalDiscountPercentage": 10,
"totalGrossAmount": 109,
"totalNetAmount": 100,
"totalTaxAmount": 19,
"unitAmount": 100,
"unitDiscountAmount": 10,
"unitDiscountPercentage": 10,
"unitName": "PIECE",
"updatedDate": "2021-01-01T00:00:00Z"
}
]
}Bill Lines
Get bill lines
GET
/
accounting
/
bills
/
{billId}
/
lineItems
cURL
curl --request GET \
--url https://api.maesn.dev/accounting/bills/{billId}/lineItems \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/bills/{billId}/lineItems"
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/bills/{billId}/lineItems', 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/bills/{billId}/lineItems",
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/bills/{billId}/lineItems"
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/bills/{billId}/lineItems")
.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/bills/{billId}/lineItems")
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": [
{
"id": "987a2b3c-4d5e-6f7g-8h9i-0j1k2l3m4n5o",
"accountId": "6733a433-9662-4a40-8e36-e38ebda94fe1",
"accountNumber": "200",
"createdDate": "2021-01-01T00:00:00Z",
"deferredEndDate": "2021-06-01T00:00:00Z",
"deferredStartDate": "2021-01-01T00:00:00Z",
"description": "SEOUL Guest Chair, red",
"dimensions": [
{
"name": "C1",
"categoryName": "CostCenter"
}
],
"itemId": "4f3a2hf4-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"itemName": "RED CHAIR",
"quantity": 1,
"taxCode": "03",
"taxRatePercentage": 19,
"totalDiscountAmount": 10,
"totalDiscountPercentage": 10,
"totalGrossAmount": 109,
"totalNetAmount": 100,
"totalTaxAmount": 19,
"unitAmount": 100,
"unitDiscountAmount": 10,
"unitDiscountPercentage": 10,
"unitName": "PIECE",
"updatedDate": "2021-01-01T00:00:00Z"
}
]
}Field support per integration

Exact Online
Exact Online
Please ensure the query parameter companyId is accurately filled with the division code.
You can obtain this values by using the
GET Companies endpoints available under the Authentication section.Last modified on July 10, 2026
Was this page helpful?
⌘I