POST
/
germany
Gtn
curl --request POST \
  --url https://dev.intermezzo.ai/germany \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "payroll_run": [
    {
      "employee_id": "<string>",
      "year_of_birth": 1937,
      "gross_wages": {
        "earnings": {
          "regular_wages": {
            "amount": "0.00"
          },
          "onetime_income": "0.00"
        },
        "company_car": {
          "additional_payments": 123,
          "private_trip": 1
        },
        "company_pension": {
          "employee_contribution": "0.00",
          "employer_contribution": "0.00"
        },
        "vwl": {
          "employee_contribution": "0.00",
          "employer_contribution": "0.00"
        },
        "additional_items": [
          {
            "name": "<string>",
            "amount": 1
          }
        ]
      },
      "health_insurer_agency_code": "<string>",
      "child_allowances": "0.00",
      "is_church_member": false,
      "in_saxony": false,
      "care_insurance_children": 0,
      "is_factor": false,
      "factor": 0.5005,
      "private_insurance_monthly": "0.00"
    }
  ]
}
'
import requests

url = "https://dev.intermezzo.ai/germany"

payload = { "payroll_run": [
{
"employee_id": "<string>",
"year_of_birth": 1937,
"gross_wages": {
"earnings": {
"regular_wages": { "amount": "0.00" },
"onetime_income": "0.00"
},
"company_car": {
"additional_payments": 123,
"private_trip": 1
},
"company_pension": {
"employee_contribution": "0.00",
"employer_contribution": "0.00"
},
"vwl": {
"employee_contribution": "0.00",
"employer_contribution": "0.00"
},
"additional_items": [
{
"name": "<string>",
"amount": 1
}
]
},
"health_insurer_agency_code": "<string>",
"child_allowances": "0.00",
"is_church_member": False,
"in_saxony": False,
"care_insurance_children": 0,
"is_factor": False,
"factor": 0.5005,
"private_insurance_monthly": "0.00"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payroll_run: [
{
employee_id: '<string>',
year_of_birth: 1937,
gross_wages: {
earnings: {regular_wages: {amount: '0.00'}, onetime_income: '0.00'},
company_car: {additional_payments: 123, private_trip: 1},
company_pension: {employee_contribution: '0.00', employer_contribution: '0.00'},
vwl: {employee_contribution: '0.00', employer_contribution: '0.00'},
additional_items: [{name: '<string>', amount: 1}]
},
health_insurer_agency_code: '<string>',
child_allowances: '0.00',
is_church_member: false,
in_saxony: false,
care_insurance_children: 0,
is_factor: false,
factor: 0.5005,
private_insurance_monthly: '0.00'
}
]
})
};

