- Overview
-
Rest API Schemas
- Application schema
- Application message request
- Application message response
- Application reject request
- Application reject response
- Candidate schema
- Candidate get response
- Candidate search request
- Candidate search response
- Dossier schema
- Dossier get response
- Dossier search request
- Dossier search response
- Profile schema
- Profile get response
- Publication schema
- Publication publish request
- Publication publish response
- Publication get response
- Publication abort response
-
Integration API Schemas
- Application schema
- Application apply request
- Application apply response
- Application message request
- Application message response
- Application retract request
- Application retract response
- Application update request
- Application update response
- Publication schema
- Publication fetch response
- Publication fetched response
- Resource Schemas
- Error Schemas
Publication schema
Job publication schema definitions
JSON schema
{
"$schema": "http://json-schema.org/draft-04/schema",
"id": "http://api.xeebo.com/schema/xeebo-rest-publication-schema-v1.0.0.json",
"title": "Publication schema",
"description": "Job publication schema definitions",
"type": "object",
"definitions": {
"versionType": {
"title": "Schema Version",
"description": "Schema version string",
"type": "string",
"pattern": "^[0-9]\\.[0-9]\\.[0-9]$"
},
"idType": {
"title": "Identifier",
"description": "Company, job or publication identifier",
"type": "string"
},
"isoDatetimeType": {
"title": "Datetime",
"description": "ISO datetime string",
"type": [
"string",
"null"
],
"format": "datetime"
},
"countryCodeType": {
"title": "Country code",
"description": "An iso-3166-alpha-2 country code",
"type": [
"string",
"null"
]
},
"textType": {
"title": "Text",
"description": "Text including text linebreaks, e.g. \n",
"type": [
"string",
"null"
]
},
"textLineType": {
"title": "TextLine",
"description": "Text without linebreaks",
"type": [
"string",
"null"
]
},
"htmlSimpleType": {
"title": "Simple HTML",
"description": "HTML including the following elements <br />, <p>, <ul>, <li>, <b>",
"type": [
"string",
"null"
]
},
"comNameType": {
"title": "Company identifier (company id, not real company name)",
"description": "The xeebo company identifier. Same as used in your company profile page url.",
"$ref": "#/definitions/idType"
},
"jobNameType": {
"title": "Job identifier",
"description": "A unique job identifier given from your system",
"$ref": "#/definitions/idType"
},
"pubNameType": {
"title": "Publication identifier",
"description": "A unique publication identifier given from your system",
"$ref": "#/definitions/idType"
},
"categoryType": {
"title": "Category Type",
"description": "Job category types, see categories.json",
"type": "array",
"items": {
"type": "string"
}
},
"sectorType": {
"title": "Sector Type",
"description": "Company sector types, see sectors.json",
"type": "array",
"items": {
"type": "string"
}
},
"headlineType": {
"title": "Publication headline",
"description": "The publication headline",
"$ref": "#/definitions/textLineType"
},
"introType": {
"title": "Publication intro",
"description": "The publication intro text",
"$ref": "#/definitions/htmlSimpleType"
},
"titleType": {
"title": "Job title",
"description": "The publication job title (required)",
"type": "string"
},
"captionType": {
"title": "Job title caption",
"description": "The publication job title caption aka sub title",
"$ref": "#/definitions/textLineType"
},
"descriptionType": {
"title": "Job description",
"description": "The publication description text",
"$ref": "#/definitions/htmlSimpleType"
},
"requirementType": {
"title": "Job requirement",
"description": "The job requirement text",
"$ref": "#/definitions/htmlSimpleType"
},
"dutyType": {
"title": "Job duty",
"description": "The job duty text",
"$ref": "#/definitions/htmlSimpleType"
},
"benefitType": {
"title": "Job benefit",
"description": "The job benefit text",
"$ref": "#/definitions/htmlSimpleType"
},
"infoType": {
"title": "Job info",
"description": "The job info text",
"$ref": "#/definitions/htmlSimpleType"
},
"summaryType": {
"title": "Job summary",
"description": "The job summary text",
"$ref": "#/definitions/htmlSimpleType"
},
"footerType": {
"title": "Publication footer",
"description": "The publication footer text",
"$ref": "#/definitions/htmlSimpleType"
},
"categoriesType": {
"title": "Job categories",
"description": "A list of job categories",
"$ref": "#/definitions/categoryType"
},
"sectorsType": {
"title": "Company sectors",
"description": "A list of company sectors",
"$ref": "#/definitions/sectorType"
},
"employmentType": {
"title": "Job employment type",
"description": "The job employment type",
"type": [
"string",
"null"
],
"enum": [
"permanent",
"temporary",
"apprenticeship",
"internship",
"tryout",
"holiday",
"freelance",
"supplementary"
]
},
"occupationType": {
"title": "Occupation",
"description": "The occupation (simple job name)",
"type": "string"
},
"workloadType": {
"title": "Job workload",
"description": "The job workload given as min and max integer",
"type": "object",
"properties": {
"min": {
"title": "Minimal amount of workload",
"description": "Minimal amount of workload in percent",
"type": [
"integer",
"null"
],
"enum": [
0,
10,
20,
30,
40,
50,
60,
70,
80,
90,
100
]
},
"max": {
"title": "Maximal workload",
"description": "Maximal amount of workload in percent",
"type": [
"integer",
"null"
],
"enum": [
10,
20,
30,
40,
50,
60,
70,
80,
90,
100
]
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"careerStatusType": {
"title": "Career status",
"description": "The minmal career status reuqired for this job. 10:Learner, 20:Student 30:Job Beginner 40:Professional experienced 50:Supervisor 60:Manager 70:Director",
"type": "string",
"enum": [
"10",
"20",
"30",
"40",
"50",
"60",
"70"
]
},
"positionType": {
"title": "Postion type",
"description": "The job position type. 10:Employee, 20:Position with responsibilities, 30:Executive position",
"type": "string",
"enum": [
"10",
"20",
"30"
]
},
"workExperienceYearsType": {
"title": "Work experience years",
"description": "The minimal work experience years required for this job",
"type": "integer"
},
"minimalAgeYears": {
"title": "Minimal age",
"description": "The minimal age in years required for this job",
"type": "integer"
},
"skillsType": {
"title": "Skills",
"description": "A list of skills required for this job",
"type": "array",
"items": {
"type": "string"
}
},
"educationFieldType": {
"title": "Eduction Field",
"description": "The international standard classification of Education (Level 2) required for this job. http://www.unesco.org/education/information/nfsunesco/doc/isced_1997.htm",
"type": "string",
"enum": [
"01",
"09",
"14",
"21",
"22",
"31",
"32",
"34",
"38",
"42",
"44",
"46",
"48",
"52",
"54",
"58",
"62",
"64",
"72",
"76",
"81",
"84",
"85",
"86"
]
},
"educationLevelType": {
"title": "Eduction Level",
"description": "The educational background required for this job. European Qualifications Framework (EQF) Level, http://ec.europa.eu/education/lifelong-learning-policy/eqf_en.htm",
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8"
]
},
"educationType": {
"title": "Education",
"description": "Education description",
"type": "object",
"properties": {
"field": {
"$ref": "#/definitions/educationFieldType"
},
"level": {
"$ref": "#/definitions/educationLevelType"
}
}
},
"criteriaType": {
"title": "Search criteria",
"description": "Searchable job criteria",
"type": "object",
"properties": {
"age": {
"$ref": "#/definitions/minimalAgeYears"
},
"categories": {
"$ref": "#/definitions/categoriesType"
},
"sectors": {
"$ref": "#/definitions/sectorsType"
},
"education": {
"$ref": "#/definitions/educationType"
},
"employment": {
"$ref": "#/definitions/employmentType"
},
"experience": {
"$ref": "#/definitions/workExperienceYearsType"
},
"occupation": {
"$ref": "#/definitions/occupationType"
},
"position": {
"$ref": "#/definitions/positionType"
},
"skills": {
"$ref": "#/definitions/skillsType"
},
"status": {
"$ref": "#/definitions/careerStatusType"
},
"workload": {
"$ref": "#/definitions/workloadType"
}
},
"additionalProperties": false
},
"addressType": {
"title": "Company address",
"description": "The company address",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "Workplace location, department or company name",
"type": [
"string",
"null"
]
},
"department": {
"title": "Workplace department",
"description": "The department of address line or first address line",
"type": [
"string",
"null"
]
},
"poBox": {
"title": "Post office box",
"description": "The company post office box",
"type": [
"string",
"null"
]
},
"street": {
"title": "Street",
"type": [
"string",
"null"
]
},
"zip": {
"title": "Postal code",
"description": "The postal code reference for a given city",
"type": [
"string",
"null"
]
},
"city": {
"title": "The location city",
"type": [
"string",
"null"
]
},
"state": {
"title": "The location state",
"type": [
"string",
"null"
]
},
"country": {
"title": "Country code",
"description": "The aplha-2 country code",
"type": [
"string",
"null"
],
"pattern": "^[A-Z]{2}$"
}
},
"additionalProperties": false
},
"contactType": {
"title": "Company contact",
"description": "The company contact person",
"type": "object",
"properties": {
"salutation": {
"title": "Salutation",
"description": "The contact persons salutation female (F), mae (M)",
"type": [
"string",
"null"
],
"enum": [
"M",
"F"
]
},
"firstName": {
"title": "Firstname",
"description": "The contact persons firstname",
"type": [
"string",
"null"
]
},
"lastName": {
"title": "Lastname",
"description": "The contact persons lastname",
"type": [
"string",
"null"
]
},
"email": {
"title": "Salutation",
"description": "The contact persons email contact address",
"type": [
"string",
"null"
],
"format": "email"
}
},
"additionalProperties": false
},
"workplaceType": {
"title": "Job workplace",
"description": "The job workplace identifier or workplace description",
"type": "object",
"properties": {
"id": {
"title": "Workplace ID",
"description": "Workplace id (external identifier) as defined in xeebo",
"type": [
"string",
"null"
]
},
"name": {
"title": "Name",
"description": "Workplace location, department or company name",
"type": [
"string",
"null"
]
},
"department": {
"title": "Workplace department",
"description": "The department of address line or first address line",
"type": [
"string",
"null"
]
},
"street": {
"title": "Street",
"type": [
"string",
"null"
]
},
"zip": {
"title": "Postal code",
"description": "The postal code reference for a given city",
"type": [
"string",
"null"
]
},
"city": {
"title": "The location city",
"type": [
"string",
"null"
]
},
"state": {
"title": "The location state",
"type": [
"string",
"null"
]
},
"country": {
"title": "Country code",
"description": "The aplha-2 country code",
"type": [
"string",
"null"
],
"pattern": "^[A-Z]{2}$"
}
},
"additionalProperties": false
},
"countryType": {
"title": "Job location country",
"description": "The job location country",
"$ref": "#/definitions/countryCodeType"
},
"localeType": {
"title": "Publication language",
"description": "The job publication text language locale as lower case iso-639-alpha-2 language locale code",
"type": [
"string",
"null"
]
},
"publishedType": {
"title": "Publish marker",
"description": "Boolean marker for published publications",
"type": "boolean"
},
"docType": {
"title": "Document",
"description": "Document",
"type": "object",
"properties": {
"typ": {
"title": "Document type",
"description": "The document type",
"type": "string",
"enum": [
"letter",
"resume",
"certificate",
"diploma",
"qualification",
"check",
"other"
]
},
"maxAmount": {
"title": "Maximal amount of documents",
"description": "The maximal amount of documents allowed for upload of this document type",
"type": [
"integer",
"null"
]
},
"minAmount": {
"title": "Minimal amount of documents",
"description": "The minimal amount of documents allowed for upload of this document type",
"type": [
"integer",
"null"
]
},
"required": {
"title": "Document required",
"description": "Marks the document as required",
"type": [
"boolean",
"null"
]
},
"size": {
"title": "Document data size",
"description": "The document data size in bytes",
"type": [
"integer",
"null"
]
}
},
"additionalProperties": false
},
"documentsType": {
"title": "Application documents",
"description": "List of required and optional application documents",
"type": "array",
"items": {
"$ref": "#/definitions/docType"
},
"minItems": 0
},
"questionOptionType": {
"title": "Question Option",
"description": "The question option type",
"properties": {
"label": {
"type": [
"integer",
"string",
"null"
]
},
"value": {
"type": [
"integer",
"string",
"null"
]
}
},
"additionalProperties": false
},
"questionBaseType": {
"title": "Question",
"description": "The application question definition",
"type": "object",
"properties": {
"id": {
"title": "Question id",
"description": "The application question id",
"type": "string"
},
"title": {
"title": "Question title",
"description": "The application question title",
"type": "string"
},
"description": {
"title": "Question description",
"description": "The application question description",
"type": [
"string",
"null"
]
},
"required": {
"title": "Marks the question as required",
"type": "boolean"
}
}
},
"checkBoxQuestionType": {
"title": "Checkbox Question",
"description": "The checkbox question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"checkbox"
]
},
"default": {
"title": "Default question value",
"description": "The default question value",
"type": "array",
"items": {
"type": [
"integer",
"string",
"null"
]
},
"minItems": 0
},
"options": {
"title": "Question options",
"description": "The application question text",
"type": "array",
"items": {
"$ref": "#/definitions/questionOptionType"
}
}
}
}
]
},
"radioQuestionType": {
"title": "Radio Question",
"description": "The radio question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"radio"
]
},
"default": {
"title": "Default question value",
"description": "The default question value",
"type": [
"integer",
"string",
"null"
]
},
"options": {
"title": "Question options",
"description": "The application question text",
"type": "array",
"items": {
"$ref": "#/definitions/questionOptionType"
}
}
}
}
]
},
"selectQuestionType": {
"title": "Select Question",
"description": "The select question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"select"
]
},
"default": {
"title": "Default question value",
"description": "The default question value",
"type": [
"integer",
"string",
"null"
]
},
"options": {
"title": "Question options",
"description": "The application question text",
"type": "array",
"items": {
"$ref": "#/definitions/questionOptionType"
}
}
}
}
]
},
"multiSelectQuestionType": {
"title": "Multi Select Question",
"description": "The multi select question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"multiselect"
]
},
"default": {
"title": "Default question value",
"description": "The default question value",
"type": "array",
"items": {
"type": [
"integer",
"string",
"null"
]
},
"minItems": 0
},
"options": {
"title": "Question options",
"description": "The application question text",
"type": "array",
"items": {
"$ref": "#/definitions/questionOptionType"
}
}
}
}
]
},
"textAreaQuestionType": {
"title": "Multiline Text Question",
"description": "The multiline text (textarea) question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"textarea"
]
},
"default": {
"title": "Default text value",
"description": "The default answer text value",
"type": [
"string",
"null"
]
}
}
}
]
},
"textLineQuestionType": {
"title": "Text Line Question",
"description": "The single text line question type",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/questionBaseType"
},
{
"properties": {
"typ": {
"title": "Question type",
"description": "The question type",
"type": "string",
"enum": [
"textline"
]
},
"default": {
"title": "Default text value",
"description": "The default answer text value",
"type": [
"string",
"null"
]
}
}
}
]
},
"questionGroupType": {
"title": "Question Group",
"description": "The application question group group definition",
"type": "object",
"properties": {
"id": {
"title": "Question group id",
"description": "The application question group group id",
"type": "string"
},
"typ": {
"title": "Question group type",
"description": "The application question group type",
"type": "string",
"enum": [
"group"
]
},
"title": {
"title": "Question group text",
"description": "The application question group text",
"type": "string"
},
"description": {
"title": "Question group description",
"description": "The application question group description",
"type": [
"string",
"null"
]
},
"questions": {
"title": "Question group questions",
"description": "The application question group questions",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/checkBoxQuestionType"
},
{
"$ref": "#/definitions/radioQuestionType"
},
{
"$ref": "#/definitions/selectQuestionType"
},
{
"$ref": "#/definitions/multiSelectQuestionType"
},
{
"$ref": "#/definitions/textAreaQuestionType"
},
{
"$ref": "#/definitions/textLineQuestionType"
}
]
},
"minItems": 0
}
},
"additionalProperties": false
},
"questionnaireType": {
"title": "Application questionnaire",
"description": "Questionnaire",
"type": "object",
"properties": {
"id": {
"title": "Questionnaire id",
"description": "The application Questionnaire id",
"type": "string"
},
"typ": {
"title": "Questionnaire type",
"description": "The questionnaire type",
"type": "string",
"enum": [
"questionnaire"
]
},
"title": {
"title": "Questionnaire text",
"description": "The application questionnaire text",
"type": "string"
},
"description": {
"title": "Questionnaire description",
"description": "The application questionnaire description",
"type": [
"string",
"null"
]
},
"groups": {
"title": "Questionnaire groups",
"description": "The application questionnaire groups",
"type": "array",
"items": {
"$ref": "#/definitions/questionGroupType"
},
"minItems": 0
}
},
"additionalProperties": false
},
"questionsType": {
"title": "Application questionnaires",
"description": "List of required and optional application questionnaires",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/checkBoxQuestionType"
},
{
"$ref": "#/definitions/radioQuestionType"
},
{
"$ref": "#/definitions/selectQuestionType"
},
{
"$ref": "#/definitions/multiSelectQuestionType"
},
{
"$ref": "#/definitions/textAreaQuestionType"
},
{
"$ref": "#/definitions/textLineQuestionType"
},
{
"$ref": "#/definitions/questionGroupType"
},
{
"$ref": "#/definitions/questionnaireType"
}
]
},
"minItems": 0
},
"startDateType": {
"title": "Publication start date",
"description": "Date where the publication starts",
"$ref": "#/definitions/isoDatetimeType"
},
"endDateType": {
"title": "Publication end date",
"description": "Date where the publication ends",
"$ref": "#/definitions/isoDatetimeType"
},
"createdDateType": {
"title": "Publication created date",
"description": "Date where the publication was created",
"$ref": "#/definitions/isoDatetimeType"
}
}
}
JSON schema data description
| Path/Attribute | Title | Description | Required |
|---|