cURL
curl --request GET \
--url https://api.maesn.dev/accounting/contacts \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/contacts"
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/contacts', 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/contacts",
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/contacts"
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/contacts")
.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/contacts")
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": "92c4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"bankAccounts": [
{
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bankName": "Sparkasse",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
}
],
"businessRegistrationNumber": "12345678",
"companyName": "maesn",
"contactPersons": [
{
"id": "967188f6-8248-4765-b1e8-0f13a3ddb616",
"birthDate": "1990-05-12T00:00:00.000Z",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"jobTitle": "Managing Director",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"contactType": "CONTACT_PERSON",
"createdDate": "2025-06-01T11:09:11.533Z",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"isCustomer": true,
"isSupplier": false,
"number": "1042",
"parentId": "3b1e4c72-9d8a-42f5-9c6b-1a7f0e5d8c34",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"updatedDate": "2025-06-01T11:09:11.533Z",
"vatId": "DE123456789",
"website": "https://www.maesn.com"
}
]
}Contacts
Get contacts
GET
/
accounting
/
contacts
cURL
curl --request GET \
--url https://api.maesn.dev/accounting/contacts \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/contacts"
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/contacts', 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/contacts",
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/contacts"
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/contacts")
.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/contacts")
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": "92c4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"bankAccounts": [
{
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bankName": "Sparkasse",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
}
],
"businessRegistrationNumber": "12345678",
"companyName": "maesn",
"contactPersons": [
{
"id": "967188f6-8248-4765-b1e8-0f13a3ddb616",
"birthDate": "1990-05-12T00:00:00.000Z",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"jobTitle": "Managing Director",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"contactType": "CONTACT_PERSON",
"createdDate": "2025-06-01T11:09:11.533Z",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"isCustomer": true,
"isSupplier": false,
"number": "1042",
"parentId": "3b1e4c72-9d8a-42f5-9c6b-1a7f0e5d8c34",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"updatedDate": "2025-06-01T11:09:11.533Z",
"vatId": "DE123456789",
"website": "https://www.maesn.com"
}
]
}Field support per integration

bexio
bexio
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
ContactPerson[]
enum
Available options:
CONTACT_PERSON, COMPANYstring
string
string

Exact Online
Exact Online
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.enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
string
ContactPerson[]
enum
Available options:
COMPANYstring
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
boolean
boolean
string
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
string
string

Moneybird
Moneybird
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.enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
ContactPerson[]
enum
Available options:
COMPANY, CONTACT_PERSONstring
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
boolean
boolean
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z

Procountor
Procountor
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
enum
Available options:
COMPANY, CONTACT_PERSONboolean
boolean

Snelstart
Snelstart
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
string
enum
Available options:
COMPANYboolean
boolean
string
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
string

Xero
Xero
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
Address[]
string
enum
Available options:
CONTACT_PERSON, COMPANYboolean
boolean
string
string
Query Parameters
Available options:
5, 10, 20, 50, 100 Last modified on September 10, 2026
Was this page helpful?