> ## Documentation Index
> Fetch the complete documentation index at: https://api.jobaffinity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List all jobs

> Returns a paginated list of jobs. By default, only jobs owned by the authenticated user (user responsible for the job) are returned. Use `alljobs=1` to return all jobs visible to the user.



## OpenAPI

````yaml /api-reference/openapi.json get /job
openapi: 3.0.3
info:
  title: JobAffinity REST API
  version: '1.12'
  description: >
    JobAffinity REST API for managing jobs, candidates, applications, and
    recruitment processes.


    ## Authentication

    All endpoints require HTTP Basic Authentication.


    ## Versioning

    Current version: 1.12


    See `/restapi/changelog` for version history and changes.
  contact:
    name: JobAffinity API Support
servers:
  - url: https://jobaffinity.fr/restapi/v1
    description: REST API v1
  - url: https://jobaffinity.fr/restapi
    description: REST API root (for changelog)
security:
  - basicAuth: []
tags:
  - name: API Info
    description: API metadata and changelog
  - name: Jobs
    description: Job listings and details
  - name: Candidates
    description: Candidate information
  - name: Applications
    description: Job applications
  - name: Processes
    description: Recruitment processes and steps
  - name: Notes
    description: Candidate notes
  - name: Questionnaires
    description: Questionnaire answers
  - name: Webhooks
    description: Webhook tasks
  - name: Job Application Submission
    description: >-
      Submit candidate applications to a job posting via the apply URL provided
      in the job feed. The authentication token is embedded in the URL — no
      additional credentials are required.
paths:
  /job:
    get:
      tags:
        - Jobs
      summary: List all jobs
      description: >-
        Returns a paginated list of jobs. By default, only jobs owned by the
        authenticated user (user responsible for the job) are returned. Use
        `alljobs=1` to return all jobs visible to the user.
      operationId: listJobs
      parameters:
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/sinceParam'
        - name: alljobs
          in: query
          description: >-
            Set to `1` to return all jobs visible to the user, not just jobs
            owned by the authenticated user.
          schema:
            type: integer
            enum:
              - 0
              - 1
        - name: status
          in: query
          description: >-
            Filter by job status. Can be specified multiple times to include
            multiple statuses (e.g. `?status=OPEN&status=CLOSED`). By default,
            only OPEN and CLOSED jobs are listed.
          schema:
            type: string
            enum:
              - OPEN
              - CLOSED
              - ARCHIVED
      responses:
        '200':
          description: Paginated list of jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  _self:
                    type: string
                    format: uri
                  _schema:
                    type: string
                    format: uri
                  _status:
                    type: string
                    enum:
                      - OK
                      - INVALID
                  _next:
                    type: string
                    format: uri
                    nullable: true
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/JobListItem'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
components:
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of items to return per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    sinceParam:
      name: since
      in: query
      description: Return items created or modified since this ID
      schema:
        type: integer
        minimum: 0
  schemas:
    JobListItem:
      allOf:
        - $ref: '#/components/schemas/JobLite'
        - type: object
          properties:
            start_applications_count:
              type: integer
              description: Number of applications on a step with START status.
            current_applications_count:
              type: integer
              description: Number of applications on a step with CURRENT status.
            end_applications_count:
              type: integer
              description: Number of applications on a step with END status.
    JobLite:
      type: object
      properties:
        _self:
          type: string
          format: uri
          description: URL of the job resource
        id:
          type: integer
          description: Job identifier
        title:
          type: string
          description: Job title
        status:
          type: string
          description: Job status
          enum:
            - DRAFT
            - PENDING_APPROVAL
            - PUBLISHED
            - CLOSED
            - ARCHIVED
        applications:
          type: object
          properties:
            _self:
              type: string
              format: uri
              description: URL to list applications for this job
  responses:
    UnauthorizedError:
      description: Authentication information is missing or invalid
      headers:
        WWW-Authenticate:
          schema:
            type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication with API credentials

````