openapi: 3.0.3 info: title: Truto Admin Accounts Jobs API description: The Truto Admin API enables programmatic management of the Truto integration platform, including managing integrated accounts, generating link tokens for customer OAuth flows, running post-install actions, and provisioning MCP servers for AI agent access. version: 1.0.0 contact: url: https://truto.one/docs/api-reference/admin servers: - url: https://api.truto.one description: Truto API security: - bearerAuth: [] tags: - name: Jobs description: Job postings and open positions paths: /jobs: get: operationId: listJobs summary: List jobs description: List job postings from the connected ATS provider. Returns normalized job data including title, department, location, status, and associated stages. tags: - Jobs security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/IntegratedAccountId' - name: status in: query description: Filter jobs by status. required: false schema: type: string enum: - open - closed - draft - name: department_id in: query description: Filter jobs by department ID. required: false schema: type: string - name: cursor in: query required: false schema: type: string - name: limit in: query required: false schema: type: integer default: 20 maximum: 100 responses: '200': description: List of jobs. content: application/json: schema: $ref: '#/components/schemas/JobListResponse' '401': $ref: '#/components/responses/Unauthorized' /jobs/{id}: get: operationId: getJob summary: Get job description: Retrieve a single job posting by ID. tags: - Jobs security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/IntegratedAccountId' - name: id in: path required: true schema: type: string responses: '200': description: Job posting details. content: application/json: schema: $ref: '#/components/schemas/Job' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication failed or token is invalid. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Job: type: object description: A normalized job posting from the connected ATS provider. properties: id: type: string description: Unified job identifier. remoteId: type: string description: Job identifier in the source ATS. title: type: string description: Job title. status: type: string enum: - open - closed - draft description: Job posting status. departmentId: type: string description: Department identifier. officeId: type: string description: Office or location identifier. description: type: string description: Job description content. jobType: type: string enum: - full_time - part_time - contract - temporary - intern description: Type of position. remoteAllowed: type: boolean description: Whether remote work is permitted. hiringManagerId: type: string description: Identifier of the hiring manager. openedAt: type: string format: date-time description: Timestamp when the job was opened. closedAt: type: string format: date-time description: Timestamp when the job was closed. createdAt: type: string format: date-time updatedAt: type: string format: date-time JobListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Job' nextCursor: type: string Error: type: object properties: error: type: string message: type: string parameters: IntegratedAccountId: name: integrated_account_id in: query required: true description: The ID of the integrated account (connected ATS provider instance) to query. Required for all Unified API requests. schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: Tenant Bearer token from the Truto dashboard.