Ashby · Capability

Ashby — Offers

Ashby Offers capability. Create offers, manage versions, walk the approval process, and force-approve when authorized.

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

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

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

Run with Naftiko AshbyRecruitingATSOffers

What You Can Do

POST
Offer list — List offers
/v1/offer.list
POST
Offer info — Get offer info
/v1/offer.info
POST
Offer create — Create an offer
/v1/offer.create
POST
Offer approve — Approve an offer (full process or a specific step)
/v1/offer.approve
POST
Offer process start — Start the offer process
/v1/offerProcess.start

MCP Tools

ashby-offer-list

List offers

read-only idempotent
ashby-offer-info

Get offer info

read-only idempotent
ashby-offer-create

Create an offer

ashby-offer-approve

Approve an offer (full process or a specific step)

ashby-offer-process-start

Start the offer process

Capability Spec

offers-offers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Ashby \u2014 Offers"
  description: Ashby Offers capability. Create offers, manage versions, walk the approval process, and force-approve when authorized.
  tags:
  - Ashby
  - Recruiting
  - ATS
  - Offers
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    ASHBY_API_KEY: ASHBY_API_KEY
capability:
  consumes:
  - type: http
    namespace: offers-offers
    baseUri: https://api.ashbyhq.com
    description: Ashby Offers capability. Create offers, manage versions, walk the approval process, and force-approve when authorized. Backed by the Ashby public REST API.
    resources:
    - name: offer-list
      path: /offer.list
      operations:
      - name: offer-list
        method: POST
        description: List offers
        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: offer-info
      path: /offer.info
      operations:
      - name: offer-info
        method: POST
        description: Get offer 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: offer-create
      path: /offer.create
      operations:
      - name: offer-create
        method: POST
        description: Create an offer
        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: offer-approve
      path: /offer.approve
      operations:
      - name: offer-approve
        method: POST
        description: Approve an offer (full process or a specific step)
        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: offer-process-start
      path: /offerProcess.start
      operations:
      - name: offer-process-start
        method: POST
        description: Start the offer process
        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: offers-offers-rest
    port: 8080
    description: "REST adapter for Ashby \u2014 Offers. One Spectral-compliant resource per consumed operation, prefixed with /v1."
    resources:
    - path: /v1/offer.list
      name: offer-list
      description: REST surface for offer-list.
      operations:
      - method: POST
        name: offer-list
        description: List offers
        call: offers-offers.offer-list
        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: offer-info
        description: Get offer info
        call: offers-offers.offer-info
        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: offer-create
        description: Create an offer
        call: offers-offers.offer-create
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/offer.approve
      name: offer-approve
      description: REST surface for offer-approve.
      operations:
      - method: POST
        name: offer-approve
        description: Approve an offer (full process or a specific step)
        call: offers-offers.offer-approve
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/offerProcess.start
      name: offer-process-start
      description: REST surface for offer-process-start.
      operations:
      - method: POST
        name: offer-process-start
        description: Start the offer process
        call: offers-offers.offer-process-start
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: offers-offers-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Ashby \u2014 Offers. One tool per consumed operation, routed inline through this capability's consumes block."
    tools:
    - name: ashby-offer-list
      description: List offers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: offers-offers.offer-list
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-offer-info
      description: Get offer info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: offers-offers.offer-info
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-offer-create
      description: Create an offer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-offers.offer-create
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-offer-approve
      description: Approve an offer (full process or a specific step)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-offers.offer-approve
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ashby-offer-process-start
      description: Start the offer process
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-offers.offer-process-start
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.