---
title: "List all jobs with pagination and searching"
url: "https://developer-qual.migros.ch/apis/job-offers-8/versions/8ec40641-4def-41dd-abb7-369a9a3c1d84/operations/get-jobs"
---

> Full API specification: https://developer-qual.migros.ch/apis/job-offers-8/versions/8ec40641-4def-41dd-abb7-369a9a3c1d84.md

# List all jobs with pagination and searching

`GET` `/migros/human-resources/v8/jobs`

Operation ID: `get-jobs`

Returns a paged list of jobs and provides search functionality.

## Query parameters

- `search` (string, optional) - Simple search string which is fault-tolerant for user-entered text.
- `limit` (integer, optional) - Maximum number of results (max 2000).
- `offset` (integer, optional) - Result set offset.
- `sort` (string, optional) - The sorting criteria.
- `order` (string, optional) - The ordering direction.
- `view` (string, optional) - Show specific types of jobs, where 'browse' is hiding internal jobs and 'internal' only shows the internal ones. If a job has both internal and external channels, it only shows up in browse but not in internal. 'all' shows all jobs regardless of channels.
- `lang` (string, optional) - Defines the language (de/fr/it/en) for this request as query parameter. Either use the query param "lang" or header "Accept-Language", not both.

## Header parameters

- `Accept-Language` (string, optional) - Defines the language (de/fr/it/en) for this request as request header. Either use the query param "lang" or header "Accept-Language", not both.

## Responses

- `200` - Returned when successful

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Job Offers
  version: "8"
servers:
  - description: Public Kong Gateway URL
    url: https://api-qual.migros.ch
paths:
  /migros/human-resources/v8/jobs:
    get:
      description: Returns a paged list of jobs and provides search functionality.
      operationId: get-jobs
      parameters:
        - $ref: "#/components/parameters/search"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/offset"
        - description: The sorting criteria.
          in: query
          name: sort
          required: false
          schema:
            default: score
            enum:
              - score
              - date_from
              - date_to
              - title
              - company
              - location
            type: string
        - $ref: "#/components/parameters/order"
        - description: Show specific types of jobs, where 'browse' is hiding internal jobs
            and 'internal' only shows the internal ones. If a job has both
            internal and external channels, it only shows up in browse but not
            in internal. 'all' shows all jobs regardless of channels.
          in: query
          name: view
          schema:
            default: browse
            enum:
              - all
              - browse
              - internal
            type: string
        - $ref: "#/components/parameters/lang"
        - $ref: "#/components/parameters/Accept-Language"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JobCollection"
          description: Returned when successful
      summary: List all jobs with pagination and searching
      tags:
        - Job Offers
security:
  - Kong-Api-Key: []
    basicAuth: []
