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

26 endpoints

Alles, was an einem einzelnen Bewerber hängt: Stammdaten anlegen und ändern, Kontaktwege, Profil, Werdegang, Status und Arbeitsvertrag.

Zwei Dinge, die man kennen sollte:

  • PUT /candidates/{candidateId} ist ein Teil-Update — es werden nur die übermittelten Felder geändert. Sie müssen den Datensatz nicht vollständig zurückschicken.
  • Die vier DELETE-Endpunkte dieses Bereichs (Führerschein, Sprache, Beruf, Qualifikation) sind die einzigen Löschendpunkte der gesamten API.

Ein über POST /candidates angelegter Bewerber wird in talent.Flow erst sichtbar, wenn zu ihm mindestens eine Bewerbung existiert.

GET/candidates/export/candidates/{candidateId}BewerberdetailsPOST/candidatesStammdaten anlegenPOST/candidates/{id}/applyBewerbung zu einem Bewerber anlegenPOST/candidates/{id}/emailEmail hinzufügenPOST/candidates/{id}/smsSms hinzufügenPOST/candidates/{id}/whatsappWhats App hinzufügenPOST/candidates/{id}/picturesProfilbild hochladenPOST/candidates/{id}/professionsBerufe anlegenPOST/candidates/{id}/keywordsKeywords anlegenPOST/candidates/{id}/qualificationsQualifikation anlegenPOST/candidates/{id}/languagesSprache anlegenPOST/candidates/{id}/driverslicencesFührerschein anlegenPOST/candidates/{id}/resume/jobsBeruflichen Werdegang anlegenPOST/candidates/{id}/resume/professioneducationsBerufsausbildung anlegenPOST/candidates/{id}/resume/schooleducationsSchulbildung anlegenPOST/candidates/{id}/resume/educationsWeiterbildung anlegenPUT/candidates/{candidateId}Bewerberstammdaten ändernPUT/candidates/{id}/statusBewerber archivieren/ablehnen/qualifizieren/einstellenPUT/candidates/{candidateId}/workcontractBewerber ArbeitsvertragPUT/candidates/{candidateId}/endofoperationBewerber Ende der EinsatzzeitPUT/candidates/{candidateId}/languages/{languageId}Sprache ändernDELETE/candidates/{candidateId}/keywords/{keywordId}Schlagwort löschenDELETE/candidates/{candidateId}/languages/{languageId}Sprache löschenDELETE/candidates/{id}/professions/{professionId}Berufe löschenDELETE/candidates/{candidateId}/driverslicences/{driversLicenseId}Führerschein löschenDELETE/candidates/{id}/qualifications/{qualificationId}Qualifikationen löschen

Bewerberdetails

GET /candidates/export/candidates/{candidateId}

Dieser Endpunkt gibt ein spezifischer Bewerber zurück.

ACHTUNG! Dies sind sensible Daten welche gemäß der DSGVO besonders vertraulich behandelt werden müssen.

Parameters

Name In Type Required Description
candidateId path integer (int32) yes Numerische Kennung des Bewerbers (Id), wie sie POST /candidates zurückgibt. Die Guid aus GET /candidates wird nicht akzeptiert (400).

Responses

200 — OK

