openapi: 3.1.0 info: title: Freshworks Freshcaller Accounts Job Postings API description: The Freshcaller API provides access to cloud-based phone system functionality for contact center operations. It allows developers to export call data, call recordings, user information, and agent team details stored in the Freshcaller system. The API supports integration of voice and telephony workflows into broader business applications, enabling organizations to automate call center reporting, synchronize agent data, and build custom dashboards around their phone operations. version: '1.0' contact: name: Freshworks Support url: https://support.freshcaller.com/ termsOfService: https://www.freshworks.com/terms/ servers: - url: https://{domain}.freshcaller.com/api/v1 description: Freshcaller Production Server variables: domain: default: yourdomain description: Your Freshcaller subdomain security: - apiKeyAuth: [] tags: - name: Job Postings description: Manage job postings and their associated applicant fields. paths: /job_postings: get: operationId: listJobPostings summary: List all job postings description: Retrieves a list of all job postings in the Freshteam system. tags: - Job Postings parameters: - $ref: '#/components/parameters/PageParam' - name: status in: query description: Filter by posting status (draft, published, on_hold, closed). schema: type: string enum: - draft - published - on_hold - closed responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/JobPosting' '401': $ref: '#/components/responses/Unauthorized' /job_postings/{job_posting_id}: get: operationId: getJobPosting summary: View a job posting description: Retrieves the details of a specific job posting by its ID. tags: - Job Postings parameters: - $ref: '#/components/parameters/JobPostingIdParam' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/JobPosting' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /job_postings/{job_posting_id}/applicant_fields: get: operationId: listApplicantFields summary: List applicant fields for a job posting description: Retrieves the list of applicant form fields for a specific job posting, including required and custom fields. tags: - Job Postings parameters: - $ref: '#/components/parameters/JobPostingIdParam' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Field' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: parameters: PageParam: name: page in: query description: Page number for pagination. schema: type: integer minimum: 1 default: 1 JobPostingIdParam: name: job_posting_id in: path required: true description: The ID of the job posting. schema: type: integer schemas: Field: type: object properties: id: type: integer description: Unique ID of the field. name: type: string description: Internal name of the field. label: type: string description: Display label. field_type: type: string description: Type of field (text, dropdown, checkbox, etc). required: type: boolean description: Whether the field is required. position: type: integer description: Display position order. choices: type: array description: Available choices for dropdown fields. items: type: string JobPosting: type: object properties: id: type: integer description: Unique ID of the job posting. title: type: string description: Title of the job posting. description: type: string description: Full job description. status: type: string description: Status of the posting. enum: - draft - published - on_hold - closed branch_id: type: integer description: ID of the branch. department_id: type: integer description: ID of the department. type: type: string description: Employment type (full_time, part_time, contract). experience: type: string description: Required experience level. remote: type: boolean description: Whether the position is remote. salary: type: object description: Salary range information. properties: min: type: number description: Minimum salary. max: type: number description: Maximum salary. currency: type: string description: Currency code. closing_date: type: string format: date description: Closing date for applications. created_at: type: string format: date-time description: Timestamp when created. updated_at: type: string format: date-time description: Timestamp when last updated. Error: type: object properties: code: type: string description: Error code. message: type: string description: Human-readable error message. responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: apiKeyAuth: type: apiKey in: header name: X-Api-Auth description: API key authentication. The API key can be found in your Freshcaller admin settings. externalDocs: description: Freshcaller API Documentation url: https://developers.freshcaller.com/api/