For AI agents: the complete documentation index is at https://api-doc.talent360.io/llms.txt. Every page is also available as Markdown by appending index.md to its URL or by sending Accept: text/markdown.
API Referenz

4 endpoints

Einsatzorte lesen und anlegen.

Ein Einsatzort hängt immer an einer Betriebsstätte. Die Reihenfolge beim Anlegen ist damit vorgegeben: erst Firma, dann Betriebsstätte, dann Einsatzort.

Einen Änderungsendpunkt gibt es nicht — eine Korrektur bedeutet in der Praxis, einen neuen Einsatzort anzulegen und den alten fachlich außer Betrieb zu nehmen.

Einsatzort ändern

PUT /customers/{customerId}/offices/{officeId}/locations/{locationId}

Neu in V 3.4.0: Ändert die Daten eines Einsatzortes: Bezeichnung, Anfahrtshinweise, Ansprechpartner, externe Id und Adresse. Es werden ausschließlich die im Request-Body übermittelten Felder geändert; nicht übermittelte Felder bleiben unverändert (einzige Ausnahme: das Bundesland beim Länderwechsel, siehe unten).

Das Umhängen auf eine andere Betriebsstätte ist nicht möglich: Die Betriebsstätte kommt aus der Route, ein officeId im Body wird nicht ausgewertet. Diese Einschränkung gilt systemweit, auch talent.Flow kann einen Einsatzort nicht umhängen.

Gehört der Einsatzort zu einer anderen Betriebsstätte oder die Betriebsstätte zu einer anderen Firma, antwortet der Endpunkt mit 404.

Eine Adressänderung berechnet die Koordinaten neu; geoLat/geoLon sind nicht schreibbar. Schlägt die Geokodierung fehl, bleiben vorhandene Koordinaten erhalten.

Länderwechsel: Wird location.countryId auf ein anderes Land geändert und location.federalStateId nicht mitgeschickt, leert die API das gespeicherte Bundesland, so wie talent.Flow beim Länderwechsel. Ein mitgeschicktes federalStateId gilt unverändert. Bleibt countryId unverändert, bleibt auch das Bundesland stehen.

Enthält location.street Straße und Hausnummer und fehlt streetNumber, zerlegt die API den Wert selbst: Das letzte Wort wird zur Hausnummer, wenn es mit einer Ziffer beginnt.

createdAtUtc wird beim Ändern übernommen, gedacht für Importe, die das Erstelldatum des Quellsystems nachtragen. Der Änderungszeitpunkt bleibt der Zeitpunkt des Aufrufs.

Angelegt wird ein Einsatzort über POST /customers/{customerId}/offices/{officeId}/locations, gelesen über GET /customers/locations/{locationId}.

Parameters

Name In Type Required Description
customerId path integer yes Identifikation des Kunden
locationId path integer yes Identifikation des Einsatzortes
officeId path integer yes Identifikation der Betriebsstätte, zu der der Einsatzort gehört

Request body

Required.

Zu ändernde Daten des Einsatzortes. Nur die übermittelten Felder werden geändert.

Content type: application/json

Property Type Required Description
description string null no
directions string null no
contactId integer (int32) null no
importExternalId string null no
createdAtUtc string (date-time) null no
location AddressCreateDto no Adresse des Einsatzortes. Eine Adressänderung berechnet die Koordinaten neu; geoLat und geoLon sind nicht schreibbar. Adresszeilen führt der Einsatzort nicht.

Responses

204 — Einsatzort geändert — die API antwortet ohne Inhalt.

400 — Ungültige Anfrage oder Validierungsfehler

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

404 — Firma, Betriebsstätte oder Einsatzort nicht gefunden — auch dann, wenn der Einsatzort zu einer anderen Betriebsstätte gehört.

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

Einsatzort lesen

GET /customers/locations/{locationId}

