naftiko: 1.0.0-alpha2 info: label: Lever API — Postings description: 'Lever API — Postings. 7 operations. Lead operation: List postings. Self-contained Naftiko capability covering one Lever business surface.' tags: - Lever - Postings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LEVER_API_KEY: LEVER_API_KEY capability: consumes: - type: http namespace: lever-postings baseUri: https://api.lever.co/v1 description: Lever API — Postings business capability. Self-contained, no shared references. resources: - name: postings path: /postings operations: - name: get method: GET description: List postings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Create posting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: postings-posting path: /postings/{posting} operations: - name: get method: GET description: Retrieve posting outputRawFormat: json outputParameters: - name: result type: object value: $. - name: put method: PUT description: Update posting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: postings-posting-applications path: /postings/{posting}/applications operations: - name: get method: GET description: List application questions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postings-posting-apply path: /postings/{posting}/apply operations: - name: post method: POST description: Apply to posting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: postings-posting-users path: /postings/{posting}/users operations: - name: get method: GET description: List users with access outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.LEVER_API_KEY}}' exposes: - type: rest namespace: lever-postings-rest port: 8080 description: REST adapter for Lever API — Postings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/postings name: postings description: REST surface for postings. operations: - method: GET name: get description: List postings call: lever-postings.get outputParameters: - type: object mapping: $. - method: POST name: post description: Create posting call: lever-postings.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postings/{posting} name: postings-posting description: REST surface for postings-posting. operations: - method: GET name: get description: Retrieve posting call: lever-postings.get outputParameters: - type: object mapping: $. - method: PUT name: put description: Update posting call: lever-postings.put with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postings/{posting}/applications name: postings-posting-applications description: REST surface for postings-posting-applications. operations: - method: GET name: get description: List application questions call: lever-postings.get outputParameters: - type: object mapping: $. - path: /v1/postings/{posting}/apply name: postings-posting-apply description: REST surface for postings-posting-apply. operations: - method: POST name: post description: Apply to posting call: lever-postings.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postings/{posting}/users name: postings-posting-users description: REST surface for postings-posting-users. operations: - method: GET name: get description: List users with access call: lever-postings.get outputParameters: - type: object mapping: $. - type: mcp namespace: lever-postings-mcp port: 9090 transport: http description: MCP adapter for Lever API — Postings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-postings description: List postings hints: readOnly: true destructive: false idempotent: true call: lever-postings.get outputParameters: - type: object mapping: $. - name: create-posting description: Create posting hints: readOnly: false destructive: false idempotent: false call: lever-postings.post with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-posting description: Retrieve posting hints: readOnly: true destructive: false idempotent: true call: lever-postings.get outputParameters: - type: object mapping: $. - name: update-posting description: Update posting hints: readOnly: false destructive: false idempotent: true call: lever-postings.put with: body: tools.body outputParameters: - type: object mapping: $. - name: list-application-questions description: List application questions hints: readOnly: true destructive: false idempotent: true call: lever-postings.get outputParameters: - type: object mapping: $. - name: apply-posting description: Apply to posting hints: readOnly: false destructive: false idempotent: false call: lever-postings.post with: body: tools.body outputParameters: - type: object mapping: $. - name: list-users-access description: List users with access hints: readOnly: true destructive: false idempotent: true call: lever-postings.get outputParameters: - type: object mapping: $.