ACMEhr API (1.0.0)

Download OpenAPI specification:

License: Apache-2.0

HR system of ACME analog Inc. and system of record for employees (title/role/hierarchy), vacation/absence planning, deputies & assistants, sick days, compensation as well as powers of attorney and approval limits.

This data feeds the approval/e-approval logic (which person may sign off on which amount, who deputizes during an absence) and consumers (who is available/on vacation/sick on day N). It evolves the existing org domain model (Person · OrgUnit · PowerOfAttorney · Absence · Role). The read-only /api/org browsing (people/units/hierarchy) continues to exist alongside it and is the source of people for consumers.

Roles (ACMEbase): WATCH reads, WORK writes operationally, ADMIN maintains master data. Per operation under x-required-role; hierarchy ADMIN > WORK > WATCH.

Employees

Employees (hired) — title, role, hierarchy, deputy/assistant.

List employees

Employees (hired). Applicants are not included — see /applicants.

Authorizations:
bearerAuth
query Parameters
active
boolean

Active/inactive only.

unitId
string

Filter by primary org unit.

q
string

Free text (name/email/title).

Responses

Response Schema: application/json
Array
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null
active
required
boolean
applicant
boolean

Applicant (not yet hired).

primaryOrgUnitId
string or null
primaryOrgUnitName
string or null
managerId
string or null

Reporting line (manager).

deputyIds
Array of strings

Named deputies.

assistantIds
Array of strings
secondaryUnitIds
Array of strings

Matrix/secondary memberships.

compType
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Hourly rate when HOURLY.

Response samples

Content type
application/json
[
  • {
    • "id": "p-julia-jefa",
    • "firstName": "string",
    • "lastName": "string",
    • "fullName": "Julia Jefa",
    • "email": "user@example.com",
    • "jobTitle": "Managing Director",
    • "active": true,
    • "applicant": true,
    • "primaryOrgUnitId": "string",
    • "primaryOrgUnitName": "string",
    • "managerId": "string",
    • "deputyIds": [
      ],
    • "assistantIds": [
      ],
    • "secondaryUnitIds": [
      ],
    • "compType": "HOURLY",
    • "hourlyRate": 0
    }
]

Read employee

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null
active
required
boolean
applicant
boolean

Applicant (not yet hired).

primaryOrgUnitId
string or null
primaryOrgUnitName
string or null
managerId
string or null

Reporting line (manager).

deputyIds
Array of strings

Named deputies.

assistantIds
Array of strings
secondaryUnitIds
Array of strings

Matrix/secondary memberships.

compType
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Hourly rate when HOURLY.

Response samples

Content type
application/json
{
  • "id": "p-julia-jefa",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "Julia Jefa",
  • "email": "user@example.com",
  • "jobTitle": "Managing Director",
  • "active": true,
  • "applicant": true,
  • "primaryOrgUnitId": "string",
  • "primaryOrgUnitName": "string",
  • "managerId": "string",
  • "deputyIds": [
    • "string"
    ],
  • "assistantIds": [
    • "string"
    ],
  • "secondaryUnitIds": [
    • "string"
    ],
  • "compType": "HOURLY",
  • "hourlyRate": 0
}

Maintain overlay (title, manager, deputy, assistant, active)

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Request Body schema: application/json
required
jobTitle
string
managerId
string or null
active
boolean
deputyIds
Array of strings
assistantIds
Array of strings

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null
active
required
boolean
applicant
boolean

Applicant (not yet hired).

primaryOrgUnitId
string or null
primaryOrgUnitName
string or null
managerId
string or null

Reporting line (manager).

deputyIds
Array of strings

Named deputies.

assistantIds
Array of strings
secondaryUnitIds
Array of strings

Matrix/secondary memberships.

compType
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Hourly rate when HOURLY.

Request samples

Content type
application/json
{
  • "jobTitle": "string",
  • "managerId": "string",
  • "active": true,
  • "deputyIds": [
    • "string"
    ],
  • "assistantIds": [
    • "string"
    ]
}

Response samples

Content type
application/json
{
  • "id": "p-julia-jefa",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "Julia Jefa",
  • "email": "user@example.com",
  • "jobTitle": "Managing Director",
  • "active": true,
  • "applicant": true,
  • "primaryOrgUnitId": "string",
  • "primaryOrgUnitName": "string",
  • "managerId": "string",
  • "deputyIds": [
    • "string"
    ],
  • "assistantIds": [
    • "string"
    ],
  • "secondaryUnitIds": [
    • "string"
    ],
  • "compType": "HOURLY",
  • "hourlyRate": 0
}