Liest die Detaildaten eines Einsatzorts anhand seiner Id, einschließlich Adresse, Anfahrtshinweisen sowie der zugehörigen Firma und Betriebsstätte. Der Einsatzort wird direkt adressiert, Firma und Betriebsstätte müssen nicht mit angegeben werden. Angelegt wird ein Einsatzort über POST /customers/{customerId}/offices/{officeId}/locations, geändert über PUT /customers/{customerId}/offices/{officeId}/locations/{locationId}; die Einsatzorte einer Betriebsstätte stehen außerdem in der Liste locations an GET /customers/offices/{officeId}.

Neu in V 3.4.0:

  • importExternalId und importedAtUtc werden ausgegeben. Bisher waren beide Felder an Einsatzorten immer null, obwohl der Wert beim Anlegen gespeichert wurde.
  • Eine unbekannte oder gelöschte Id liefert 404 mit ErrorResponse. Bisher antwortete der Endpunkt in diesem Fall mit 204 ohne Inhalt.

Parameters

Name In Type Required Description
locationId path integer yes Identifikation des Standorts

Responses

200 — OK

Property Type Required Description
customerId integer (int32) no Identifikation des Kunden
customerName string null no
officeId integer (int32) no Identifikation der Niederlassung
officeDescription string null no
id integer (int32) no Eindeutige Identifikation des Standorts
description string null no
contactId integer (int32) null no
importedAtUtc string (date-time) null no
importExternalId string null no
address AddressReadDto no Adresse des Standorts
directions string null no

404 — Einsatzort nicht gefunden

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

Einsatzort anlegen

POST /customers/{customerId}/offices/{officeId}/locations

Mit diesem Endpunkt kann man einen Einsatzort anlegen.

Parameters

Name In Type Required Description
customerId path integer yes Identifikation des Kunden
officeId path integer yes Identifikation der Niederlassung

Request body

Content type: application/json

Property Type Required Description
createdAtUtc string (date-time) null no
description string null no
directions string null no
contactId integer (int32) null no
importExternalId string null no
location AddressCreateDto no Adresse des Standorts

Responses

200 — OK

Property Type Required Description
id integer (int32) no Eindeutige Identifikation des erzeugten Datensatzes

400 — Ungültige Anfrage oder Validierungsfehler

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

404 — Firma nicht gefunden

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

Einsatzort löschen

DELETE /customers/{customerId}/offices/{officeId}/locations/{locationId}

Neu in V 3.4.0: Löscht einen Einsatzort der Betriebsstätte, etwa um Löschungen aus einem Fremdsystem zu spiegeln oder Testdaten zu entfernen.

Gelöscht wird als Soft-Delete, genau wie in talent.Flow: Der Einsatzort wird deaktiviert; GET /customers/locations/{locationId} liefert anschließend 404. Berufe des Einsatzorts und Anfragen, die auf ihn verweisen, bleiben unverändert bestehen. In der Firmenhistorie entsteht eine Aktivität „Einsatzort … gelöscht".

Die ganze Kette muss stimmen: Die Betriebsstätte gehört zur Firma und der Einsatzort zur Betriebsstätte, sonst 404. Ein bereits gelöschter Einsatzort ergibt ebenfalls 404.

Parameters

Name In Type Required Description
customerId path integer yes Identifikation des Kunden
locationId path integer yes Identifikation des Einsatzorts
officeId path integer yes Identifikation der Betriebsstätte

Responses

204 — Einsatzort gelöscht — die API antwortet ohne Inhalt.

400 — Ungültige Anfrage oder Validierungsfehler

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler

404 — Firma, Betriebsstätte oder Einsatzort nicht gefunden — auch dann, wenn die Kette Firma → Betriebsstätte → Einsatzort nicht stimmt oder der Einsatzort bereits gelöscht ist.

Property Type Required Description
messageGuid string (uuid) null no
message string null no
validationErrors ValidationError[] no Liste der Validierungsfehler