Property Type Required Description
id integer (int32) no Identifikation des Dokumentes
createdAtUtc string (date-time) no Erstelldatum des Bewerbers
status Status no Status des Bewerbers
salutation string null no
title string null no
firstName string null no
lastName string null no
fullName string null no
age string null no
description string null no
contact ContactExportDto no Kontaktdaten des Bewerbers
location LocationExportDto no Standort des Bewerbers
birth BirthExportDto no Geburtsangaben des Bewerbers
gender GenderDto no Geschlecht des Bewerbers
personalStatus PersonalStatusExportDto no Persönlicher Status des Bewerbers
availability AvailabilityExportDto no Verfügbarkeit des Bewerbers
disability DisabilityExportDto no Angaben zur Behinderung des Bewerbers
mobility MobilityExportDto no Angaben zur Mobilität des Bewerbers
desiredWorkLocation DesiredWorkLocationExportDto no Gewünschter Arbeitsort des Bewerbers
shifts ShiftsDto[] no Bevorzugte Schichten
workingPreferences WorkingPreferencesExportDto no Arbeitspräferenzen des Bewerbers
salaryExpectations SalaryExpectationsExportDto no Gehaltsvorstellungen des Bewerbers
placementTypes PlacementTypesDto no Gewünschte Vermittlungsarten des Bewerbers
professionalProfile ProfessionalProfileDto no Berufliches Profil des Bewerbers
languages LanguagesDto[] no Sprachkenntnisse des Bewerbers
driversLicenses DriverslicensesDto[] no Führerscheine des Bewerbers
education EducationDto[] no Schulbildung
resume ResumeDto[] no Lebenslauf
schoolEducations SchoolEducationDto[] no Schulische Ausbildung des Bewerbers
professionEducations ProfessionEducationDto[] no Berufsausbildung des Bewerbers
industryKnowledge string[] no Branchenkenntnisse
keywords string[] no Schlagworte
professions string[] no Berufe / Einsatzgebiete
professionObjects ProfessionDto[] no Berufe / Einsatzgebiete als Objekte mit Kennung und Bezeichnung
qualifications string[] no Qualifikationen
qualificationsWithScore QualificationsDto[] no Qualifikationen mit Bewertung
profileImage string null no
privacyPolicy PrivacyPolicyExportDto no Angaben zur Datenschutzerklärung
responsibility ResponsibilityExportDto no Zuständigkeit für den Bewerber
candidateStatus CandidateStatusExportDto no Status des Bewerbers
applications ApplicationDto[] no Bewerbungen des Bewerbers

404 — Bewerber nicht gefunden

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

Stammdaten anlegen

POST /candidates

Mit diesem Endpunkt kann man die Stammdaten eines Kandidaten anlegen.

ACHTUNG! Ein Kandidat wird in talent.Flow nur angezeigt wenn zu dem Kandidaten auch mindestens eine Bewerbung angelegt wurde!

Neu in V 3.4.0:

  • contact.phoneNumber und contact.mobileNumber werden beide gespeichert. Bisher ging phoneNumber verloren, wenn beide Felder befüllt waren. Wer nur eines der beiden Felder sendet, ist nicht betroffen.

Angekündigt: Telefonnummern werden künftig gegen den internationalen Rufnummernkatalog geprüft. Derzeit wird nichts abgelehnt: Ein Wert, der keine existierende Rufnummer ist, wird gespeichert und nur protokolliert. Eine Ablehnung mit 400 und validationErrors wird vorher angekündigt. Festnetznummern sind zulässig; nicht bestehen würden Werte wie abc, 1 oder eine zu kurze Nummer wie 0171 123.

Request body

Content type: application/json

Property Type Required Description
createdAtUtc string (date-time) null no
salutationId integer (int32) null no
genderId integer (int32) null no
title string null no
firstName string null no
lastName string null no
fullName string null no
description string null no
contact ContactDto no Kontaktdaten des Bewerbers
location LocationDto no Standort des Bewerbers
birth BirthDto no Geburtsangaben des Bewerbers
availability AvailabilityDto no Verfügbarkeit des Bewerbers
disability DisabilityDto no Angaben zur Schwerbehinderung des Bewerbers
mobility MobilityDto no Mobilität des Bewerbers
workingPreferences WorkingPreferencesDto no Arbeitspräferenzen des Bewerbers
salaryExpectations SalaryExpectationsDto no Gehaltsvorstellung des Bewerbers
personalStatus PersonalStatusDto no Persönlicher Status des Bewerbers
professionalProfile ProfessionalProfileDto no Berufliches Profil des Bewerbers
desiredWorkLocation DesiredWorkLocationDto no Gewünschter Arbeitsort des Bewerbers
placementTypes PlacementTypesDto no Gewünschte Vermittlungsarten des Bewerbers
privacyPolicy PrivacyPolicyDto no Datenschutzeinwilligung des Bewerbers
responsibility ResponsibilityDto no Zuständigkeit für den Bewerber
candidateStatus CandidateStatusDto no Status des Bewerbers

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

Bewerbung zu einem Bewerber anlegen

POST /candidates/{id}/apply

Mit diesem Endpunkt kann eine Bewerbung für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Die RecruiterId kann über die Benutzer ermittelt werden.

Optional kann noch eine jobAdId mitgeliefert werden, die auf einen existierenden JobAd verweisen muss.

Optional kann noch eine channelId mitgeliefert werden, die auf einen existierenden Kanal verweisen muss. Im Standard wird der Kanal "Import" (51) verwendet. Sowohl die jobAdId als auch die channelId sind als Ganzzahl anzugeben.