Applicants

Applicants — candidates before being hired (applicant=true).

List applicants

Authorizations:
bearerAuth
query Parameters
unitId
string

Target org unit.

q
string

Free text (name/title).

Responses

Response Schema: application/json
Array
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null

Target role.

targetOrgUnitId
string or null

Target org unit.

appliedOn
string or null <date>

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "firstName": "string",
    • "lastName": "string",
    • "fullName": "string",
    • "email": "user@example.com",
    • "jobTitle": "string",
    • "targetOrgUnitId": "string",
    • "appliedOn": "2019-08-24"
    }
]

Create applicant

Authorizations:
bearerAuth
Request Body schema: application/json
required
firstName
required
string
lastName
required
string
email
string <email>
jobTitle
string
targetOrgUnitId
string

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null

Target role.

targetOrgUnitId
string or null

Target org unit.

appliedOn
string or null <date>

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "jobTitle": "string",
  • "targetOrgUnitId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "jobTitle": "string",
  • "targetOrgUnitId": "string",
  • "appliedOn": "2019-08-24"
}

Read applicant

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null

Target role.

targetOrgUnitId
string or null

Target org unit.

appliedOn
string or null <date>

Response samples

Content type
application/json
{
  • "id": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "jobTitle": "string",
  • "targetOrgUnitId": "string",
  • "appliedOn": "2019-08-24"
}

Reject/remove application

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response samples

Content type
application/problem+json
{
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string"
}

Hire applicant

Activates the applicant (applicant=false, active=true) as of the given day; they thereby become an employee.

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

query Parameters
day
integer
Default: 0

Day of hiring.

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null
active
required
boolean
applicant
boolean

Applicant (not yet hired).

primaryOrgUnitId
string or null
primaryOrgUnitName
string or null
managerId
string or null

Reporting line (manager).

deputyIds
Array of strings

Named deputies.

assistantIds
Array of strings
secondaryUnitIds
Array of strings

Matrix/secondary memberships.

compType
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Hourly rate when HOURLY.

Response samples

Content type
application/json
{
  • "id": "p-julia-jefa",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "Julia Jefa",
  • "email": "user@example.com",
  • "jobTitle": "Managing Director",
  • "active": true,
  • "applicant": true,
  • "primaryOrgUnitId": "string",
  • "primaryOrgUnitName": "string",
  • "managerId": "string",
  • "deputyIds": [
    • "string"
    ],
  • "assistantIds": [
    • "string"
    ],
  • "secondaryUnitIds": [
    • "string"
    ],
  • "compType": "HOURLY",
  • "hourlyRate": 0
}

Compensation

Compensation (salary/hourly wage) and personnel costs.

Set compensation (salary/hourly wage)

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Request Body schema: application/json
required
compType
required
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Required when HOURLY.

Responses

Response Schema: application/json
id
required
string <= 32 characters
firstName
string
lastName
string
fullName
required
string
email
string or null <email>
jobTitle
string or null
active
required
boolean
applicant
boolean

Applicant (not yet hired).

primaryOrgUnitId
string or null
primaryOrgUnitName
string or null
managerId
string or null

Reporting line (manager).

deputyIds
Array of strings

Named deputies.

assistantIds
Array of strings
secondaryUnitIds
Array of strings

Matrix/secondary memberships.

compType
string (CompensationType)
Enum: "HOURLY" "SALARIED"
hourlyRate
number or null

Hourly rate when HOURLY.

Request samples

Content type
application/json
{
  • "compType": "HOURLY",
  • "hourlyRate": 0
}

Response samples

Content type
application/json
{
  • "id": "p-julia-jefa",
  • "firstName": "string",
  • "lastName": "string",
  • "fullName": "Julia Jefa",
  • "email": "user@example.com",
  • "jobTitle": "Managing Director",
  • "active": true,
  • "applicant": true,
  • "primaryOrgUnitId": "string",
  • "primaryOrgUnitName": "string",
  • "managerId": "string",
  • "deputyIds": [
    • "string"
    ],
  • "assistantIds": [
    • "string"
    ],
  • "secondaryUnitIds": [
    • "string"
    ],
  • "compType": "HOURLY",
  • "hourlyRate": 0
}

Personnel cost overview (weekly)

Authorizations:
bearerAuth

Responses

