---
title: "List ATS Positions"
method: GET
path: "/api/v2/core/ats-systems/{systemId}/ats-positions"
tags: ["ATS Position"]
---

# List ATS Positions

`GET /api/v2/core/ats-systems/{systemId}/ats-positions`

## Request

- Base URL: `https://apiv2.eightfold.ai`
- URL: `https://apiv2.eightfold.ai/api/v2/core/ats-systems/{systemId}/ats-positions`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/eightfold/apis/api-server-v2-service-service/docs/api/v2/core/ats-systems/:systemId/ats-positions/get.ts> (a function with typed inputs; its response is checked against the schema)

Search ats positions using query parameters and get the complete ats position objects

## Path parameters

- `systemId` string, required

## Query parameters

- `start` integer
- `limit` integer
- `filterQuery` string
- `query` string
- `exclude` string
- `keyList` string

## Headers

- `Authorization` string, required

## Response `200`

OK

- object
  - `data` ATSPositionDataSchema[]
    - `createdAt` integer, nullable, required: creation timestamp in epoch format
    - `locationCountry` string, nullable: Country of the location
    - `coordinators` PersonSchema[], nullable: all the coordinators related to this position
      - `email` string, nullable: email
      - `name` string, nullable, required: Name
    - `businessUnit` string, nullable: business unit
    - `isPrivate` boolean, nullable: Indicates if a position is a private posting
    - `workLocationOption` string, nullable: Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid
    - `atsEntityId` string, nullable, required: position_id in the ats system
    - `hiringManager` PersonSchema
      - `email` string, nullable: email
      - `name` string, nullable, required: Name
    - `internalPostingUrl` string, nullable: internal posting url
    - `evergreen` boolean, nullable: is evergreen
    - `skills` string[], nullable: skills
    - `company` string, nullable, required: company
    - `locationCity` string, nullable: City of the location
    - `lastUpdated` integer, nullable, required: last modified date time in epoch format
    - `displayJobId` string, nullable: display job id
    - `openings` AtsOpenings
      - `closedAt` integer, nullable: Closing timestamp in epoch format
      - `openingDetails` AtsOpeningDetail[], nullable: Details of the openings
        - `status` string, nullable: Status of the opening
        - `closedAt` integer, nullable: Closing timestamp in epoch format
        - `openingId` string, nullable: Opening ID
        - `openedAt` integer, nullable: Opening timestamp in epoch format
        - `closeReason` string, nullable: Reason for closing the opening
        - `candidateId` string, nullable: List of candidate ID
        - `applicationId` string, nullable: List of application ID
      - `numOpenings` integer, nullable: Number of openings. Set to -1 for unlimited openings
      - `openedAt` integer, nullable: Opening timestamp in epoch format
      - `numOpeningsFilled` integer, nullable: Number of openings filled
    - `hiringTeam` HiringTeamMemberSchema[], nullable: Unified hiring team array. Each entry: {role, roleKey, name, email}. Includes primary/secondary HMs, primary/secondary recruiters, and custom roles.
      - `role` string, nullable: Role label (e.g. Hiring Manager, HRBP)
      - `email` string, nullable: Email of the team member
      - `name` string, nullable: Name of the team member
      - `roleKey` string, nullable: Storage key for the role (e.g. hiring_manager, secondary_hiring_managers, cust_hrbp)
    - `followers` PersonSchema[], nullable: all the followers of the positions as hiring managers etc.
      - `email` string, nullable: email
      - `name` string, nullable, required: Name
    - `startDate` string, nullable: start date of the position in ISO 8601 format (e.g. 2024-05-01)
    - `requisitionType` string, nullable: Requisition Type
    - `systemId` string, nullable: system id
    - `activities` PositionActivitiesSchema[], nullable: all the activities related to this positions
      - `activityTime` integer, nullable, required: activity time in epoch format
      - `activityType` string, nullable, required: activity type
      - `changeLogs` ChangeLog[], nullable: all the change logs for the activity
        - `newValue` string, nullable, required: new value
        - `fieldName` string, nullable, required: field name
        - `prevValue` string, nullable, required: previous value
      - `message` string, nullable, required: message for the activity
    - `postedFor` string, nullable: 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` QuestionnaireSchema[], nullable: questionnaires
      - `questionDependencies` QuestionDependencies[], nullable: question dependencies
        - `questionId` string, nullable, required: question id
        - `questionSource` string, nullable: question source
        - `choiceValue` string, nullable, required: choice value
        - `dependencyType` string, nullable: dependency type
        - `childQuestionIds` string[], nullable: child question ids
      - `questionnaireId` string, nullable, required: questionnaire id
    - `restrictAccess` boolean, nullable: restrict access
    - `title` string, nullable, required: job title
    - `templateId` integer, nullable: Template id of the template used to create the position
    - `recruiter` PersonSchema, required
      - `email` string, nullable: email
      - `name` string, nullable, required: Name
    - `jobPosts` JobPostSchema[], nullable: job postings
      - `publishedTime` integer, nullable, required: published time in epoch format
      - `expirationTime` integer, nullable: expiration time in epoch format
      - `postingTitle` string, nullable, required: posting title
      - `postingId` string, nullable, required: posting id
      - `locale` string, nullable: locale of the ats job post
      - `primaryPost` boolean, nullable: is primary post
      - `jobDescription` string, nullable: job description
      - `postedFor` string, nullable, required: internal for internal jobs, external for external jobs, or all for both.
    - `hiringBand` string, nullable: hiring band
    - `postingTitle` string, nullable: posting title
    - `employmentType` string, nullable: Employment Type
    - `posted` boolean, nullable, required: status of the position posted or not
    - `locationFlexibility` string, nullable: Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global
    - `orgUnits` object, nullable: Org units of the position
    - `companyDescription` string, nullable: Company description
    - `customFields` object, nullable: custom fields
    - `sourcers` PersonSchema[], nullable: all the recruiters/sourcers related to this positions
      - `email` string, nullable: email
      - `name` string, nullable, required: Name
    - `workflowTemplateId` string, nullable: Indicates which workflow this position belongs to
    - `status` string, nullable, required: status
    - `jobCode` string, nullable: ATS attribute which identifies the job this jobrequestion is mapped to
    - `open` boolean, nullable, required: 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` string, nullable: posting url
    - `atsUserGroups` AtsUserGroupsSchema[], nullable: ATS user groups
      - `userGroupId` string, nullable: Ats Group of a user
    - `createdBy` string, nullable: Email of the user who created this position
    - `function` string, nullable: job function
    - `jobStages` string[], nullable: job_stages
    - `requiredSkills` string[], nullable: required skills
    - `questions` QuestionsSchema[], nullable: questions
      - `choices` QuestionChoice[], nullable: Question choices
        - `label` string, nullable: label
        - `value` string, nullable: value
      - `choicesV2` QuestionLabel[], nullable: Question choices V2. It supports language mapping.
        - `langMappingList` LangMapping[], nullable: lang_mapping_list
          - `locale` string, nullable: locale
          - `label` string, nullable: label
        - `label` string, nullable: label
        - `value` string, nullable: value
      - `questionId` string, nullable, required: question_id
      - `help` string, nullable: help
      - `type` string, nullable: type of the question. e.g.-choice, numeric or text
      - `question` QuestionLabel
        - `langMappingList` LangMapping[], nullable: lang_mapping_list
          - `locale` string, nullable: locale
          - `label` string, nullable: label
        - `label` string, nullable: label
        - `value` string, nullable: value
      - `required` boolean, nullable: required
    - `locationState` string, nullable: State of the location
    - `locations` string[], nullable: location
    - `positionId` integer, nullable: EF Position ID
    - `description` string, nullable: job description
  - `meta` MetaSchema
    - `totalCount` integer, nullable
    - `pageTotalCount` integer, nullable
    - `pageStartIndex` integer, nullable

---

[API](https://skmtc.dev/eightfold/apis/api-server-v2-service-service.md) - [All operations](https://skmtc.dev/eightfold/apis/api-server-v2-service-service/llms.txt) - [OpenAPI document](https://skmtc.dev/eightfold/apis/api-server-v2-service-service/revisions/9a8b3a927e93?raw)
