d.vinci ATS REST API documentation version 1.65
https://{customer}.dvinci.de/restApi/
General usage
The d.vinci ATS REST API uses JSON as content type for requests and responses with charset UTF-8.
Authentication by "Dvinci_Header"
For authentication it is required to pass custom HTTP-Headers for every request.
Dvinci-API-User: myApiUser
Dvinci-API-Token: bjOa8wvQyZWtCYYFB3xlPeC79S7xjsCgb2ZZZ92n
An API user can be created by any user who can login to the intern web-ui of d.vinci ATS https://{customer}.dvinci.de/intern and has the permission to create API users.
Curl-Example
curl -i -H "Accept: application/json" -H "Dvinci-API-User: myApiUser" -H "Dvinci-API-Token: bjOa8wvQyZWtCYYFB3xlPeC79S7xjsCgb2ZZZ92n" https://{customer}.dvinci.de/restApi/orgUnits
HTTP Response Codes
- 200: OK: Everything was fine
- 401: Unauthorized: Not existing User or not an api user or wrong token
- 403: Forbidden: Valid api user, without permission to access this api method or requested entity or entity/id not exists
- 404: Requested resource not available
- 405: Method not allowed
- 409: ConcurrentModification. yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version.
- 422: Unable to process request: A JSON-Object with field "errorMsg" is returned
- 429: Too Many Requests. Please contact us if you come across this or if you're planning to make a large number of requests.
Securing "External Links" with JWT
Some endpoints (e.g. job openings) allow to add links to external systems. These links can be secured by JWT. For additional information, please go to https://jwt.io/.
The URLs that should be enhanced by JWT can be specified by a d.vinci ATS administrator. The generated token will be added as a query parameter named "jwt".
URL-Example
https://external-link-to-your-system.com?your=param&jwt=eyJhbGciOiJIUzI1NiJ9.eyJkdmluY2lVc2VyIjoicmVzdC1hcGktdG8tZHZpbmNpLXVzZXIiLCJkdmluY2lVc2VySWQiOjEzMzcsImF1ZCI6Imh0dHA6Ly93d3cuZHZpbmNpLmRlIiwiaXNzIjoibG9jYWwiLCJpYXQiOjE0ODA1MDE2OTU5ODl9.NEEje-nzcpEJJPRv_kvRrblcZ1y6GN-tWZ6tJDv1QwY
Additionally it is possible to position the JWT with a given external link if placeholder (jwt) is used, see Configuration.
Changes
Changes for version 1.65
- Structured property "salary" is added for "/jobOpenings" and "/hiringRequests" endpoints
- For further information on this topic, see: https://dvinci.freshdesk.com/en/support/solutions/articles/75000124951-lohn-gehaltsrahmen
- WARNING: BREAKING CHANGES
- In "/hiringRequests" endpoint, the property "salary" is replaced by a new structured property, also named "salary"
Changes for version 1.64
- Added new endpoint /dvinciRoles
Changes for version 1.63
- Added property "authorizedRepresentative" to dvinciUser API
Changes for version 1.62
- Added conversion state INTERRUPTED to attachments in Applications
- For attachments in this state, PDF conversion can be retriggered via UI
Changes for version 1.61
- Added property "applicationId" to onboarding API
- Query string applicationId has been added to Onboardings endpoint. This query filters onboardings that belong to the given application paper
Changes for version 1.60
- Query string jobPublicationId has been added to Job publication placements endpoint. This query filters placements that belong to the given job publication and partner
Changes for version 1.59
- /jobPublications/{id}/externalPlacements is deprecated
- Job publication placements is introduced, which is the replacement of the former externalPlacements endpoint
Changes for version 1.58
- Added property "mobile" to dvinciUser API
Changes for version 1.57
- Location API was modified:
- Property "externalNameMessages" has been added to set an external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages.
Changes for version 1.56
- Descriptions of attachments of /applicationPapers + /onboardings are no longer mandatory
Changes for version 1.55
- OrgUnit of locations can be edited/ updated
Changes for version 1.54
- Added new types for Screening Question Answers (Application Paper) and Form Field Answers (Job Opening & Hiring Request).
- "TEXT_4_120": Text type with minimum 4 and maximum 120 characters.
- "TEXTAREA_MAX_1200": Textarea type with maximum 1200 characters.
Changes for version 1.53
- Introducing Onboarding API
- Introducing Onboarding-Attachments API
Changes for version 1.52
- All APIs with externalLinks were modified:
- It is possible to position the JWT with a given external link if placeholder (jwt) is used, see Configuration.
Changes for version 1.51
- dvinciUser API was modified:
- Property "dailyEmailNotificationTypes" has been added to set daily email notification types as list of enums.
- Deprecated! Property "dailyEmailNotification" is deprecated. Use property "dailyEmailNotificationTypes" instead.
Changes for version 1.50
- Added properties "signingAuthority" and "positionAuthority" to dvinciUser API
Changes for version 1.49
- Person API was modified:
- Property "specialMarkIds" has been added to set special marks as list of internal names.
- Deprecated! Properties "specialMarkIA", "specialMarkDIS", "specialMarkREL", "specialMarkVIP", "specialMarkREF", "specialMarkHRP", "specialMarkBL" and "specialMarkGPA" are deprecated. Use property "specialMarkIds" instead. Stated properties are not evaluated if 'specialMarkIds' has been set.
Changes for version 1.48
- All APIs with externalLinks were modified:
- Property "faIcon" now supports Font Awesome version 5.x
Changes for version 1.47
- Applications API was modified:
- Property "lastStatusChangeDate" has been added on POST
Changes for version 1.46
- Added property "hiringRequestId" to jobOpening API
- Added property "jobOpeningId" to hiringRequest API
Changes for version 1.45
- Added API for hiring requests
Changes for version 1.44
- Applications API was modified:
- Property "hrServiceProviderEmail" has been added
Changes for version 1.43
- Applications API was modified:
- When listing all applications, it is now possible to filter result by following query parameters: "byDateCreatedFrom", "byDateCreatedTo", "byLastStatusChangeDateFrom" and "byLastStatusChangeDateTo".
- These query parameters can be applied in combination or individually.
- Job opening API was modified:
- When listing all job openings, it is now possible to filter result by following query parameters: "byDateCreatedFrom" and "byDateCreatedTo".
- These query parameters can be applied in combination or individually.
- All above mentioned query parameters have to fit ISO 8601 date format in UTC, e.g.: "2000-01-01T12:00:00.000Z". Offset like "2000-01-01T12:00:00.000+03:00" is not supported.
Changes for version 1.42
- Job opening API was modified:
- It is now possible to GET, PUT and POST form fields via job openings API
Changes for version 1.41
- Applications API was modified:
- History-entries were extended by from- and to-status on status changes
Changes for version 1.40
- Applications API was modified:
- Property "permanentPostNumber" has been added (only available for querying one application paper)
Changes for version 1.39
- Configuration API was modified:
- It is possible to manage external links for job publications
- Job publication API was modified:
- It is possible to manage external placements for job publications
- External placements can be listed or updated
Changes for version 1.38
- Job publication API was modified:
- To create or update placements, permission with internal name 'SYS_POST_JOB_PUBLICATION' is needed in addition.
Changes for version 1.37
- Introduced new salutation "MX" for person and dvinciUser
Changes for version 1.36
- Job opening API was modified:
- It is possible to manage own history entries for job opening
- History entries can be listed, created or updated
Changes for version 1.35
- Location API was modified:
- Optional properties "isJobLocation", "isDesiredLocation", "isAppointmentLocation", "address1", "address2", "address3", "address4", "address5", "usState", "zipCode" and "city" were added
- Properties "isJobLocation", "isDesiredLocation" and "isAppointmentLocation" are set with default values when no values are provided (Default: isJobLocation=true, isDesiredLocation=true, isAppointmentLocation=false)
Changes for version 1.34
- Property "applicationStatusId" is not longer mandatory for application creation
Changes for version 1.33
- Added API for external link configuration
Changes for version 1.32
- Job opening API was modified:
- Properties "categories", "locations", "department", "costUnit", "targetGroups", "workingTimes", "contractPeriod", "earliestEntryDate" need to be set when selected as mandatory in configuration
Changes for version 1.31
- Applications API was modified:
- Property "sourceId" is no longer a required field
Changes for version 1.30
- Applications API was modified:
- Property "extendedUseAccepted" has been added
Changes for version 1.29
- Applications API was modified:
- It is possible to manage own history-entries as list for applications
Changes for version 1.28
- Job opening API was modified:
- For job openings with type 'DEFAULT' and 'UNSOLICITED', the property "languageId" has been added to job publications
Changes for version 1.27
- Job publication API was modified:
- Properties "subtitle", "introduction", "tasks", "profile", "weOffer", "closingText", "pageDescription", "externalPublicationUrl" need to be set when selected as mandatory in configuration
Changes for version 1.26
- Job publication API was modified:
- Property "weOffer" has been added
Changes for version 1.25
- Applications API was modified:
- New type "YES_NO_NOT_SPECIFIED" has been added to property "screeningQuestions"
Changes for version 1.24
- Person API was modified:
- Property "specialMarkGPA" has been added
Changes for version 1.23
- Dvinci user API was modified:
- Property "notifyOnNewCandidateCommunication" has been added
Changes for version 1.22
- Job opening API was modified:
- Property "reward" has been added
Changes for version 1.21
- Applications API was modified:
- It is possible to manage own history-entries for applications
Changes for version 1.20
- Applications API was modified:
- Ids of properties "screeningQuestions", "sourceId" and "rejectionCodeId" have been changed from integer to string
- Ids have been changed to the d.vinci field "internal name" of corresponding classes
Changes for version 1.19
- Applications API was modified:
- Type of property "correspondenceTemplateId" for statusChange has been changed from integer to string
- "correspondenceTemplateId" has been changed to the d.vinci field "internal name" of corresponding class
Changes for version 1.18
- Following APIs were modified: userGroups
- New functionality for userGroups API:
- It is now possible to add or modify userGroups
- UserGroups can be found by externalId
- Details of userGroups were extended, there is more information provided for each user group
Changes for version 1.17
- Following APIs were modified: dvinciUsers
- New functionality for dvinciUser API:
- It is now possible to add or modify dvinciUsers
- Details of dvinciUsers were extended, there is more information provided for each dvinci user
Changes for version 1.16
- Following APIs were modified: applications
- New functionality for application API:
- It is now possible to change the status of an application
- The associated job opening of an application can be changed
Changes for version 1.15
- Following APIs were modified: applications
- New functionality for person API:
- It is now possible to PUT or POST screening questions via applications API
Changes for version 1.14
- Following APIs were modified: persons and applications
- New functionality for person API:
- It is now possible to add, view or delete a photo for a person
- New functionality for application API:
- It is now possible to add, view or delete attachments of an application
Changes for version 1.13
- Added API for persons and applications
Changes for version 1.12
- Dvinci users API was modified:
- New functionality for dvinci users: show dvinci user
- Property "externalSystemData" has been added
- Added functionality to add external links to job openings and job publication channels
Changes for version 1.11
- Job publications API was modified:
- Property "status" has been added
Changes for version 1.10
- Job openings API was modified:
- Element type of "categoryIds" has been changed from integer to string.
- Property "companyId" has been added
Changes for version 1.9
- Job openings API was modified: element type of contractPeriod, targetGroups and workingTimes have been changed from enum to string.
- These elements can be modified, removed or added by an internal user through web ui in master data menu. All enum names were migrated and used as internalName for each master data entity.
Changes for version 1.8
- List locations can now be called without any additional query parameter (forJobOpeningByOrgUnitId)
- New functionalities: create, read, update and delete location
Changes for version 1.7
- New functionality for job opening: list job opening(s)
- New property for job openings and job publications: externalId
Changes for version 1.6
- New functionalities for job publications: create, update, delete and list job publication(s)
Applications
Get a list of permitted applications
Create a new application.
get /applications/
Get a list of permitted applications
Query Parameters
- byJobOpeningId: (number)
Filter list by given job opening id.
- byJobOpeningExternalId: (string)
Filter list by given job opening externalId.
- byApplicationStatusId: (string)
Filter list by given application status internal-name.
- byOrgUnitId: (number)
Filter list by given organisation unit id.
- byDateCreatedFrom: (date)
Filter list by given creation date of application (from).
- byDateCreatedTo: (date)
Filter list by given creation date of application (to).
- byLastStatusChangeDateFrom: (date)
Filter list by given last status change date of application (from).
- byLastStatusChangeDateTo: (date)
Filter list by given last status change date of application (to).
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"person": {
"description": "Person of application",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening of application.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Status of application.",
"type": "string"
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": "string",
"format": "date-time"
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"externalId",
"person",
"jobOpening",
"applicationStatusId",
"lastStatusChangeDate",
"dateCreated"
]
}
}
Example:
[
{
"id": 1,
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"id": 1,
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "EMPLOYED",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"dateCreated": "2017-03-12T09:14:04.997Z"
},
{
"id": 2,
"externalId": null,
"person": {
"id": 2,
"externalId": null
},
"jobOpening": {
"id": 2,
"externalId": null
},
"applicationStatusId": "AT_WORK_COUNCIL",
"lastStatusChangeDate": "2017-04-20T08:14:02.353Z",
"dateCreated": "2017-04-20T08:14:02.706Z"
}
]
HTTP status code 403
Lacking permission to access this api method.
post /applications/
Create a new application.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": "string"
},
"person": {
"description": "Person that the application will be associated with. Property can not be updated.",
"properties": {
"id": {
"description": "ID of person. If ID is set externalId will be ignored.",
"type": [
"integer",
"null"
]
},
"externalId": {
"description": "ExternalId of person.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening that the application will be associated with. Property can not be updated.",
"properties": {
"id": {
"description": "ID of job opening. If ID is set externalId will be ignored.",
"type": [
"integer",
"null"
]
},
"externalId": {
"description": "ExternalId of job opening.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Initial status of application. Will be set to initial workflow status if empty.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating can be set if user has required permission 'Rating set'.",
"enum": [
null,
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"description": "ID of job opening. If ID is set externalId will be ignored.",
"type": [
"integer",
"null"
]
},
"externalId": {
"description": "ExternalId of job opening.",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": [
"string",
"null"
],
"format": "date-time"
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": [
"string",
"null"
],
"format": "date-time"
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"person",
"jobOpening",
"languageId",
"type"
]
}
Example:
{
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "SYS_NEW",
"languageId": "de",
"comment": "This is a new comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG",
"NEW_YORK"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "FAZ",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1
},
"refApplyDate": "2017-03-12",
"dateCreated": "2017-03-12T09:14:04.997Z",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"answers": [
{
"id": "WORD"
},
{
"id": "EXCEL"
}
]
},
{
"id": "MATH_MARK",
"answers": [
{
"id": "MARK_4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"answer": "3"
},
{
"id": "NATIONALITY",
"answer": "German"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"person": {
"description": "Person of application",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening of application.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Status of application.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating is only displayed if user has required permission 'Rating view'.",
"enum": [
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"permanentPostNumber": {
"description": "Number of permanent post of job opening.",
"type": [
"string",
"null"
]
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": "string",
"format": "date-time"
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": "string",
"format": "date-time"
},
"candidateMailbox": {
"description": "Mailbox of application.",
"type": [
"string",
"null"
],
"format": "email"
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of screening question",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
},
"type": {
"description": "Type of the screening question",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"person",
"jobOpening",
"applicationStatusId",
"languageId",
"type",
"dateCreated"
]
}
Example:
{
"id": 1,
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"version": 1,
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"id": 1,
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "EMPLOYED",
"languageId": "de",
"comment": "This is a comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "HOMEPAGE",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1,
"externalId": "489A95EE-A4E3-4AA9-A11C-BA3C18DDC874"
},
"refApplyDate": "2017-03-12",
"permanentPostNumber": "IHK-00-1254",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"dateCreated": "2017-03-12T09:14:04.997Z",
"candidateMailbox": "candidate-1337a@dvinci.de",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"displayName": "MS-Office knowledge",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "WORD",
"answer": "Word"
},
{
"id": "EXCEL",
"answer": "Excel"
}
]
},
{
"id": "MATH_MARK",
"displayName": "Math mark",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "MARK_4",
"answer": "4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"displayName": "Java knowledge",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "NATIONALITY",
"displayName": "Nationality",
"type": "TEXT_4_120",
"answer": "German"
}
]
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- valueNotPermitted: The given value is not accessible
- uniqueOrNull.invalid: The given value already exists and should be unique or null
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "earliestStartingDate",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "dateCreated",
"code": "typeMismatch"
},
{
"field": "person",
"code": "updateNotAllowed"
},
{
"field": "desiredLocations",
"notAllowed": "[HAMBURG]",
"code": "valueNotPermitted"
}
],
"errorMsg": "Entity not valid"
}
Get a application with given externalId.
get /applications/?externalId={externalId}
Get a application with given externalId.
URI Parameters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"person": {
"description": "Person of application",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening of application.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Status of application.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating is only displayed if user has required permission 'Rating view'.",
"enum": [
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"permanentPostNumber": {
"description": "Number of permanent post of job opening.",
"type": [
"string",
"null"
]
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": "string",
"format": "date-time"
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": "string",
"format": "date-time"
},
"candidateMailbox": {
"description": "Mailbox of application.",
"type": [
"string",
"null"
],
"format": "email"
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of screening question",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
},
"type": {
"description": "Type of the screening question",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"person",
"jobOpening",
"applicationStatusId",
"languageId",
"type",
"dateCreated"
]
}
Example:
{
"id": 1,
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"version": 1,
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"id": 1,
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "EMPLOYED",
"languageId": "de",
"comment": "This is a comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "HOMEPAGE",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1,
"externalId": "489A95EE-A4E3-4AA9-A11C-BA3C18DDC874"
},
"refApplyDate": "2017-03-12",
"permanentPostNumber": "IHK-00-1254",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"dateCreated": "2017-03-12T09:14:04.997Z",
"candidateMailbox": "candidate-1337a@dvinci.de",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"displayName": "MS-Office knowledge",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "WORD",
"answer": "Word"
},
{
"id": "EXCEL",
"answer": "Excel"
}
]
},
{
"id": "MATH_MARK",
"displayName": "Math mark",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "MARK_4",
"answer": "4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"displayName": "Java knowledge",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "NATIONALITY",
"displayName": "Nationality",
"type": "TEXT_4_120",
"answer": "German"
}
]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 404
Requested entity or the entity does not exists
Get a specific application
Update a application
get /applications/{id}
Get a specific application
URI Parameters
- id: required (number)
id of the requested application
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"person": {
"description": "Person of application",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening of application.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Status of application.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating is only displayed if user has required permission 'Rating view'.",
"enum": [
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"permanentPostNumber": {
"description": "Number of permanent post of job opening.",
"type": [
"string",
"null"
]
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": "string",
"format": "date-time"
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": "string",
"format": "date-time"
},
"candidateMailbox": {
"description": "Mailbox of application.",
"type": [
"string",
"null"
],
"format": "email"
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of screening question",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
},
"type": {
"description": "Type of the screening question",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"person",
"jobOpening",
"applicationStatusId",
"languageId",
"type",
"dateCreated"
]
}
Example:
{
"id": 1,
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"version": 1,
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"id": 1,
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "EMPLOYED",
"languageId": "de",
"comment": "This is a comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "HOMEPAGE",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1,
"externalId": "489A95EE-A4E3-4AA9-A11C-BA3C18DDC874"
},
"refApplyDate": "2017-03-12",
"permanentPostNumber": "IHK-00-1254",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"dateCreated": "2017-03-12T09:14:04.997Z",
"candidateMailbox": "candidate-1337a@dvinci.de",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"displayName": "MS-Office knowledge",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "WORD",
"answer": "Word"
},
{
"id": "EXCEL",
"answer": "Excel"
}
]
},
{
"id": "MATH_MARK",
"displayName": "Math mark",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "MARK_4",
"answer": "4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"displayName": "Java knowledge",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "NATIONALITY",
"displayName": "Nationality",
"type": "TEXT_4_120",
"answer": "German"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /applications/{id}
Update a application
URI Parameters
- id: required (number)
id of the requested application
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating can be set if user has required permission 'Rating set'.",
"enum": [
null,
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"description": "ID of job opening. If ID is set externalId will be ignored.",
"type": [
"integer",
"null"
]
},
"externalId": {
"description": "ExternalId of job opening.",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"version",
"languageId",
"type",
"rating"
]
}
Example:
{
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"languageId": "de",
"version": 2,
"comment": "This is a new comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "MONSTER",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1
},
"refApplyDate": "2017-03-12",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"answers": [
{
"id": "WORD"
},
{
"id": "EXCEL"
}
]
},
{
"id": "MATH_MARK",
"answers": [
{
"id": "MARK_4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"answer": "3"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"person": {
"description": "Person of application",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"jobOpening": {
"description": "Job opening of application.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"applicationStatusId": {
"description": "Status of application.",
"type": "string"
},
"languageId": {
"description": "Language of application",
"type": "string"
},
"comment": {
"description": "Comment of application",
"type": [
"string",
"null"
]
},
"privacyPolicyAccepted": {
"type": "boolean"
},
"extendedUseAccepted": {
"type": [
"boolean",
"null"
]
},
"earliestStartingDate": {
"type": [
"string",
"null"
]
},
"desiredSalary": {
"type": [
"string",
"null"
]
},
"hrServiceProviderEmail": {
"type": [
"string",
"null"
]
},
"desiredLocationIds": {
"description": "List of desired locations of application. Those values are correspondent to the /locations API",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"type": {
"description": "Type of Application",
"enum": [
"ONLINE",
"EMAIL",
"LETTER",
"HR_SERVICE_PROVIDER",
"DIRECT_CONTACT"
]
},
"rating": {
"description": "Rating is only displayed if user has required permission 'Rating view'.",
"enum": [
"NONE",
"A",
"B",
"C"
]
},
"sourceId": {
"description": "Identifier of applications source.",
"type": [
"string",
"null"
]
},
"rejectionCodeId": {
"description": "Identifier of applications rejection.",
"type": [
"string",
"null"
]
},
"refJobPublication": {
"description": "Reference for correspondence: Application To Job Publication.",
"properties": {
"id": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"refApplyDate": {
"description": "Reference for correspondence: Application On.",
"type": [
"string",
"null"
]
},
"permanentPostNumber": {
"description": "Number of permanent post of job opening.",
"type": [
"string",
"null"
]
},
"lastStatusChangeDate": {
"description": "Date of last status change.",
"type": "string",
"format": "date-time"
},
"dateCreated": {
"description": "Technical creation date of application.",
"type": "string",
"format": "date-time"
},
"candidateMailbox": {
"description": "Mailbox of application.",
"type": [
"string",
"null"
],
"format": "email"
},
"screeningQuestions": {
"description": "List of answered screening questions. Screening question types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of screening question",
"type": "string"
},
"id": {
"description": "Identifier of screening question",
"type": "string"
},
"type": {
"description": "Type of the screening question",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"person",
"jobOpening",
"applicationStatusId",
"languageId",
"type",
"dateCreated"
]
}
Example:
{
"id": 1,
"externalId": "583988DC-1CD9-489B-A5D2-7D3E14712508",
"version": 1,
"person": {
"id": 1,
"externalId": "FA805173-9417-48C6-A063-28A5B6111DFF"
},
"jobOpening": {
"id": 1,
"externalId": "C99EDCDB-020F-4299-8340-4543DD22D7FB"
},
"applicationStatusId": "EMPLOYED",
"languageId": "de",
"comment": "This is a comment!",
"privacyPolicyAccepted": true,
"extendedUseAccepted": true,
"earliestStartingDate": "as soon as possible",
"desiredSalary": "30.000$ per year",
"hrServiceProviderEmail": "michael.mustermann@dvinci.de",
"desiredLocations": [
"HAMBURG"
],
"type": "ONLINE",
"rating": "B",
"sourceId": "HOMEPAGE",
"rejectionCodeId": null,
"refJobPublication": {
"id": 1,
"externalId": "489A95EE-A4E3-4AA9-A11C-BA3C18DDC874"
},
"refApplyDate": "2017-03-12",
"permanentPostNumber": "IHK-00-1254",
"lastStatusChangeDate": "2017-03-14T08:14:06.129Z",
"dateCreated": "2017-03-12T09:14:04.997Z",
"candidateMailbox": "candidate-1337a@dvinci.de",
"screeningQuestions": [
{
"id": "MS_OFFICE_KNOWLEDGE",
"displayName": "MS-Office knowledge",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "WORD",
"answer": "Word"
},
{
"id": "EXCEL",
"answer": "Excel"
}
]
},
{
"id": "MATH_MARK",
"displayName": "Math mark",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "MARK_4",
"answer": "4"
}
]
},
{
"id": "JAVA_KNOWLEDGE",
"displayName": "Java knowledge",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "NATIONALITY",
"displayName": "Nationality",
"type": "TEXT_4_120",
"answer": "German"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- updateNotAllowed: The property can not be updated
- valueNotPermitted: The given value is not accessible
- uniqueOrNull.invalid: The given value already exists and should be unique or null
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "earliestStartingDate",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "dateCreated",
"code": "typeMismatch"
},
{
"field": "person",
"code": "updateNotAllowed"
},
{
"field": "desiredLocations",
"notAllowed": "[HAMBURG]",
"code": "valueNotPermitted"
}
],
"errorMsg": "Entity not valid"
}
Delete a specific application
post /applications/{id}/delete
Delete a specific application
URI Parameters
- id: required (number)
id of the requested application. Only applications on final status can be deleted.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Change status for a specific application
post /applications/{id}/statusChange/{statusId}
Change status for a specific application
URI Parameters
- id: required (number)
id of the application to change status for.
- statusId: required (string)
id of the target application status.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"correspondenceTemplateId": {
"description": "id of the correspondence template for candidate emails.",
"type": "string"
},
"comment": {
"description": "comment concerning the status change.",
"type": "string"
}
}
}
Example:
{
"correspondenceTemplateId": "HIRED",
"comment": "Some comment"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
This error is caused by validation errors of the given data
- emailRequired: Email in application required to send email with correspondence template
- correspondenceTemplateNotAllowed: Correspondence template not existing or not allowed for application status change
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "statusId",
"code": "statusChangeNotPermitted"
},
{
"field": "correspondenceTemplateId",
"code": "correspondenceTemplateNotAllowed"
}
],
"errorMsg": "Entity not valid"
}
Change the associated job opening of a specific application
post /applications/{id}/jobOpeningMove/{jobOpeningId}
Change the associated job opening of a specific application
URI Parameters
- id: required (number)
id of the application to change job opening for.
- jobOpeningId: required (number)
id of the target job opening.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"comment": {
"description": "comment concerning the job opening change.",
"type": "string"
}
}
}
Example:
{
"comment": "Some comment"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
This error is caused by validation errors of the given data
- jobOpeningNotAllowed: Job opening not existing or not allowed for job opening change.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "jobOpeningId",
"code": "jobOpeningNotAllowed"
}
],
"errorMsg": "Entity not valid"
}
Get all attachments for given application id
Add new attachment for a given application id
get /applications/{id}/attachments
Get all attachments for given application id
URI Parameters
- id: required (number)
id of the requested application
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"conversionState": {
"description": "Conversion state of the attachment - null means conversion not executed.",
"enum": [
"DONE",
"DOING",
"FAILED",
"INTERRUPTED",
null
]
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType"
]
}
}
Example:
[
{
"id": "5910304f46186304a394d780",
"dateCreated": "2017-05-08T08:46:07.275Z",
"filename": "Zeugnisse.pdf",
"fileSize": 8187,
"contentType": "application/pdf",
"description": "Zeugnisse",
"conversionState": "DONE"
},
{
"id": "5910303946186304a394d77c",
"dateCreated": "2017-05-08T08:45:45.248Z",
"filename": "Anschreiben.doc",
"fileSize": 19968,
"contentType": "application/msword",
"description": "Anschreiben",
"conversionState": "DONE"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
post /applications/{id}/attachments
Add new attachment for a given application id
URI Parameters
- id: required (number)
id of the requested application
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"contentAsBase64": {
"description": "Content of the attachment file encoded as base64.",
"type": "string"
}
},
"required": [
"filename",
"contentAsBase64"
]
}
Example:
{
"filename": "Zeugnis.doc",
"description": "Some description",
"contentAsBase64": "<Base64-Attachment-Content>"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
Example:
{
"id": "591591c03fdc8d834b56a797"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "filename",
"code": "mandatory"
},
{
"field": "description",
"code": "mandatory"
},
{
"field": "contentAsBase64",
"code": "mandatory"
},
{
"field": "contentAsBase64",
"code": "maxFileSize"
},
{
"field": "contentAsBase64",
"code": "formatNotAllowed"
}
],
"errorMsg": "Entity not valid"
}
Get attachment for given application id and attachment id
get /applications/{id}/attachments/{attachmentId}
Get attachment for given application id and attachment id
URI Parameters
- id: required (number)
id of the requested application
- attachmentId: required (string)
id of the requested attachment
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"conversionState": {
"description": "Conversion state of the attachment - null means conversion not executed.",
"enum": [
"DONE",
"DOING",
"FAILED",
"INTERRUPTED",
null
]
},
"contentAsBase64": {
"description": "Content of the attachment file encoded as base64.",
"type": "string"
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType",
"contentAsBase64"
]
}
Example:
{
"id": "5910304f46186304a394d780",
"dateCreated": "2017-05-08T08:46:07.275Z",
"filename": "Zeugnisse.pdf",
"fileSize": 8187,
"contentType": "application/pdf",
"description": "Zeugnisse",
"conversionState": "DONE",
"contentAsBase64": "<Base64-Attachment-Content>"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Get converted version (always a pdf) of the attachment for given application id and attachment id
get /applications/{id}/attachments/{attachmentId}/pdf
Get converted version (always a pdf) of the attachment for given application id and attachment id
URI Parameters
- id: required (number)
id of the requested application
- attachmentId: required (string)
id of the requested attachment
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"contentAsBase64": {
"description": "Content of the attachment file encoded as base64.",
"type": "string"
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType",
"contentAsBase64"
]
}
Example:
{
"id": "5910304f46186304a394d780",
"dateCreated": "2017-05-08T08:46:07.275Z",
"filename": "Zeugnisse.pdf",
"fileSize": 8187,
"contentType": "application/pdf",
"description": "Zeugnisse",
"contentAsBase64": "<Base64-Attachment-Content>"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Delete a specific attachment
post /applications/{id}/attachments/{attachmentId}/delete
Delete a specific attachment
URI Parameters
- id: required (number)
id of the requested application.
- attachmentId: required (string)
id of the requested attachment to be deleted.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Get all history entries for given application id
Add or update a list of history entries for a given application
get /applications/{id}/history
Get all history entries for given application id
URI Parameters
- id: required (number)
id of the requested application
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
},
"fromApplicationStatusId": {
"description": "Source application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string",
"null"
]
},
"toApplicationStatusId": {
"description": "Destination application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string"
]
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
}
Example:
[
{
"externalId": "My-Defined-External-ID",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "The human readable description of the history entry",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": null,
"dateCreated": "2017-04-08T08:46:07.275Z",
"type": "APPLICATION_STATUS_CHANGE",
"description": "Status changed from \"New\" to \"First Interview\".",
"comment": "We are looking forward to the appointment.",
"dvinciUserId": 7,
"externalUser": null,
"fromApplicationStatusId": "SYS_NEW",
"toApplicationStatusId": "FIRST_INTERVIEW"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /applications/{id}/history
Add or update a list of history entries for a given application
URI Parameters
- id: required (number)
id of the requested application
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"properties": {
"dateCreated": {
"description": "The creation-date of the history entry",
"type": [
"string",
"null"
],
"format": "date-time"
},
"description": {
"description": "The description for the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": [
"null",
"integer"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": "string"
}
},
"required": [
"description",
"externalId"
]
}
Example:
[
{
"externalId": "My-Defined-External-ID-1",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 1",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-2",
"dateCreated": "2017-05-09T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 2",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-3",
"dateCreated": "2017-05-10T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 3",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
}
]
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
},
"fromApplicationStatusId": {
"description": "Source application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string",
"null"
]
},
"toApplicationStatusId": {
"description": "Destination application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string"
]
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
}
Example:
[
{
"externalId": "My-Defined-External-ID",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "The human readable description of the history entry",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": null,
"dateCreated": "2017-04-08T08:46:07.275Z",
"type": "APPLICATION_STATUS_CHANGE",
"description": "Status changed from \"New\" to \"First Interview\".",
"comment": "We are looking forward to the appointment.",
"dvinciUserId": 7,
"externalUser": null,
"fromApplicationStatusId": "SYS_NEW",
"toApplicationStatusId": "FIRST_INTERVIEW"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "description",
"code": "mandatory"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Add a new or update an existing history entry for given application
put /applications/{id}/history/{externalId}
Add a new or update an existing history entry for given application
URI Parameters
- id: required (number)
id of the requested application
- externalId: required (string)
external id of the history entry to create or update
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"dateCreated": {
"description": "The creation-date of the history entry",
"type": [
"string",
"null"
],
"format": "date-time"
},
"description": {
"description": "The description for the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": [
"null",
"integer"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
}
},
"required": [
"description"
]
}
Example:
{
"dateCreated": "2017-05-08T08:46:07.275Z",
"description": "The is my description of the history entry",
"dvinciUserId": null,
"externalUser": "Mr. Bob Tester"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
},
"fromApplicationStatusId": {
"description": "Source application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string",
"null"
]
},
"toApplicationStatusId": {
"description": "Destination application status on application status change operations. Property only exists for types: APPLICATION_ENTRY, APPLICATION_STATUS_CHANGE, APPLICATION_AUTO_STATUS_CHANGE",
"type": [
"string"
]
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
Example:
{
"externalId": "My-Defined-External-ID",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "The human readable description of the history entry",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "description",
"code": "mandatory"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Configuration
Get a list of external links of given type.
Add or update a list of external links of given type
get /configuration/{type}/externalLinks
Get a list of external links of given type.
URI Parameters
- type: required (string)
type of requested external links. Currently available types: "applications", "jobPublications".
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"properties": {
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The external link name translated in available languages"
},
"url": {
"description": "External link URL. Can contain the placeholder (jwt) that will be replaced if the URL is accessed.",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'.",
"type": "string"
},
"requiredPermission": {
"description": "The internal name of the required permission to access the external link",
"type": "string"
}
},
"required": [
"nameMessages",
"url",
"faIcon",
"requiredPermission"
]
}
}
Example:
[
{
"nameMessages": {
"de": "Vertragsmanagement-Tool",
"en": "Contract management tool"
},
"url": "https://www.dvinci.de",
"faIcon": "fa-file-text-o",
"requiredPermission": "SYS_APPLICATIONS_VIEW"
},
{
"nameMessages": {
"de": "Tracking-Tool",
"en": "Tracking tool"
},
"url": "https://www.dvinci.de/(jwt)/d-vinci-applicant-tracking-system",
"faIcon": "fa-id-card",
"requiredPermission": "SYS_APPLICATIONS_SPECIAL_MARK_DIS_VIEW"
},
{
"nameMessages": {
"de": "Talentmanagement-Tool",
"en": "Talent Management Tool"
},
"url": "https://www.dvinci.de/bewerbermanagement-software-dvinci",
"faIcon": "fa-users",
"requiredPermission": "SYS_APPLICATIONS_VIEW"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /configuration/{type}/externalLinks
Add or update a list of external links of given type
URI Parameters
- type: required (string)
type of requested external links. Currently available types: "applications", "jobPublications".
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"properties": {
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The external link name translated in available languages"
},
"url": {
"description": "External link URL. Can contain the placeholder (jwt) that will be replaced if the URL is accessed.",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'.",
"type": "string"
},
"requiredPermission": {
"description": "The internal name of the required permission to access the external link",
"type": "string"
}
},
"required": [
"nameMessages",
"url",
"faIcon",
"requiredPermission"
]
}
}
Example:
[
{
"nameMessages": {
"de": "Vertragsmanagement-Tool",
"en": "Contract management tool"
},
"url": "https://www.dvinci.de",
"faIcon": "fa-file-text-o",
"requiredPermission": "SYS_APPLICATIONS_VIEW"
},
{
"nameMessages": {
"de": "Tracking-Tool",
"en": "Tracking tool"
},
"url": "https://www.dvinci.de/(jwt)/d-vinci-applicant-tracking-system",
"faIcon": "fa-id-card",
"requiredPermission": "SYS_APPLICATIONS_SPECIAL_MARK_DIS_VIEW"
}
]
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"properties": {
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The external link name translated in available languages"
},
"url": {
"description": "External link URL. Can contain the placeholder (jwt) that will be replaced if the URL is accessed.",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'.",
"type": "string"
},
"requiredPermission": {
"description": "The internal name of the required permission to access the external link",
"type": "string"
}
},
"required": [
"nameMessages",
"url",
"faIcon",
"requiredPermission"
]
}
}
Example:
[
{
"nameMessages": {
"de": "Vertragsmanagement-Tool",
"en": "Contract management tool"
},
"url": "https://www.dvinci.de",
"faIcon": "fa-file-text-o",
"requiredPermission": "SYS_APPLICATIONS_VIEW"
},
{
"nameMessages": {
"de": "Tracking-Tool",
"en": "Tracking tool"
},
"url": "https://www.dvinci.de/(jwt)/d-vinci-applicant-tracking-system",
"faIcon": "fa-id-card",
"requiredPermission": "SYS_APPLICATIONS_SPECIAL_MARK_DIS_VIEW"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "nameMessages[en]",
"code": "mandatory"
},
{
"field": "url",
"code": "mandatory"
},
{
"field": "faIcon",
"code": "mandatory"
},
{
"field": "requiredPermission",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Hiring requests
Get a list of hiring requests.
Create a new hiring request.
get /hiringRequests/
Get a list of hiring requests.
Query Parameters
- byDateCreatedFrom: (date)
Filter list by given creation date of hiring request (from).
- byDateCreatedTo: (date)
Filter list by given creation date of hiring request (to).
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the hiring request",
"type": "string",
"format": "date-time"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"hiringRequestCreatorId": {
"description": "The dvinci user who has created the hiring request. Value cannot be set by rest api.",
"type": "integer"
},
"status": {
"description": "Status of the hiring request. Value cannot be set by rest api.",
"enum": [
"OPEN",
"IN_APPROVAL",
"FINISHED"
]
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approvalStatus": {
"description": "Approval status cannot be set or changed by rest api",
"enum": [
"NONE",
"APPROVED",
"REJECTED"
]
},
"approvalProcessStarterId": {
"description": "The dvinci user who started the hiring request approval process. Value cannot be set or changed by rest api.",
"type": [
"integer",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
}
Example:
[
{
"id": 22,
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"dateCreated": "2019-10-14T08:18:02.448Z",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"jobOpeningId": 3,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
}
]
},
{
"id": 33,
"externalId": null,
"version": 0,
"jobTitle": "Grails/Groovy Entwickler",
"dateCreated": "2019-10-11T08:35:32.645Z",
"orgUnitId": 6,
"hiringRequestCreatorId": 7,
"jobOpeningId": null,
"status": "IN_APPROVAL",
"superiorId": 4,
"hrContactId": 12,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": null,
"functionGroupId": null,
"occupationalGroupId": null,
"payGradeId": null,
"openingsCount": 2,
"hiringReason": "OTHER",
"departmentAndCostUnit": null,
"nameAndStaffNumber": null,
"reason": "Mitarbeiter gesucht",
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": null,
"transferDate": null,
"area": "DEV",
"costUnit": "Kostenstelle 1337",
"department": "Entwicklungsabteilung",
"profile": "<p>Sie können programmieren und Code schreiben, dann sind Sie hier richtig.</p>",
"remark": null,
"salary": null,
"tasks": "<p>Software entwickeln</p>",
"vacancyNumber": "1337-j0B",
"budgeted": true,
"earliestEntryDate": "2019-10-11",
"locationIds": [],
"workingTimeIds": [],
"formFields": [
{
"id": "LEGALREQUIREMENTS",
"displayName": "Rechtliche Bestimmungen",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "LEGALREQUIREMENTS_CHOICE_0",
"answer": "Bonität"
}
]
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_3",
"answer": "City West"
}
]
}
]
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
post /hiringRequests/
Create a new hiring request.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approverIds": {
"description": "The dvinci users who are approvers of the hiring request",
"type": "array",
"items": {
"type": "integer"
}
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"externalId": "EXT-01",
"jobTitle": "Tester für Hiring Request",
"orgUnitId": 1,
"superiorId": 7,
"hrContactId": 6,
"approverIds": [7, 10],
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
},
{
"id": "INTERNAL_REMARK",
"displayName": "Interne Bemerkung",
"type": "TEXT_4_120",
"answer": "Meine Anmerkung für diese Personalanforderung."
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the hiring request",
"type": "string",
"format": "date-time"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"hiringRequestCreatorId": {
"description": "The dvinci user who has created the hiring request. Value cannot be set by rest api.",
"type": "integer"
},
"status": {
"description": "Status cannot be changed to FINISHED by rest api",
"enum": [
"OPEN",
"IN_APPROVAL",
"FINISHED"
]
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approvalStatus": {
"description": "Approval status cannot be set or changed by rest api",
"enum": [
"NONE",
"APPROVED",
"REJECTED"
]
},
"approvalProcessStarterId": {
"description": "The dvinci user who started the hiring request approval process. Value cannot be set or changed by rest api.",
"type": [
"integer",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"id": 22,
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"dateCreated": "2019-10-14T08:18:02.448Z",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"jobOpeningId": 3,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
},
{
"id": "INTERNAL_REMARK",
"displayName": "Interne Bemerkung",
"type": "TEXT_4_120",
"answer": "Meine Anmerkung für diese Personalanforderung."
}
]
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- typeMismatch: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- valueNotPermitted: The given value is not accessible
- isNotAPositiveInteger: The given value is not a positive integer
- notAllowedForHiringReason: The given value is not allowed for hiring reason
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "jobTitle",
"code": "maxSize.exceeded"
},
{
"field": "superiorId",
"code": "mandatory"
},
{
"field": "openingsCount",
"code": "isNotAPositiveInteger"
},
{
"field": "locationIds",
"notAllowed": "[67, 102]",
"code": "valueNotPermitted"
},
{
"field": "earliestEntryDate",
"code": "typeMismatch"
},
{
"field": "reason",
"code": "notAllowedForHiringReason"
}
],
"errorMsg": "Entity not valid"
}
Get a hiring request with given externalId.
get /hiringRequests/?externalId={externalId}
Get a hiring request with given externalId.
URI Parameters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the hiring request",
"type": "string",
"format": "date-time"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"hiringRequestCreatorId": {
"description": "The dvinci user who has created the hiring request. Value cannot be set by rest api.",
"type": "integer"
},
"status": {
"description": "Status cannot be changed to FINISHED by rest api",
"enum": [
"OPEN",
"IN_APPROVAL",
"FINISHED"
]
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approvalStatus": {
"description": "Approval status cannot be set or changed by rest api",
"enum": [
"NONE",
"APPROVED",
"REJECTED"
]
},
"approvalProcessStarterId": {
"description": "The dvinci user who started the hiring request approval process. Value cannot be set or changed by rest api.",
"type": [
"integer",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"id": 22,
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"dateCreated": "2019-10-14T08:18:02.448Z",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"jobOpeningId": 3,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
},
{
"id": "INTERNAL_REMARK",
"displayName": "Interne Bemerkung",
"type": "TEXT_4_120",
"answer": "Meine Anmerkung für diese Personalanforderung."
}
]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 404
Requested entity or the entity does not exists
Get a specific hiring request
Update a hiring request
get /hiringRequests/{id}
Get a specific hiring request
URI Parameters
- id: required (number)
id of the requested hiring request
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the hiring request",
"type": "string",
"format": "date-time"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"hiringRequestCreatorId": {
"description": "The dvinci user who has created the hiring request. Value cannot be set by rest api.",
"type": "integer"
},
"status": {
"description": "Status cannot be changed to FINISHED by rest api",
"enum": [
"OPEN",
"IN_APPROVAL",
"FINISHED"
]
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approvalStatus": {
"description": "Approval status cannot be set or changed by rest api",
"enum": [
"NONE",
"APPROVED",
"REJECTED"
]
},
"approvalProcessStarterId": {
"description": "The dvinci user who started the hiring request approval process. Value cannot be set or changed by rest api.",
"type": [
"integer",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"id": 22,
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"dateCreated": "2019-10-14T08:18:02.448Z",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"jobOpeningId": 3,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
},
{
"id": "INTERNAL_REMARK",
"displayName": "Interne Bemerkung",
"type": "TEXT_4_120",
"answer": "Meine Anmerkung für diese Personalanforderung."
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /hiringRequests/{id}
Update a hiring request
URI Parameters
- id: required (number)
id of the requested hiring request
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"jobTitle": {
"description": "Job title of the hiring request",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the hiring request",
"type": "string",
"format": "date-time"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing hiring request",
"type": "integer"
},
"hiringRequestCreatorId": {
"description": "The dvinci user who has created the hiring request. Value cannot be set by rest api.",
"type": "integer"
},
"status": {
"description": "Status cannot be changed to FINISHED by rest api",
"enum": [
"OPEN",
"IN_APPROVAL",
"FINISHED"
]
},
"superiorId": {
"description": "The dvinci user who is superior of the hiring request",
"type": "integer"
},
"hrContactId": {
"description": "The dvinci user who is HR contact of the hiring request",
"type": "integer"
},
"approvalStatus": {
"description": "Approval status cannot be set or changed by rest api",
"enum": [
"NONE",
"APPROVED",
"REJECTED"
]
},
"approvalProcessStarterId": {
"description": "The dvinci user who started the hiring request approval process. Value cannot be set or changed by rest api.",
"type": [
"integer",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"contractPeriodId": {
"description": "Internal name of contract period",
"type": [
"string",
"null"
]
},
"functionGroupId": {
"description": "Id of function group",
"type": [
"string",
"null"
]
},
"occupationalGroupId": {
"description": "Id of occupational group",
"type": [
"string",
"null"
]
},
"payGradeId": {
"description": "Id of pay grade",
"type": [
"string",
"null"
]
},
"openingsCount": {
"description": "Number of openings",
"type": [
"integer",
"null"
]
},
"hiringReason": {
"description": "Hiring reason",
"enum": [
"ADDITIONAL_REQUIREMENT",
"EXPANSION",
"REPLACEMENT_TERMINATION",
"REPLACEMENT_TRANSFER",
"TEMPORARY_SUBSTITUTE",
"RENEWAL_OR_EXTENSION_OF_CONTRACT",
"TRAINING",
"OTHER"
]
},
"departmentAndCostUnit": {
"description": "Department/ cost unit can only be set in combination with hiring reason REPLACEMENT_TRANSFER",
"type": [
"string",
"null"
]
},
"nameAndStaffNumber": {
"description": "Name/ staff number can only be set in combination with hiring reasons REPLACEMENT_TERMINATION, REPLACEMENT_TRANSFER and TEMPORARY_SUBSTITUTE",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Reason can only be set in combination with hiring reasons TRAINING, EXPANSION, OTHER, RENEWAL_OR_EXTENSION_OF_CONTRACT, TEMPORARY_SUBSTITUTE and ADDITIONAL_REQUIREMENT",
"type": [
"string",
"null"
]
},
"substituteDateFrom": {
"description": "Substition start date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"substituteDateTo": {
"description": "Substition end date can only be set in combination with hiring reason TEMPORARY_SUBSTITUTE. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"terminationDate": {
"description": "Termination date can only be set in combination with hiring reason REPLACEMENT_TERMINATION. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"transferDate": {
"description": "Transfer date can only be set in combination with hiring reason REPLACEMENT_TRANSFER. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"area": {
"description": "Area",
"type": [
"string",
"null"
]
},
"costUnit": {
"description": "Cost unit",
"type": [
"string",
"null"
]
},
"department": {
"description": "Department",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Requirements",
"type": [
"string",
"null"
]
},
"remark": {
"description": "Remark",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"tasks": {
"description": "Tasks",
"type": [
"string",
"null"
]
},
"vacancyNumber": {
"description": "Vacancy number",
"type": [
"string",
"null"
]
},
"budgeted": {
"description": "Budgeted",
"type": [
"boolean",
"null"
]
},
"earliestEntryDate": {
"description": "Planned starting date. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": [
"string",
"null"
]
},
"locationIds": {
"description": "Internal name of location",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimeIds": {
"description": "Internal name of working time",
"type": "array",
"items": {
"type": "string"
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"version",
"jobTitle",
"orgUnitId",
"superiorId",
"hrContactId"
]
}
Example:
{
"id": 22,
"externalId": "EXT-01",
"version": 2,
"jobTitle": "Tester für Hiring Request",
"dateCreated": "2019-10-14T08:18:02.448Z",
"orgUnitId": 1,
"hiringRequestCreatorId": 18,
"jobOpeningId": 3,
"status": "OPEN",
"superiorId": 7,
"hrContactId": 6,
"approvalStatus": "NONE",
"approvalProcessStarterId": null,
"companyId": "DVINCI_HRS",
"contractPeriodId": "LIMITED",
"functionGroupId": "1",
"occupationalGroupId": "1",
"payGradeId": "1",
"openingsCount": 23,
"hiringReason": "REPLACEMENT_TERMINATION",
"departmentAndCostUnit": null,
"nameAndStaffNumber": "Musterfrau",
"reason": null,
"substituteDateFrom": null,
"substituteDateTo": null,
"terminationDate": "2019-12-31",
"transferDate": null,
"area": "Testbereich",
"costUnit": "Kostenstelle",
"department": "Testabteilung",
"profile": "<p>Dieses sind die Anforderungen.</p>",
"remark": "Dieses ist die Anmerkung.",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"tasks": "<p>Dieses sind die Aufgaben.</p>",
"vacancyNumber": "123-456",
"budgeted": true,
"earliestEntryDate": "2019-10-07",
"locationIds": [
"HAMBURG",
"VIENNA"
],
"workingTimeIds": [
"MARGINAL_EMPLOYMENT"
],
"formFields": [
{
"id": "DEMANDINDICATOR",
"displayName": "Bedarfsmelder",
"type": "TEXT",
"answer": "Hans Müller"
},
{
"id": "BRANCH",
"displayName": "Niederlassung",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "BRANCH_CHOICE_0",
"answer": "City Nord"
}
]
},
{
"id": "INTERNAL_REMARK",
"displayName": "Interne Bemerkung",
"type": "TEXT_4_120",
"answer": "Meine Anmerkung für diese Personalanforderung."
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- typeMismatch: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- valueNotPermitted: The given value is not accessible
- isNotAPositiveInteger: The given value is not a positive integer
- notAllowedForHiringReason: The given value is not allowed for hiring reason
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "jobTitle",
"code": "maxSize.exceeded"
},
{
"field": "superiorId",
"code": "mandatory"
},
{
"field": "openingsCount",
"code": "isNotAPositiveInteger"
},
{
"field": "locationIds",
"notAllowed": "[67, 102]",
"code": "valueNotPermitted"
},
{
"field": "earliestEntryDate",
"code": "typeMismatch"
},
{
"field": "reason",
"code": "notAllowedForHiringReason"
}
],
"errorMsg": "Entity not valid"
}
Get all history entries for given hiring request id
get /hiringRequests/{id}/history
Get all history entries for given hiring request id
URI Parameters
- id: required (number)
id of the requested hiring request
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"type": {
"description": "The type of the history entry.",
"enum": [
"HIRING_REQUEST_CREATE",
"HIRING_REQUEST_UPDATE",
"HIRING_REQUEST_FINISH",
"HIRING_REQUEST_APPROVAL_START",
"HIRING_REQUEST_APPROVAL_ABORT",
"HIRING_REQUEST_APPROVAL_APPROVE",
"HIRING_REQUEST_APPROVAL_REJECT",
"HIRING_REQUEST_APPROVAL_DECISIONS_CANCELED",
"HIRING_REQUEST_APPROVER_ADD",
"HIRING_REQUEST_APPROVER_REPLACE",
"HIRING_REQUEST_APPROVER_DELETE",
"HIRING_REQUEST_DOCUMENT_CREATE",
"HIRING_REQUEST_DOCUMENT_DELETE",
"HIRING_REQUEST_COMMENT"
]
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
}
Example:
[
{
"type": "HIRING_REQUEST_CREATE",
"description": "Personalanforderung wurde angelegt.",
"dateCreated": "2019-10-08T08:27:57.725Z",
"comment": null,
"dvinciUserId": 2
},
{
"type": "HIRING_REQUEST_UPDATE",
"description": "Personalanforderung wurde bearbeitet.",
"dateCreated": "2019-10-08T09:11:49.867Z",
"comment": null,
"dvinciUserId": 6
},
{
"type": "HIRING_REQUEST_COMMENT",
"description": "Kommentar wurde hinzugefügt.",
"dateCreated": "2019-10-08T09:11:49.867Z",
"comment": "Wir haben noch mehr offene Stellen zu besetzen",
"dvinciUserId": 3
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Get all approvers for given hiring request id
get /hiringRequests/{id}/approvers
Get all approvers for given hiring request id
URI Parameters
- id: required (number)
id of the requested hiring request
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Dvinci user id",
"type": "integer"
},
"sequence": {
"description": "Sequence within the approvers list",
"type": "integer"
},
"processState": {
"description": "Process state set by approver",
"enum": [
"DEFAULT",
"NEXT",
"APPROVED",
"REJECTED"
]
}
},
"required": [
"id",
"sequence",
"processState"
]
}
}
Example:
[
{
"id": 6,
"sequence": 6,
"processState": "DEFAULT"
},
{
"id": 9,
"sequence": 7,
"processState": "APPROVED"
},
{
"id": 8,
"sequence": 8,
"processState": "REJECTED"
},
{
"id": 7,
"sequence": 9,
"processState": "APPROVED"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Job openings
Get a list of job openings.
Create a new job opening.
There are three types of job openings you can create by defining the "type", you can not change the type after creation:
- DEFAULT
- listed in the career portal of this system
- user have to create one or more job publications in d.vinci
- UNSOLICITED
- not listed in the career portal of this system
- user is able to create one or more job publications for available language in d.vinci
- MANAGED_BY_API
- not listed in the career portal of this system
- one dummy job publication is created so that the application form is reachable
- user can not create and edit job publications of this job opening
- status changes from and to ACTIVE can only be applied by API
get /jobOpenings/
Get a list of job openings.
Query Parameters
- byDateCreatedFrom: (date)
Filter list by given creation date of job opening (from).
- byDateCreatedTo: (date)
Filter list by given creation date of job opening (to).
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"type": [
"string",
"null"
]
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"type": [
"string",
"null"
]
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"type": [
"string",
"null"
]
},
"reward": {
"type": [
"string",
"null"
]
},
"costUnit": {
"type": [
"string",
"null"
]
},
"type": {
"description": "Defines the type of the job opening (default value = 'DEFAULT'). Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobOpeningUrl": {
"description": "Deep link to the jobOpening in the d.vinci system,",
"type": "string"
},
"applicationListUrl": {
"description": "Deep link to the list of application for the given job opening in the d.vinci system",
"type": "string"
},
"jobPublications": {
"description": "A 'DEFAULT' or 'UNSOLICITED' job opening can have more than one job publications. 'MANAGED_BY_API' contains only one job publication.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"position": {
"description": "Title of the job publication",
"type": "string"
},
"applicationFormUrls": {
"description": "List of links to application form for different application portals. First link of list is the default one, others sorted by org unit level.",
"type": "array",
"items": {
"type": "string"
}
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'. Property is only available for job openings with type 'DEFAULT' or 'UNSOLICITED'.",
"type": "string"
}
}
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId"
]
}
}
Example:
[
{
"id": 2,
"version": 1,
"name": "Software Engineer",
"orgUnitId": 1,
"earliestEntryDate": "01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID-1",
"hiringRequestId": 18,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
}
]
},
{
"id": 3,
"version": 7,
"name": "Software Architect",
"orgUnitId": 1,
"earliestEntryDate": "Earliest on 07.07.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": null,
"reference": "2015-05",
"reward": "750 Euro",
"costUnit": "A38-Y",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID-2",
"hiringRequestId": null,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
}
]
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
post /jobOpenings/
Create a new job opening.
There are three types of job openings you can create by defining the "type", you can not change the type after creation:
- DEFAULT
- listed in the career portal of this system
- user have to create one or more job publications in d.vinci
- UNSOLICITED
- not listed in the career portal of this system
- user is able to create one or more job publications for available language in d.vinci
- MANAGED_BY_API
- not listed in the career portal of this system
- one dummy job publication is created so that the application form is reachable
- user can not create and edit job publications of this job opening
- status changes from and to ACTIVE can only be applied by API
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"description": "earliestEntryDate has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' earliestEntryDate can't be null.",
"type": "string"
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"description": "Department has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' department can't be null.",
"type": "string"
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' contractPeriod can't be null.",
"type": "string"
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"description": "Reference has one of following field types: 'GENERATED', 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' reference can't be null. In case of 'GENERATED' the value will be generated by the system.",
"type": "string"
},
"reward": {
"description": "Reward has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' reward can't be null.",
"type": "string"
},
"costUnit": {
"description": "CostUnit has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' costUnit can't be null.",
"type": "string"
},
"type": {
"description": "Defines the type of the job opening. Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"description": "CategoryIds has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' categoryIds can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"description": "LocationIds has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' locationIds can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' targetGroups can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' workingTimes can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId",
"type"
]
}
Example:
{
"name": "Software Engineer (m/f)",
"orgUnitId": 1,
"earliestEntryDate": "Starting on 01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 6000,
"minValue": 5000,
"unitText": "MONTH"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "MANAGED_BY_API",
"externalId": "EXT-ID",
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"answers": [
{
"id": "DRIVING_LICENSE"
},
{
"id": "CREDIT"
}
]
},
{
"id": "BRANCH",
"answers": [
{
"id": "CITY_NORTH"
}
]
},
{
"id": "PRIORITY",
"answer": "3"
},
{
"id": "FURTHER_INFORMATIONS",
"answer": "Apache Kafka knowledge is very important for this position."
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"type": [
"string",
"null"
]
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"type": [
"string",
"null"
]
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"type": [
"string",
"null"
]
},
"reward": {
"type": [
"string",
"null"
]
},
"costUnit": {
"type": [
"string",
"null"
]
},
"type": {
"description": "Defines the type of the job opening (default value = 'DEFAULT'). Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobOpeningUrl": {
"description": "Deep link to the jobOpening in the d.vinci system,",
"type": "string"
},
"applicationListUrl": {
"description": "Deep link to the list of application for the given job opening in the d.vinci system",
"type": "string"
},
"jobPublications": {
"description": "A 'DEFAULT' or 'UNSOLICITED' job opening can have more than one job publications. 'MANAGED_BY_API' contains only one job publication.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"position": {
"description": "Title of the job publication",
"type": "string"
},
"applicationFormUrls": {
"description": "List of links to application form for different application portals. First link of list is the default one, others sorted by org unit level.",
"type": "array",
"items": {
"type": "string"
}
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'. Property is only available for job opening with type 'DEFAULT' or 'UNSOLICITED'.",
"type": "string"
}
}
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId"
]
}
Example:
{
"id": 2,
"version": 1,
"name": "Software Engineer",
"orgUnitId": 1,
"earliestEntryDate": "01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID",
"hiringRequestId": 18,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "FURTHER_INFORMATIONS",
"displayName": "Further internal Informations",
"type": "TEXTAREA_MAX_1200",
"answer": "Apache Kafka knowledge is very important for this position."
}
]
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- statusChangeNotAllowed: The value of status cannot be set to "CLOSED"
- url.invalid: The given URL is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "name",
"code": "maxSize.exceeded"
},
{
"field": "responsibleUserId",
"code": "mandatory"
},
{
"field": "status",
"code": "statusChangeNotAllowed"
},
{
"field": "userGroupIds",
"notAllowed": "[67, 102]",
"code": "valueNotPermitted"
},
{
"field": "externalLinks.0.url",
"code": "url.invalid"
}
],
"errorMsg": "Entity not valid"
}
Get a job opening with given externalId.
get /jobOpenings/?externalId={externalId}
Get a job opening with given externalId.
URI Parameters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"type": [
"string",
"null"
]
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"type": [
"string",
"null"
]
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"type": [
"string",
"null"
]
},
"reward": {
"type": [
"string",
"null"
]
},
"costUnit": {
"type": [
"string",
"null"
]
},
"type": {
"description": "Defines the type of the job opening (default value = 'DEFAULT'). Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobOpeningUrl": {
"description": "Deep link to the jobOpening in the d.vinci system,",
"type": "string"
},
"applicationListUrl": {
"description": "Deep link to the list of application for the given job opening in the d.vinci system",
"type": "string"
},
"jobPublications": {
"description": "A 'DEFAULT' or 'UNSOLICITED' job opening can have more than one job publications. 'MANAGED_BY_API' contains only one job publication.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"position": {
"description": "Title of the job publication",
"type": "string"
},
"applicationFormUrls": {
"description": "List of links to application form for different application portals. First link of list is the default one, others sorted by org unit level.",
"type": "array",
"items": {
"type": "string"
}
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'. Property is only available for job opening with type 'DEFAULT' or 'UNSOLICITED'.",
"type": "string"
}
}
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId"
]
}
Example:
{
"id": 2,
"version": 1,
"name": "Software Engineer",
"orgUnitId": 1,
"earliestEntryDate": "01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID",
"hiringRequestId": 18,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "FURTHER_INFORMATIONS",
"displayName": "Further internal Informations",
"type": "TEXTAREA_MAX_1200",
"answer": "Apache Kafka knowledge is very important for this position."
}
]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 404
Requested entity or the entity does not exists
Get a specific job opening
Update a job opening
get /jobOpenings/{id}
Get a specific job opening
URI Parameters
- id: required (number)
id of the requested job opening
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"type": [
"string",
"null"
]
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"type": [
"string",
"null"
]
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"type": [
"string",
"null"
]
},
"reward": {
"type": [
"string",
"null"
]
},
"costUnit": {
"type": [
"string",
"null"
]
},
"type": {
"description": "Defines the type of the job opening (default value = 'DEFAULT'). Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobOpeningUrl": {
"description": "Deep link to the jobOpening in the d.vinci system,",
"type": "string"
},
"applicationListUrl": {
"description": "Deep link to the list of application for the given job opening in the d.vinci system",
"type": "string"
},
"jobPublications": {
"description": "A 'DEFAULT' or 'UNSOLICITED' job opening can have more than one job publications. 'MANAGED_BY_API' contains only one job publication.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"position": {
"description": "Title of the job publication",
"type": "string"
},
"applicationFormUrls": {
"description": "List of links to application form for different application portals. First link of list is the default one, others sorted by org unit level.",
"type": "array",
"items": {
"type": "string"
}
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'. Property is only available for job opening with type 'DEFAULT' or 'UNSOLICITED'.",
"type": "string"
}
}
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId"
]
}
Example:
{
"id": 2,
"version": 1,
"name": "Software Engineer",
"orgUnitId": 1,
"earliestEntryDate": "01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID",
"hiringRequestId": 18,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "FURTHER_INFORMATIONS",
"displayName": "Further internal Informations",
"type": "TEXTAREA_MAX_1200",
"answer": "Apache Kafka knowledge is very important for this position."
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /jobOpenings/{id}
Update a job opening
URI Parameters
- id: required (number)
id of the requested job opening
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"earliestEntryDate": {
"description": "EarliestEntryDate has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' earliestEntryDate can't be null.",
"type": "string"
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"description": "Department has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' department can't be null.",
"type": "string"
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' contractPeriod can't be null.",
"type": "string"
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"description": "Reference has one of following field types: 'GENERATED', 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' reference can't be null. In case of 'GENERATED' the value will be generated by the system.",
"type": "string"
},
"reward": {
"description": "Reward has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' reward can't be null.",
"type": "string"
},
"costUnit": {
"description": "CostUnit has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' costUnit can't be null.",
"type": "string"
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"description": "CategoryIds has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' categoryIds can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"description": "LocationIds has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' locationIds can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' targetGroups can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' workingTimes can't be null.",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"version",
"name",
"responsibleUserId",
"status"
]
}
Example:
{
"version": 1,
"name": "Software Engineer (m/f)",
"orgUnitId": 1,
"earliestEntryDate": "Starting on 01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 40,
"minValue": 20,
"unitText": "HOUR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"externalId": "EXT-ID",
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"answers": [
{
"id": "DRIVING_LICENSE"
},
{
"id": "CREDIT"
}
]
},
{
"id": "BRANCH",
"answers": [
{
"id": "CITY_NORTH"
}
]
},
{
"id": "PRIORITY",
"answer": "3"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "Name or main title of the job opening",
"type": "string"
},
"orgUnitId": {
"description": "OrgUnitId cannot be changed for an existing job opening",
"type": "integer"
},
"earliestEntryDate": {
"type": [
"string",
"null"
]
},
"responsibleUserId": {
"type": "integer"
},
"department": {
"type": [
"string",
"null"
]
},
"contractPeriod": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: LIMITED, UNLIMITED",
"type": [
"string",
"null"
]
},
"salary": {
"description": "Wage/ salary range",
"properties": {
"currency": {
"description": "The ISO 4217 currency code",
"type": "string"
},
"value": {
"properties": {
"maxValue": {
"description": "Maximum value of salary",
"type": [
"number",
"null"
]
},
"minValue": {
"description": "Minimum value of salary",
"type": [
"number",
"null"
]
},
"unitText": {
"description": "Period / unit of salary",
"enum": [
"YEAR",
"MONTH",
"DAY",
"HOUR"
]
}
},
"type": [
"object"
],
"required": [
"unitText"
]
}
},
"type": [
"object",
"null"
],
"required": [
"currency",
"value"
]
},
"reference": {
"type": [
"string",
"null"
]
},
"reward": {
"type": [
"string",
"null"
]
},
"costUnit": {
"type": [
"string",
"null"
]
},
"type": {
"description": "Defines the type of the job opening (default value = 'DEFAULT'). Job openings with type 'MANAGED_BY_API' are for managing in external systems.",
"enum": [
"MANAGED_BY_API",
"DEFAULT",
"UNSOLICITED"
]
},
"status": {
"description": "Status cannot be changed to CLOSED by rest api",
"enum": [
"ACTIVE",
"INACTIVE",
"CLOSED"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"userGroupIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"categoryIds": {
"type": "array",
"items": {
"type": "string"
}
},
"locationIds": {
"type": "array",
"items": {
"type": "string"
}
},
"targetGroups": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: PROFESSIONALS, GRADUATES, STUDENTS, PUPILS, OTHERS",
"type": "array",
"items": {
"type": "string"
}
},
"workingTimes": {
"description": "Only internalNames defined in master data set by internal user are allowed. New systems contains: FULL_TIME, PART_TIME, MARGINAL_EMPLOYMENT",
"type": "array",
"items": {
"type": "string"
}
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the actionbar in the show view of this specific job opening, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"jobOpeningUrl": {
"description": "Deep link to the jobOpening in the d.vinci system,",
"type": "string"
},
"applicationListUrl": {
"description": "Deep link to the list of application for the given job opening in the d.vinci system",
"type": "string"
},
"jobPublications": {
"description": "A 'DEFAULT' or 'UNSOLICITED' job opening can have more than one job publications. 'MANAGED_BY_API' contains only one job publication.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"position": {
"description": "Title of the job publication",
"type": "string"
},
"applicationFormUrls": {
"description": "List of links to application form for different application portals. First link of list is the default one, others sorted by org unit level.",
"type": "array",
"items": {
"type": "string"
}
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'. Property is only available for job opening with type 'DEFAULT' or 'UNSOLICITED'.",
"type": "string"
}
}
}
},
"formFields": {
"description": "List of answered form fields. Form field types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED, SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"answers": {
"description": "List of answers for types: SINGLE_CHOICE, MULTI_CHOICE",
"items": {
"properties": {
"id": {
"type": "string"
},
"answer": {
"type": "string"
}
}
},
"type": "array"
},
"answer": {
"description": "Answer of types: TEXT, TEXT_4_120, TEXTAREA, TEXTAREA_MAX_1200, FIVE_STAR_RATING, YES_NO, YES_NO_NOT_SPECIFIED",
"type": "string"
},
"displayName": {
"description": "Display name of form field",
"type": "string"
},
"id": {
"description": "Identifier of form field",
"type": "string"
},
"type": {
"description": "Type of the form field",
"enum": [
"TEXT",
"TEXT_4_120",
"TEXTAREA",
"TEXTAREA_MAX_1200",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"name",
"responsibleUserId",
"status",
"orgUnitId"
]
}
Example:
{
"id": 2,
"version": 1,
"name": "Software Engineer",
"orgUnitId": 1,
"earliestEntryDate": "01.01.2016",
"responsibleUserId": 5,
"department": "Development",
"contractPeriod": "LIMITED",
"salary": {
"currency": "EUR",
"value": {
"maxValue": 80000.00,
"minValue": 60000.00,
"unitText": "YEAR"
}
},
"reference": "2015-05",
"reward": "1000 Euro",
"costUnit": "A38-X",
"status": "ACTIVE",
"type": "DEFAULT",
"externalId": "EXT-ID",
"hiringRequestId": 18,
"companyId": "DVINCI_HRS",
"userGroupIds": [1, 2],
"categoryIds": ["IT", "HR"],
"locationIds": ["HAMBURG", "NEW_YORK"],
"targetGroups": ["STUDENTS", "PUPILS"],
"workingTimes": ["MARGINAL_EMPLOYMENT"],
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
],
"jobOpeningUrl": "https://myDvinciSystem.dvinci.de/intern/jobOpening/show/2",
"applicationListUrl": "https://myDvinciSystem.dvinci.de/intern/applicationPaper/list?jobOpeningId=2",
"jobPublications": [
{
"id": 2,
"position": "Software Engineer (m/w)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/2",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/2"
],
"languageId": "en"
},
{
"id": 3,
"position": "SAP Developer (m/f)",
"applicationFormUrls": [
"https://myDvinciSystem.dvinci.de/applicationForm/apply/3",
"https://myDvinciSystem.dvinci.de/portal/intranet/applicationForm/apply/3"
],
"languageId": "de"
}
],
"formFields": [
{
"id": "LEGAL_RESTRICTIONS",
"displayName": "Legal Restrictions",
"type": "MULTI_CHOICE",
"answers": [
{
"id": "DRIVING_LICENSE",
"answer": "Driving License"
},
{
"id": "CREDIT",
"answer": "Credit"
}
]
},
{
"id": "BRANCH",
"displayName": "Branch",
"type": "SINGLE_CHOICE",
"answers": [
{
"id": "CITY_NORTH",
"answer": "City North"
}
]
},
{
"id": "PRIORITY",
"displayName": "Priority",
"type": "FIVE_STAR_RATING",
"answer": "3"
},
{
"id": "FURTHER_INFORMATIONS",
"displayName": "Further internal Informations",
"type": "TEXTAREA_MAX_1200",
"answer": "Apache Kafka knowledge is very important for this position."
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- orgUnitChangeNotAllowed: The value of orgUnitId cannot be changed
- statusChangeNotAllowed: The value of status cannot be changed to "CLOSED"
- typeChangeNotAllowed: The value of type cannot be changed
- url.invalid: The given URL is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "name",
"code": "maxSize.exceeded"
},
{
"field": "responsibleUserId",
"code": "mandatory"
},
{
"field": "status",
"code": "statusChangeNotAllowed"
},
{
"field": "userGroupIds",
"notAllowed": "[67, 102]",
"code": "valueNotPermitted"
},
{
"field": "externalLinks.0.url",
"code": "url.invalid"
}
],
"errorMsg": "Entity not valid"
}
Get all history entries for given job opening id
Add or update a list of history entries for a given job opening
get /jobOpenings/{id}/history
Get all history entries for given job opening id
URI Parameters
- id: required (number)
id of the requested job opening
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
}
Example:
[
{
"externalId": "My-Defined-External-ID",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "The human readable description of the history entry",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": null,
"dateCreated": "2017-04-08T08:46:07.275Z",
"type": "JOB_OPENING_CREATE",
"description": "Job opening \"Java Developer\" was created.",
"comment": "Searching for new developers!",
"dvinciUserId": 7,
"externalUser": null
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /jobOpenings/{id}/history
Add or update a list of history entries for a given job opening
URI Parameters
- id: required (number)
id of the requested job opening
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"properties": {
"dateCreated": {
"description": "The creation-date of the history entry",
"type": [
"string",
"null"
],
"format": "date-time"
},
"description": {
"description": "The description for the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": [
"null",
"integer"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": "string"
}
},
"required": [
"description",
"externalId"
]
}
Example:
[
{
"externalId": "My-Defined-External-ID-1",
"dateCreated": "2017-05-08T08:46:07.275Z",
"description": "This is a human readable description of the history entry 1",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-2",
"dateCreated": "2017-05-09T08:46:07.275Z",
"description": "This is a human readable description of the history entry 2",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-3",
"dateCreated": "2017-05-10T08:46:07.275Z",
"description": "This is a human readable description of the history entry 3",
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
}
]
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
Example:
[
{
"externalId": "My-Defined-External-ID-1",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 1",
"dateCreated": "2017-05-08T08:46:07.275Z",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-2",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 2",
"dateCreated": "2017-05-09T08:46:07.275Z",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
},
{
"externalId": "My-Defined-External-ID-3",
"type": "EXTERNAL_SYSTEM",
"description": "This is a human readable description of the history entry 3",
"dateCreated": "2017-05-10T08:46:07.275Z",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "description",
"code": "mandatory"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Add a new or update an existing history entry for given job opening
put /jobOpenings/{id}/history/{externalId}
Add a new or update an existing history entry for given job opening
URI Parameters
- id: required (number)
id of the requested job opening
- externalId: required (string)
external id of the history entry to create or update
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"dateCreated": {
"description": "The creation-date of the history entry",
"type": [
"string",
"null"
],
"format": "date-time"
},
"description": {
"description": "The description for the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": [
"null",
"integer"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
}
},
"required": [
"description"
]
}
Example:
{
"dateCreated": "2017-05-08T08:46:07.275Z",
"description": "The is my description of the history entry",
"dvinciUserId": null,
"externalUser": "Mr. Bob Tester"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"comment": {
"description": "The comment of the history entry",
"type": [
"string",
"null"
]
},
"dateCreated": {
"description": "The creation-date of the history entry",
"type": "string",
"format": "date-time"
},
"description": {
"description": "The human readable description of the history entry",
"type": "string"
},
"dvinciUserId": {
"description": "The dvinci user who has triggered the history entry",
"type": "integer"
},
"externalId": {
"description": "The unique identifier of the external system.",
"type": [
"string",
"null"
]
},
"externalUser": {
"description": "A display name for a user, who does not exists in the dvinci system.",
"type": [
"string",
"null"
]
},
"type": {
"description": "The type of the history entry.",
"type": "string"
}
},
"required": [
"dateCreated",
"type",
"description",
"dvinciUserId"
]
}
Example:
{
"externalId": "My-Defined-External-ID",
"dateCreated": "2017-05-08T08:46:07.275Z",
"type": "EXTERNAL_SYSTEM",
"description": "The human readable description of the history entry",
"comment": null,
"dvinciUserId": 13,
"externalUser": "Mr. Bob Tester"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "description",
"code": "mandatory"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Job publications
Get a list of permitted job publications
Create a new job publication.
There are two types of job publications you can create by defining the "type":
- DEFAULT
- Publication is displayed in career portal of this system. Including a link to the application form.
- EXTERNAL
- Publication is listed in the career portal of this system, but linked to the required external url (opened in new browser-tab).
get /jobPublications/
Get a list of permitted job publications
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication we-offer as HTML text.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closing text as HTML text.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE'). Status cannot be changed to IN_APPROVAL by REST API",
"enum": ["ACTIVE", "DRAFT", "IN_APPROVAL"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
}
Example:
[
{
"id": 1,
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [
{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
},
{
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}
]
},
{
"id": 7,
"version": 15,
"type": "EXTERNAL",
"jobOpeningId": 5,
"position": "Software Developer (m/f)",
"languageId": "de",
"subtitle": null,
"introduction": null,
"tasks": null,
"profile": null,
"weOffer": null,
"closingText": null,
"pageTitle": null,
"pageDescription": null,
"externalPublicationUrl": "https://www.dvinci.de/my_job_publication",
"externalId": null,
"placements": [
{
"internalName": "HOMEPAGE",
"startDate": "2015-01-31T00:00:00.000+01:00",
"endDate": null
},
{
"channelId": 25,
"startDate": null,
"endDate": null
}
]
}
]
HTTP status code 403
Lacking permission to access this api method.
post /jobPublications/
Create a new job publication.
There are two types of job publications you can create by defining the "type":
- DEFAULT
- Publication is displayed in career portal of this system. Including a link to the application form.
- EXTERNAL
- Publication is listed in the career portal of this system, but linked to the required external url (opened in new browser-tab).
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": [
"DEFAULT",
"EXTERNAL"
]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"description": "Subtitle has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' subtitle can't be null.",
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' introduction can't be null.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' tasks can't be null.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' profile can't be null.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication weOffer as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' weOffer can't be null.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closingText as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' closingText can't be null.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"description": "PageDescription has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' pageDescription can't be null.",
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' externalPublicationUrl can't be null.",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE').",
"enum": [
"ACTIVE",
"DRAFT"
]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
Example:
{
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication we-offer as HTML text.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closing text as HTML text.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE'). Status cannot be changed to IN_APPROVAL by REST API",
"enum": ["ACTIVE", "DRAFT", "IN_APPROVAL"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
Example:
{
"id": 1,
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- jobOpeningIdInvalid: Job opening for requested id does not exist or user is not permitted
- jobOpeningCanNotBeChanged: The id of the jobOpening cannot be changed for existing job publications
- url.invalid: The given URL is not valid
- valueNotPermitted: The given value is not accessible
- onlyAllowedForTypeExternal: property can only be set for job publication with type "EXTERNAL"
- channelIdOrInternalNeeded: 'channelId' or 'internalName' need to be definied for each placement.
- createOrUpdatePlacementsNotAllowed: To create or update placements, permission with internal name 'SYS_POST_JOB_PUBLICATION' is needed in addition.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "position",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "externalPublicationUrl",
"code": "url.invalid"
},
{
"field": "placements.0.startDate",
"code": "typeMismatch"
},
{
"field": "placements",
"code": "createOrUpdatePlacementsNotAllowed"
}
],
"errorMsg": "Entity not valid"
}
Get a job publication with given externalId.
get /jobPublications/?externalId={externalId}
Get a job publication with given externalId.
URI Parameters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication we-offer as HTML text.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closing text as HTML text.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE'). Status cannot be changed to IN_APPROVAL by REST API",
"enum": ["ACTIVE", "DRAFT", "IN_APPROVAL"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
Example:
{
"id": 1,
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 404
Requested entity or the entity does not exists
Get a specific job publication
Update a job publication
get /jobPublications/{id}
Get a specific job publication
URI Parameters
- id: required (number)
id of the requested job publication
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication we-offer as HTML text.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closing text as HTML text.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE'). Status cannot be changed to IN_APPROVAL by REST API",
"enum": ["ACTIVE", "DRAFT", "IN_APPROVAL"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
Example:
{
"id": 1,
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /jobPublications/{id}
Update a job publication
URI Parameters
- id: required (number)
id of the requested job publication
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"description": "Subtitle has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' subtitle can't be null.",
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' introduction can't be null.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' tasks can't be null.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' profile can't be null.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication weOffer as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' weOffer can't be null.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closingText as HTML text. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' closingText can't be null.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"description": "PageDescription has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' pageDescription can't be null.",
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'. It has one of following field types: 'MANDATORY', 'OPTIONAL' or 'HIDDEN'. If field type is set to 'MANDATORY' externalPublicationUrl can't be null.",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE').",
"enum": ["ACTIVE", "DRAFT"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"version",
"type",
"jobOpeningId",
"position",
"languageId",
"status"
]
}
Example:
{
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"endDate": null
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"type": {
"description": "Defines the type of the job publication (default value = 'DEFAULT'). Job publications with type 'EXTERNAL' are only displayed in the job list and opened in new browser tab.",
"enum": ["DEFAULT", "EXTERNAL"]
},
"jobOpeningId": {
"type": "integer"
},
"position": {
"description": "Name or position of the job publication",
"type": "string"
},
"languageId": {
"description": "IsoA2 code of the requested language. Eg. 'de', 'en'.",
"type": "string"
},
"subtitle": {
"type": [
"string",
"null"
]
},
"introduction": {
"description": "Publication introduction as HTML text.",
"type": [
"string",
"null"
]
},
"tasks": {
"description": "Publication tasks as HTML text.",
"type": [
"string",
"null"
]
},
"profile": {
"description": "Publication profile as HTML text.",
"type": [
"string",
"null"
]
},
"weOffer": {
"description": "Publication we-offer as HTML text.",
"type": [
"string",
"null"
]
},
"closingText": {
"description": "Publication closing text as HTML text.",
"type": [
"string",
"null"
]
},
"pageTitle": {
"type": [
"string",
"null"
]
},
"pageDescription": {
"type": [
"string",
"null"
]
},
"externalPublicationUrl": {
"description": "Link to an external publication. Can only be set for type='EXTERNAL'",
"type": [
"string",
"null"
]
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Defines the status of the job publication (default value = 'ACTIVE'). Status cannot be changed to IN_APPROVAL by REST API",
"enum": ["ACTIVE", "DRAFT", "IN_APPROVAL"]
},
"placements": {
"description": "List of placements that the job publication should be published on.",
"type": "array",
"items": {
"type": "object",
"properties": {
"channelId": {
"description": "Id of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": "integer"
},
"internalName": {
"description": "Internal name of channel that should be published on. 'channelId' or 'internalName' are required.",
"type": [
"string",
"null"
]
},
"startDate": {
"description": "Start date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of publishing publication on defined channel. Can be 'null' or ISO8601 date-time format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).",
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
}
},
"required": [
"type",
"jobOpeningId",
"position",
"languageId"
]
}
Example:
{
"id": 1,
"version": 1,
"type": "DEFAULT",
"jobOpeningId": 1,
"position": "Software Engineer (m/f)",
"languageId": "en",
"subtitle": "In Hamburg, Germany",
"introduction": "This is an HTML field.",
"tasks": "This is an HTML field.",
"profile": "This is an HTML field.",
"weOffer": "This is an HTML field.",
"closingText": "This is an HTML field.",
"pageTitle": "Software Engineer (m/f) in Hamburg, Germany",
"pageDescription": "We are searching for a Software Engineer (m/f) in Hamburg Germany.",
"externalPublicationUrl": null,
"externalId": "SOME-EXT-ID",
"status": "ACTIVE",
"placements": [{
"internalName": "HOMEPAGE",
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}, {
"channelId": 25,
"startDate": "2016-01-01T00:00:00.000+01:00",
"endDate": "2018-12-31T23:59:59.999+01:00"
}]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- jobOpeningIdInvalid: Job opening for requested id does not exist or user is not permitted
- jobOpeningCanNotBeChanged: The id of the jobOpening cannot be changed for existing job publications
- url.invalid: The given URL is not valid
- valueNotPermitted: The given value is not accessible
- onlyAllowedForTypeExternal: property can only be set for job publication with type "EXTERNAL"
- channelIdOrInternalNeeded: 'channelId' or 'internalName' need to be definied for each placement.
- createOrUpdatePlacementsNotAllowed: To create or update placements, permission with internal name 'SYS_POST_JOB_PUBLICATION' is needed in addition.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "position",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "externalPublicationUrl",
"code": "url.invalid"
},
{
"field": "placements.0.startDate",
"code": "typeMismatch"
},
{
"field": "placements",
"code": "createOrUpdatePlacementsNotAllowed"
}
],
"errorMsg": "Entity not valid"
}
Delete a specific job publication
post /jobPublications/{id}/delete
Delete a specific job publication
URI Parameters
- id: required (number)
id of the requested job publication
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Job publication placements
Get all external job publications placements for given partner.
Create a new external job publication placement for a given partner.
get /jobPublicationPlacements/{partner_id}/placements
Get all external job publications placements for given partner.
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
[
{
"id": 1,
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
},
{
"id": 2,
"version": 1,
"name": ": Multiposting: Z",
"description": null,
"status": "IN_PROGRESS",
"externalReference": "MULTI-Z",
"startDate": "2019-04-01T00:00:00.000+01:00",
"endDate": "2020-03-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": []
}
]
HTTP status code 403
Lacking permission to access this api method.
post /jobPublicationPlacements/{partner_id}/placements
Create a new external job publication placement for a given partner.
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"id": 1,
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "name",
"code": "mandatory"
},
{
"field": "status",
"code": "typeMismatch"
},
{
"field": "jobPublicationId",
"code": "mandatory"
},
{
"field": "startDate",
"code": "typeMismatch"
},
{
"field": "endDate",
"code": "typeMismatch"
}
],
"errorMsg": "Entity not valid"
}
Get a job publication placement for partner with given externalId.
get /jobPublicationPlacements/{partner_id}/placements/?externalId={externalId}
Get a job publication placement for partner with given externalId.
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"id": 1,
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Get all external job publications placements for job publication and given partner.
get /jobPublicationPlacements/{partner_id}/placements/?jobPublicationId={jobPublicationId}
Get all external job publications placements for job publication and given partner.
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
- jobPublicationId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
[
{
"id": 1,
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
},
{
"id": 2,
"version": 1,
"name": ": Multiposting: Z",
"description": null,
"status": "IN_PROGRESS",
"externalReference": "MULTI-Z",
"startDate": "2019-04-01T00:00:00.000+01:00",
"endDate": "2020-03-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": []
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "name",
"code": "mandatory"
},
{
"field": "status",
"code": "typeMismatch"
},
{
"field": "jobPublicationId",
"code": "mandatory"
},
{
"field": "startDate",
"code": "typeMismatch"
},
{
"field": "endDate",
"code": "typeMismatch"
}
],
"errorMsg": "Entity not valid"
}
Get a specific external job publication placement for partner
Update an external job publication placement
get /jobPublicationPlacements/{partner_id}/placements/{id}
Get a specific external job publication placement for partner
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
- id: required (number)
id of the requested external job publication placement
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"id": 1,
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /jobPublicationPlacements/{partner_id}/placements/{id}
Update an external job publication placement
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
- id: required (number)
id of the requested external job publication placement
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"version",
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"name": {
"description": "The display name for the external placement",
"type": "string"
},
"description": {
"description": "additional information that is displayed",
"type": [
"string",
"null"
]
},
"status": {
"description": "Status of external placement",
"enum": [
"ACTIVE",
"INACTIVE",
"IN_PROGRESS"
]
},
"externalReference": {
"description": "Reference for external purposes",
"type": "string"
},
"jobPublicationId": {
"description": "Reference for belonging job publication",
"type": "integer"
},
"startDate": {
"description": "Start date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"endDate": {
"description": "End date of external placement",
"type": [
"string",
"null"
],
"format": "date-time"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the external placement view, e.g. deep back-links to your system.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"version",
"name",
"status",
"externalReference",
"jobPublicationId"
]
}
Example:
{
"version": 1,
"name": "Multiposting: XY",
"description": "30 days period",
"status": "ACTIVE",
"externalReference": "MULTI-XY",
"startDate": "2019-01-01T00:00:00.000+01:00",
"endDate": "2020-12-31T23:59:59.999+01:00",
"jobPublicationId": 3,
"externalLinks": [
{
"label": "Start",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "More Details",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "name",
"code": "mandatory"
},
{
"field": "status",
"code": "typeMismatch"
},
{
"field": "jobPublicationId",
"code": "mandatory"
},
{
"field": "startDate",
"code": "typeMismatch"
},
{
"field": "endDate",
"code": "typeMismatch"
}
],
"errorMsg": "Entity not valid"
}
Delete an external job publication placement
post /jobPublicationPlacements/{partner_id}/placements/{id}/delete
Delete an external job publication placement
URI Parameters
- partner_id: required (string)
Alphanumeric string [a-zA-Z0-9] with 3 - 15 characters
- id: required (number)
id of the external job publication placement that will be deleted
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Job publication channels
Get a specific job publication channel
Update a job publication channel
get /jobPublicationChannels/{id}
Get a specific job publication channel
URI Parameters
- id: required (string)
internal name of the requested job publication channel
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Internal name",
"type": "string"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the job publication channel.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"id",
"version"
]
}
Example:
{
"id": "channelXY",
"version": 1,
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /jobPublicationChannels/{id}
Update a job publication channel
URI Parameters
- id: required (string)
internal name of the requested job publication channel
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the job publication channel.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"version"
]
}
Example:
{
"version": 1,
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Internal name",
"type": "string"
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"externalLinks": {
"type": "array",
"description": "These links are rendered as buttons to the job publication channel.",
"properties": {
"label": {
"type": "string"
},
"url": {
"description": "Url of the external system. Has to start with 'http(s)://'",
"type": "string"
},
"faIcon": {
"description": "A Font Awesome icon of version 5.x that is displayed in regular (with class 'far'). Has to start with 'fa-'. When none given, 'fa-external-link' will be used as icon",
"type": "string"
}
},
"required": [
"label",
"url"
]
}
},
"required": [
"id",
"version"
]
}
Example:
{
"id": "channelXY",
"version": 1,
"externalLinks": [
{
"label": "d.vinci",
"url": "https://www.dvinci.de",
"faIcon": "fa-external-link"
},
{
"label": "d.vinci ATS",
"url": "https://www.dvinci.de/d-vinci-applicant-tracking-system",
"faIcon": "fa-external-link-square"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- url.invalid: The given URL is not valid
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "version",
"code": "mandatory"
},
{
"field": "externalLinks.0.url",
"code": "url.invalid"
}
],
"errorMsg": "Entity not valid"
}
Locations
Get a list of locations.
Create a new location.
get /locations/
Get a list of locations.
Query Parameters
- forJobOpeningByOrgUnitId: (number)
Filter list of locations that can be assigned to job openings of the given organisation unit.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Specify an unique id for further usage with format: [A-Z0-9_]+"
},
"version": {
"type": "integer"
},
"name": {
"type": "string"
},
"externalName": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"country": {
"type": "string"
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"id",
"version",
"name",
"orgUnitId",
"country",
"countryIsoA2",
"latitude",
"longitude",
"additionalInformation",
"nameMessages"
]
}
}
Example:
[
{
"id": "HAMBURG",
"version": 1,
"name": "Hamburg",
"externalName": "Hamburg, St. Pauli",
"orgUnitId": 1,
"isJobLocation": true,
"isDesiredLocation": true,
"isAppointmentLocation": true,
"country": "Deutschland",
"countryIsoA2": "DE",
"address1": "Nagelsweg 37-39",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"latitude": 53.5471,
"longitude": 10.02,
"additionalInformation": "d.vinci HR-Systems GmbH\nNagelsweg 37-39\n20097 Hamburg",
"nameMessages": {
"de": "Hamburg",
"en": "Hamburg"
},
"externalNameMessages": {
"de": "Hamburg, St. Pauli",
"en": "Hamburg, St. Pauli"
}
},
{
"id": "MIAMI",
"version": 2,
"name": "Miami",
"externalName": "Miami, Ocean Drive",
"orgUnitId": 1,
"isJobLocation": true,
"isDesiredLocation": false,
"isAppointmentLocation": true,
"country": "Vereinigte Staaten",
"countryIsoA2": "US",
"address1": "Ocean Dr. 155",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": "FL",
"zipCode": "33139",
"city": "Miami",
"latitude": null,
"longitude": null,
"additionalInformation": null,
"nameMessages": {
"de": "Miami",
"en": "Miami"
},
"externalNameMessages": {
"de": "Miami, Ocean Drive",
"en": "Miami, Ocean Drive"
}
},
{
"id": "ROSENGARDEN",
"version": 3,
"name": "Rosengarten",
"externalName": "Rosengarten, Gartenallee",
"orgUnitId": 2,
"isJobLocation": true,
"isDesiredLocation": true,
"isAppointmentLocation": false,
"country": "Deutschland",
"countryIsoA2": "DE",
"address1": "Am Schulland 2",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "21224",
"city": "Rosengarten",
"latitude": null,
"longitude": null,
"additionalInformation": null,
"nameMessages": {
"de": "Rosengarten",
"en": "Rosengarten"
},
"externalNameMessages": {
"de": "Rosengarten, Gartenallee",
"en": "Rosengarten, Gartenallee"
}
}
]
post /locations/
Create a new location.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Specify an unique id for further usage with format: [A-Z0-9_]+"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"id",
"orgUnitId",
"nameMessages"
]
}
Example:
{
"id": "BERLIN",
"orgUnitId": 1,
"isJobLocation": null,
"isDesiredLocation": false,
"isAppointmentLocation": true,
"address1": "Unter den Linden 77",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "10117",
"city": "Berlin",
"latitude": 52.522254,
"longitude": 13.38666,
"additionalInformation": "Head Office Berlin",
"countryIsoA2": "DE",
"nameMessages": {
"de": "Berlin",
"en": "Berlin"
},
"externalNameMessages": {
"de": "Berlin, Kurfürstendamm",
"en": "Berlin, Kurfürstendamm"
}
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Specify an unique id for further usage with format: [A-Z0-9_]+"
},
"version": {
"type": "integer"
},
"name": {
"type": "string"
},
"externalName": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"country": {
"type": "string"
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"id",
"version",
"name",
"orgUnitId",
"country",
"countryIsoA2",
"latitude",
"longitude",
"additionalInformation",
"nameMessages"
]
}
Example:
{
"id": "HAMBURG",
"version": 1,
"name": "Hamburg",
"externalName": "Hamburg, St. Pauli",
"orgUnitId": 1,
"isJobLocation": false,
"isDesiredLocation": false,
"isAppointmentLocation": true,
"country": "Deutschland",
"countryIsoA2": "DE",
"address1": "Nagelsweg 37-39",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"latitude": 53.5471,
"longitude": 10.02,
"additionalInformation": "d.vinci HR-Systems GmbH\nNagelsweg 37-39\n20097 Hamburg",
"nameMessages": {
"de": "Hamburg",
"en": "Hamburg"
},
"externalNameMessages": {
"de": "Hamburg, St. Pauli",
"en": "Hamburg, St. Pauli"
}
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "name",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Get a specific location
Update a location
get /locations/{id}
Get a specific location
URI Parameters
- id: required (string)
Specified id of the requested location
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Specify an unique id for further usage with format: [A-Z0-9_]+"
},
"version": {
"type": "integer"
},
"name": {
"type": "string"
},
"externalName": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"country": {
"type": "string"
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"id",
"version",
"name",
"orgUnitId",
"country",
"countryIsoA2",
"latitude",
"longitude",
"additionalInformation",
"nameMessages"
]
}
Example:
{
"id": "HAMBURG",
"version": 1,
"name": "Hamburg",
"externalName": "Hamburg, St. Pauli",
"orgUnitId": 1,
"isJobLocation": false,
"isDesiredLocation": false,
"isAppointmentLocation": true,
"country": "Deutschland",
"countryIsoA2": "DE",
"address1": "Nagelsweg 37-39",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"latitude": 53.5471,
"longitude": 10.02,
"additionalInformation": "d.vinci HR-Systems GmbH\nNagelsweg 37-39\n20097 Hamburg",
"nameMessages": {
"de": "Hamburg",
"en": "Hamburg"
},
"externalNameMessages": {
"de": "Hamburg, St. Pauli",
"en": "Hamburg, St. Pauli"
}
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /locations/{id}
Update a location
URI Parameters
- id: required (string)
Specified id of the requested location
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"version",
"nameMessages"
]
}
Example:
{
"version": 5,
"isJobLocation": true,
"isDesiredLocation": true,
"isAppointmentLocation": false,
"address1": "Alexanderplatz 1",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "10178",
"city": "Berlin",
"latitude": 52.522254,
"longitude": 13.38666,
"additionalInformation": "Head Office Berlin",
"countryIsoA2": "DE",
"nameMessages": {
"de": "Berlin",
"en": "Berlin"
},
"externalNameMessages": {
"de": "Berlin, Kurfürstendamm",
"en": "Berlin, Kurfürstendamm"
}
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Specify an unique id for further usage with format: [A-Z0-9_]+"
},
"version": {
"type": "integer"
},
"name": {
"type": "string"
},
"externalName": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"isJobLocation": {
"type": [
"boolean",
"null"
]
},
"isDesiredLocation": {
"type": [
"boolean",
"null"
]
},
"isAppointmentLocation": {
"type": [
"boolean",
"null"
]
},
"country": {
"type": "string"
},
"countryIsoA2": {
"type": [
"string",
"null"
],
"description": "Country name with format: ISO ALPHA-2 Code"
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [
null,
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"number",
"null"
]
},
"longitude": {
"type": [
"number",
"null"
]
},
"additionalInformation": {
"type": [
"string",
"null"
]
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location name translated in the available languages"
},
"externalNameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The location external name for use outside of the d.vinci system, e. g. in job openings or correspondence templates, translated in the available languages"
}
},
"required": [
"id",
"version",
"name",
"orgUnitId",
"country",
"countryIsoA2",
"latitude",
"longitude",
"additionalInformation",
"nameMessages"
]
}
Example:
{
"id": "HAMBURG",
"version": 1,
"name": "Hamburg",
"externalName": "Hamburg, St. Pauli",
"orgUnitId": 1,
"isJobLocation": false,
"isDesiredLocation": false,
"isAppointmentLocation": true,
"country": "Deutschland",
"countryIsoA2": "DE",
"address1": "Nagelsweg 37-39",
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"latitude": 53.5471,
"longitude": 10.02,
"additionalInformation": "d.vinci HR-Systems GmbH\nNagelsweg 37-39\n20097 Hamburg",
"nameMessages": {
"de": "Hamburg",
"en": "Hamburg"
},
"externalNameMessages": {
"de": "Hamburg, St. Pauli",
"en": "Hamburg, St. Pauli"
}
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"allowed": "255",
"field": "name",
"code": "maxSize.exceeded"
},
{
"field": "languageId",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Delete a specific location
post /locations/{id}/delete
Delete a specific location
URI Parameters
- id: required (number)
Specified id of the requested location
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Onboardings
Get a list of all onboardings your api user is permitted to.
get /onboardings/
Get a list of all onboardings your api user is permitted to.
Query Parameters
- status: (one of ACTIVE, FINISHED)
Filter onboardings by state
- orgUnitId: (integer)
Filter onboardings by corresponding organization unit
- applicationId: (integer)
Filter onboardings by corresponding application paper
- fromDateOfStart: (string)
ISO8601 date format (e.g. 2020-08-20), filter onboardings greater than equal entered date
- fromDateOfContract: (string)
ISO8601 date format (e.g. 2020-08-20), filter onboardings greater than equal entered date
- fromDateOfEmployment: (string)
ISO8601 date format (e.g. 2020-08-20), filter onboardings greater than equal entered date
- fromDateOfEnd: (string)
ISO8601 date format (e.g. 2020-08-20), filter onboardings greater than equal entered date
- fromDateCreated: (string)
ISO8601 date-time format (e.g. 2020-08-20T07:45:00Z), filter onboardings greater than equal entered date-time
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"description": "ID of the onboarding",
"type": "integer"
},
"orgUnitId": {
"description": "ID of organization unit linked to the onboarding",
"type": "integer"
},
"status": {
"description": "State of onboarding",
"enum": [
"ACTIVE",
"FINISHED"
]
},
"entryReason": {
"description": "Reason for onboarding",
"enum": [
"NEW_EMPLOYMENT",
"RETURN_AFTER_PARENTAL_LEAVE",
"RETURN_AFTER_LONG_TERM_SICKNESS",
"RETURN_AFTER_SABBATICAL",
"TAKEOVER_AFTER_TRAINING_STUDY",
"INTERNSHIP",
"JOB_CHANGE",
"COMPANY_CHANGE",
"JOB_LOCATION_CHANGE",
"BRANCH_CHANGE",
"TEMPORARY_EMPLOYMENT",
"OTHER"
]
},
"reasonForTermination": {
"description": "Reason for the termination of an onboarding. This property is only set for onboardings with status 'FINISHED'",
"enum": [
"SUCCESSFULLY_FINISHED",
"PREMATURELY_SUCCESSFULLY_FINISHED",
"OFFER_NOT_ACCEPTED",
"RESCINDED_FROM_CONTRACT",
"CONTRACT_TERMINATED_BY_EMPLOYEE_DURING_PROBATION",
"CONTRACT_TERMINATED_BY_EMPLOYER_DURING_PROBATION",
"CONTRACT_TERMINATED_BY_EMPLOYEE",
"CONTRACT_TERMINATED_BY_EMPLOYER",
"EMPLOYMENT_SUSPENDED",
"LONG_TERM_SICKNESS",
"MATERNITY_PATERNITY_OR_PARENTAL_LEAVE",
"INTERNAL_JOB_POSITION_CHANGE",
"OTHER"
]
},
"dateOfStart": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfContract": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfEmployment": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfEnd": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the onboarding",
"type": "string",
"format": "date-time"
},
"personTitle": {
"description": "Title of the person linked to the onboarding",
"type": [
"string",
"null"
]
},
"personSalutation": {
"description": "Salutation of the person linked to the onboarding",
"enum": [
"MR",
"MS",
"MX"
]
},
"personFirstName": {
"description": "First name of the person linked to the onboarding",
"type": "string"
},
"personLastName": {
"description": "Last name of the person linked to the onboarding",
"type": "string"
}
},
"required": [
"id",
"orgUnitId",
"status",
"entryReason",
"dateOfStart",
"dateOfContract",
"dateOfEmployment",
"dateOfEnd",
"dateCreated",
"personSalutation",
"personFirstName",
"personLastName"
]
}
]
}
Example:
[
{
"id": 11,
"orgUnitId": 1,
"status": "FINISHED",
"entryReason": "JOB_CHANGE",
"reasonForTermination": "PREMATURELY_SUCCESSFULLY_FINISHED",
"dateOfStart": "2020-04-22",
"dateOfContract": "2020-04-27",
"dateOfEmployment": "2020-05-02",
"dateOfEnd": "2020-08-05",
"dateCreated": "2020-08-20T07:53:25Z",
"personTitle": "Prof. Dr.",
"personSalutation": "MR",
"personFirstName": "Fritz",
"personLastName": "Fritzgerald"
},
{
"id": 18,
"orgUnitId": 3,
"status": "ACTIVE",
"entryReason": "RETURN_AFTER_PARENTAL_LEAVE",
"reasonForTermination": null,
"dateOfStart": "2020-05-12",
"dateOfContract": "2020-07-01",
"dateOfEmployment": "2020-07-31",
"dateOfEnd": "2020-08-10",
"dateCreated": "2020-08-20T07:53:32Z",
"personTitle": null,
"personSalutation": "MR",
"personFirstName": "Marius",
"personLastName": "Kameramann"
}
]
HTTP status code 403
Lacking permission to access this api method.
Get a specific onboarding
get /onboardings/{id}
Get a specific onboarding
URI Parameters
- id: required (number)
id of the requested onboarding
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "ID of the onboarding",
"type": "integer"
},
"orgUnitId": {
"description": "ID of organization unit linked to the onboarding",
"type": "integer"
},
"status": {
"description": "State of onboarding",
"enum": [
"ACTIVE",
"FINISHED"
]
},
"entryReason": {
"description": "Reason for onboarding",
"enum": [
"NEW_EMPLOYMENT",
"RETURN_AFTER_PARENTAL_LEAVE",
"RETURN_AFTER_LONG_TERM_SICKNESS",
"RETURN_AFTER_SABBATICAL",
"TAKEOVER_AFTER_TRAINING_STUDY",
"INTERNSHIP",
"JOB_CHANGE",
"COMPANY_CHANGE",
"JOB_LOCATION_CHANGE",
"BRANCH_CHANGE",
"TEMPORARY_EMPLOYMENT",
"OTHER"
]
},
"reasonForTermination": {
"description": "Reason for the termination of an onboarding. This property is only set for onboardings with status 'FINISHED'",
"enum": [
null,
"SUCCESSFULLY_FINISHED",
"PREMATURELY_SUCCESSFULLY_FINISHED",
"OFFER_NOT_ACCEPTED",
"RESCINDED_FROM_CONTRACT",
"CONTRACT_TERMINATED_BY_EMPLOYEE_DURING_PROBATION",
"CONTRACT_TERMINATED_BY_EMPLOYER_DURING_PROBATION",
"CONTRACT_TERMINATED_BY_EMPLOYEE",
"CONTRACT_TERMINATED_BY_EMPLOYER",
"EMPLOYMENT_SUSPENDED",
"LONG_TERM_SICKNESS",
"MATERNITY_PATERNITY_OR_PARENTAL_LEAVE",
"INTERNAL_JOB_POSITION_CHANGE",
"OTHER"
]
},
"dateOfStart": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfContract": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfEmployment": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateOfEnd": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": "string"
},
"dateCreated": {
"description": "The creation-date of the onboarding",
"type": "string",
"format": "date-time"
},
"language": {
"description": "Language of the onboarding",
"type": "string"
},
"position": {
"description": "Position of the onboarding",
"type": "string"
},
"personnelNumber": {
"description": "Personnel number of the onboarding",
"type": [
"string",
"null"
]
},
"companyId": {
"description": "Internal name of company",
"type": [
"string",
"null"
]
},
"applicationId": {
"description": "Id of the corresponding application paper",
"type": [
"integer",
"null"
]
},
"person": {
"description": "Person information corresponding to the onboarding",
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"salutation": {
"enum": [
null,
"MR",
"MS",
"MX"
]
},
"firstname": {
"type": [
"string",
"null"
]
},
"lastName": {
"type": [
"string",
"null"
]
},
"dateOfBirth": {
"description": "ISO8601 date format (yyyy-MM-dd)",
"type": [
"string",
"null"
]
},
"email": {
"type": [
"string",
"null"
]
},
"businessEmail": {
"type": [
"string",
"null"
]
},
"telephone": {
"type": [
"string",
"null"
]
},
"alternativeTelephone": {
"type": [
"string",
"null"
]
},
"skypeName": {
"type": [
"string",
"null"
]
},
"profileLink": {
"type": [
"string",
"null"
]
},
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"address5": {
"type": [
"string",
"null"
]
},
"usState": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"country": {
"description": "ISO A2 string of the corresponding country",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"responsibilities": {
"description": "List of responsible users for the onboarding",
"items": {
"properties": {
"id": {
"description": "Internal name of the responsibility",
"type": "string"
},
"responsibilityGroup": {
"description": "Corresponding group for the responsibility",
"enum": [
"SUPERVISOR",
"LINE_MANAGER",
"BUDDY",
"SUPPORTER"
]
},
"responsibleUserId": {
"description": "ID of the responsible user",
"type": "integer"
}
}
},
"type": "array"
},
"additionalInformation": {
"description": "List of all additional information provided for the onboarding",
"items": {
"properties": {
"id": {
"description": "ID of the form",
"type": "string"
},
"fields": {
"items": {
"properties": {
"id": {
"description": "ID of the formField",
"type": "string"
},
"type": {
"description": "Type of the formField",
"enum": [
"TEXT",
"TEXTAREA",
"FIVE_STAR_RATING",
"YES_NO",
"YES_NO_NOT_SPECIFIED",
"SINGLE_CHOICE",
"MULTI_CHOICE",
"IBAN"
]
},
"values": {
"items": {
"description": "List of entered values",
"type": "string"
},
"type": "array"
}
}
},
"type": "array"
}
}
},
"type": "array"
}
},
"required": [
"id",
"orgUnitId",
"status",
"entryReason",
"dateOfStart",
"dateOfContract",
"dateOfEmployment",
"dateOfEnd",
"dateCreated",
"language",
"position",
"person",
"responsibilities"
]
}
Example:
{
"id": 18,
"orgUnitId": 3,
"status": "ACTIVE",
"entryReason": "RETURN_AFTER_PARENTAL_LEAVE",
"reasonForTermination": null,
"dateOfStart": "2020-05-12",
"dateOfContract": "2020-07-01",
"dateOfEmployment": "2020-07-31",
"dateOfEnd": "2020-08-10",
"dateCreated": "2020-08-20T07:53:32Z",
"language": "de",
"position": "Mitarbeiter Human Resource",
"personnelNumber": "Ma-Ka-123",
"companyId": "DVINCI_HRS",
"applicationId": 123,
"person": {
"title": null,
"salutation": "MR",
"firstName": "Marius",
"lastName": "Kameramann",
"dateOfBirth": "2000-05-31",
"email": "michael.mustermann@dvinci.de",
"businessEmail": null,
"telephone": "040 37479970",
"alternativeTelephone": null,
"skypeName": null,
"profileLink": null,
"address1": "z.Hd. Herrn Müller",
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"country": "DE"
},
"responsibilities": [
{
"id": "SUPERVISOR",
"responsibilityGroup": "SUPERVISOR",
"responsibleUserId": 8
},
{
"id": "LINE_MANAGER",
"responsibilityGroup": "LINE_MANAGER",
"responsibleUserId": 8
}
],
"additionalInformation": [
{
"id": "1",
"fields": [
{
"id": "1",
"type": "IBAN",
"values": [
"DE43100500000920018963"
]
},
{
"id": "2",
"type": "TEXT",
"values": [
"BELADEBEXXX"
]
},
{
"id": "3",
"type": "TEXTAREA",
"values": [
"Gehalt\r\nBoni\r\nPrämien"
]
}
]
},
{
"id": "2",
"fields": [
{
"id": "4",
"type": "TEXT",
"values": [
"1234XYZ098"
]
},
{
"id": "5",
"type": "TEXT",
"values": [
"DKV"
]
},
{
"id": "6",
"type": "SINGLE_CHOICE",
"values": [
"Privat"
]
}
]
},
{
"id": "3",
"fields": [
{
"id": "7",
"type": "TEXT",
"values": [
"76"
]
},
{
"id": "8",
"type": "TEXT",
"values": [
"XXS"
]
}
]
}
]
}
HTTP status code 403
Lacking permission to access this api method.
HTTP status code 404
Requested entity or the entity does not exists
Get all attachments for given onboarding id
get /onboardings/{id}/attachments
Get all attachments for given onboarding id
URI Parameters
- id: required (number)
id of the requested onboarding
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment in Bytes.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"employeeFileUpload": {
"description": "Information whether the attachment was uploaded by an employee (true) or an onboarding user (false)",
"type": "boolean"
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType",
"employeeFileUpload"
]
}
}
Example:
[
{
"id": "5f437f0fb202876055c6ac22",
"dateCreated": "2020-08-24T08:49:19.026Z",
"filename": "Mitarbeiter Human Resource.txt",
"fileSize": 45,
"contentType": "text/plain",
"description": "Prozessbeschreibung für Mitarbeiter Human Resource",
"employeeFileUpload": false
},
{
"id": "5f437f0fb202876055c6ac24",
"dateCreated": "2020-08-24T08:49:19.135Z",
"filename": "Mr. Marius Kameramann.txt",
"fileSize": 40,
"contentType": "text/plain",
"description": "Vertragsunterlagen von Mr. Marius Kameramann",
"employeeFileUpload": true
}
]
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Get attachment for given onboarding id and attachment id
get /onboardings/{id}/attachments/{attachmentId}
Get attachment for given onboarding id and attachment id
URI Parameters
- id: required (number)
id of the requested onboarding
- attachmentId: required (string)
id of the requested attachment
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment in Bytes.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"employeeFileUpload": {
"description": "Information whether the attachment was uploaded by an employee (true) or an onboarding user (false)",
"type": "boolean"
},
"contentAsBase64": {
"description": "Content of the attachment file encoded as base64.",
"type": "string"
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType",
"employeeFileUpload",
"contentAsBase64"
]
}
Example:
{
"id": "5f437f0fb202876055c6ac24",
"dateCreated": "2020-08-24T08:49:19.135Z",
"filename": "Mr. Marius Kameramann.txt",
"fileSize": 40,
"contentType": "text/plain",
"description": "Vertragsunterlagen von Mr. Marius Kameramann",
"employeeFileUpload": true,
"contentAsBase64": "<Base64-Attachment-Content>"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Get converted version (always a pdf) of the attachment for given onboarding id and attachment id
get /onboardings/{id}/attachments/{attachmentId}/pdf
Get converted version (always a pdf) of the attachment for given onboarding id and attachment id
URI Parameters
- id: required (number)
id of the requested onboarding
- attachmentId: required (string)
id of the requested attachment
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system.",
"type": "string"
},
"dateCreated": {
"description": "Technical creation date of the attachment.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the attachment.",
"type": "string"
},
"fileSize": {
"description": "File size of the attachment in Bytes.",
"type": "integer"
},
"contentType": {
"description": "Content type of the attachment.",
"type": "string"
},
"description": {
"description": "Description of the attachment.",
"type": "string"
},
"employeeFileUpload": {
"description": "Information whether the attachment was uploaded by an employee (true) or an onboarding user (false)",
"type": "boolean"
},
"contentAsBase64": {
"description": "Content of the attachment file encoded as base64.",
"type": "string"
}
},
"required": [
"id",
"dateCreated",
"filename",
"fileSize",
"contentType",
"employeeFileUpload",
"contentAsBase64"
]
}
Example:
{
"id": "5f437f0fb202876055c6ac24",
"dateCreated": "2020-08-24T08:49:19.135Z",
"filename": "Zeugnisse.pdf",
"fileSize": 8187,
"contentType": "application/pdf",
"description": "Vertragsunterlagen von Mr. Marius Kameramann",
"employeeFileUpload": true,
"contentAsBase64": "<Base64-Attachment-Content>"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Delete a specific onboarding
post /onboardings/{id}/delete
Delete a specific onboarding
URI Parameters
- id: required (number)
id of the requested onboarding to be deleted.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Organisation units
Get a list of all configured organisation units your api user is permitted to.
get /orgUnits/
Get a list of all configured organisation units your api user is permitted to.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parentId": {
"type": ["integer", "null"]
}
},
"required": [
"id",
"name"
]
}
]
}
Example:
[
{
"id": 1,
"name": "Global",
"parentId": null
},
{
"id": 2,
"name": "Deutschland",
"parentId": 1
},
{
"id": 3,
"name": "Hamburg",
"parentId": 2
},
{
"id": 4,
"name": "München",
"parentId": 2
}
]
Get a specific organisation unit
get /orgUnits/{id}
Get a specific organisation unit
URI Parameters
- id: required (number)
id of the requested organisation unit
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parentId": {
"type": ["integer", "null"]
}
},
"required": [
"id",
"name"
]
}
Example:
{
"id": 1,
"name": "Global",
"parentId": null
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Persons
Get a list of permitted persons
Create a new person.
get /persons/
Get a list of permitted persons
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's stury",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
},
"keywords": {
"description": "Person's list of keywords",
"items": {
"type": ["string"]
},
"type": "array"
},
"applications": {
"description": "Person's list of applications",
"items": {
"description": "",
"properties": {
"externalId": {
"description": "Optional external id of application",
"type": ["string", "null"]
},
"id": {
"description": "Identifier of application",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"firstName",
"lastName"
]
}
}
Example:
[
{
"id": 1,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"version": 1,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": [],
"keywords": ["Recruiting Specialist", "Lean Recruiting"],
"applications": [
{
"id": 1,
"externalId": null
},
{
"id": 2,
"externalId": "5750B1E0-EEED-4ZU39-B2a3-F49BDD"
}
]
},
{
"id": 2,
"externalId": null,
"version": 2,
"salutation": null,
"title": null,
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": null,
"address1": null,
"address2": null,
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": null,
"city": null,
"countryIsoA2": null,
"email": null,
"telephone": null,
"alternativeTelephone": null,
"skypeName": null,
"profileLink": null,
"degreeId": null,
"education": null,
"study": null,
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"],
"keywords": [],
"applications": []
}
]
HTTP status code 403
Lacking permission to access this api method.
post /persons/
Create a new person.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
}
},
"required": [
"firstName",
"lastName"
]
}
Example:
{
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
},
"keywords": {
"description": "Person's list of keywords",
"items": {
"type": ["string"]
},
"type": "array"
},
"applications": {
"description": "Person's list of applications",
"items": {
"description": "",
"properties": {
"externalId": {
"description": "Optional external id of application",
"type": ["string", "null"]
},
"id": {
"description": "Identifier of application",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"firstName",
"lastName"
]
}
Example:
{
"id": 1,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"version": 1,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"],
"keywords": ["Recruiting Specialist", "Lean Recruiting"],
"applications": [
{
"id": 1,
"externalId": null
},
{
"id": 2,
"externalId": "5750B1E0-EEED-4ZU39-B2a3-F49BDD"
}
]
}
HTTP status code 422
This error is caused by validation errors of the given data
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- email.invalid: The given email is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "dateOfBirth",
"code": "dateInFuture"
},
{
"allowed": "255",
"field": "firstName",
"code": "maxSize.exceeded"
},
{
"field": "lastName",
"code": "mandatory"
},
{
"field": "email",
"code": "email.invalid"
},
{
"field": "profileLink",
"code": "url.invalid"
},
{
"field": "countryIsoA2",
"code": "countryNotFound"
},
{
"field": "address1",
"code": "countryNotSpecified"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Get a person with given externalId.
get /persons/?externalId={externalId}
Get a person with given externalId.
URI Parameters
- externalId: required (string)
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
},
"keywords": {
"description": "Person's list of keywords",
"items": {
"type": ["string"]
},
"type": "array"
},
"applications": {
"description": "Person's list of applications",
"items": {
"description": "",
"properties": {
"externalId": {
"description": "Optional external id of application",
"type": ["string", "null"]
},
"id": {
"description": "Identifier of application",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"firstName",
"lastName"
]
}
Example:
{
"id": 1,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"version": 1,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"],
"keywords": ["Recruiting Specialist", "Lean Recruiting"],
"applications": [
{
"id": 1,
"externalId": null
},
{
"id": 2,
"externalId": "5750B1E0-EEED-4ZU39-B2a3-F49BDD"
}
]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 404
Requested entity or the entity does not exists
Get a specific person
Update a person
get /persons/{id}
Get a specific person
URI Parameters
- id: required (number)
id of the requested person
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
},
"keywords": {
"description": "Person's list of keywords",
"items": {
"type": ["string"]
},
"type": "array"
},
"applications": {
"description": "Person's list of applications",
"items": {
"description": "",
"properties": {
"externalId": {
"description": "Optional external id of application",
"type": ["string", "null"]
},
"id": {
"description": "Identifier of application",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"firstName",
"lastName"
]
}
Example:
{
"id": 1,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"version": 1,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"],
"keywords": ["Recruiting Specialist", "Lean Recruiting"],
"applications": [
{
"id": 1,
"externalId": null
},
{
"id": 2,
"externalId": "5750B1E0-EEED-4ZU39-B2a3-F49BDD"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /persons/{id}
Update a person
URI Parameters
- id: required (number)
id of the requested person
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
}
},
"required": [
"version",
"firstName",
"lastName"
]
}
Example:
{
"version": 3,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"description": "Property is not settable - only returned by the system",
"type": "integer"
},
"externalId": {
"description": "Can be used to identify this resource in other systems. Must be unique or null.",
"type": ["string", "null"]
},
"version": {
"description": "Mandatory for all PUT requests",
"type": "integer"
},
"salutation": {
"description": "Person's salutation",
"enum": ["MS", "MR", "MX", null]
},
"title": {
"description": "Person title",
"type": ["string", "null"]
},
"firstName": {
"description": "Person's first name",
"type": "string"
},
"lastName": {
"description": "Person's last name",
"type": "string"
},
"dateOfBirth": {
"description": "Person's date of birth. Can be 'null' or ISO8601 date format (yyyy-MM-dd).",
"type": ["string", "null"]
},
"address1": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address2": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address3": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address4": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"address5": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"usState": {
"description": "Address-Field: Can only be set if countryIsoA2 is set to 'US'",
"enum": [null, "AL", "AK", "AZ", "AR","CA", "CO", "CT","DE", "DC","FL","GA","HI","ID", "IL", "IN", "IA","KS", "KY","LA","ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT","NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND","OH", "OK", "OR","PA","RI","SC", "SD","TN", "TX","UT","VT", "VA","WA", "WV", "WI", "WY"]
},
"zipCode": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"city": {
"description": "Address-Field: Can only be set if countryIsoA2 is set.",
"type": ["string", "null"]
},
"countryIsoA2": {
"description": "Address-Field: IsoA2 abbr. of person's country.",
"type": ["string", "null"]
},
"email": {
"description": "Person's email",
"type": ["string", "null"]
},
"telephone": {
"description": "Person's telephone",
"type": ["string", "null"]
},
"alternativeTelephone": {
"description": "Person's alternative telephone",
"type": ["string", "null"]
},
"skypeName": {
"description": "Person's skype name",
"type": ["string", "null"]
},
"profileLink": {
"description": "Person's profile link",
"type": ["string", "null"]
},
"degreeId": {
"description": "Person's degree - must match a configured internal-name of degree master data.",
"type": ["string", "null"]
},
"education": {
"description": "Vocational Education",
"type": ["string", "null"]
},
"study": {
"description": "Person's study",
"type": ["string", "null"]
},
"lastPosition": {
"description": "Person's last position",
"type": ["string", "null"]
},
"specialMarkIds": {
"description": "List of special marks of person by internal-name.",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"specialMarkIA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Internal Applicant')",
"type": "boolean"
},
"specialMarkDIS": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Severely Disabled Applicant')",
"type": "boolean"
},
"specialMarkREL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Relatives Within Company')",
"type": "boolean"
},
"specialMarkVIP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'VIP Applicant')",
"type": "boolean"
},
"specialMarkREF": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Employee Referral')",
"type": "boolean"
},
"specialMarkHRP": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'HR Services Provider')",
"type": "boolean"
},
"specialMarkBL": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Blacklist')",
"type": "boolean"
},
"specialMarkGPA": {
"description": "Deprecated! Use property 'specialMarkIds' instead. (Special Characteristic: 'Group of Companies Applicant')",
"type": "boolean"
},
"keywords": {
"description": "Person's list of keywords",
"items": {
"type": ["string"]
},
"type": "array"
},
"applications": {
"description": "Person's list of applications",
"items": {
"description": "",
"properties": {
"externalId": {
"description": "Optional external id of application",
"type": ["string", "null"]
},
"id": {
"description": "Identifier of application",
"type": "integer"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"firstName",
"lastName"
]
}
Example:
{
"id": 1,
"externalId": "0750A1E0-EDED-4EB9-B923-F4FF39BC1",
"version": 1,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"dateOfBirth": "1978-02-12",
"address1": null,
"address2": "Nagelsweg 37",
"address3": null,
"address4": null,
"address5": null,
"usState": null,
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"email": "michael.mustermann@dvinci.de",
"telephone": "040/37479970",
"alternativeTelephone": null,
"skypeName": "dvinci_hrs",
"profileLink": "https://www.facebook.com/dvinci.recruitingloesungen/",
"degreeId": "PROMOTION",
"education": null,
"study": "Informatics",
"lastPosition": null,
"specialMarkIds": ["SYS_SEVERELY_DISABLED_APPLICANT", "EMPLOYEE_REFERRAL"],
"keywords": ["Recruiting Specialist", "Lean Recruiting"],
"applications": [
{
"id": 1,
"externalId": null
},
{
"id": 2,
"externalId": "5750B1E0-EEED-4ZU39-B2a3-F49BDD"
}
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- email.invalid: The given email is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "dateOfBirth",
"code": "dateInFuture"
},
{
"allowed": "255",
"field": "firstName",
"code": "maxSize.exceeded"
},
{
"field": "lastName",
"code": "mandatory"
},
{
"field": "email",
"code": "email.invalid"
},
{
"field": "profileLink",
"code": "url.invalid"
},
{
"field": "countryIsoA2",
"code": "countryNotFound"
},
{
"field": "address1",
"code": "countryNotSpecified"
},
{
"field": "externalId",
"code": "uniqueOrNull.invalid"
}
],
"errorMsg": "Entity not valid"
}
Delete a specific person
post /persons/{id}/delete
Delete a specific person
URI Parameters
- id: required (number)
id of the requested person
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Get photo for a specified person
Add a photo for a specified person
get /persons/{id}/photo
Get photo for a specified person
URI Parameters
- id: required (number)
id of the requested person
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"contentType": {
"description": "Content type of the photo.",
"type": "string"
},
"fileSize": {
"description": "File size of the photo.",
"type": "integer"
},
"dateCreated": {
"description": "Technical creation date of the photo.",
"type": "string",
"format": "date-time"
},
"filename": {
"description": "File name of the photo.",
"type": "string"
},
"contentAsBase64": {
"description": "Content of the photo encoded as base64.",
"type": "string"
}
},
"required": [
"contentType",
"fileSize",
"dateCreated",
"filename",
"contentAsBase64"
]
}
Example:
{
"contentType": "image/png",
"fileSize": 585558,
"dateCreated": "2017-05-10T08:27:05.579Z",
"filename": "photo.jpg",
"contentAsBase64": "<Base64-Image-Content>"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 404
Requested entity or the entity does not exists
post /persons/{id}/photo
Add a photo for a specified person
URI Parameters
- id: required (number)
id of the requested person
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"filename": {
"description": "File name of the photo.",
"type": "string"
},
"contentAsBase64": {
"description": "Content of the photo file encoded as base64.",
"type": "string"
}
},
"required": [
"filename",
"contentAsBase64"
]
}
Example:
{
"filename": "photo.jpg",
"contentAsBase64": "<Base64-Image-Content>"
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "filename",
"code": "mandatory"
},
{
"field": "contentAsBase64",
"code": "mandatory"
},
{
"field": "contentAsBase64",
"code": "maxFileSize"
}
],
"errorMsg": "Entity not valid"
}
Delete photo for a specified person
post /persons/{id}/photo/delete
Delete photo for a specified person
URI Parameters
- id: required (number)
id of the requested person
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
Roles
Get a list of roles.
get /dvinciRoles/
Get a list of roles.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"globalId": {
"type": "string"
},
"internalName": {
"type": "string"
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The name translated in available languages"
},
"systemFlag": {
"type": "boolean"
},
"userRole": {
"type": "boolean"
},
"childrenGlobalIds": {
"description": "List of included roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"scope": {
"enum": [
"BMS",
"ONB",
"EVM",
"PLT"
]
},
"securityLevel": {
"enum": [
"LOW",
"NORMAL",
"HIGH",
"VERY_HIGH"
]
},
"orgUnitLevelGlobalId": {
"type": [
"string",
"null"
]
},
"orgUnitLevelInternalName": {
"type": [
"string",
"null"
]
}
},
"required": [
"globalId",
"internalName",
"nameMessages",
"systemFlag",
"userRole",
"childrenGlobalIds",
"scope",
"securityLevel",
"orgUnitLevelGlobalId",
"orgUnitLevelInternalName"
]
}
]
}
Example:
[
{
"globalId": "db42c6ea-6205-48d7-bb0e-234800fe8ad0",
"internalName": "DVINCI_ROLE_1",
"nameMessages": {
"de": "d.vinci Rolle 1",
"en": "d.vinci role 1"
},
"systemFlag": false,
"userRole": true,
"childrenGlobalIds": ["c3fb0214-d72a-482c-b7e2-7a70ef8826b2"],
"scope": "BMS",
"securityLevel": "LOW",
"orgUnitLevelGlobalId": "73db4a3f-ee13-497d-8346-9d91326ef831",
"orgUnitLevelInternalName": "ORG_UNIT_LEVEL_0"
},
{
"globalId": "c3fb0214-d72a-482c-b7e2-7a70ef8826b2",
"internalName": "DVINCI_ROLE_2",
"nameMessages": {
"de": "d.vinci Rolle 2",
"en": "d.vinci role 2"
},
"systemFlag": false,
"userRole": true,
"childrenGlobalIds": [],
"scope": "BMS",
"securityLevel": "HIGH",
"orgUnitLevelGlobalId": "a263b4d0-cc89-4eb6-8917-5120803984cf",
"orgUnitLevelInternalName": "ORG_UNIT_LEVEL_1"
}
]
HTTP status code 403
Lacking permission to access this api method
Get a specific dvinci role
get /dvinciRoles/{globalId}
Get a specific dvinci role
URI Parameters
- globalId: required (string)
globalId of the requested dvinci role
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"globalId": {
"type": "string"
},
"internalName": {
"type": "string"
},
"nameMessages": {
"type": "object",
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"description": "The name translated in available languages"
},
"systemFlag": {
"type": "boolean"
},
"userRole": {
"type": "boolean"
},
"childrenGlobalIds": {
"description": "List of included roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"scope": {
"enum": [
"BMS",
"ONB",
"EVM",
"PLT"
]
},
"securityLevel": {
"enum": [
"LOW",
"NORMAL",
"HIGH",
"VERY_HIGH"
]
},
"orgUnitLevelGlobalId": {
"type": [
"string",
"null"
]
},
"orgUnitLevelInternalName": {
"type": [
"string",
"null"
]
}
},
"required": [
"globalId",
"internalName",
"nameMessages",
"systemFlag",
"userRole",
"childrenGlobalIds",
"scope",
"securityLevel",
"orgUnitLevelGlobalId",
"orgUnitLevelInternalName"
]
}
Example:
{
"globalId": "db42c6ea-6205-48d7-bb0e-234800fe8ad0",
"internalName": "DVINCI_ROLE_1",
"nameMessages": {
"de": "d.vinci Rolle 1",
"en": "d.vinci role 1"
},
"systemFlag": false,
"userRole": true,
"childrenGlobalIds": ["c3fb0214-d72a-482c-b7e2-7a70ef8826b2"],
"scope": "BMS",
"securityLevel": "LOW",
"orgUnitLevelGlobalId": "73db4a3f-ee13-497d-8346-9d91326ef831",
"orgUnitLevelInternalName": "ORG_UNIT_LEVEL_0"
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
Users
Get a list of users.
Add a new dvinci user
get /dvinciUsers/
Get a list of users.
Query Parameters
- lang: (string)
Use given locale for Translations. If not defined the locale/language of the api user is used. Supported fields: displayName Returns HTTP Status Error 422, if passed locale is not supported.
Example:
* en * de_DE
- externalId: (string)
Filter list by given dvinci user externalId.
- forJobOpeningByOrgUnitId: (number)
Filter list by users that can be selected as responsible users for job openings of the given organisation unit.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"username": {
"type": "string"
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"displayName": {
"type": "string"
},
"email": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
},
"authorizedRepresentative": {
"type": "boolean"
}
},
"required": [
"id",
"version",
"externalId",
"username",
"samlSsoEnabled",
"formAuthenticationEnabled",
"salutation",
"title",
"firstName",
"lastName",
"displayName",
"email",
"orgUnitId",
"languageId",
"street",
"number",
"additionalAddress",
"zipCode",
"city",
"countryIsoA2",
"timeZone",
"telephone",
"mobile",
"companyId",
"division",
"dailyEmailNotification",
"dailyEmailNotificationTypes",
"notifyOnNewCandidateCommunication",
"roleIds",
"userGroupIds",
"dataForExternalSystems"
]
}
]
}
Example:
[
{
"id": 5,
"version": 0,
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"displayName": "Frau Michaela Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Geschäftsführer",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
],
"authorizedRepresentative": false
},
{
"id": 6,
"version": 2,
"externalId": "HH-ID",
"username": "user_lm",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MR",
"title": "Dr.",
"firstName": "Hans",
"lastName": "Hauser",
"displayName": "Herr Hans Hauser",
"email": "hans.hauser@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "19-20",
"additionalAddress": "3. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654987",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Marketing",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"LM"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [],
"authorizedRepresentative": false
}
]
HTTP status code 403
Lacking permission to access this api method
post /dvinciUsers/
Add a new dvinci user
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"username": {
"type": "string"
},
"externalId": {
"type": [
"string",
"null"
]
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"email": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
}
},
"required": [
"username",
"salutation",
"firstName",
"lastName",
"email",
"orgUnitId",
"languageId",
"roleIds"
]
}
Example:
{
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"username": {
"type": "string"
},
"externalId": {
"type": [
"string",
"null"
]
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"displayName": {
"type": "string"
},
"email": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
},
"authorizedRepresentative": {
"type": "boolean"
}
},
"required": [
"id",
"version",
"externalId",
"username",
"samlSsoEnabled",
"formAuthenticationEnabled",
"salutation",
"title",
"firstName",
"lastName",
"displayName",
"email",
"orgUnitId",
"languageId",
"street",
"number",
"additionalAddress",
"zipCode",
"city",
"countryIsoA2",
"timeZone",
"telephone",
"mobile",
"companyId",
"division",
"dailyEmailNotification",
"dailyEmailNotificationTypes",
"notifyOnNewCandidateCommunication",
"roleIds",
"userGroupIds",
"dataForExternalSystems"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"displayName": "Frau Michaela Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
],
"authorizedRepresentative": false
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "email",
"code": "mandatory"
},
{
"field": "firstName",
"code": "mandatory"
},
{
"field": "lastName",
"code": "mandatory"
},
{
"field": "username",
"code": "mandatory"
},
{
"field": "salutation",
"code": "mandatory"
},
{
"field": "orgUnitId",
"code": "mandatory"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "roleIds",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Get a specific dvinci user
Update a dvinci user
get /dvinciUsers/{id}
Get a specific dvinci user
URI Parameters
- id: required (number)
id of the requested dvinci user
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"username": {
"type": "string"
},
"externalId": {
"type": [
"string",
"null"
]
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"displayName": {
"type": "string"
},
"email": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
},
"authorizedRepresentative": {
"type": "boolean"
}
},
"required": [
"id",
"version",
"externalId",
"username",
"samlSsoEnabled",
"formAuthenticationEnabled",
"salutation",
"title",
"firstName",
"lastName",
"displayName",
"email",
"orgUnitId",
"languageId",
"street",
"number",
"additionalAddress",
"zipCode",
"city",
"countryIsoA2",
"timeZone",
"telephone",
"mobile",
"companyId",
"division",
"dailyEmailNotification",
"dailyEmailNotificationTypes",
"notifyOnNewCandidateCommunication",
"roleIds",
"userGroupIds",
"dataForExternalSystems"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"displayName": "Frau Michaela Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
],
"authorizedRepresentative": false
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /dvinciUsers/{id}
Update a dvinci user
URI Parameters
- id: required (number)
id of the requested dvinci user
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "integer"
},
"username": {
"type": "string"
},
"externalId": {
"type": [
"string",
"null"
]
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"email": {
"type": "string"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
}
},
"required": [
"version",
"username",
"salutation",
"firstName",
"lastName",
"email",
"languageId",
"roleIds"
]
}
Example:
{
"version": 2,
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
],
"authorizedRepresentative": false
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"username": {
"type": "string"
},
"externalId": {
"type": [
"string",
"null"
]
},
"samlSsoEnabled": {
"type": "boolean"
},
"formAuthenticationEnabled": {
"type": "boolean"
},
"salutation": {
"enum": [
"MR",
"MS",
"MX"
]
},
"title": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"displayName": {
"type": "string"
},
"email": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
},
"languageId": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"string",
"null"
]
},
"additionalAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"countryIsoA2": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"telephone": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"companyId": {
"type": [
"string",
"null"
]
},
"signingAuthority": {
"type": [
"string",
"null"
]
},
"positionAuthority": {
"type": [
"string",
"null"
]
},
"division": {
"type": [
"string",
"null"
]
},
"dailyEmailNotification": {
"type": "boolean"
},
"dailyEmailNotificationTypes": {
"enum": [
"NEW_APPLICATIONS",
"OVERDUE_TASKS",
"EXPIRING_JOB_PUBLICATION_PLACEMENTS",
"EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
]
},
"notifyOnNewCandidateCommunication": {
"type": "boolean"
},
"roleIds": {
"description": "List of roles",
"items": {
"type": [
"string"
]
},
"type": "array"
},
"userGroupIds": {
"description": "List of user group ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"dataForExternalSystems": {
"description": "Fields and values are freely configurable in d.vinci application",
"properties": {
"field": {
"type": [
"string"
]
},
"value": {
"type": [
"string"
]
}
},
"type": "array"
},
"authorizedRepresentative": {
"type": "boolean"
}
},
"required": [
"id",
"version",
"externalId",
"username",
"samlSsoEnabled",
"formAuthenticationEnabled",
"salutation",
"title",
"firstName",
"lastName",
"displayName",
"email",
"orgUnitId",
"languageId",
"street",
"number",
"additionalAddress",
"zipCode",
"city",
"countryIsoA2",
"timeZone",
"telephone",
"mobile",
"companyId",
"division",
"dailyEmailNotification",
"dailyEmailNotificationTypes",
"notifyOnNewCandidateCommunication",
"roleIds",
"userGroupIds",
"dataForExternalSystems"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "MM-ID",
"username": "user_hr",
"samlSsoEnabled": true,
"formAuthenticationEnabled": true,
"salutation": "MS",
"title": "Dr.",
"firstName": "Michaela",
"lastName": "Musterfrau",
"displayName": "Frau Michaela Musterfrau",
"email": "michael.mustermann@dvinci.de",
"orgUnitId": 1,
"languageId": "de",
"street": "Hammerweg",
"number": "16-18",
"additionalAddress": "5. Stock",
"zipCode": "20097",
"city": "Hamburg",
"countryIsoA2": "DE",
"timeZone": "Europe/Berlin",
"telephone": "040 37654970",
"mobile": "0160 123456",
"companyId": "COMPANY_XY",
"signingAuthority": "i. A.",
"positionAuthority": "Pesonalleiter",
"division": "Human Resources",
"dailyEmailNotification": true,
"dailyEmailNotificationTypes": [
"NEW_APPLICATIONS", "OVERDUE_TASKS", "EXPIRING_JOB_PUBLICATION_PLACEMENTS", "EXPIRING_EXTERNAL_JOB_PUBLICATION_PLACEMENTS"
],
"notifyOnNewCandidateCommunication": true,
"roleIds": [
"HR"
],
"userGroupIds": [
1
],
"dataForExternalSystems": [
{
"field": "ext_user",
"value": "ext_user_hr"
},
{
"field": "token",
"value": "123454321"
}
],
"authorizedRepresentative": false
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- email.invalid: The given email is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "email",
"code": "mandatory"
},
{
"field": "firstName",
"code": "mandatory"
},
{
"field": "lastName",
"code": "mandatory"
},
{
"field": "username",
"code": "mandatory"
},
{
"field": "salutation",
"code": "mandatory"
},
{
"field": "orgUnitId",
"code": "mandatory"
},
{
"field": "languageId",
"code": "mandatory"
},
{
"field": "roleIds",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Delete dvinci user
post /dvinciUsers/{id}/delete
Delete dvinci user
URI Parameters
- id: required (number)
id of the requested dvinci user
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}
User groups
Get a list of user groups.
Add a new user group
get /userGroups/
Get a list of user groups.
Query Parameters
- forJobOpeningByOrgUnitId: (number)
Filter list to user groups that can be assigned to job openings of the given organisation unit.
- externalId: (string)
Filter list by given user group externalId.
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
}
},
"userIds": {
"description": "List of user ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"required": [
"id",
"version",
"name",
"orgUnitId"
]
}
]
}
Example:
[
{
"id": 1,
"version": 1,
"externalId": null,
"name": "User Group HR",
"orgUnitId": 1,
"userIds": [
1,
2,
5
]
},
{
"id": 2,
"version": 3,
"externalId": "FBG",
"name": "User Group LM",
"orgUnitId": 1,
"userIds": []
},
{
"id": 3,
"version": 1,
"externalId": null,
"name": "User Group LM Hamburg",
"orgUnitId": 1,
"userIds": [
5
]
}
]
HTTP status code 403
Lacking permission to access this api method
post /userGroups/
Add a new user group
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"externalId": {
"type": [
"string",
"null"
]
}
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": [
"integer"
]
},
"userIds": {
"description": "List of user ids",
"items": {
"type": "integer"
},
"type": "array"
},
"required": [
"name",
"orgUnitId"
]
}
Example:
{
"externalId": "HRG-ID",
"name": "User Group HR",
"orgUnitId": 1,
"userIds": [
1,
2,
5
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
}
},
"userIds": {
"description": "List of user ids",
"items": {
"type": "integer"
},
"type": "array"
},
"required": [
"id",
"version",
"name",
"orgUnitId"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "HRG-ID",
"name": "User Group HR",
"orgUnitId": 1,
"userIds": [
1,
2,
5
]
}
HTTP status code 403
Lacking permission to access this api method
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "version",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Get a specific user group
Update a user group
get /userGroups/{id}
Get a specific user group
URI Parameters
- id: required (number)
id of the requested user group
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
}
},
"userIds": {
"description": "List of user ids",
"items": {
"type": "integer"
},
"type": "array"
},
"required": [
"id",
"version",
"name",
"orgUnitId"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "HRG-ID",
"name": "User Group HR",
"orgUnitId": 1,
"userIds": [
1,
2,
5
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
put /userGroups/{id}
Update a user group
URI Parameters
- id: required (number)
id of the requested user group
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": [
"integer",
"null"
]
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": [
"integer",
"null"
]
}
},
"userIds": {
"description": "List of user ids",
"items": {
"type": [
"integer"
]
},
"type": "array"
},
"required": [
"name",
"version"
]
}
Example:
{
"version": 0,
"externalId": "HRG-ID2",
"name": "User Group HR",
"userIds": [
1,
2,
5,
7
]
}
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"version": {
"type": "integer"
},
"externalId": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"orgUnitId": {
"type": "integer"
}
},
"userIds": {
"description": "List of user ids",
"items": {
"type": "integer"
},
"type": "array"
},
"required": [
"id",
"version",
"name",
"orgUnitId"
]
}
Example:
{
"id": 5,
"version": 0,
"externalId": "HRG-ID",
"name": "User Group HR",
"orgUnitId": 1,
"userIds": [
1,
2,
5
]
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 409
Concurrent modification error: The passed version is lower then in the database - update the data and retry with a newer version.
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"errorMsg": "ConcurrentModification: yourEntity.version < serverEntity.version. GET the newest data first and retry request with newest version."
}
HTTP status code 422
This error is caused by validation errors of the given data.
- mandatory: The property is mandatory
- matches.invalid: The given value does not match the required format
- maxSize.exceeded: The string has exceeded the maximal allowed size
- email.invalid: The given email is not valid
- valueNotPermitted: The given value is not accessible
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fieldErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowed": {
"type": "string"
},
"notAllowed": {
"type": "string"
},
"field": {
"type": "string"
},
"code": {
"type": "string"
}
},
"required": [
"field",
"code"
]
}
},
"errorMsg": {
"type": "string"
}
},
"required": [
"errorMsg"
]
}
Example:
{
"fieldErrors": [
{
"field": "version",
"code": "mandatory"
}
],
"errorMsg": "Entity not valid"
}
Delete user group
post /userGroups/{id}/delete
Delete user group
URI Parameters
- id: required (number)
id of the requested user group
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
Example:
{
"success": true
}
HTTP status code 403
Lacking permission to access this api method or requested entity or the entity/id does not exists
HTTP status code 422
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"errorMsg": {
"type": "string"
}
},
"required": [
"success",
"errorMsg"
]
}
Example:
{
"success": false,
"errorMsg": "Error while deleting entity"
}