Response Schema: application/json
salariedCount
required
integer
hourlyCount
required
integer
weeklySalariedEur
required
number
weeklyHourlyEur
required
number
weeklyTotalEur
required
number

Response samples

Content type
application/json
{
  • "salariedCount": 0,
  • "hourlyCount": 0,
  • "weeklySalariedEur": 0,
  • "weeklyHourlyEur": 0,
  • "weeklyTotalEur": 0
}

Roles

Role catalog and role assignments.

Role assignments of the person

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response Schema: application/json
Array
id
required
string
personId
required
string
personName
string
roleId
required
string
roleTitle
string
orgUnitId
string or null
validFrom
string or null <date>
validUntil
string or null <date>

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "personId": "string",
    • "personName": "string",
    • "roleId": "string",
    • "roleTitle": "string",
    • "orgUnitId": "string",
    • "validFrom": "2019-08-24",
    • "validUntil": "2019-08-24"
    }
]

Assign role

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Request Body schema: application/json
required
roleId
required
string
orgUnitId
string or null
validFrom
string or null <date>
validUntil
string or null <date>

Responses

Response Schema: application/json
id
required
string
personId
required
string
personName
string
roleId
required
string
roleTitle
string
orgUnitId
string or null
validFrom
string or null <date>
validUntil
string or null <date>

Request samples

Content type
application/json
{
  • "roleId": "string",
  • "orgUnitId": "string",
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "personId": "string",
  • "personName": "string",
  • "roleId": "string",
  • "roleTitle": "string",
  • "orgUnitId": "string",
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24"
}

Remove role assignment

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

assignmentId
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string"
}

Role catalog

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array
id
required
string
title
required
string
kind
required
string (RoleKind)
Enum: "BUSINESS" "GOVERNANCE" "SYSTEM"
description
string or null

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "title": "Head of Purchasing",
    • "kind": "BUSINESS",
    • "description": "string"
    }
]

Absences

Vacation planning and sick days (absences) with deputy.

Absences of the person (vacation/sick)

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response Schema: application/json
Array
id
required
string
personId
required
string
personName
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
required
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
required
object (DateRange)

Validity period. until=null = open-ended.

substituteId
string or null

Deputy during the absence.

substituteName
string or null
reasonKey
string or null

Business key/reason (e.g. urlaub-1).

note
string or null
workingDays
integer or null

Effective working days (excluding weekend).

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "personId": "string",
    • "personName": "string",
    • "type": "VACATION",
    • "status": "PLANNED",
    • "period": {
      },
    • "substituteId": "string",
    • "substituteName": "string",
    • "reasonKey": "string",
    • "note": "string",
    • "workingDays": 0
    }
]

Search absences (vacation planning, sick days)

Authorizations:
bearerAuth
query Parameters
personId
string
type
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
from
string <date>

Overlap from this day on.

until
string <date>

Overlap up to this day.

Responses

Response Schema: application/json
Array
id
required
string
personId
required
string
personName
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
required
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
required
object (DateRange)

Validity period. until=null = open-ended.

substituteId
string or null

Deputy during the absence.

substituteName
string or null
reasonKey
string or null

Business key/reason (e.g. urlaub-1).

note
string or null
workingDays
integer or null

Effective working days (excluding weekend).

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "personId": "string",
    • "personName": "string",
    • "type": "VACATION",
    • "status": "PLANNED",
    • "period": {
      },
    • "substituteId": "string",
    • "substituteName": "string",
    • "reasonKey": "string",
    • "note": "string",
    • "workingDays": 0
    }
]

Create absence (plan vacation / report sick)

Creates an absence. VACATION starts as PLANNED (approval follows), SICK is usually recorded directly as APPROVED (reported).

Authorizations:
bearerAuth
Request Body schema: application/json
required
personId
required
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

from
required
string <date>
until
required
string <date>
substituteId
string or null
note
string or null

Responses

Response Headers
Location
string

URI of the new resource.

Response Schema: application/json
id
required
string
personId
required
string
personName
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
required
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
required
object (DateRange)

Validity period. until=null = open-ended.

substituteId
string or null

Deputy during the absence.

substituteName
string or null
reasonKey
string or null

Business key/reason (e.g. urlaub-1).

note
string or null
workingDays
integer or null

Effective working days (excluding weekend).

Request samples

