Skip to main content
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"
        }
      ],
      "companyName": "maesn",
      "contactPersons": [
        {
          "id": "967188f6-8248-4765-b1e8-0f13a3ddb616",
          "emailAddresses": [
            {
              "email": "john.doe@company.com",
              "type": "BUSINESS"
            }
          ],
          "firstName": "John",
          "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",
      "phoneNumbers": [
        {
          "number": "+49 7163307056",
          "type": "MOBILE"
        }
      ],
      "projectId": "3",
      "updatedDate": "2025-06-01T11:09:11.533Z",
      "website": "https://www.maesn.com"
    }
  ]
}

Field support per integration

Query parameters:
limit
enum
Available options: 5, 10, 20, 50, 100
page
number
filter
string
rawData
boolean
Supported response fields:
id
string
addresses
Address[]
companyName
string
contactPersons
ContactPerson[]
contactType
enum
Available options: CONTACT_PERSON, COMPANY
emailAddresses
EmailAddress[]
number
string
phoneNumbers
PhoneNumber[]
updatedDate
string
website
string
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.
Query parameters:
limit
enum
Available options: 5, 10, 20, 50, 100
page
number
filter
string
rawData
boolean
Supported response fields:
id
string
addresses
Address[]
companyName
string
contactPersons
ContactPerson[]
contactType
enum
Available options:COMPANY
createdDate
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
emailAddresses
EmailAddress[]
isCustomer
boolean
isSupplier
boolean
phoneNumbers
PhoneNumber[]
updatedDate
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
website
string
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.
Query parameters:
limit
enum
Available options: 5, 10, 20, 50, 100
page
number
filter
string
rawData
boolean
Supported response fields:
id
string
addresses
Address[]
companyName
string
contactPersons
ContactPerson[]
contactType
enum
Available options:COMPANY, CONTACT_PERSON
createdDate
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
emailAddresses
EmailAddress[]
isCustomer
boolean
isSupplier
boolean
phoneNumbers
PhoneNumber[]
updatedDate
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
Query parameters:
limit
enum
Available options: 5, 10, 20, 50, 100
page
number
filter
string
rawData
boolean
Supported response fields:
id
string
addresses
Address[]
companyName
string
contactType
enum
Available options: COMPANY
emailAddresses
EmailAddress[]
isCustomer
boolean
isSupplier
boolean
number
string
phoneNumbers
PhoneNumber[]
updatedDate
string
ISO-8601 date format, e.g., 2024-01-01T00:00:00Z
Query parameters:
limit
enum
Available options: 5, 10, 20, 50, 100
page
number
filter
string
rawData
boolean
Supported response fields:
id
string
addresses
Address[]
companyName
string
contactType
enum
Available options: CONTACT_PERSON, COMPANY
emailAddresses
EmailAddress[]
isCustomer
boolean
isSupplier
boolean
number
string
phoneNumbers
PhoneNumber[]
updatedDate
string

Headers

X-API-KEY
string
required

API key

X-ACCOUNT-KEY
string
required

Account key

Query Parameters

page
number
limit
enum<number>
Available options:
5,
10,
20,
50,
100
lastModifiedAt
string
rawData
boolean
companyId
string
environmentName
string

Response

200 - application/json
meta
object
data
object[]
Last modified on July 10, 2026