Ashby · Capability

Ashby — Openings

Ashby Openings capability. Opening lifecycle and job/location associations.

Ashby — Openings is a Naftiko capability published by Ashby, one of 19 capabilities the APIs.io network indexes for this provider. It bundles 11 operations across the POST method.

The capability includes 3 read-only operations and 8 state-changing operations. Lead operation: List openings. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Ashby, Recruiting, ATS, and Openings.

Run with Naftiko AshbyRecruitingATSOpenings

What You Can Do

POST
Opening list — List openings
/v1/opening.list
POST
Opening info — Get opening info
/v1/opening.info
POST
Opening search — Search openings
/v1/opening.search
POST
Opening create — Create an opening
/v1/opening.create
POST
Opening update — Update an opening
/v1/opening.update
POST
Opening add job — Associate a job with an opening
/v1/opening.addJob
POST
Opening remove job — Remove a job from an opening
/v1/opening.removeJob
POST
Opening add location — Add a location to an opening
/v1/opening.addLocation
POST
Opening remove location — Remove a location from an opening
/v1/opening.removeLocation
POST
Opening set state — Set opening state
/v1/opening.setOpeningState
POST
Opening set archived — Archive/unarchive an opening
/v1/opening.setArchived

MCP Tools

ashby-opening-list

List openings

read-only idempotent
ashby-opening-info

Get opening info

read-only idempotent
ashby-opening-search

Search openings

read-only idempotent
ashby-opening-create

Create an opening

ashby-opening-update

Update an opening

idempotent
ashby-opening-add-job

Associate a job with an opening

ashby-opening-remove-job

Remove a job from an opening

ashby-opening-add-location

Add a location to an opening

ashby-opening-remove-location

Remove a location from an opening

ashby-opening-set-state

Set opening state

ashby-opening-set-archived

Archive/unarchive an opening

Capability Spec

jobs-openings.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Ashby \u2014 Openings"
  description: Ashby Openings capability. Opening lifecycle and job/location associations.
  tags:
  - Ashby
  - Recruiting
  - ATS
  - Openings
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    ASHBY_API_KEY: ASHBY_API_KEY
capability:
  consumes:
  - type: http
    namespace: jobs-openings
    baseUri: https://api.ashbyhq.com
    description: Ashby Openings capability. Opening lifecycle and job/location associations. Backed by the Ashby public REST API.
    resources:
    - name: opening-list
      path: /opening.list
      operations:
      - name: opening-list
        method: POST
        description: List openings
        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: opening-info
      path: /opening.info
      operations:
      - name: opening-info
        method: POST
        description: Get opening 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: opening-search
      path: /opening.search
      operations:
      - name: opening-search
        method: POST
        description: Search openings
        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: opening-create
      path: /opening.create
      operations:
      - name: opening-create
        method: POST
        description: Create an opening
        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: opening-update
      path: /opening.update
      operations:
      - name: opening-update
        method: POST
        description: Update an opening
        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: opening-add-job
      path: /opening.addJob
      operations:
      - name: opening-add-job
        method: POST
        description: Associate a job with an opening
        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: opening-remove-job
      path: /opening.removeJob
      operations:
      - name: opening-remove-job
        method: POST
        description: Remove a job from an opening
        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: opening-add-location
      path: /opening.addLocation
      operations:
      - name: opening-add-location
        method: POST
        description: Add a location to an opening
        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: opening-remove-location
      path: /opening.removeLocation
      operations:
      - name: opening-remove-location
        method: POST
        description: Remove a location from an opening
        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: opening-set-state
      path: /opening.setOpeningState
      operations:
      - name: opening-set-state
        method: POST
        description: Set opening state
        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: opening-set-archived
      path: /opening.setArchived
      operations:
      - name: opening-set-archived
        method: POST
        description: Archive/unarchive an opening
        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: jobs-openings-rest
    port: 8080
    description: "REST adapter for Ashby \u2014 Openings. One Spectral-compliant resource per consumed operation, prefixed with /v1."
    resources:
    - path: /v1/opening.list
      name: opening-list
      description: REST surface for opening-list.
      operations:
      - method: POST
        name: opening-list
        description: List openings
        call: jobs-openings.opening-list
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.info
      name: opening-info
      description: REST surface for opening-info.
      operations:
      - method: POST
        name: opening-info
        description: Get opening info
        call: jobs-openings.opening-info
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.search
      name: opening-search
      description: REST surface for opening-search.
      operations:
      - method: POST
        name: opening-search
        description: Search openings
        call: jobs-openings.opening-search
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.create
      name: opening-create
      description: REST surface for opening-create.
      operations:
      - method: POST
        name: opening-create
        description: Create an opening
        call: jobs-openings.opening-create
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.update
      name: opening-update
      description: REST surface for opening-update.
      operations:
      - method: POST
        name: opening-update
        description: Update an opening
        call: jobs-openings.opening-update
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.addJob
      name: opening-add-job
      description: REST surface for opening-add-job.
      operations:
      - method: POST
        name: opening-add-job
        description: Associate a job with an opening
        call: jobs-openings.opening-add-job
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.removeJob
      name: opening-remove-job
      description: REST surface for opening-remove-job.
      operations:
      - method: POST
        name: opening-remove-job
        description: Remove a job from an opening
        call: jobs-openings.opening-remove-job
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.addLocation
      name: opening-add-location
      description: REST surface for opening-add-location.
      operations:
      - method: POST
        name: opening-add-location
        description: Add a location to an opening
        call: jobs-openings.opening-add-location
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.removeLocation
      name: opening-remove-location
      description: REST surface for opening-remove-location.
      operations:
      - method: POST
        name: opening-remove-location
        description: Remove a location from an opening
        call: jobs-openings.opening-remove-location
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.setOpeningState
      name: opening-set-state
      description: REST surface for opening-set-state.
      operations:
      - method: POST
        name: opening-set-state
        description: Set opening state
        call: jobs-openings.opening-set-state
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/opening.setArchived
      name: opening-set-archived
      description: REST surface for opening-set-archived.
      operations:
      - method: POST
        name: opening-set-archived
        description: Archive/unarchive an opening
        call: jobs-openings.opening-set-archived
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: jobs-openings-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Ashby \u2014 Openings. One tool per consumed operation, routed inline through this capability's consumes block."
    tools:
    - name: ashby-opening-list
      description: List openings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: jobs-openings.opening-list
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-info
      description: Get opening info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: jobs-openings.opening-info
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-search
      description: Search openings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: jobs-openings.opening-search
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-create
      description: Create an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-create
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-update
      description: Update an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: jobs-openings.opening-update
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-add-job
      description: Associate a job with an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-add-job
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-remove-job
      description: Remove a job from an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-remove-job
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-add-location
      description: Add a location to an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-add-location
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-remove-location
      description: Remove a location from an opening
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-remove-location
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-set-state
      description: Set opening state
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: jobs-openings.opening-set-state
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-opening-set-archived
      description: Archive/unarchive an opening
      hints:
        readOnly: false
        destructive: true
        idempotent: false
      call: jobs-openings.opening-set-archived
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.