Wird eine jobAdId mitgeliefert, übernimmt die API den Berufstitel der Stellenanzeige als Schlagwort am Bewerber.

Neu in V 3.4.0:

  • Das Schlagwort aus dem Berufstitel wird bei Bedarf angelegt. Bisher schlug der Aufruf mit INVALIDDATA fehl, wenn der Titel noch nicht als Schlagwort existierte, obwohl die Bewerbung bereits angelegt war, und ein zweiter Versuch lief in die Dublettenprüfung.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
jobAdTitle string null no
recruiterId integer (int32) null no
createdAtUtc string (date-time) null no
jobAdId integer (int32) null no
channelId integer (int32) null no

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 — Bewerber nicht gefunden

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

Email hinzufügen

POST /candidates/{id}/email

Mit diesem Endpunkt kann eine Email für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
userId integer (int32) null no
messageStatus MessageStatus no Status der Nachricht
eventDateTimeUtc string (date-time) null no
receiver string null no
subject string null no
sender string null no
messageHtml string null no
messageText string null no

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 — Bewerber nicht gefunden

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

Sms hinzufügen

POST /candidates/{id}/sms

Mit diesem Endpunkt kann eine SMS für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
userId integer (int32) null no
messageStatus MessageStatus no Status der Nachricht
eventDateTimeUtc string (date-time) null no
receiverNumber string null no
senderNumber string null no
message string null no

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 — Bewerber nicht gefunden

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

Whats App hinzufügen

POST /candidates/{id}/whatsapp

Mit diesem Endpunkt kann eine WhatsApp Nachricht für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
userId integer (int32) null no
messageStatus MessageStatus no Status der Nachricht
eventDateTimeUtc string (date-time) null no
receiverNumber string null no
senderNumber string null no
message string null no

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 — Bewerber nicht gefunden

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

Profilbild hochladen

POST /candidates/{id}/pictures

Mit diesem Endpunkt kann ein Profilbild für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Das Bild muss als Base64 codierter String übergeben werden.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
base64Image string null no

Responses

200 — OK

Property Type Required Description
success boolean no Gibt an, ob die Operation erfolgreich war

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 — Bewerber nicht gefunden

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

Berufe anlegen

POST /candidates/{id}/professions

Mit diesem Endpunkt kann ein Beruf für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Für die professionId ist die DKZID des BA Kataloges zu verwenden.

Neu in V 3.4.0:

  • Ein bereits zugeordneter Beruf wird nicht doppelt angelegt, eine zuvor gelöschte Zuordnung wird reaktiviert. In beiden Fällen antwortet der Endpunkt mit 200 und derselben id wie beim ersten Anlegen: der DKZID, die auch DELETE /candidates/{id}/professions/{professionId} erwartet.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
professionId integer (int32) no Identifikation des Berufs: DKZID aus dem Katalog der Bundesagentur für Arbeit. Nicht die Id aus professionObjects[].id der Bewerberdetails — diese ist eine interne Zuordnungs-Id und wird mit 400 (NotExisting) abgelehnt.

Responses

200 — OK — id enthält die übergebene professionId (DKZID), nicht die Id der erzeugten Zuordnung (die liefert professionObjects[].id der Bewerberdetails). Das gilt bei jedem Aufruf — auch wenn die Zuordnung bereits bestand oder reaktiviert wurde. Die Id wird unverändert in DELETE /candidates/{id}/professions/{professionId} verwendet.

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 — Bewerber nicht gefunden

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

Keywords anlegen

POST /candidates/{id}/keywords

Mit diesem Endpunkt kann ein Keyword für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Neu in V 3.4.0:

  • Ein bereits zugeordnetes Schlagwort wird nicht doppelt angelegt, eine zuvor gelöschte Zuordnung wird reaktiviert. In beiden Fällen antwortet der Endpunkt mit 200 und derselben id wie beim ersten Anlegen: der Id des Schlagwort-Stammsatzes, die auch DELETE /candidates/{candidateId}/keywords/{keywordId} erwartet.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
keyword string null no

Responses

