Eightfold AI · Schema

ATSPositionDataSchema

Talent IntelligenceTalent AcquisitionTalent ManagementAI InterviewingHuman ResourcesWorkforce PlanningAI Agents

Properties

Name Type Description
createdAt integernull creation timestamp in epoch format
locationCountry stringnull Country of the location
coordinators arraynull all the coordinators related to this position
businessUnit stringnull business unit
isPrivate booleannull Indicates if a position is a private posting
workLocationOption stringnull Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid
atsEntityId stringnull position_id in the ats system
hiringManager object Hiring Manager
internalPostingUrl stringnull internal posting url
evergreen booleannull is evergreen
skills arraynull skills
company stringnull company
locationCity stringnull City of the location
lastUpdated integernull last modified date time in epoch format
displayJobId stringnull display job id
openings object Openings
hiringTeam arraynull Unified hiring team array. Each entry: {role, roleKey, name, email}. Includes primary/secondary HMs, primary/secondary recruiters, and custom roles.
followers arraynull all the followers of the positions as hiring managers etc.
startDate stringnull start date of the position in ISO 8601 format (e.g. 2024-05-01)
requisitionType stringnull Requisition Type
systemId stringnull system id
activities arraynull all the activities related to this positions
postedFor stringnull internal for internal jobs, external for external jobs, or all for both. Can be omitted for unposted positions.Input values must be one of these: internal, external, all, None
questionnaires arraynull questionnaires
restrictAccess booleannull restrict access
title stringnull job title
templateId integernull Template id of the template used to create the position
recruiter object recruiter
jobPosts arraynull job postings
hiringBand stringnull hiring band
postingTitle stringnull posting title
employmentType stringnull Employment Type
posted booleannull status of the position posted or not
locationFlexibility stringnull Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global
orgUnits objectnull Org units of the position
companyDescription stringnull Company description
customFields objectnull custom fields
sourcers arraynull all the recruiters/sourcers related to this positions
workflowTemplateId stringnull Indicates which workflow this position belongs to
status stringnull status
jobCode stringnull ATS attribute which identifies the job this jobrequestion is mapped to
open booleannull Whether the requisition is open for hiring per the source ATS - derived from its status or open headcount at ingestion, and updated on close/fill/reopen. Distinct from the top-level open field, which
postingUrl stringnull posting url
atsUserGroups arraynull ATS user groups
createdBy stringnull Email of the user who created this position
function stringnull job function
jobStages arraynull job_stages
requiredSkills arraynull required skills
questions arraynull questions
locationState stringnull State of the location
locations arraynull location
positionId integernull EF Position ID
description stringnull job description
View JSON Schema on GitHub

JSON Schema

