---
title: "Listing jobs"
method: GET
path: "/jobs"
tags: ["Jobs"]
---

# Listing jobs

`GET /jobs`

Returns a list of jobs. Click [here](../docs/listing-jobs) for more information.

## Query parameters

- `id` integer
- `code` string
- `name` string
- `status` 'draft' | 'waiting_approval' | 'approved' | 'disapproved' | 'published' | 'frozen' | 'closed' | 'canceled'
- `type` 'vacancy_type_apprentice' | 'vacancy_type_associate' | 'vacancy_type_talent_pool' | 'vacancy_type_effective' | 'vacancy_type_internship' | 'vacancy_type_summer' | 'vacancy_type_temporary' | 'vacancy_type_outsource' | 'vacancy_type_trainee' | 'vacancy_type_volunteer' | 'vacancy_legal_entity' | 'vacancy_type_lecturer' | 'vacancy_type_freelancer' | 'vacancy_type_autonomous' | 'vacancy_type_intermittent'
- `publicationType` 'external' | 'internal'
- `careerPageId` integer
- `vacancyCode` string
- `roleId` integer
- `addressState` string
- `fields` string
- `perPage` integer
- `page` integer

## Response `200`

An array of jobs

- PaginatedJob — An array of jobs
  - `results` Job[], required
    - `id` integer — Job ID
    - `code` string — Job posting code (eg. 999-99999)
    - `name` string — Job name (eg. Programador Node.js)
    - `status` 'draft' | 'waiting_approval' | 'approved' | 'disapproved' | 'published' | 'frozen' | 'closed' | 'canceled' — Job status
    - `type` 'vacancy_type_apprentice' | 'vacancy_type_associate' | 'vacancy_type_talent_pool' | 'vacancy_type_effective' | 'vacancy_type_internship' | 'vacancy_type_summer' | 'vacancy_type_temporary' | 'vacancy_type_outsource' | 'vacancy_type_trainee' | 'vacancy_type_volunteer' | 'vacancy_legal_entity' | 'vacancy_type_lecturer' | 'vacancy_type_freelancer' | 'vacancy_type_autonomous' | 'vacancy_type_intermittent' — Job type
    - `publicationType` 'external' | 'internal' — Publication type (eg. external, internal)
    - `numVacancies` integer — Number of total vacancies (eg. 10)
    - `departmentId` integer — Department ID
    - `departmentName` string — Department name (eg. Recursos Humanos, Logística)
    - `roleId` integer — Role ID
    - `roleName` string — Role name (eg. Desenvolvedor, Estagiário)
    - `branchId` integer — Branch ID
    - `branchName` string — Branch name
    - `description` string — Job description
    - `responsibilities` string — Main responsabilities and attribuitions
    - `prerequisites` string — Requirements and skills
    - `additionalInformation` string — Additional relevant informations
    - `notes` string — Internal notes about the job
    - `disabilities` boolean — Available for person with disabilities
    - `addressCountry` string — Job address country
    - `addressCountryShortName` string — Job address short country name
    - `addressState` string — Job address state
    - `addressStateShortName` string — Job address short state name
    - `addressCity` string — Job address city
    - `addressStreet` string — Job address street
    - `addressDistrict` string — Job address district
    - `addressComplements` string — Job address complements
    - `addressNumber` string — Job address number
    - `addressZipCode` string — Job address zip code
    - `addressLatitude` number, double — Work location latitude.
    - `addressLongitude` number, double — Work location longitude.
    - `remoteWorking` boolean — This job is for remote working. This field will soon be deprecated, please use workplaceType instead for setting remoteWorking accurately.
    - `workplaceType` 'hybrid' | 'on-site' | 'remote' — Workplace type. If provided, will be used to set the remoteWorking correctly.
    - `reason` 'staff_increase' | 'staff_replacement' — Job opening reason
    - `image` string — Image url for job website
    - `socialMediaImage` string — Image url for social media
    - `applicationDeadline` string, date — Final date for application
    - `careerPageId` integer — Career page ID
    - `careerPageName` string — Career page name
    - `vacancyCodes` object[] — Vacancy codes associated to job
      - `id` integer — Vacancy Code id
      - `code` string — Vacancy Code
      - `status` 'valid' | 'invalid' | 'error' | 'waiting' — Vacancy status
      - `errorMessage` string — Error message when status=error (eg. Gestor inválido)
    - `managerId` integer — User ID of the job manager
    - `managerName` string — Name of the job manager
    - `managerEmail` string, email — E-mail of the job manager
    - `recruiterId` integer — User ID of the job recruiter
    - `recruiterName` string — Name of the job recruiter
    - `recruiterEmail` string, email — E-mail of the job recruiter
    - `hiringDeadline` string, date — Deadline for hiring candidates
    - `salary` object — Salary data
      - `currency` string — Salary currency type (eg. R$)
      - `startsAt` number, double — Salary min value
      - `endsAt` number, double — Salary max value
    - `customFields` JobCustomField[] — Custom fields defined for this job
      - `id` string — Custom field id
      - `label` string — Custom field label
      - `value` union — Custom field provided value
        - string
        - string[]
      - `type` 'select' | 'multiSelect' | 'text' | 'boolean' | 'number' | 'date' | 'time' — Custom field type
      - `order` integer — Custom field order of appearance when editing a job
      - `required` boolean — Informs if this custom field response is mandatory
      - `enum` string[] — Possible options to be provided as value
    - `jobRatingCriterias` JobRatingCriteria[] — Rating criterias that belongs to the job
      - `jobId` integer
      - `name` string
    - `cancelReason` 'staff_increase_or_substitution_postponed' | 'cancellation_requested_by_manager' | 'internal_transfer' | 'organizational_restructuring' | 'budget_review' | 'other' — Job cancel reason
    - `cancelReasonNotes` string — Job cancel reason notes provided by user when cancelReason is other
    - `canceledByEmail` string, email — E-mail of the person who canceled the job
    - `cancelAt` string, date-time — Date of job cancel
    - `createdAt` string, date-time — Date of creation
    - `updatedAt` string, date-time — Date of update
    - `publishedAt` string, date-time — Date of job publication
    - `approvedAt` string, date-time — Date of job approve
    - `disapprovedAt` string, date-time — Date of job disapprove
    - `closedAt` string, date-time — Date of job close
    - `lastFreezeDate` string, date-time — Last date of job freeze
    - `lastUnFreezeDate` string, date-time — Last date of job unfreeze
    - `creatorId` integer — User ID of the job creator
    - `creatorName` string — Name of the job creator
    - `creatorEmail` string, email — E-mail of the job creator
    - `videoUrl` string — A video url about the job.
    - `approvers` number[] — User ids to be approvers of the job
    - `workflowRequestMethod` 'all_at_once' | 'in_order' — Workflow request method
  - `totalResults` integer
  - `page` integer
  - `totalPages` integer

## Other responses

- `400` — BadRequest / Invalid Input
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/gupy/apis/gupy-public-api.md) · [All operations](https://skmtc.net/gupy/apis/gupy-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gupy/gupy-public-api/revisions/3f26defa2a42/schema)