Content type
application/json
Example
{
  • "personId": "p-julia-jefa",
  • "type": "VACATION",
  • "from": "2026-07-20",
  • "until": "2026-08-02",
  • "substituteId": "p-dirk-direktor",
  • "note": "Summer vacation"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "personId": "string",
  • "personName": "string",
  • "type": "VACATION",
  • "status": "PLANNED",
  • "period": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "substituteId": "string",
  • "substituteName": "string",
  • "reasonKey": "string",
  • "note": "string",
  • "workingDays": 0
}

Read absence

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response Schema: application/json
id
required
string
personId
required
string
personName
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
required
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
required
object (DateRange)

Validity period. until=null = open-ended.

substituteId
string or null

Deputy during the absence.

substituteName
string or null
reasonKey
string or null

Business key/reason (e.g. urlaub-1).

note
string or null
workingDays
integer or null

Effective working days (excluding weekend).

Response samples

Content type
application/json
{
  • "id": "string",
  • "personId": "string",
  • "personName": "string",
  • "type": "VACATION",
  • "status": "PLANNED",
  • "period": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "substituteId": "string",
  • "substituteName": "string",
  • "reasonKey": "string",
  • "note": "string",
  • "workingDays": 0
}

Change absence (approve/reject/cancel, deputy, period)

Authorizations:
bearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
status
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
substituteId
string or null
from
string <date>
until
string <date>
note
string or null

Responses

Response Schema: application/json
id
required
string
personId
required
string
personName
string
type
required
string (AbsenceType)
Enum: "VACATION" "SICK" "CURE" "TRAINING" "OTHER"

Type of absence.

status
required
string (AbsenceStatus)
Enum: "PLANNED" "APPROVED" "REJECTED" "CANCELLED"
required
object (DateRange)

Validity period. until=null = open-ended.

substituteId
string or null

Deputy during the absence.

substituteName
string or null
reasonKey
string or null

Business key/reason (e.g. urlaub-1).

note
string or null
workingDays
integer or null

Effective working days (excluding weekend).

Request samples

Content type
application/json
{
  • "status": "PLANNED",
  • "substituteId": "string",
  • "from": "2019-08-24",
  • "until": "2019-08-24",
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "personId": "string",
  • "personName": "string",
  • "type": "VACATION",
  • "status": "PLANNED",
  • "period": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "substituteId": "string",
  • "substituteName": "string",
  • "reasonKey": "string",
  • "note": "string",
  • "workingDays": 0
}

Delete absence

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string"
}

PowersOfAttorney

Powers of attorney (Prokura/Handlungsvollmacht) per legal entity.

Powers of attorney of the person

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

Responses

Response Schema: application/json
Array
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "holderId": "string",
    • "holderName": "string",
    • "legalEntityId": "string",
    • "type": "PROKURA",
    • "signatureRule": "SOLE",
    • "limit": {
      },
    • "scope": "string",
    • "validity": {
      },
    • "revoked": true
    }
]

Search powers of attorney

Authorizations:
bearerAuth
query Parameters
holderId
string
legalEntityId
string
includeRevoked
boolean
Default: false

Responses

Response Schema: application/json
Array
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "holderId": "string",
    • "holderName": "string",
    • "legalEntityId": "string",
    • "type": "PROKURA",
    • "signatureRule": "SOLE",
    • "limit": {
      },
    • "scope": "string",
    • "validity": {
      },
    • "revoked": true
    }
]

Grant power of attorney

Authorizations:
bearerAuth
Request Body schema: application/json
required
holderId
required
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
validFrom
required
string <date>
validUntil
string or null <date>

Responses

Response Schema: application/json
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Request samples

Content type
application/json
{
  • "holderId": "string",
  • "legalEntityId": "string",
  • "type": "PROKURA",
  • "signatureRule": "SOLE",
  • "limit": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "scope": "string",
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "holderId": "string",
  • "holderName": "string",
  • "legalEntityId": "string",
  • "type": "PROKURA",
  • "signatureRule": "SOLE",
  • "limit": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "scope": "string",
  • "validity": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "revoked": true
}

Read power of attorney

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response Schema: application/json
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Response samples

Content type
application/json
{
  • "id": "string",
  • "holderId": "string",
  • "holderName": "string",
  • "legalEntityId": "string",
  • "type": "PROKURA",
  • "signatureRule": "SOLE",
  • "limit": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "scope": "string",
  • "validity": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "revoked": true
}

Revoke power of attorney

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response Schema: application/json
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Response samples