eightfold-ai-atsposition-data-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/eightfold-ai/main/json-schema/eightfold-ai-atsposition-data-schema-schema.json",
  "title": "ATSPositionDataSchema",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/eightfold-ai-api-server-v2-service-service-openapi.yml#/components/schemas/ATSPositionDataSchema",
  "type": "object",
  "properties": {
    "createdAt": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "creation timestamp in epoch format"
    },
    "locationCountry": {
      "type": [
        "string",
        "null"
      ],
      "description": "Country of the location"
    },
    "coordinators": {
      "description": "all the coordinators related to this position",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/PersonSchema"
      }
    },
    "businessUnit": {
      "type": [
        "string",
        "null"
      ],
      "description": "business unit"
    },
    "isPrivate": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates if a position is a private posting"
    },
    "workLocationOption": {
      "type": [
        "string",
        "null"
      ],
      "description": "Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid"
    },
    "atsEntityId": {
      "type": [
        "string",
        "null"
      ],
      "description": "position_id in the ats system"
    },
    "hiringManager": {
      "nullable": true,
      "description": "Hiring Manager",
      "allOf": [
        {
          "$ref": "#/$defs/PersonSchema"
        }
      ]
    },
    "internalPostingUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "internal posting url"
    },
    "evergreen": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "is evergreen"
    },
    "skills": {
      "type": [
        "array",
        "null"
      ],
      "description": "skills",
      "items": {
        "type": "string"
      }
    },
    "company": {
      "type": [
        "string",
        "null"
      ],
      "description": "company"
    },
    "locationCity": {
      "type": [
        "string",
        "null"
      ],
      "description": "City of the location"
    },
    "lastUpdated": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "last modified date time in epoch format"
    },
    "displayJobId": {
      "type": [
        "string",
        "null"
      ],
      "description": "display job id"
    },
    "openings": {
      "nullable": true,
      "description": "Openings",
      "allOf": [
        {
          "$ref": "#/$defs/AtsOpenings"
        }
      ]
    },
    "hiringTeam": {
      "readOnly": true,
      "description": "Unified hiring team array. Each entry: {role, roleKey, name, email}. Includes primary/secondary HMs, primary/secondary recruiters, and custom roles.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/HiringTeamMemberSchema"
      }
    },
    "followers": {
      "description": "all the followers of the positions as hiring managers etc.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/PersonSchema"
      }
    },
    "startDate": {
      "type": [
        "string",
        "null"
      ],
      "description": "start date of the position in ISO 8601 format (e.g. 2024-05-01)"
    },
    "requisitionType": {
      "type": [
        "string",
        "null"
      ],
      "description": "Requisition Type"
    },
    "systemId": {
      "type": [
        "string",
        "null"
      ],
      "description": "system id"
    },
    "activities": {
      "description": "all the activities related to this positions",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/PositionActivitiesSchema"
      }
    },
    "postedFor": {
      "type": [
        "string",
        "null"
      ],
      "description": "internal for internal jobs, external for external jobs, or all for both. Can be omitted for unposted positions.Input values must be one of these: internal, external, all, None"
    },
    "questionnaires": {
      "description": "questionnaires",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/QuestionnaireSchema"
      }
    },
    "restrictAccess": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "restrict access"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "job title"
    },
    "templateId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Template id of the template used to create the position"
    },
    "recruiter": {
      "nullable": true,
      "description": "recruiter",
      "allOf": [
        {
          "$ref": "#/$defs/PersonSchema"
        }
      ]
    },
    "jobPosts": {
      "description": "job postings",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/JobPostSchema"
      }
    },
    "hiringBand": {
      "type": [
        "string",
        "null"
      ],
      "description": "hiring band"
    },
    "postingTitle": {
      "type": [
        "string",
        "null"
      ],
      "description": "posting title"
    },
    "employmentType": {
      "type": [
        "string",
        "null"
      ],
      "description": "Employment Type"
    },
    "posted": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "status of the position posted or not"
    },
    "locationFlexibility": {
      "type": [
        "string",
        "null"
      ],
      "description": "Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global"
    },
    "orgUnits": {
      "type": [
        "object",
        "null"
      ],
      "description": "Org units of the position"
    },
    "companyDescription": {
      "type": [
        "string",
        "null"
      ],
      "description": "Company description"
    },
    "customFields": {
      "type": [
        "object",
        "null"
      ],
      "description": "custom fields"
    },
    "sourcers": {
      "description": "all the recruiters/sourcers related to this positions",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/PersonSchema"
      }
    },
    "workflowTemplateId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Indicates which workflow this position belongs to"
    },
    "status": {
      "type": [
        "string",
        "null"
      ],
      "description": "status"
    },
    "jobCode": {
      "type": [
        "string",
        "null"
      ],
      "description": "ATS attribute which identifies the job this jobrequestion is mapped to"
    },
    "open": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether the requisition is open for hiring per the source ATS - derived from its status or open headcount at ingestion, and updated on close/fill/reopen. Distinct from the top-level open field, which only reports that the record is not archived or deleted."
    },
    "postingUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "posting url"
    },
    "atsUserGroups": {
      "description": "ATS user groups",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/AtsUserGroupsSchema"
      }
    },
    "createdBy": {
      "type": [
        "string",
        "null"
      ],
      "description": "Email of the user who created this position"
    },
    "function": {
      "type": [
        "string",
        "null"
      ],
      "description": "job function"
    },
    "jobStages": {
      "type": [
        "array",
        "null"
      ],
      "description": "job_stages",
      "items": {
        "type": "string"
      }
    },
    "requiredSkills": {
      "type": [
        "array",
        "null"
      ],
      "description": "required skills",
      "items": {
        "type": "string"
      }
    },
    "questions": {
      "description": "questions",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/QuestionsSchema"
      }
    },
    "locationState": {
      "type": [
        "string",
        "null"
      ],
      "description": "State of the location"
    },
    "locations": {
      "type": [
        "array",
        "null"
      ],
      "description": "location",
      "items": {
        "type": "string"
      }
    },
    "positionId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "readOnly": true,
      "description": "EF Position ID"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "job description"
    }
  },
  "required": [
    "atsEntityId",
    "company",
    "createdAt",
    "lastUpdated",
    "open",
    "posted",
    "recruiter",
    "status",
    "title"
  ],
  "$defs": {
    "AtsOpeningDetail": {
      "type": "object",
      "properties": {
        "status": {
          "type": [
            "string",
            "null"
          ],
          "description": "Status of the opening"
        },
        "closedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Closing timestamp in epoch format"
        },
        "openingId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Opening ID"
        },
        "openedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Opening timestamp in epoch format"
        },
        "closeReason": {
          "type": [
            "string",
            "null"
          ],
          "description": "Reason for closing the opening"
        },
        "candidateId": {
          "type": [
            "string",
            "null"
          ],
          "description": "List of candidate ID"
        },
        "applicationId": {
          "type": [
            "string",
            "null"
          ],
          "description": "List of application ID"
        }
      }
    },
    "AtsOpenings": {
      "type": "object",
      "properties": {
        "closedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Closing timestamp in epoch format"
        },
        "openingDetails": {
          "description": "Details of the openings",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/AtsOpeningDetail"
          }
        },
        "numOpenings": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Number of openings. Set to -1 for unlimited openings"
        },
        "openedAt": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Opening timestamp in epoch format"
        },
        "numOpeningsFilled": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "Number of openings filled"
        }
      }
    },
    "AtsUserGroupsSchema": {
      "type": "object",
      "properties": {
        "userGroupId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Ats Group of a user"
        }
      }
    },
    "ChangeLog": {
      "type": "object",
      "properties": {
        "newValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "new value"
        },
        "fieldName": {
          "type": [
            "string",
            "null"
          ],
          "description": "field name"
        },
        "prevValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "previous value"
        }
      },
      "required": [
        "fieldName",
        "newValue",
        "prevValue"
      ]
    },
    "HiringTeamMemberSchema": {
      "type": "object",
      "properties": {
        "role": {
          "type": [
            "string",
            "null"
          ],
          "description": "Role label (e.g. Hiring Manager, HRBP)"
        },
        "email": {
          "type": [
            "string",
            "null"
          ],
          "description": "Email of the team member"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the team member"
        },
        "roleKey": {
          "type": [
            "string",
            "null"
          ],
          "description": "Storage key for the role (e.g. hiring_manager, secondary_hiring_managers, cust_hrbp)"
        }
      }
    },
    "JobPostSchema": {
      "type": "object",
      "properties": {
        "publishedTime": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "published time in epoch format"
        },
        "expirationTime": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "expiration time in epoch format"
        },
        "postingTitle": {
          "type": [
            "string",
            "null"
          ],
          "description": "posting title"
        },
        "postingId": {
          "type": [
            "string",
            "null"
          ],
          "description": "posting id"
        },
        "locale": {
          "type": [
            "string",
            "null"
          ],
          "description": "locale of the ats job post"
        },
        "primaryPost": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "is primary post"
        },
        "jobDescription": {
          "type": [
            "string",
            "null"
          ],
          "description": "job description"
        },
        "postedFor": {
          "type": [
            "string",
            "null"
          ],
          "description": "internal for internal jobs, external for external jobs, or all for both."
        }
      },
      "required": [
        "postedFor",
        "postingId",
        "postingTitle",
        "publishedTime"
      ]
    },
    "LangMapping": {
      "type": "object",
      "properties": {
        "locale": {
          "type": [
            "string",
            "null"
          ],
          "description": "locale"
        },
        "label": {
          "type": [
            "string",
            "null"
          ],
          "description": "label"
        }
      }
    },
    "PersonSchema": {
      "type": "object",
      "properties": {
        "email": {
          "type": [
            "string",
            "null"
          ],
          "description": "email"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name"
        }
      },
      "required": [
        "name"
      ]
    },
    "PositionActivitiesSchema": {
      "type": "object",
      "properties": {
        "activityTime": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32",
          "description": "activity time in epoch format"
        },
        "activityType": {
          "type": [
            "string",
            "null"
          ],
          "description": "activity type"
        },
        "changeLogs": {
          "description": "all the change logs for the activity",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/ChangeLog"
          }
        },
        "message": {
          "type": [
            "string",
            "null"
          ],
          "description": "message for the activity"
        }
      },
      "required": [
        "activityTime",
        "activityType",
        "message"
      ]
    },
    "QuestionChoice": {
      "type": "object",
      "properties": {
        "label": {
          "type": [
            "string",
            "null"
          ],
          "description": "label"
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "value"
        }
      }
    },
    "QuestionDependencies": {
      "type": "object",
      "properties": {
        "questionId": {
          "type": [
            "string",
            "null"
          ],
          "description": "question id"
        },
        "questionSource": {
          "type": [
            "string",
            "null"
          ],
          "description": "question source"
        },
        "choiceValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "choice value"
        },
        "dependencyType": {
          "type": [
            "string",
            "null"
          ],
          "description": "dependency type"
        },
        "childQuestionIds": {
          "type": [
            "array",
            "null"
          ],
          "description": "child question ids",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "choiceValue",
        "questionId"
      ]
    },
    "QuestionLabel": {
      "type": "object",
      "properties": {
        "langMappingList": {
          "description": "lang_mapping_list",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/LangMapping"
          }
        },
        "label": {
          "type": [
            "string",
            "null"
          ],
          "description": "label"
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "value"
        }
      }
    },
    "QuestionnaireSchema": {
      "type": "object",
      "properties": {
        "questionDependencies": {
          "description": "question dependencies",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/QuestionDependencies"
          }
        },
        "questionnaireId": {
          "type": [
            "string",
            "null"
          ],
          "description": "questionnaire id"
        }
      },
      "required": [
        "questionnaireId"
      ]
    },
    "QuestionsSchema": {
      "type": "object",
      "properties": {
        "choices": {
          "description": "Question choices",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/QuestionChoice"
          }
        },
        "choicesV2": {
          "description": "Question choices V2. It supports language mapping.",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/QuestionLabel"
          }
        },
        "questionId": {
          "type": [
            "string",
            "null"
          ],
          "description": "question_id"
        },
        "help": {
          "type": [
            "string",
            "null"
          ],
          "description": "help"
        },
        "type": {
          "type": [
            "string",
            "null"
          ],
          "description": "type of the question. e.g.-choice, numeric or text"
        },
        "question": {
          "nullable": true,
          "description": "question. It supports language mapping.",
          "allOf": [
            {
              "$ref": "#/$defs/QuestionLabel"
            }
          ]
        },
        "required": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "required"
        }
      },
      "required": [
        "questionId"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eightfold-ai-atsposition-data-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.