200 — OK — id ist die Id des Schlagworts (Stammsatz), nicht die Id der Zuordnung zum Bewerber. Sie ist bei jedem Aufruf mit demselben Schlagwort identisch — auch wenn die Zuordnung bereits bestand oder reaktiviert wurde — und wird unverändert in DELETE /candidates/{candidateId}/keywords/{keywordId} verwendet.

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 — Bewerber nicht gefunden

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

Qualifikation anlegen

POST /candidates/{id}/qualifications

Mit diesem Endpunkt kann eine Qualifikation für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Zusätzlich kann ein Score im Bereich von 1 bis 5 oder alternativ der Wert null angegeben werden.

Neu in V 3.4.0:

  • Eine bereits zugeordnete Qualifikation wird nicht doppelt angelegt, eine zuvor gelöschte Zuordnung wird reaktiviert. In beiden Fällen antwortet der Endpunkt mit 200 und derselben id wie beim ersten Anlegen: der Id des Qualifikations-Stammsatzes, die auch DELETE /candidates/{id}/qualifications/{qualificationId} erwartet.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
qualification string null no
score integer (int32) null no

Responses

200 — OK — id ist die Id der Qualifikation (Stammsatz, dieselbe Id wie in qualificationsWithScore[].id der Bewerberdetails), nicht die Id der Zuordnung zum Bewerber. Sie ist bei jedem Aufruf mit derselben Qualifikation identisch — auch wenn die Zuordnung bereits bestand oder reaktiviert wurde — und wird unverändert in DELETE /candidates/{id}/qualifications/{qualificationId} verwendet.

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 — Bewerber nicht gefunden

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

Sprache anlegen

POST /candidates/{id}/languages

Mit diesem Endpunkt kann eine Sprache für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Folgende languageIds sind gültig:

Id Bezeichnung
1 Deutsch
2 Gälisch/Irisch
3 Färöisch
4 Tschechisch
5 Kroatisch
6 Lettisch
7 Telugu
8 Letzeburgisch (Luxemburg)
9 Spanisch
10 Tschetschenisch
11 Esperanto
12 Katalan
13 Englisch (Amerikanisches Englisch)
14 Pakistanisch/Urdu
15 Ukrainisch
16 Englisch (Wirtschafts-, Businessenglisch)
17 Paschtu/Paschto/Pashto (Afghanistan)
18 Gebärdensprache/unterstützte Kommunikation (UK)
19 Taiwanisch
20 Serbisch
21 Filipino (Tagalog)
22 Litauisch
23 Tigrinja (Eritrea)
24 Jiddisch
25 Englisch
26 Hausa (Westafrika)
27 Vietnamesisch
28 Japanisch
29 Weißrussisch
30 Tibetisch
32 Türkisch
33 Thai
34 Albanisch
35 Russisch
36 Mazedonisch
37 Griechisch
38 Englisch (Technisches Englisch)
39 Finnisch
40 Schwedisch
42 Malayalam
43 Rumänisch
44 Gujarati
45 Tamil
46 Italienisch
47 Singhalesisch
48 Koreanisch
49 Arabisch
50 Chinesisch
51 Akan/Twi (Westafrika)
52 Aserbaidschanisch
54 Niederländisch/Flämisch
55 Hebräisch
56 Usbekisch
57 Yoruba (Westafrika)
58 Amharisch (Äthiopien)
59 Indonesisch
60 Suaheli (Ostafrika)
61 Punjabi
62 Bambara (Westafrika, Mali)
63 Bulgarisch
64 Afrikaans
65 Mongolisch
66 Estnisch
67 Norwegisch
68 Armenisch
69 Portugiesisch
70 Bengali
71 Ungarisch
72 Aramäisch/Syrisch
73 Sorbisch/Wendisch
74 Uigurisch
75 Kasachisch
76 Kurdisch
77 Kirgisisch
78 Hindi
79 Marathi
80 Kambodschanisch (Khmer)
81 Dänisch
82 Georgisch
83 Somali
84 Slowakisch
85 Französisch
86 Polnisch
87 Nepalesisch
88 Romani
89 Jamaika-Kreolisch (Patois)
90 Persisch/Dari/Farsi
91 Friesisch
92 Latein
93 Slowenisch
94 Birmanisch
95 Laotisch
96 Isländisch
97 Bosnisch

Folgende languageLevelIds sind gültig:

