naftiko: 1.0.0-alpha2 info: label: "Ashby \u2014 Offers" description: Ashby Offers capability. Create offers, manage versions, walk the approval process, and force-approve when authorized. tags: - Ashby - Recruiting - ATS - Offers created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ASHBY_API_KEY: ASHBY_API_KEY capability: consumes: - type: http namespace: offers-offers baseUri: https://api.ashbyhq.com description: Ashby Offers capability. Create offers, manage versions, walk the approval process, and force-approve when authorized. Backed by the Ashby public REST API. resources: - name: offer-list path: /offer.list operations: - name: offer-list method: POST description: List offers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: offer-info path: /offer.info operations: - name: offer-info method: POST description: Get offer info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: offer-create path: /offer.create operations: - name: offer-create method: POST description: Create an offer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: offer-approve path: /offer.approve operations: - name: offer-approve method: POST description: Approve an offer (full process or a specific step) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json - name: offer-process-start path: /offerProcess.start operations: - name: offer-process-start method: POST description: Start the offer process outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). See https://developers.ashbyhq.com/reference for the schema of each operation. required: false headers: - name: Accept value: application/json; version=1 - name: Content-Type value: application/json authentication: type: basic username: '{{env.ASHBY_API_KEY}}' password: '' description: 'HTTP Basic Auth: Ashby API key as username, blank password.' exposes: - type: rest namespace: offers-offers-rest port: 8080 description: "REST adapter for Ashby \u2014 Offers. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: /v1/offer.list name: offer-list description: REST surface for offer-list. operations: - method: POST name: offer-list description: List offers call: offers-offers.offer-list with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer.info name: offer-info description: REST surface for offer-info. operations: - method: POST name: offer-info description: Get offer info call: offers-offers.offer-info with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer.create name: offer-create description: REST surface for offer-create. operations: - method: POST name: offer-create description: Create an offer call: offers-offers.offer-create with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer.approve name: offer-approve description: REST surface for offer-approve. operations: - method: POST name: offer-approve description: Approve an offer (full process or a specific step) call: offers-offers.offer-approve with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offerProcess.start name: offer-process-start description: REST surface for offer-process-start. operations: - method: POST name: offer-process-start description: Start the offer process call: offers-offers.offer-process-start with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: offers-offers-mcp port: 9090 transport: http description: "MCP adapter for Ashby \u2014 Offers. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: ashby-offer-list description: List offers hints: readOnly: true destructive: false idempotent: true call: offers-offers.offer-list with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-offer-info description: Get offer info hints: readOnly: true destructive: false idempotent: true call: offers-offers.offer-info with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-offer-create description: Create an offer hints: readOnly: false destructive: false idempotent: false call: offers-offers.offer-create with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-offer-approve description: Approve an offer (full process or a specific step) hints: readOnly: false destructive: false idempotent: false call: offers-offers.offer-approve with: body: tools.body outputParameters: - type: object mapping: $. - name: ashby-offer-process-start description: Start the offer process hints: readOnly: false destructive: false idempotent: false call: offers-offers.offer-process-start with: body: tools.body outputParameters: - type: object mapping: $.