Content type
application/json
{
  • "id": "string",
  • "holderId": "string",
  • "holderName": "string",
  • "legalEntityId": "string",
  • "type": "PROKURA",
  • "signatureRule": "SOLE",
  • "limit": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "scope": "string",
  • "validity": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    },
  • "revoked": true
}

ApprovalLimits

Approval limits — who may sign off up to which amount.

Effective approval limit of the person on a given date

Returns the approval limit effective on the given date (resolved from active powers of attorney or an explicitly maintained limit). Does NOT account for deputies — that is handled by e-approval resolution.

Authorizations:
bearerAuth
path Parameters
id
required
string <= 32 characters

Natural person key.

query Parameters
on
string <date>

Reference date (default = today / current day).

legalEntityId
string

Restrict to one legal entity.

Responses

Response Schema: application/json
personId
required
string
personName
string
legalEntityId
string or null
required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

signatureRule
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

source
required
string
Enum: "POWER_OF_ATTORNEY" "EXPLICIT"

Origin of the limit.

object (DateRange)

Validity period. until=null = open-ended.

Response samples

Content type
application/json
{
  • "personId": "string",
  • "personName": "string",
  • "legalEntityId": "string",
  • "maxAmount": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "signatureRule": "SOLE",
  • "source": "POWER_OF_ATTORNEY",
  • "validity": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    }
}

List approval limits

Authorizations:
bearerAuth
query Parameters
personId
string
on
string <date>

Reference date (default = today / current day).

Responses

Response Schema: application/json
Array
personId
required
string
personName
string
legalEntityId
string or null
required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

signatureRule
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

source
required
string
Enum: "POWER_OF_ATTORNEY" "EXPLICIT"

Origin of the limit.

object (DateRange)

Validity period. until=null = open-ended.

Response samples

Content type
application/json
[
  • {
    • "personId": "string",
    • "personName": "string",
    • "legalEntityId": "string",
    • "maxAmount": {
      },
    • "signatureRule": "SOLE",
    • "source": "POWER_OF_ATTORNEY",
    • "validity": {
      }
    }
]

Set explicit approval limit

Sets an explicitly maintained approval limit (overrides the one derived from powers of attorney).

Authorizations:
bearerAuth
Request Body schema: application/json
required
personId
required
string
legalEntityId
string or null
required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

validFrom
string or null <date>
validUntil
string or null <date>

Responses

Response Schema: application/json
personId
required
string
personName
string
legalEntityId
string or null
required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

signatureRule
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

source
required
string
Enum: "POWER_OF_ATTORNEY" "EXPLICIT"

Origin of the limit.

object (DateRange)

Validity period. until=null = open-ended.

Request samples

Content type
application/json
{
  • "personId": "string",
  • "legalEntityId": "string",
  • "maxAmount": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "validFrom": "2019-08-24",
  • "validUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "personId": "string",
  • "personName": "string",
  • "legalEntityId": "string",
  • "maxAmount": {
    • "amount": 50000,
    • "currency": "EUR",
    • "unlimited": false
    },
  • "signatureRule": "SOLE",
  • "source": "POWER_OF_ATTORNEY",
  • "validity": {
    • "from": "2019-08-24",
    • "until": "2019-08-24"
    }
}

Authorized signatories for an amount on a given date

Who may sign off on the given amount for this legal entity on the given date (from active powers of attorney).

Authorizations:
bearerAuth
path Parameters
legalEntityId
required
string
query Parameters
amount
required
number
currency
string = 3 characters
Default: "EUR"
on
string <date>

Reference date (default = today / current day).

Responses

Response Schema: application/json
Array
id
required
string
holderId
required
string
holderName
string
legalEntityId
required
string
type
required
string (PowerOfAttorneyType)
Enum: "PROKURA" "HANDLUNGSVOLLMACHT" "GENERAL" "SPECIAL"
signatureRule
required
string (SignatureRule)
Enum: "SOLE" "JOINT"

SOLE = sole signing authority, JOINT = only jointly.

required
object (Money)

Monetary amount. unlimited=true → no amount limit (then amount/currency are empty).

scope
string or null
object (DateRange)

Validity period. until=null = open-ended.

revoked
required
boolean

Response samples

Content type
application/json
[
  • {
    • "id": "string",
    • "holderId": "string",
    • "holderName": "string",
    • "legalEntityId": "string",
    • "type": "PROKURA",
    • "signatureRule": "SOLE",
    • "limit": {
      },
    • "scope": "string",
    • "validity": {
      },
    • "revoked": true
    }
]