Id Bezeichnung
629 A1 - Elementarstufe 1
630 A2 - Elementarstufe II
631 B1 - Mittelstufe I
632 B2 - Mittelstufe 2
633 C1 - Fortgeschrittene I
634 C2 - Fortgeschrittene 2
635 Muttersprache

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
languageId integer (int32) no Kennung der Sprache
levelId integer (int32) no Kennung des Sprachniveaus

Responses

200 — OK — id enthält die übergebene languageId, nicht die Id der erzeugten Sprachkenntnis (die liefert languages[].id der Bewerberdetails).

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 — Bewerber nicht gefunden

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

Führerschein anlegen

POST /candidates/{id}/driverslicences

Mit diesem Endpunkt kann ein Führerschein für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Folgende driverLicenceIds sind gültig:

Id Beschreibung
313 Fahrerlaubnisklasse L (land-, forstw. Zugmaschinen, alt: 5)
314 Fahrerlaubnisklasse C1 (Leichte LKW, alt: 3)
315 Lokomotiv-/Triebfahrzeugführerschein Klasse 1
316 Seminarerlaubnis ASP (Fahrlehrerausbildung)
317 Fahrerlaubnisklasse T (Große Traktoren)
318 Fahrerkarte
319 Fahrerlaubnisklasse D1 (Kleine Omnibusse, alt: 2B)
320 Fahrerlaubnisklasse Mofa und Krankenfahrstühle
321 Fahrlehrerschein/Fahrlehrerlaubnis Klasse BE (alt: Kl. 3)
322 Fahrerlaubnisklasse CE (Schwere LKW mit Anhänger, alt: 2)
323 Fahrerlaubnisklasse S (3-räd.Kleinkraft.,4-räd.Leichtkraft.)
324 Fahrerlaubnisklasse DE (Omnibusse mit Anhänger, alt: 2B)
325 Fahrerlaubnisklasse M (Moped, Mokick, alt: 4)
326 Führerschein Gabelstapler, Flurförderzeuge
327 Fahrabzeichen (Gespanne)
328 Fahrerlaubnisklasse D1E (Kl. Omnibusse m. Anhänger, alt: 2B)
329 Fahrerlaubnisklasse D (Omnibusse, alt: 2B)
330 Seminarerlaubnis ASF (Fahrlehrerausbildung)
331 Fahrerlaubnisklasse C1E (Leichte LKW mit Anhänger, alt: 3)
332 Fahrlehrerschein/Fahrlehrerlaubnis Klasse CE (alt: Kl. 2)
333 Fahrerlaubnisklasse C (Schwere LKW, alt: 2)
334 Fahrerlaubnisklasse A (Motorräder, alt: 1, 1a)
335 Fahrlehrerschein/Fahrlehrerlaubnis Klasse A (alt: Kl. 1)
336 Führerschein Baumaschinen
337 Fahrerlaubnisklasse A1 (Leichtkrafträder, alt: 1b)
338 Fahrlehrerschein/Fahrlehrerlaubnis Klasse DE
339 Fahrerlaubnisklasse B (PKW/Kleinbusse, alt: 3)
340 Fahrerlaubnisklasse Fahrgastbeförd. (Taxen, Krankenkraftw.)
341 Fahrerlaubnisklasse BE (PKW/Kleinbusse mit Anhänger, alt: 3)
342 Lokomotiv-/Triebfahrzeugführerschein Klasse 2
343 Lokomotiv-/Triebfahrzeugführerschein Klasse 3

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
driversLicenseId integer (int32) no Kennung des Führerscheins (Id)

Responses

200 — OK — id enthält die übergebene driversLicenseId, nicht die Id der erzeugten Zuordnung.

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 — Bewerber nicht gefunden

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

Beruflichen Werdegang anlegen

POST /candidates/{id}/resume/jobs

Mit diesem Endpunkt kann einen beruflichen Werdegang für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
title string null no
company string null no
city string null no
countryId integer (int32) null no
description string null no
startDateMonth integer (int32) null no
startDateYear integer (int32) null no
endDateMonth integer (int32) null no
endDateYear integer (int32) null no
endCurrent boolean null no
hasManagementExperience boolean no Gibt an, ob Führungserfahrung vorliegt
hasProjectExperience boolean no Gibt an, ob Projekterfahrung vorliegt
testimonyId integer (int32) null no

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 — Bewerber nicht gefunden

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

Berufsausbildung anlegen

POST /candidates/{id}/resume/professioneducations