components:
  parameters:
    search:
      description: Simple search string which is fault-tolerant for user-entered text.
      in: query
      name: search
      required: false
      schema:
        type: string
    limit:
      description: Maximum number of results (max 2000).
      in: query
      name: limit
      required: false
      schema:
        default: 10
        maximum: 2000
        minimum: 0
        type: integer
    offset:
      description: Result set offset.
      in: query
      name: offset
      required: false
      schema:
        default: 0
        minimum: 0
        type: integer
    order:
      description: The ordering direction.
      in: query
      name: order
      schema:
        default: asc
        enum:
          - asc
          - desc
        type: string
    lang:
      description: Defines the language (de/fr/it/en) for this request as query
        parameter. Either use the query param "lang" or header
        "Accept-Language", not both.
      in: query
      name: lang
      schema:
        default: de
        enum:
          - de
          - fr
          - it
          - en
        type: string
    Accept-Language:
      description: Defines the language (de/fr/it/en) for this request as request
        header. Either use the query param "lang" or header "Accept-Language",
        not both.
      in: header
      name: Accept-Language
      schema:
        default: de
        enum:
          - de
          - fr
          - it
          - en
        type: string
  schemas:
    JobCollection:
      allOf:
        - $ref: "#/components/schemas/AbstractSearchResultCollection"
        - properties:
            jobs:
              items:
                $ref: "#/components/schemas/Job"
              type: array
          type: object
      description: A collection of job instances.
      required:
        - jobs
        - total_hits
      type: object
    AbstractSearchResultCollection:
      allOf:
        - $ref: "#/components/schemas/AbstractCollection"
        - properties:
            ids:
              description: >-
                Ids only.


                Is filled instead of the usual property for content, with only
                the ids when a call is made with verbosity=id on a

                route that supports it.
              items:
                type: string
              type: array
            total_hits:
              description: >-
                The total hits may exceed the actual count of results in the
                collection.


                It represents the total number of results of a search and not
                only the

                potentially paginated subset.
              nullable: true
              type: integer
          type: object
      description: A collection of search result instances.
      type: object
    Job:
      description: Job advertisements from the karriere portal.
      properties:
        application_email:
          description: Job application email address.
          nullable: true
          type: string
        application_link:
          description: Job application page weblink.
          nullable: true
          type: string
        application_method:
          description: >-
            Method how to apply for this job.


            Values can be

            - "form" => use the application_link property to link to the
            application form.

            - "email" => use the application_link property to link to the
            application form.
          nullable: true
          type: string
        ats_job_id:
          description: |-
            ID of the job at source systems.

            Not guaranteed to exist, not guaranteed to be unique.
          nullable: true
          type: integer
        benefits:
          description: >-
            Benefits that come with this job.


            E.g. Barrierefreiheit, Aufenthaltsraum, "Pensionskasse:
            Leistungsprimat und Leistungsverdoppelung durch die Migros"
          items:
            type: string
          nullable: true
          type: array
        category:
          description: |-
            ??

            E.g. administration, marketing, IT, ...
          nullable: true
          type: string
        channels:
          description: List of channels this job is published to
          items:
            $ref: "#/components/schemas/Channel"
          nullable: true
          type: array
        company:
          description: Name of the migros company offering this job.
          nullable: true
          type: string
        date_from:
          description: Job advertisement publication start date.
          format: date-time
          nullable: true
          type: string
        date_to:
          description: Job advertisement publication end date.
          format: date-time
          nullable: true
          type: string
        degree:
          description: |-
            Highest required degree to apply for this job.

            E.g. "Abgeschlossene Berufslehre (EFZ)"

            This goes together with the field education.
          nullable: true
          type: string
        education:
          description: |-
            Field of expertise the applicants should have.

            This goes together with the field degree.
          nullable: true
          type: string
        education_type:
          description: >-
            What type of diploma you get with this apprenticeship.


            Only for apprenticeships.


            E.g. "Eidgenössisches Fähigkeitszeugnis", "Eidgenössisches
            Berufsattest" or "Praktikum"
          nullable: true
          type: string
        educations:
          description: |-
            Which education titles you get on this apprenticeship.

            Only for apprenticeships.

            Do not confuse with "education" which is the required education.
          items:
            type: string
          nullable: true
          type: array
        employment_duration:
          description: How long the job offers to keep the employee, either "unlimited" or
            "temporary".
          nullable: true
          type: string
        employment_type:
          description: |-
            Employment contract type for this job.

            E.g. "Auf Stundenbasis"
          nullable: true
          type: string
        expectations:
          description: Order list of expectations descriptions what the applicant will do
            on this job.
          items:
            type: string
          nullable: true
          type: array
        id:
          description: ID of the job in the karriere portal.
          type: string
        introduction:
          description: |-
            Pitch to explain the job.

            Newline characters need to be rendered as line breaks.
          nullable: true
          type: string
        job_start:
          description: |-
            Type of when the job starts: "immediately", "arranged" or "date".

            If date, the property job_start_date should provide the date.
          nullable: true
          type: string
        job_start_date:
          description: If job_start is "date", this provides what the start date is.
          format: date-time
          nullable: true
          type: string
        language:
          description: >-
            The language in which this job advertisement is written.


            If you requested a different language, this means the requested
            language does not exist.

            Some fields will still be in the requested language, but not the
            free text fields.
          nullable: true
          type: string
        language_information:
          description: >-
            Free text with additional information about the language
            capabilities for applicants.


            E.g. "Französisch von Vorteil"
          nullable: true
          type: string
        link:
          description: Job detail page weblink.
          nullable: true
          type: string
        media:
          description: Information to show image or video for this job.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Media"
        meet_the_team:
          description: List of links to linked.in to show cards.
          items:
            type: string
          nullable: true
          type: array
        position:
          description: |-
            Job position that is being offered.

            E.g. employee, trainee, ...
          nullable: true
          type: string
        recruiter:
          description: Data about the recruiter for this job.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Recruiter"
        recruitment_steps:
          description: Ordered list of steps for applying for this job.
          items:
            type: string
          nullable: true
          type: array
        region:
          description: |-
            Name of the region where this job is offered.

            E.g. Zurich, Lucerne, ...
          nullable: true
          type: string
        rubric:
          description: Rubric/classification information about this job.
          nullable: true
          type: string
        salary_range:
          description: Description of the salary range for this job as plain text.
          nullable: true
          type: string
        speech:
          description: |-
            Whether the job offer is in informal or formal speech (Du vs Sie).

            The values can be "informal" or "formal".
          nullable: true
          type: string
        tasks:
          description: Order list of task descriptions to do in this job.
          items:
            type: string
          nullable: true
          type: array
        title:
          description: Job advertisment headline.
          nullable: true
          type: string
        type:
          description: The type code of this job, e.g. "job" or "apprenticeship"
          nullable: true
          type: string
        workload_from:
          description: Job workload percentage from.
          nullable: true
          type: integer
        workload_to:
          description: Job workload percentage to.
          nullable: true
          type: integer
        workplace_address:
          description: Address where the employee will work.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/WorkplaceAddress"
      required:
        - id
      type: object
    AbstractCollection:
      description: A generic collection of elements.
    Channel:
      properties:
        end_date:
          format: date-time
          type: string
        name:
          description: End date from when the channel is active. i.e. 2022-04-14
          type: string
        start_date:
          format: date-time
          type: string
      required:
        - name
        - start_date
        - end_date
      type: object
    Media:
      description: An image or video reference.
      properties:
        custom:
          type: string
        description:
          nullable: true
          type: string
        original:
          type: string
        type:
          description: Image description, useful for example as alt attribute.
          type: string
      required:
        - type
        - original
        - custom
      type: object
    Recruiter:
      description: Information about the recruiter of a job.
      properties:
        email:
          nullable: true
          type: string
        first_name:
          description: Link to the xing page of this recruiter.
          type: string
        function:
          nullable: true
          type: string
        image:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Media"
        last_name:
          type: string
        linkedin_url:
          nullable: true
          type: string
        phone:
          nullable: true
          type: string
        xing_url:
          nullable: true
          type: string
      required:
        - first_name
        - last_name
      type: object
    WorkplaceAddress:
      description: Address where a job takes place.
      properties:
        address_line_1:
          nullable: true
          type: string
        address_line_2:
          nullable: true
          type: string
        country_code:
          nullable: true
          type: string
        lat:
          format: float
          nullable: true
          type: number
        locality:
          type: string
        lon:
          format: float
          nullable: true
          type: number
        postal_code:
          nullable: true
          type: string
      required:
        - locality
      type: object
  securitySchemes:
    Kong-Api-Key:
      description: Kong key-auth authentication
      in: header
      name: X-Api-Key
      type: apiKey
    basicAuth:
      scheme: basic
      type: http
```
