openapi: 3.1.0 info: title: Deel ATS Adjustments Jobs API description: 'Applicant Tracking System API for managing the full recruiting pipeline — jobs and job postings, candidates, applications, attachments, offers, departments, locations, email templates, hiring members, employment types, application sources, tags, and reasons — with an end-to-end candidate-to-contract flow via Deel Hire. ' version: '2026-05-25' contact: name: Deel Developer Support url: https://developer.deel.com/api/ats-guides/introduction servers: - url: https://api.letsdeel.com/rest/v2 description: Production - url: https://api-sandbox.demo.deel.com/rest/v2 description: Sandbox security: - BearerAuth: [] tags: - name: Jobs description: Job and job-posting management paths: /ats/jobs: get: operationId: getAtsJobs summary: List ATS Jobs tags: - Jobs parameters: - name: status in: query schema: type: string enum: - draft - open - on_hold - closed - filled responses: '200': description: Jobs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/AtsJob' post: operationId: createAtsJob summary: Create ATS Job tags: - Jobs requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AtsJobCreate' responses: '201': description: Job created content: application/json: schema: $ref: '#/components/schemas/AtsJob' /ats/jobs/{job_id}/postings: get: operationId: getAtsJobPostings summary: List Job Postings tags: - Jobs parameters: - name: job_id in: path required: true schema: type: string responses: '200': description: Postings content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/AtsJobPosting' components: schemas: AtsJobCreate: type: object required: - title properties: title: type: string department_id: type: string location_id: type: string employment_type: type: string hiring_manager_id: type: string description: type: string AtsJobPosting: type: object properties: id: type: string job_id: type: string title: type: string url: type: string format: uri status: type: string enum: - draft - posted - closed channel: type: string enum: - website - linkedin - indeed - internal - other AtsJob: type: object properties: id: type: string title: type: string status: type: string enum: - draft - open - on_hold - closed - filled department_id: type: string location_id: type: string employment_type: type: string hiring_manager_id: type: string created_at: type: string format: date-time securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: opaque