Mit diesem Endpunkt kann eine Berufsausbildung für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
title string null no
company string null no
city string null no
countryId integer (int32) null no
description string null no
startDateMonth integer (int32) null no
startDateYear integer (int32) null no
endDateMonth integer (int32) null no
endDateYear integer (int32) null no
endCurrent boolean null no

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 — Bewerber nicht gefunden

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

Schulbildung anlegen

POST /candidates/{id}/resume/schooleducations

Mit diesem Endpunkt kann eine Schule für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
degreeId integer (int32) null no
unmappedDegree string null no
field string null no
school string null no
city string null no
countryId integer (int32) null no
description string null no
startDateMonth integer (int32) null no
startDateYear integer (int32) null no
endDateMonth integer (int32) null no
endDateYear integer (int32) null no
endCurrent boolean null no

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 — Bewerber nicht gefunden

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

Weiterbildung anlegen

POST /candidates/{id}/resume/educations

Mit diesem Endpunkt kann eine Weiterbildung für einen Kandidaten angelegt werden.

Es wird die KandidatenId benötigt, welche beim Anlegen der Stammdaten zurück gegeben wird.

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
title string null no
organization string null no
city string null no
countryId integer (int32) null no
description string null no
startDateMonth integer (int32) null no
startDateYear integer (int32) null no
endDateMonth integer (int32) null no
endDateYear integer (int32) null no
endCurrent boolean null no

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 — Bewerber nicht gefunden

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

Bewerberstammdaten ändern

PUT /candidates/{candidateId}

Ändert die Stammdaten eines Bewerbers. Es werden ausschließlich die im Request-Body übermittelten Felder geändert — nicht übermittelte Felder bleiben unverändert. Das gilt auch innerhalb der Sub-Objekte (contact, location, birth …): Ein übermitteltes Sub-Objekt ersetzt nicht den ganzen Block, sondern nur dessen enthaltene Felder. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt. Listenartige Angaben wie Berufe, Sprachen, Qualifikationen oder Führerscheine werden hierüber nicht gepflegt, dafür gibt es eigene Endpunkte unter /candidates/{id}/…. Der Bewerberstatus wird über PUT /candidates/{id}/status gesetzt. Die zulässigen Werte der Katalog-Ids (genderId, levelId, driversLicenseId, professionId, countryId …) liefern die Stammdaten-Endpunkte unter /masterdata/….

Neu in V 3.4.0:

  • contact.phoneNumber wird beim Ändern ausgewertet; bisher wurde das Feld ohne Fehlermeldung ignoriert. Beide Telefonnummern werden gespeichert. Ein nicht übermitteltes Telefonfeld behält seine gespeicherte Nummer, ein Teil-Update verwirft die andere Nummer also nicht.

Angekündigt: Telefonnummern werden künftig gegen den internationalen Rufnummernkatalog geprüft. Derzeit wird nichts abgelehnt: Ein Wert, der keine existierende Rufnummer ist, wird gespeichert und nur protokolliert. Eine Ablehnung mit 400 und validationErrors wird vorher angekündigt. Geprüft werden nur die im Request übermittelten Telefonfelder; eine bereits gespeicherte Nummer führt nie zu einem Fehler. Festnetznummern sind zulässig.

Parameters

Name In Type Required Description
candidateId path string yes Kennung des Bewerbers (Id)

Request body

Required.

Zu ändernde Bewerberstammdaten. Nur die übermittelten Felder werden geändert.

Content type: application/json

Property Type Required Description
salutationId integer (int32) null no
genderId integer (int32) null no
title string null no
firstName string null no
lastName string null no
fullName string null no
description string null no
contact ContactDto no Kontaktdaten des Bewerbers
location LocationDto no Standort des Bewerbers
birth BirthDto no Geburtsangaben des Bewerbers
availability AvailabilityDto no Verfügbarkeit des Bewerbers
disability DisabilityDto no Angaben zur Schwerbehinderung des Bewerbers
mobility MobilityDto no Mobilität des Bewerbers
workingPreferences WorkingPreferencesDto no Arbeitspräferenzen des Bewerbers
salaryExpectations SalaryExpectationsDto no Gehaltsvorstellung des Bewerbers
personalStatus PersonalStatusDto no Persönlicher Status des Bewerbers
professionalProfile ProfessionalProfileDto no Berufliches Profil des Bewerbers
desiredWorkLocation DesiredWorkLocationDto no Gewünschter Arbeitsort des Bewerbers
placementTypes PlacementTypesDto no Gewünschte Vermittlungsarten des Bewerbers
privacyPolicy PrivacyPolicyDto no Datenschutzeinwilligung des Bewerbers
responsibility ResponsibilityDto no Zuständigkeit für den Bewerber

