naftiko: 1.0.0-alpha2 info: label: Ashby API — Interviewer Pool description: 'Ashby API — Interviewer Pool. 8 operations. Lead operation: interviewerPool.addUser. Self-contained Naftiko capability covering one Ashby business surface.' tags: - Ashby - Interviewer Pool created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ASHBY_API_KEY: ASHBY_API_KEY capability: consumes: - type: http namespace: ashby-interviewer-pool baseUri: https://api.ashbyhq.com description: Ashby API — Interviewer Pool business capability. Self-contained, no shared references. resources: - name: interviewerPool.addUser path: /interviewerPool.addUser operations: - name: interviewerpooladduser method: POST description: interviewerPool.addUser outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.archive path: /interviewerPool.archive operations: - name: interviewerpoolarchive method: POST description: interviewerPool.archive outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.create path: /interviewerPool.create operations: - name: interviewerpoolcreate method: POST description: interviewerPool.create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.info path: /interviewerPool.info operations: - name: interviewerpoolinfo method: POST description: interviewerPool.info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.list path: /interviewerPool.list operations: - name: interviewerpoollist method: POST description: interviewerPool.list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.removeUser path: /interviewerPool.removeUser operations: - name: interviewerpoolremoveuser method: POST description: interviewerPool.removeUser outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.restore path: /interviewerPool.restore operations: - name: interviewerpoolrestore method: POST description: interviewerPool.restore outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: interviewerPool.update path: /interviewerPool.update operations: - name: interviewerpoolupdate method: POST description: interviewerPool.update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Ashby-Signature value: '{{env.ASHBY_API_KEY}}' placement: header exposes: - type: rest namespace: ashby-interviewer-pool-rest port: 8080 description: REST adapter for Ashby API — Interviewer Pool. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/interviewerpool-adduser name: interviewerpool-adduser description: REST surface for interviewerPool.addUser. operations: - method: POST name: interviewerpooladduser description: interviewerPool.addUser call: ashby-interviewer-pool.interviewerpooladduser with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-archive name: interviewerpool-archive description: REST surface for interviewerPool.archive. operations: - method: POST name: interviewerpoolarchive description: interviewerPool.archive call: ashby-interviewer-pool.interviewerpoolarchive with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-create name: interviewerpool-create description: REST surface for interviewerPool.create. operations: - method: POST name: interviewerpoolcreate description: interviewerPool.create call: ashby-interviewer-pool.interviewerpoolcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-info name: interviewerpool-info description: REST surface for interviewerPool.info. operations: - method: POST name: interviewerpoolinfo description: interviewerPool.info call: ashby-interviewer-pool.interviewerpoolinfo with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-list name: interviewerpool-list description: REST surface for interviewerPool.list. operations: - method: POST name: interviewerpoollist description: interviewerPool.list call: ashby-interviewer-pool.interviewerpoollist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-removeuser name: interviewerpool-removeuser description: REST surface for interviewerPool.removeUser. operations: - method: POST name: interviewerpoolremoveuser description: interviewerPool.removeUser call: ashby-interviewer-pool.interviewerpoolremoveuser with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-restore name: interviewerpool-restore description: REST surface for interviewerPool.restore. operations: - method: POST name: interviewerpoolrestore description: interviewerPool.restore call: ashby-interviewer-pool.interviewerpoolrestore with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/interviewerpool-update name: interviewerpool-update description: REST surface for interviewerPool.update. operations: - method: POST name: interviewerpoolupdate description: interviewerPool.update call: ashby-interviewer-pool.interviewerpoolupdate with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: ashby-interviewer-pool-mcp port: 9090 transport: http description: MCP adapter for Ashby API — Interviewer Pool. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: interviewerpool-adduser description: interviewerPool.addUser hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpooladduser with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-archive description: interviewerPool.archive hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolarchive with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-create description: interviewerPool.create hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-info description: interviewerPool.info hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolinfo with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-list description: interviewerPool.list hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoollist with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-removeuser description: interviewerPool.removeUser hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolremoveuser with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-restore description: interviewerPool.restore hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolrestore with: body: tools.body outputParameters: - type: object mapping: $. - name: interviewerpool-update description: interviewerPool.update hints: readOnly: false destructive: false idempotent: false call: ashby-interviewer-pool.interviewerpoolupdate with: body: tools.body outputParameters: - type: object mapping: $.