fetch('https://dev.intermezzo.ai/germany', 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://dev.intermezzo.ai/germany",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payroll_run' => [
[
'employee_id' => '<string>',
'year_of_birth' => 1937,
'gross_wages' => [
'earnings' => [
'regular_wages' => [
'amount' => '0.00'
],
'onetime_income' => '0.00'
],
'company_car' => [
'additional_payments' => 123,
'private_trip' => 1
],
'company_pension' => [
'employee_contribution' => '0.00',
'employer_contribution' => '0.00'
],
'vwl' => [
'employee_contribution' => '0.00',
'employer_contribution' => '0.00'
],
'additional_items' => [
[
'name' => '<string>',
'amount' => 1
]
]
],
'health_insurer_agency_code' => '<string>',
'child_allowances' => '0.00',
'is_church_member' => false,
'in_saxony' => false,
'care_insurance_children' => 0,
'is_factor' => false,
'factor' => 0.5005,
'private_insurance_monthly' => '0.00'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$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://dev.intermezzo.ai/germany"

payload := strings.NewReader("{\n \"payroll_run\": [\n {\n \"employee_id\": \"<string>\",\n \"year_of_birth\": 1937,\n \"gross_wages\": {\n \"earnings\": {\n \"regular_wages\": {\n \"amount\": \"0.00\"\n },\n \"onetime_income\": \"0.00\"\n },\n \"company_car\": {\n \"additional_payments\": 123,\n \"private_trip\": 1\n },\n \"company_pension\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"vwl\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"additional_items\": [\n {\n \"name\": \"<string>\",\n \"amount\": 1\n }\n ]\n },\n \"health_insurer_agency_code\": \"<string>\",\n \"child_allowances\": \"0.00\",\n \"is_church_member\": false,\n \"in_saxony\": false,\n \"care_insurance_children\": 0,\n \"is_factor\": false,\n \"factor\": 0.5005,\n \"private_insurance_monthly\": \"0.00\"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
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.post("https://dev.intermezzo.ai/germany")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"payroll_run\": [\n {\n \"employee_id\": \"<string>\",\n \"year_of_birth\": 1937,\n \"gross_wages\": {\n \"earnings\": {\n \"regular_wages\": {\n \"amount\": \"0.00\"\n },\n \"onetime_income\": \"0.00\"\n },\n \"company_car\": {\n \"additional_payments\": 123,\n \"private_trip\": 1\n },\n \"company_pension\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"vwl\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"additional_items\": [\n {\n \"name\": \"<string>\",\n \"amount\": 1\n }\n ]\n },\n \"health_insurer_agency_code\": \"<string>\",\n \"child_allowances\": \"0.00\",\n \"is_church_member\": false,\n \"in_saxony\": false,\n \"care_insurance_children\": 0,\n \"is_factor\": false,\n \"factor\": 0.5005,\n \"private_insurance_monthly\": \"0.00\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://dev.intermezzo.ai/germany")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payroll_run\": [\n {\n \"employee_id\": \"<string>\",\n \"year_of_birth\": 1937,\n \"gross_wages\": {\n \"earnings\": {\n \"regular_wages\": {\n \"amount\": \"0.00\"\n },\n \"onetime_income\": \"0.00\"\n },\n \"company_car\": {\n \"additional_payments\": 123,\n \"private_trip\": 1\n },\n \"company_pension\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"vwl\": {\n \"employee_contribution\": \"0.00\",\n \"employer_contribution\": \"0.00\"\n },\n \"additional_items\": [\n {\n \"name\": \"<string>\",\n \"amount\": 1\n }\n ]\n },\n \"health_insurer_agency_code\": \"<string>\",\n \"child_allowances\": \"0.00\",\n \"is_church_member\": false,\n \"in_saxony\": false,\n \"care_insurance_children\": 0,\n \"is_factor\": false,\n \"factor\": 0.5005,\n \"private_insurance_monthly\": \"0.00\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "summary": {
    "employee": {
      "gross_wages": "0.00",
      "health_insurance_additional_rate": "0.00",
      "wage_tax": "0.00",
      "solidarity_surcharge": "0.00",
      "church_tax_assessment_basis": "0.00",
      "church_tax": "0.00",
      "pension_contribution": "0.00",
      "health_insurance_contribution": "0.00",
      "care_insurance_contribution": "0.00",
      "unemployment_insurance_contribution": "0.00",
      "net_pay": "0.00"
    },
    "employer": {
      "pension_contribution": "0.00",
      "health_insurance_contribution": "0.00",
      "care_insurance_contribution": "0.00",
      "unemployment_insurance_contribution": "0.00",
      "sick_pay_insurance_contribution": "0.00",
      "maternity_pay_insurance_contribution": "0.00",
      "insolvency_insurance_contribution": "0.00",
      "total_burden": "0.00"
    }
  },
  "gross_to_net": [
    {
      "employee_id": "<string>",
      "current_pay_period": {
        "employee": {
          "gross_wages": "0.00",
          "health_insurance_additional_rate": "0.00",
          "wage_tax": "0.00",
          "solidarity_surcharge": "0.00",
          "church_tax_assessment_basis": "0.00",
          "church_tax": "0.00",
          "pension_contribution": "0.00",
          "health_insurance_contribution": "0.00",
          "care_insurance_contribution": "0.00",
          "unemployment_insurance_contribution": "0.00",
          "net_pay": "0.00"
        },
        "employer": {
          "pension_contribution": "0.00",
          "health_insurance_contribution": "0.00",
          "care_insurance_contribution": "0.00",
          "unemployment_insurance_contribution": "0.00",
          "sick_pay_insurance_contribution": "0.00",
          "maternity_pay_insurance_contribution": "0.00",
          "insolvency_insurance_contribution": "0.00",
          "total_burden": "0.00"
        }
      },
      "execution_history": [
        {
          "flow": "<string>",
          "node": "<string>"
        }
      ]
    }
  ]
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}

Authorizations

Authorization
string
header
required

Get token from Auth0 and paste it here

Body

application/json

Input parameters according to PAP2025

payroll_run
PayrollRequestBase · object[]
required

Response

Successful Response

Output parameters according to PAP2025

summary
PayrollAmountsResponse · object
required
gross_to_net
PayPeriodResponse · object[]
required