Responses

204 — Request successful, no content returned

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 — Bewerber nicht gefunden

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

Bewerber archivieren/ablehnen/qualifizieren/einstellen

PUT /candidates/{id}/status

Mit diesem Endpunkt kann man einzelne Bewerber archivieren, ablehnen oder qualifizieren.

ACHTUNG! Bei Archivierung kann dieser Vorgang nicht rückgängig gemacht werden.

Erlaubte Status Ids sind

  • 23 (archiviert)

  • 2003 (einstellen)

  • 2004 (abgelehnt)

  • 2005 (qualifiziert)

Parameters

Name In Type Required Description
id path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
statusId integer (int32) no Kennung des Status (Id)

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 — Bewerber nicht gefunden

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

Bewerber Arbeitsvertrag

PUT /candidates/{candidateId}/workcontract

Pflegt die Arbeitsvertragsdaten eines Bewerbers: ob der Vertrag unterzeichnet ist (isWorkContractSigned), wann er unterzeichnet wurde (workContractSignedAtUtc) und ob der Bewerber die Stelle nicht angetreten hat (didNotShowUpForWork). Das Ende der Einsatzzeit wird über PUT /candidates/{candidateId}/endofoperation gesetzt, der Bewerberstatus über PUT /candidates/{id}/status.

Parameters

Name In Type Required Description
candidateId path integer yes Identifikation des Bewerbers

Request body

Required.

Zu ändernde Arbeitsvertragsdaten des Bewerbers.

Content type: application/json

Property Type Required Description
isWorkContractSigned boolean no Ist der Arbeitsvertrag unterzeichnet? (Ja/Nein)
workContractSignedAtUtc string (date-time) no Datum der Vertragsunterzeichnung
didNotShowUpForWork boolean no Hat die Stelle nicht angetreten? (Ja/Nein)

Responses

204 — Arbeitsvertrag gespeichert, 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 — Bewerber nicht gefunden

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

Bewerber Ende der Einsatzzeit

PUT /candidates/{candidateId}/endofoperation

Setzt das Ende der Einsatzzeit eines Bewerbers. Übergeben wird ausschließlich endOfOperationAtUtc, der Zeitpunkt des Einsatzendes in UTC. Der Bewerberstatus wird dadurch nicht verändert — dafür dient PUT /candidates/{id}/status. Die Meldung eines unterzeichneten Vertrags läuft über PUT /candidates/{candidateId}/workcontract.

Parameters

Name In Type Required Description
candidateId path integer yes Identifikation des Bewerbers

Request body

Content type: application/json

Property Type Required Description
endOfOperationAtUtc string (date-time) no Zeitpunkt des Einsatzendes (UTC)

Responses

204 — Ende der Einsatzzeit gespeichert, 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 — Bewerber nicht gefunden

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

Sprache ändern

PUT /candidates/{candidateId}/languages/{languageId}

Ändert das Sprachniveau einer bereits erfassten Sprachkenntnis eines Bewerbers. Übergeben wird ausschließlich levelId; die Sprache selbst lässt sich nicht tauschen — dafür den Eintrag über DELETE /candidates/{candidateId}/languages/{languageId} löschen und per POST /candidates/{id}/languages neu anlegen. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt.

Parameters

Name In Type Required Description
candidateId path integer yes
languageId path integer yes

Request body

Required.

Neues Sprachniveau der zu ändernden Sprachkenntnis.

Content type: application/json

Property Type Required Description
levelId integer (int32) yes Kennung des Sprachniveaus

Responses

204 — Request successful, no content returned

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 — Bewerber oder Sprachkenntnis nicht gefunden

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

Schlagwort löschen

DELETE /candidates/{candidateId}/keywords/{keywordId}

Neu in V 3.4.0: Entfernt ein Schlagwort von einem Bewerber. Bisher war das nur für Qualifikationen und Berufe möglich.

keywordId ist die Schlagwort-Id (der Stammsatz), nicht die Id der Zuordnung, genauso wie bei den Löschendpunkten für Qualifikationen und Berufe.

