cURL
curl --request PUT \
--url https://api.maesn.dev/accounting/customers/{contactId} \
--header 'Content-Type: application/json' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--data '
{
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"companyName": "maesn",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"vatId": "DE123456789"
}
'import requests
url = "https://api.maesn.dev/accounting/customers/{contactId}"
payload = {
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"companyName": "maesn",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"vatId": "DE123456789"
}
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'X-API-KEY': '<x-api-key>',
'X-ACCOUNT-KEY': '<x-account-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
addresses: [
{
addressLine1: 'Lucky street 1',
addressLine2: '2nd floor',
city: 'Berlin',
countryCode: 'DE',
postalCode: '10243',
type: 'BILLING'
}
],
companyName: 'maesn',
contactType: 'CONTACT_PERSON',
contactPersons: [
{
emailAddresses: [{email: 'john.doe@company.com', type: 'BUSINESS'}],
firstName: 'John',
lastName: 'Doe',
phoneNumbers: [{number: '+49 7163307056', type: 'MOBILE'}],
salutation: 'Mr'
}
],
documentId: 'Z1248601M',
emailAddresses: [{email: 'john.doe@company.com', type: 'BUSINESS'}],
number: '1042',
phoneNumbers: [{number: '+49 7163307056', type: 'MOBILE'}],
projectId: '3',
vatId: 'DE123456789'
})
};
fetch('https://api.maesn.dev/accounting/customers/{contactId}', 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/customers/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'addresses' => [
[
'addressLine1' => 'Lucky street 1',
'addressLine2' => '2nd floor',
'city' => 'Berlin',
'countryCode' => 'DE',
'postalCode' => '10243',
'type' => 'BILLING'
]
],
'companyName' => 'maesn',
'contactType' => 'CONTACT_PERSON',
'contactPersons' => [
[
'emailAddresses' => [
[
'email' => 'john.doe@company.com',
'type' => 'BUSINESS'
]
],
'firstName' => 'John',
'lastName' => 'Doe',
'phoneNumbers' => [
[
'number' => '+49 7163307056',
'type' => 'MOBILE'
]
],
'salutation' => 'Mr'
]
],
'documentId' => 'Z1248601M',
'emailAddresses' => [
[
'email' => 'john.doe@company.com',
'type' => 'BUSINESS'
]
],
'number' => '1042',
'phoneNumbers' => [
[
'number' => '+49 7163307056',
'type' => 'MOBILE'
]
],
'projectId' => '3',
'vatId' => 'DE123456789'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/customers/{contactId}"
payload := strings.NewReader("{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.maesn.dev/accounting/customers/{contactId}")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.header("Content-Type", "application/json")
.body("{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/customers/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}"
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",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"updatedDate": "2018-01-01T13:00:00.000Z",
"vatId": "DE123456789"
}
}Customers
Update customer
PUT
/
accounting
/
customers
/
{contactId}
cURL
curl --request PUT \
--url https://api.maesn.dev/accounting/customers/{contactId} \
--header 'Content-Type: application/json' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--data '
{
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"companyName": "maesn",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"vatId": "DE123456789"
}
'import requests
url = "https://api.maesn.dev/accounting/customers/{contactId}"
payload = {
"addresses": [
{
"addressLine1": "Lucky street 1",
"addressLine2": "2nd floor",
"city": "Berlin",
"countryCode": "DE",
"postalCode": "10243",
"type": "BILLING"
}
],
"companyName": "maesn",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"vatId": "DE123456789"
}
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'X-API-KEY': '<x-api-key>',
'X-ACCOUNT-KEY': '<x-account-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
addresses: [
{
addressLine1: 'Lucky street 1',
addressLine2: '2nd floor',
city: 'Berlin',
countryCode: 'DE',
postalCode: '10243',
type: 'BILLING'
}
],
companyName: 'maesn',
contactType: 'CONTACT_PERSON',
contactPersons: [
{
emailAddresses: [{email: 'john.doe@company.com', type: 'BUSINESS'}],
firstName: 'John',
lastName: 'Doe',
phoneNumbers: [{number: '+49 7163307056', type: 'MOBILE'}],
salutation: 'Mr'
}
],
documentId: 'Z1248601M',
emailAddresses: [{email: 'john.doe@company.com', type: 'BUSINESS'}],
number: '1042',
phoneNumbers: [{number: '+49 7163307056', type: 'MOBILE'}],
projectId: '3',
vatId: 'DE123456789'
})
};
fetch('https://api.maesn.dev/accounting/customers/{contactId}', 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/customers/{contactId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'addresses' => [
[
'addressLine1' => 'Lucky street 1',
'addressLine2' => '2nd floor',
'city' => 'Berlin',
'countryCode' => 'DE',
'postalCode' => '10243',
'type' => 'BILLING'
]
],
'companyName' => 'maesn',
'contactType' => 'CONTACT_PERSON',
'contactPersons' => [
[
'emailAddresses' => [
[
'email' => 'john.doe@company.com',
'type' => 'BUSINESS'
]
],
'firstName' => 'John',
'lastName' => 'Doe',
'phoneNumbers' => [
[
'number' => '+49 7163307056',
'type' => 'MOBILE'
]
],
'salutation' => 'Mr'
]
],
'documentId' => 'Z1248601M',
'emailAddresses' => [
[
'email' => 'john.doe@company.com',
'type' => 'BUSINESS'
]
],
'number' => '1042',
'phoneNumbers' => [
[
'number' => '+49 7163307056',
'type' => 'MOBILE'
]
],
'projectId' => '3',
'vatId' => 'DE123456789'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/customers/{contactId}"
payload := strings.NewReader("{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.maesn.dev/accounting/customers/{contactId}")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.header("Content-Type", "application/json")
.body("{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/customers/{contactId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"addresses\": [\n {\n \"addressLine1\": \"Lucky street 1\",\n \"addressLine2\": \"2nd floor\",\n \"city\": \"Berlin\",\n \"countryCode\": \"DE\",\n \"postalCode\": \"10243\",\n \"type\": \"BILLING\"\n }\n ],\n \"companyName\": \"maesn\",\n \"contactType\": \"CONTACT_PERSON\",\n \"contactPersons\": [\n {\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"salutation\": \"Mr\"\n }\n ],\n \"documentId\": \"Z1248601M\",\n \"emailAddresses\": [\n {\n \"email\": \"john.doe@company.com\",\n \"type\": \"BUSINESS\"\n }\n ],\n \"number\": \"1042\",\n \"phoneNumbers\": [\n {\n \"number\": \"+49 7163307056\",\n \"type\": \"MOBILE\"\n }\n ],\n \"projectId\": \"3\",\n \"vatId\": \"DE123456789\"\n}"
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",
"contactType": "CONTACT_PERSON",
"contactPersons": [
{
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"salutation": "Mr"
}
],
"documentId": "Z1248601M",
"emailAddresses": [
{
"email": "john.doe@company.com",
"type": "BUSINESS"
}
],
"number": "1042",
"phoneNumbers": [
{
"number": "+49 7163307056",
"type": "MOBILE"
}
],
"projectId": "3",
"updatedDate": "2018-01-01T13:00:00.000Z",
"vatId": "DE123456789"
}
}Field support per integration

BuchhaltungsButler
BuchhaltungsButler
Supported request parameters:
enum
required
Available options:
COMPANYstring
Address[]

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:
CONTACT_PERSON, COMPANYstring
Address[]

fortnox
fortnox
Supported request parameters:
enum
Available options:
CONTACT_PERSON, COMPANYstring
ContactPerson[]
Address[]
string

FreshBooks
FreshBooks
Ensure that the query parameter
_companyId_ is correctly filled with the account ID associated with the contact.
This value can be retrieved by using the GET Companies endpoint in the Authentication section. Use the returned id as the value for _companyId_.The contact type of a customer cannot be changed. For example, if a customer was created as a contact person, it cannot later be converted into a company.
enum
required
Available options:
CONTACT_PERSON, COMPANYstring
Address[]

Holded
Holded
Supported request parameters:
string
enum
Available options:
CONTACT_PERSON, COMPANYstring
Address[]

Lexware Office
Lexware Office
Please note that it is not possible to create or update customers with more than one contact person in Lexware Office via the API. While it is possible to retrieve such contacts through the API, creating them must be done directly within the user interface.
enum
required
Available options:
CONTACT_PERSON, COMPANYstring
Address[]
string
Only supported for
COMPANY contactType.
QuickBooks
QuickBooks
Supported request parameters:
enum
required
Available options:
CONTACT_PERSON, COMPANYstring
Address[]

Sage Accounting
Sage Accounting
This endpoint is available only for the following countries:
Accounting Plus: Canada, United Kingdom, Ireland
Accounting Standard: United Kingdom, Ireland
Accounting Start: Canada, United Kingdom, Ireland
Accounting Standard: United Kingdom, Ireland
Accounting Start: Canada, United Kingdom, Ireland
When handling a new connection in your integration, it is advisable to first determine which subscription your customer is using to ensure compatibility. To do this, you can use the
GET Companies call to retrieve all businesses available for the user. The user will then select one of these businesses.
It is also a good practice to verify that the active property of the selected business is set to true before proceeding with the integration setup.enum
required
Available options:
CONTACT_PERSON, COMPANYstring

sevdesk
sevdesk
Supported request parameters:
enum
required
Available options:
CONTACT_PERSON, COMPANYstring
ContactPerson[]
Address[]
string

Twinfield
Twinfield
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
required
Available options:
COMPANYstring
Address[]

weclapp
weclapp
Supported request parameters:
enum
required
Available options:
CONTACT_PERSON, COMPANYstring
Path Parameters
Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Example:
"maesn"
Available options:
CONTACT_PERSON, COMPANY, UNDEFINED Example:
"CONTACT_PERSON"
Show child attributes
Show child attributes
Example:
"Z1248601M"
Show child attributes
Show child attributes
Example:
"1042"
Show child attributes
Show child attributes
Example:
"3"
Example:
"DE123456789"
Last modified on September 15, 2026
Was this page helpful?