naftiko: 1.0.0-alpha2 info: label: Workday Recruiting REST API — Candidates description: 'Workday Recruiting REST API — Candidates. 10 operations. Lead operation: Workday Recruiting List Candidates. Self-contained Naftiko capability covering one Workday Recruiting business surface.' tags: - Workday Recruiting - Candidates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WORKDAY_RECRUITING_API_KEY: WORKDAY_RECRUITING_API_KEY capability: consumes: - type: http namespace: rest-candidates baseUri: https://{tenant}.workday.com/ccx/api/recruiting/v41.2 description: Workday Recruiting REST API — Candidates business capability. Self-contained, no shared references. resources: - name: candidates path: /candidates operations: - name: listcandidates method: GET description: Workday Recruiting List Candidates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: updatedFrom in: query type: string description: Return candidates updated on or after this date-time - name: name in: query type: string description: Filter candidates by name (partial match supported) - name: email in: query type: string description: Filter candidates by email address - name: createcandidate method: POST description: Workday Recruiting Create a Candidate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: candidates-id path: /candidates/{id} operations: - name: getcandidate method: GET description: Workday Recruiting Get a Candidate outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecandidate method: PATCH description: Workday Recruiting Update a Candidate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: candidates-id-assess path: /candidates/{id}/assess operations: - name: assesscandidate method: POST description: Workday Recruiting Assess a Candidate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: candidates-id-attachments path: /candidates/{id}/attachments operations: - name: listcandidateattachments method: GET description: Workday Recruiting List Candidate Attachments outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addcandidateattachment method: POST description: Workday Recruiting Add a Candidate Attachment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: candidates-id-photo path: /candidates/{id}/photo operations: - name: getcandidatephoto method: GET description: Workday Recruiting Get a Candidate Photo outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecandidatephoto method: PUT description: Workday Recruiting Update a Candidate Photo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: candidates-id-refer path: /candidates/{id}/refer operations: - name: refercandidate method: POST description: Workday Recruiting Refer a Candidate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.WORKDAY_RECRUITING_API_KEY}}' exposes: - type: rest namespace: rest-candidates-rest port: 8080 description: REST adapter for Workday Recruiting REST API — Candidates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/candidates name: candidates description: REST surface for candidates. operations: - method: GET name: listcandidates description: Workday Recruiting List Candidates call: rest-candidates.listcandidates with: updatedFrom: rest.updatedFrom name: rest.name email: rest.email outputParameters: - type: object mapping: $. - method: POST name: createcandidate description: Workday Recruiting Create a Candidate call: rest-candidates.createcandidate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/candidates/{id} name: candidates-id description: REST surface for candidates-id. operations: - method: GET name: getcandidate description: Workday Recruiting Get a Candidate call: rest-candidates.getcandidate outputParameters: - type: object mapping: $. - method: PATCH name: updatecandidate description: Workday Recruiting Update a Candidate call: rest-candidates.updatecandidate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/candidates/{id}/assess name: candidates-id-assess description: REST surface for candidates-id-assess. operations: - method: POST name: assesscandidate description: Workday Recruiting Assess a Candidate call: rest-candidates.assesscandidate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/candidates/{id}/attachments name: candidates-id-attachments description: REST surface for candidates-id-attachments. operations: - method: GET name: listcandidateattachments description: Workday Recruiting List Candidate Attachments call: rest-candidates.listcandidateattachments outputParameters: - type: object mapping: $. - method: POST name: addcandidateattachment description: Workday Recruiting Add a Candidate Attachment call: rest-candidates.addcandidateattachment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/candidates/{id}/photo name: candidates-id-photo description: REST surface for candidates-id-photo. operations: - method: GET name: getcandidatephoto description: Workday Recruiting Get a Candidate Photo call: rest-candidates.getcandidatephoto outputParameters: - type: object mapping: $. - method: PUT name: updatecandidatephoto description: Workday Recruiting Update a Candidate Photo call: rest-candidates.updatecandidatephoto with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/candidates/{id}/refer name: candidates-id-refer description: REST surface for candidates-id-refer. operations: - method: POST name: refercandidate description: Workday Recruiting Refer a Candidate call: rest-candidates.refercandidate with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: rest-candidates-mcp port: 9090 transport: http description: MCP adapter for Workday Recruiting REST API — Candidates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: workday-recruiting-list-candidates description: Workday Recruiting List Candidates hints: readOnly: true destructive: false idempotent: true call: rest-candidates.listcandidates with: updatedFrom: tools.updatedFrom name: tools.name email: tools.email outputParameters: - type: object mapping: $. - name: workday-recruiting-create-candidate description: Workday Recruiting Create a Candidate hints: readOnly: false destructive: false idempotent: false call: rest-candidates.createcandidate with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-recruiting-get-candidate description: Workday Recruiting Get a Candidate hints: readOnly: true destructive: false idempotent: true call: rest-candidates.getcandidate outputParameters: - type: object mapping: $. - name: workday-recruiting-update-candidate description: Workday Recruiting Update a Candidate hints: readOnly: false destructive: false idempotent: true call: rest-candidates.updatecandidate with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-recruiting-assess-candidate description: Workday Recruiting Assess a Candidate hints: readOnly: false destructive: false idempotent: false call: rest-candidates.assesscandidate with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-recruiting-list-candidate-attachments description: Workday Recruiting List Candidate Attachments hints: readOnly: true destructive: false idempotent: true call: rest-candidates.listcandidateattachments outputParameters: - type: object mapping: $. - name: workday-recruiting-add-candidate-attachment description: Workday Recruiting Add a Candidate Attachment hints: readOnly: false destructive: false idempotent: false call: rest-candidates.addcandidateattachment with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-recruiting-get-candidate-photo description: Workday Recruiting Get a Candidate Photo hints: readOnly: true destructive: false idempotent: true call: rest-candidates.getcandidatephoto outputParameters: - type: object mapping: $. - name: workday-recruiting-update-candidate-photo description: Workday Recruiting Update a Candidate Photo hints: readOnly: false destructive: false idempotent: true call: rest-candidates.updatecandidatephoto with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-recruiting-refer-candidate description: Workday Recruiting Refer a Candidate hints: readOnly: false destructive: false idempotent: false call: rest-candidates.refercandidate with: body: tools.body outputParameters: - type: object mapping: $.