Gelöscht wird als Soft-Delete: Die Zuordnung wird deaktiviert, der Schlagwort-Stammsatz bleibt bestehen. Ein erneutes POST /candidates/{id}/keywords mit demselben Schlagwort reaktiviert die Zuordnung. Der Bewerber wird aus der Volltextsuche des gelöschten Schlagworts entfernt.

Ein nicht zugeordnetes oder bereits inaktives Schlagwort ergibt 404.

Parameters

Name In Type Required Description
candidateId path integer yes Identifikation des Bewerbers
keywordId path integer yes Identifikation des Schlagworts (Stammsatz), wie von POST /candidates/{id}/keywords zurückgegeben

Responses

204 — Schlagwort entfernt — 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 — Bewerber oder Schlagwort nicht gefunden — auch dann, wenn das Schlagwort dem Bewerber nicht zugeordnet oder die Zuordnung bereits inaktiv ist.

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

Sprache löschen

DELETE /candidates/{candidateId}/languages/{languageId}

Löscht eine Sprachkenntnis eines Bewerbers. candidateId adressiert den Bewerber, languageId die Sprache — also dieselbe Id, die beim Anlegen über POST /candidates/{id}/languages übergeben wurde (aus /masterdata/languages), nicht die interne Kennung aus languages[].id der Bewerberdetails. Soll nur das Niveau geändert werden, dient PUT /candidates/{candidateId}/languages/{languageId}. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt.

Parameters

Name In Type Required Description
candidateId path integer (int32) yes Kennung des Bewerbers (Id)
languageId path integer (int32) yes Kennung der Sprache (Id) — dieselbe Id wie beim Anlegen über POST /candidates/{id}/languages. Nicht die Id der Sprachkenntnis aus languages[].id der Bewerberdetails.

Responses

204 — Request successful, no content returned

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 — Bewerber oder Sprachkenntnis nicht gefunden

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

Berufe löschen

DELETE /candidates/{id}/professions/{professionId}

Entfernt die Zuordnung eines Berufs bzw. Einsatzgebiets von einem Bewerber. Der Beruf selbst bleibt als Stammdatum erhalten und kann weiterhin anderen Bewerbern zugeordnet sein. Zugeordnet werden Berufe über POST /candidates/{id}/professions. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt.

Parameters

Name In Type Required Description
id path integer yes Id des Bewerbers
professionId path integer yes DKZID des Berufs aus dem Katalog der Bundesagentur für Arbeit — dieselbe Id wie beim Anlegen. Nicht die Id aus professionObjects[].id der Bewerberdetails.

Responses

204 — Request successful, no content returned

404 — Bewerber oder Beruf nicht gefunden

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

Führerschein löschen

DELETE /candidates/{candidateId}/driverslicences/{driversLicenseId}

Löscht einen Führerschein-Eintrag eines Bewerbers. candidateId adressiert den Bewerber, driversLicenseId die zu entfernende Führerscheinklasse — also dieselbe Katalog-Id aus GET /masterdata/driverslicenses, die beim Anlegen übermittelt wurde, und nicht die Id des Zuordnungsdatensatzes. Angelegt werden Führerscheine über POST /candidates/{id}/driverslicences. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt.

Parameters

Name In Type Required Description
candidateId path integer yes Numerische Kennung des Bewerbers (Id), wie sie POST /candidates zurückgibt.
driversLicenseId path integer yes Kennung der Führerscheinklasse aus GET /masterdata/driverslicenses — dieselbe Id, die beim Anlegen übermittelt wurde. Es ist nicht die Id des Zuordnungsdatensatzes.

Responses

204 — Request successful, no content returned

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 — Bewerber oder Führerschein nicht gefunden

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

Qualifikationen löschen

DELETE /candidates/{id}/qualifications/{qualificationId}

Entfernt die Zuordnung einer Qualifikation von einem Bewerber. Die Qualifikation selbst bleibt als Stammdatum erhalten. Zugeordnet werden Qualifikationen über POST /candidates/{id}/qualifications. Ein erfolgreicher Aufruf liefert 204 ohne Inhalt.

Parameters

Name In Type Required Description
id path integer yes Id des Bewerbers
qualificationId path integer yes Id der Qualifikation

Responses

204 — Request successful, no content returned

404 — Bewerber oder Qualifikation nicht gefunden

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