naftiko: 1.0.0-alpha2 info: label: Ashby API — Offer description: 'Ashby API — Offer. 7 operations. Lead operation: offer.approve. Self-contained Naftiko capability covering one Ashby business surface.' tags: - Ashby - Offer created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ASHBY_API_KEY: ASHBY_API_KEY capability: consumes: - type: http namespace: ashby-offer baseUri: https://api.ashbyhq.com description: Ashby API — Offer business capability. Self-contained, no shared references. resources: - name: offer.approve path: /offer.approve operations: - name: offerapprove method: POST description: offer.approve outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.create path: /offer.create operations: - name: offercreate method: POST description: offer.create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.info path: /offer.info operations: - name: offerinfo method: POST description: offer.info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.list path: /offer.list operations: - name: offerlist method: POST description: offer.list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.start path: /offer.start operations: - name: offerstart method: POST description: offer.start outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.startApprovalProcess path: /offer.startApprovalProcess operations: - name: offerstartapprovalprocess method: POST description: offer.startApprovalProcess outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: offer.update path: /offer.update operations: - name: offerupdate method: POST description: offer.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-offer-rest port: 8080 description: REST adapter for Ashby API — Offer. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/offer-approve name: offer-approve description: REST surface for offer.approve. operations: - method: POST name: offerapprove description: offer.approve call: ashby-offer.offerapprove 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: offercreate description: offer.create call: ashby-offer.offercreate 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: offerinfo description: offer.info call: ashby-offer.offerinfo with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer-list name: offer-list description: REST surface for offer.list. operations: - method: POST name: offerlist description: offer.list call: ashby-offer.offerlist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer-start name: offer-start description: REST surface for offer.start. operations: - method: POST name: offerstart description: offer.start call: ashby-offer.offerstart with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer-startapprovalprocess name: offer-startapprovalprocess description: REST surface for offer.startApprovalProcess. operations: - method: POST name: offerstartapprovalprocess description: offer.startApprovalProcess call: ashby-offer.offerstartapprovalprocess with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/offer-update name: offer-update description: REST surface for offer.update. operations: - method: POST name: offerupdate description: offer.update call: ashby-offer.offerupdate with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: ashby-offer-mcp port: 9090 transport: http description: MCP adapter for Ashby API — Offer. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: offer-approve description: offer.approve hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerapprove with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-create description: offer.create hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offercreate with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-info description: offer.info hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerinfo with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-list description: offer.list hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerlist with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-start description: offer.start hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerstart with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-startapprovalprocess description: offer.startApprovalProcess hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerstartapprovalprocess with: body: tools.body outputParameters: - type: object mapping: $. - name: offer-update description: offer.update hints: readOnly: false destructive: false idempotent: false call: ashby-offer.offerupdate with: body: tools.body outputParameters: - type: object mapping: $.