naftiko: 1.0.0-alpha2 info: label: Lever API — Opportunities description: 'Lever API — Opportunities. 11 operations. Lead operation: List candidates (deprecated). Self-contained Naftiko capability covering one Lever business surface.' tags: - Lever - Opportunities created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LEVER_API_KEY: LEVER_API_KEY capability: consumes: - type: http namespace: lever-opportunities baseUri: https://api.lever.co/v1 description: Lever API — Opportunities business capability. Self-contained, no shared references. resources: - name: candidates path: /candidates operations: - name: get method: GET description: List candidates (deprecated) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: candidates-candidate path: /candidates/{candidate} operations: - name: get method: GET description: Retrieve candidate (deprecated) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: opportunities path: /opportunities operations: - name: get method: GET description: List opportunities outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Create opportunity outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: opportunities-deleted path: /opportunities/deleted operations: - name: get method: GET description: List deleted opportunities outputRawFormat: json outputParameters: - name: result type: object value: $. - name: opportunities-opportunity path: /opportunities/{opportunity} operations: - name: get method: GET description: Retrieve opportunity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: opportunities-opportunity-archived path: /opportunities/{opportunity}/archived operations: - name: put method: PUT description: Update archived state outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: opportunities-opportunity-links path: /opportunities/{opportunity}/links operations: - name: put method: PUT description: Update contact links outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: opportunities-opportunity-sources path: /opportunities/{opportunity}/sources operations: - name: put method: PUT description: Update sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: opportunities-opportunity-stage path: /opportunities/{opportunity}/stage operations: - name: put method: PUT description: Update stage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: opportunities-opportunity-tags path: /opportunities/{opportunity}/tags operations: - name: put method: PUT description: Update tags outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.LEVER_API_KEY}}' exposes: - type: rest namespace: lever-opportunities-rest port: 8080 description: REST adapter for Lever API — Opportunities. 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: get description: List candidates (deprecated) call: lever-opportunities.get outputParameters: - type: object mapping: $. - path: /v1/candidates/{candidate} name: candidates-candidate description: REST surface for candidates-candidate. operations: - method: GET name: get description: Retrieve candidate (deprecated) call: lever-opportunities.get outputParameters: - type: object mapping: $. - path: /v1/opportunities name: opportunities description: REST surface for opportunities. operations: - method: GET name: get description: List opportunities call: lever-opportunities.get outputParameters: - type: object mapping: $. - method: POST name: post description: Create opportunity call: lever-opportunities.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/opportunities/deleted name: opportunities-deleted description: REST surface for opportunities-deleted. operations: - method: GET name: get description: List deleted opportunities call: lever-opportunities.get outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity} name: opportunities-opportunity description: REST surface for opportunities-opportunity. operations: - method: GET name: get description: Retrieve opportunity call: lever-opportunities.get outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity}/archived name: opportunities-opportunity-archived description: REST surface for opportunities-opportunity-archived. operations: - method: PUT name: put description: Update archived state call: lever-opportunities.put with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity}/links name: opportunities-opportunity-links description: REST surface for opportunities-opportunity-links. operations: - method: PUT name: put description: Update contact links call: lever-opportunities.put with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity}/sources name: opportunities-opportunity-sources description: REST surface for opportunities-opportunity-sources. operations: - method: PUT name: put description: Update sources call: lever-opportunities.put with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity}/stage name: opportunities-opportunity-stage description: REST surface for opportunities-opportunity-stage. operations: - method: PUT name: put description: Update stage call: lever-opportunities.put with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/opportunities/{opportunity}/tags name: opportunities-opportunity-tags description: REST surface for opportunities-opportunity-tags. operations: - method: PUT name: put description: Update tags call: lever-opportunities.put with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: lever-opportunities-mcp port: 9090 transport: http description: MCP adapter for Lever API — Opportunities. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-candidates-deprecated description: List candidates (deprecated) hints: readOnly: true destructive: false idempotent: true call: lever-opportunities.get outputParameters: - type: object mapping: $. - name: retrieve-candidate-deprecated description: Retrieve candidate (deprecated) hints: readOnly: true destructive: false idempotent: true call: lever-opportunities.get outputParameters: - type: object mapping: $. - name: list-opportunities description: List opportunities hints: readOnly: true destructive: false idempotent: true call: lever-opportunities.get outputParameters: - type: object mapping: $. - name: create-opportunity description: Create opportunity hints: readOnly: false destructive: false idempotent: false call: lever-opportunities.post with: body: tools.body outputParameters: - type: object mapping: $. - name: list-deleted-opportunities description: List deleted opportunities hints: readOnly: true destructive: false idempotent: true call: lever-opportunities.get outputParameters: - type: object mapping: $. - name: retrieve-opportunity description: Retrieve opportunity hints: readOnly: true destructive: false idempotent: true call: lever-opportunities.get outputParameters: - type: object mapping: $. - name: update-archived-state description: Update archived state hints: readOnly: false destructive: false idempotent: true call: lever-opportunities.put with: body: tools.body outputParameters: - type: object mapping: $. - name: update-contact-links description: Update contact links hints: readOnly: false destructive: false idempotent: true call: lever-opportunities.put with: body: tools.body outputParameters: - type: object mapping: $. - name: update-sources description: Update sources hints: readOnly: false destructive: false idempotent: true call: lever-opportunities.put with: body: tools.body outputParameters: - type: object mapping: $. - name: update-stage description: Update stage hints: readOnly: false destructive: false idempotent: true call: lever-opportunities.put with: body: tools.body outputParameters: - type: object mapping: $. - name: update-tags description: Update tags hints: readOnly: false destructive: false idempotent: true call: lever-opportunities.put with: body: tools.body outputParameters: - type: object mapping: $.