Lever · Capability

Lever API — Opportunities

Lever API — Opportunities. 11 operations. Lead operation: List candidates (deprecated). Self-contained Naftiko capability covering one Lever business surface.

Run with Naftiko LeverOpportunities

What You Can Do

GET
Get — List candidates (deprecated)
/v1/candidates
GET
Get — Retrieve candidate (deprecated)
/v1/candidates/{candidate}
GET
Get — List opportunities
/v1/opportunities
POST
Post — Create opportunity
/v1/opportunities
GET
Get — List deleted opportunities
/v1/opportunities/deleted
GET
Get — Retrieve opportunity
/v1/opportunities/{opportunity}
PUT
Put — Update archived state
/v1/opportunities/{opportunity}/archived
PUT
Put — Update contact links
/v1/opportunities/{opportunity}/links
PUT
Put — Update sources
/v1/opportunities/{opportunity}/sources
PUT
Put — Update stage
/v1/opportunities/{opportunity}/stage
PUT
Put — Update tags
/v1/opportunities/{opportunity}/tags

MCP Tools

list-candidates-deprecated

List candidates (deprecated)

read-only idempotent
retrieve-candidate-deprecated

Retrieve candidate (deprecated)

read-only idempotent
list-opportunities

List opportunities

read-only idempotent
create-opportunity

Create opportunity

list-deleted-opportunities

List deleted opportunities

read-only idempotent
retrieve-opportunity

Retrieve opportunity

read-only idempotent
update-archived-state

Update archived state

idempotent
update-contact-links

Update contact links

idempotent
update-sources

Update sources

idempotent
update-stage

Update stage

idempotent
update-tags

Update tags

idempotent

Capability Spec

lever-opportunities.yaml Raw ↑
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: $.