References
JSON Schema
The following specifications are expressed as JSON Schema documents, which are used for input validation at ZipRecruiter, and can be used for output and testing validation. The current version of this schema can always be found at the URLs below.
Validate Your JSON
Use the tool below to validate a JSON document against any of the schemas. Select a schema, paste your JSON, and click Validate.
You can also use these external tools to test schemas: JSON Schema Lint | JSON Schema Validator
Be aware that JSON Schema is currently in an ongoing draft process, and tools may not support the most recent draft specification. Most schemas can be translated back to older drafts in order to support outdated tools.
Apply Webhook Schema
Download apply-webhook-schema-v2.json
View schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.ziprecruiter.com/assets/static/schema/apply-webhook-schema-v2.json#",
"x-version": "1.0",
"type": "object",
"required": ["response_id", "zr_application_id", "job_id", "first_name", "last_name", "email"],
"properties": {
"response_id": {"type": "string"},
"zr_application_id": {"type": "string"},
"job_id": {"type": "string"},
"email": {"type": "string", "format": "email"},
"name": {"type": "string"},
"first_name": {"type": "string"},
"last_name": {"type": "string"},
"phone": {"type": "string"},
"attributes": {"type": "object", "additionalProperties": { "type": ["number", "string"] }},
"resume": {"type": "string"},
"answers": {"$ref": "answers-schema-v2.json#"},
"profile": {"$ref": "profile-schema.json#"}
}
}
Answers Schema
Download answers-schema-v2.json
View schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.ziprecruiter.com/assets/static/schema/answers-schema-v2.json#",
"x-version": "1.0",
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [
{"$ref": "#/definitions/singleAnswer"},
{"$ref": "#/definitions/multiAnswer"},
{"$ref": "#/definitions/uploadAnswer"},
{"$ref": "#/definitions/repeatableQuestionAnswer"},
{"$ref": "#/definitions/answerGroup"}
]
},
"definitions": {
"singleAnswer": {
"type": "object",
"required": ["id", "value"],
"properties": {
"id": {"type": "string"},
"value": {"type": "string"}
},
"additionalProperties": false
},
"multiAnswer": {
"type": "object",
"required": ["id", "values"],
"properties": {
"id": {"type": "string"},
"values": {
"type": "array",
"uniqueItems": true,
"items": {"type": "string"}
}
},
"additionalProperties": false
},
"uploadAnswer": {
"type": "object",
"required": ["id", "value", "filename"],
"properties": {
"id": {"type": "string"},
"value": {"type": "string"},
"filename": {"type": "string"}
},
"additionalProperties": false
},
"repeatableQuestionAnswer": {
"type": "object",
"required": ["id", "entries"],
"properties": {
"id": {"type": "string"},
"entries": {
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [
{
"required": ["value"],
"properties": {
"value": {"type": "string"}
}
},
{
"required": ["values"],
"properties": {
"values": {
"type": "array",
"uniqueItems": true,
"items": {"type": "string"}
}
}
}
]
}
}
},
"additionalProperties": false
},
"answerGroup": {
"type": "object",
"required": ["id", "answer_group"],
"properties": {
"id": { "type": "string" },
"answer_group": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "array",
"uniqueItems": true,
"items": { "type": "string" }
}
}
}
},
"additionalProperties": false
}
}
}
Screener Questions Schema
Download screener-questions-schema-v2.json
View schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.ziprecruiter.com/assets/static/schema/screener-questions-schema.json#",
"x-version": "1.0",
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [
{"$ref": "#/definitions/informationQuestion"},
{"$ref": "#/definitions/pagebreakQuestion"},
{"$ref": "#/definitions/textQuestion"},
{"$ref": "#/definitions/textareaQuestion"},
{"$ref": "#/definitions/integerQuestion"},
{"$ref": "#/definitions/decimalQuestion"},
{"$ref": "#/definitions/dateQuestion"},
{"$ref": "#/definitions/uploadQuestion"},
{"$ref": "#/definitions/selectQuestion"},
{"$ref": "#/definitions/radioQuestion"},
{"$ref": "#/definitions/multiselectQuestion"},
{"$ref": "#/definitions/checkboxQuestion"},
{"$ref": "#/definitions/questionGroup"}
]
},
"definitions": {
"informationQuestion": {
"type": "object",
"required": ["id", "type","text"],
"properties": {
"id": {"type": "string"},
"type": {"const": "information"},
"text": {"type": "string"}
},
"additionalProperties": false
},
"pagebreakQuestion": {
"type": "object",
"required": ["id", "type"],
"properties": {
"id": {"type": "string"},
"type": {"const": "pagebreak"}
},
"additionalProperties": false
},
"textQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "text"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"format": {"enum": ["integer", "decimal"]},
"min": {"type": "number"},
"max": {"type": "number"},
"limit": {"type": "number"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"textareaQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "textarea"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"min": {"type": "number"},
"max": {"type": "number"},
"limit": {"type": "number"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"integerQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "integer"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"min": {"type": "number"},
"max": {"type": "number"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"decimalQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "decimal"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"min": {"type": "number"},
"max": {"type": "number"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"dateQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "date"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"format": {"enum": ["yyyy-MM-dd", "YYYY-MM-DD", "MM/dd/yyyy", "dd/MM/yyyy", "M/d/yyyy", "MM-dd-yyyy", "dd-MM-yyyy"]},
"min": {"type": "string"},
"max": {"type": "string"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"uploadQuestion": {
"type": "object",
"required": ["id", "type", "question"],
"properties": {
"id": {"type": "string"},
"type": {"const": "upload"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"condition": {"$ref": "#/definitions/condition"}
},
"additionalProperties": false
},
"selectQuestion": {
"type": "object",
"required": ["id", "type", "question", "options"],
"properties": {
"id": {"type": "string"},
"type": {"const": "select"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"dealbreaker": {"type": "boolean"},
"condition": {"$ref": "#/definitions/condition"},
"options": {"$ref": "#/definitions/optionList"}
},
"additionalProperties": false
},
"radioQuestion": {
"type": "object",
"required": ["id", "type", "question", "options"],
"properties": {
"id": {"type": "string"},
"type": {"const": "radio"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"dealbreaker": {"type": "boolean"},
"condition": {"$ref": "#/definitions/condition"},
"options": {"$ref": "#/definitions/optionList"}
},
"additionalProperties": false
},
"multiselectQuestion": {
"type": "object",
"required": ["id", "type", "question", "options"],
"properties": {
"id": {"type": "string"},
"type": {"const": "multiselect"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"dealbreaker": {"type": "boolean"},
"condition": {"$ref": "#/definitions/condition"},
"options": {"$ref": "#/definitions/optionList"}
},
"additionalProperties": false
},
"checkboxQuestion": {
"type": "object",
"required": ["id", "type", "question", "options"],
"properties": {
"id": {"type": "string"},
"type": {"const": "checkbox"},
"question": {"type": "string"},
"required": {"type": "boolean"},
"repeatable": {"type": "boolean"},
"dealbreaker": {"type": "boolean"},
"condition": {"$ref": "#/definitions/condition"},
"options": {"$ref": "#/definitions/optionList"}
},
"additionalProperties": false
},
"questionGroup": {
"type": "object",
"required": ["id", "type", "question", "questions"],
"properties": {
"id": {"type": "string"},
"type": {"const": "question_group"},
"question": {"type": "string"},
"repeatable": {"type": "boolean"},
"questions": {"$ref": "#/definitions/questionList"}
},
"additionalProperties": false
},
"optionList": {
"type": "array",
"items": {"$ref": "#/definitions/option"},
"uniqueItems": true
},
"option": {
"type": "object",
"required": ["label", "value"],
"properties": {
"label": {"type": "string"},
"value": {"type": "string"},
"is_correct" : {"type": "boolean"}
},
"additionalProperties": false
},
"condition": {
"type": "object",
"required": ["id", "value"],
"properties": {
"id": {"type": "string"},
"value": {"type": "string"}
},
"additionalProperties": false
},
"questionList": {
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [
{"$ref": "#/definitions/informationQuestion"},
{"$ref": "#/definitions/textQuestion"},
{"$ref": "#/definitions/textareaQuestion"},
{"$ref": "#/definitions/integerQuestion"},
{"$ref": "#/definitions/decimalQuestion"},
{"$ref": "#/definitions/dateQuestion"},
{"$ref": "#/definitions/selectQuestion"},
{"$ref": "#/definitions/radioQuestion"},
{"$ref": "#/definitions/multiselectQuestion"},
{"$ref": "#/definitions/checkboxQuestion"},
{"$ref": "#/definitions/uploadQuestion"}
]
},
"additionalProperties": false
}
}
}
Profile Schema
View schema
{
"$schema": "http://json-schema.org/draft-06/schema#",
"$id": "https://www.ziprecruiter.com/assets/static/schema/profile-schema.json#",
"x-version": "1.0",
"type": "object",
"uniqueItems": true,
"properties": {
"mobile": {"type": "string"},
"executive_summary": {"type": "string"},
"objective": {"type": "string"},
"text_resume": {"type": "string"},
"job_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"current": {"type": "string"},
"description": {"type": "string"},
"employer": {"type": "string"},
"end_date": {"$ref": "#/definitions/Date"},
"end_date_precision": {"$ref": "#/definitions/DatePrecision"},
"position": {"type": "string"},
"start_date": {"$ref": "#/definitions/Date"},
"start_date_precision": {"$ref": "#/definitions/DatePrecision"}
}
},
"uniqueItems": true
},
"education_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"current": {"type": "string"},
"date": {"$ref": "#/definitions/Date"},
"date_precision": {"$ref": "#/definitions/DatePrecision"},
"degree_date": {"$ref": "#/definitions/Date"},
"degree_date_precision": {"$ref": "#/definitions/DatePrecision"},
"degree_name": {"type": "string"},
"description": {"type": "string"},
"end_date": {"$ref": "#/definitions/Date"},
"end_date_precision": {"$ref": "#/definitions/DatePrecision"},
"major": {"type": "string"},
"name": {"type": "string"},
"school": {"type": "string"},
"start_date": {"$ref": "#/definitions/Date"},
"start_date_precision": {"$ref": "#/definitions/DatePrecision"},
"type": {"type": "string"}
}
},
"uniqueItems": true
},
"achievement_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"}
}
},
"uniqueItems": true
},
"license_certification_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {"type": "string"},
"id": {"type": "string"},
"issued_date": {"$ref": "#/definitions/Date"},
"issued_date_precision": {"$ref": "#/definitions/DatePrecision"},
"issuing_authority": {"type": "string"},
"name": {"type": "string"}
}
},
"uniqueItems": true
},
"association_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"}
}
},
"uniqueItems": true
}
},
"definitions": {
"DatePrecision": {
"type": "string",
"enum": ["YearMonthDay", "YearMonth", "Year"]
},
"Date": {
"type": "string",
"pattern": "^[0-9]{4}-[01][0-9]-[012][0-9]$",
"description": "A Date is always YYYY-MM-DD, but you must check the corresponding DatePrecision to determine which parts are accurate. Month and Day will be 01 if unavailable."
}
}
}