openapi: 3.1.0 info: title: Workday Integration Workday Recruiting API description: >- API for candidate management, job requisitions, and recruiting processes. Provides endpoints for managing interviews, job postings, prospect data including education, experience, resumes, and skills. version: v1 contact: name: Workday API Support email: api-support@workday.com url: https://community.workday.com license: name: Proprietary url: https://www.workday.com/en-us/legal/site-terms.html servers: - url: https://{baseUrl}/ccx/api/recruiting/v1/{tenant} description: Workday Recruiting REST API server variables: baseUrl: default: wd2-impl-services1.workday.com description: The Workday data center hostname tenant: default: tenant description: The Workday tenant name security: - OAuth2: - r:recruiting - w:recruiting paths: /interviews: get: operationId: getInterviews summary: Workday Integration Retrieve a collection of interviews description: >- Returns a collection of interview records associated with job requisitions and candidates. tags: - Interviews parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with interviews content: application/json: schema: $ref: '#/components/schemas/InterviewsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /interviews/{ID}/feedback: get: operationId: getInterviewFeedback summary: Workday Integration Retrieve feedback for an interview description: >- Returns the feedback submitted for the specified interview. tags: - Interviews parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with interview feedback content: application/json: schema: $ref: '#/components/schemas/FeedbackResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /jobPostings: get: operationId: getJobPostings summary: Workday Integration Retrieve a collection of job postings description: >- Returns a collection of active and inactive job postings. tags: - Job Postings parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with job postings content: application/json: schema: $ref: '#/components/schemas/JobPostingsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /jobPostings/{ID}: get: operationId: getJobPostingById summary: Workday Integration Retrieve a specific job posting description: >- Returns the specified job posting including description, requirements, and posting status. tags: - Job Postings parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the job posting content: application/json: schema: $ref: '#/components/schemas/JobPosting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /prospects/{ID}/educations: get: operationId: getProspectEducations summary: Workday Integration Retrieve education records for a prospect description: >- Returns the education history for the specified recruiting prospect. tags: - Prospects parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with prospect education records content: application/json: schema: $ref: '#/components/schemas/EducationsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /prospects/{ID}/experiences: get: operationId: getProspectExperiences summary: Workday Integration Retrieve work experiences for a prospect description: >- Returns the work experience records for the specified recruiting prospect. tags: - Prospects parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with prospect experience records content: application/json: schema: $ref: '#/components/schemas/ExperiencesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: operationId: createProspectExperience summary: Workday Integration Create a work experience entry for a prospect description: >- Adds a new work experience record to the specified recruiting prospect. tags: - Prospects parameters: - $ref: '#/components/parameters/ID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ExperienceRequest' responses: '201': description: Experience record created successfully content: application/json: schema: $ref: '#/components/schemas/Experience' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /prospects/{ID}/resumeAttachments: get: operationId: getProspectResumeAttachments summary: Workday Integration Retrieve resume attachments for a prospect description: >- Returns the resume and document attachments for the specified recruiting prospect. tags: - Prospects parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with resume attachments content: application/json: schema: $ref: '#/components/schemas/AttachmentsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /prospects/{ID}/skills: get: operationId: getProspectSkills summary: Workday Integration Retrieve skills for a prospect description: >- Returns the skills profile for the specified recruiting prospect. tags: - Prospects parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with prospect skills content: application/json: schema: $ref: '#/components/schemas/SkillsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /values/common/countries: get: operationId: getCountries summary: Workday Integration Retrieve available countries description: >- Returns the list of countries available for recruiting processes. tags: - Reference Data parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with countries content: application/json: schema: $ref: '#/components/schemas/ReferenceValuesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token refreshUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: r:recruiting: Read recruiting data w:recruiting: Write recruiting data parameters: ID: name: ID in: path required: true description: The Workday ID of the resource schema: type: string limit: name: limit in: query description: The maximum number of objects in a single response (default 20, maximum 100) schema: type: integer default: 20 maximum: 100 offset: name: offset in: query description: The zero-based index of the first object in a response collection schema: type: integer default: 0 search: name: search in: query description: Search string used to filter results schema: type: string responses: BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: string errors: type: array items: type: object properties: error: type: string field: type: string message: type: string ResourceReference: type: object properties: id: type: string descriptor: type: string href: type: string format: uri InterviewsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string descriptor: type: string interviewDate: type: string format: date-time candidate: $ref: '#/components/schemas/ResourceReference' jobRequisition: $ref: '#/components/schemas/ResourceReference' status: type: string FeedbackResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string descriptor: type: string interviewer: $ref: '#/components/schemas/ResourceReference' rating: type: string comments: type: string JobPosting: type: object properties: id: type: string descriptor: type: string title: type: string postingDate: type: string format: date closingDate: type: string format: date status: type: string location: $ref: '#/components/schemas/ResourceReference' jobRequisition: $ref: '#/components/schemas/ResourceReference' JobPostingsResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/JobPosting' EducationsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string school: type: string degree: type: string fieldOfStudy: type: string startDate: type: string format: date endDate: type: string format: date Experience: type: object properties: id: type: string company: type: string title: type: string startDate: type: string format: date endDate: type: string format: date description: type: string ExperiencesResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/Experience' ExperienceRequest: type: object required: - company - title - startDate properties: company: type: string title: type: string startDate: type: string format: date endDate: type: string format: date description: type: string AttachmentsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string descriptor: type: string fileName: type: string contentType: type: string uploadDate: type: string format: date-time SkillsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string descriptor: type: string proficiencyLevel: type: string ReferenceValuesResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/ResourceReference' tags: - name: Interviews - name: Job Postings - name: Prospects - name: Reference Data