Exa · Capability

Exa Agent API — Agent

Exa Agent API — Agent. 6 operations. Lead operation: Create a run. Self-contained Naftiko capability covering one Exa business surface.

Exa Agent API — Agent is a Naftiko capability published by Exa, one of 7 capabilities the APIs.io network indexes for this provider. It bundles 6 operations across the GET, POST, and DELETE methods rooted at /v1/agent/runs.

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

Tagged areas include Exa and Agent.

Run with Naftiko ExaAgent

What You Can Do

POST
Createagentrun — Exa Create a run
/v1/agent/runs
GET
Listagentruns — Exa List runs
/v1/agent/runs
GET
Getagentrun — Exa Get a run
/v1/agent/runs/{id}
DELETE
Deleteagentrun — Exa Delete a run
/v1/agent/runs/{id}
POST
Cancelagentrun — Exa Cancel a run
/v1/agent/runs/{id}/cancel
GET
Listagentrunevents — Exa List run events
/v1/agent/runs/{id}/events

MCP Tools

exa-create-a-run

Exa Create a run

exa-list-runs

Exa List runs

read-only idempotent
exa-get-a-run

Exa Get a run

read-only idempotent
exa-delete-a-run

Exa Delete a run

idempotent
exa-cancel-a-run

Exa Cancel a run

exa-list-run-events

Exa List run events

read-only idempotent

Capability Spec

agent-agent.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Exa Agent API \u2014 Agent"
  description: "Exa Agent API \u2014 Agent. 6 operations. Lead operation: Create a run. Self-contained Naftiko capability\
    \ covering one Exa business surface."
  tags:
  - Exa
  - Agent
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    EXA_API_KEY: EXA_API_KEY
capability:
  consumes:
  - type: http
    namespace: agent
    baseUri: https://api.exa.ai
    description: "Exa Agent API \u2014 Agent business capability. Self-contained, no shared references."
    resources:
    - name: agent-runs
      path: /agent/runs
      operations:
      - name: createagentrun
        method: POST
        description: Exa Create a run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listagentruns
        method: GET
        description: Exa List runs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: limit
          required: false
        - name: cursor
          in: query
          type: string
          description: cursor
          required: false
    - name: agent-runs-id
      path: /agent/runs/{id}
      operations:
      - name: getagentrun
        method: GET
        description: Exa Get a run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Agent run ID.
          required: true
      - name: deleteagentrun
        method: DELETE
        description: Exa Delete a run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Agent run ID.
          required: true
    - name: agent-runs-id-cancel
      path: /agent/runs/{id}/cancel
      operations:
      - name: cancelagentrun
        method: POST
        description: Exa Cancel a run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Agent run ID.
          required: true
    - name: agent-runs-id-events
      path: /agent/runs/{id}/events
      operations:
      - name: listagentrunevents
        method: GET
        description: Exa List run events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Agent run ID.
          required: true
        - name: limit
          in: query
          type: integer
          description: limit
          required: false
        - name: cursor
          in: query
          type: string
          description: cursor
          required: false
    authentication:
      type: apikey
      key: x-api-key
      value: '{{env.EXA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: agent-rest
    port: 8080
    description: "REST adapter for Exa Agent API \u2014 Agent. One Spectral-compliant resource per consumed operation, prefixed\
      \ with /v1."
    resources:
    - path: /v1/agent/runs
      name: agent-runs
      description: REST surface for agent-runs.
      operations:
      - method: POST
        name: createagentrun
        description: Exa Create a run
        call: agent.createagentrun
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listagentruns
        description: Exa List runs
        call: agent.listagentruns
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/agent/runs/{id}
      name: agent-runs-id
      description: REST surface for agent-runs-id.
      operations:
      - method: GET
        name: getagentrun
        description: Exa Get a run
        call: agent.getagentrun
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteagentrun
        description: Exa Delete a run
        call: agent.deleteagentrun
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/agent/runs/{id}/cancel
      name: agent-runs-id-cancel
      description: REST surface for agent-runs-id-cancel.
      operations:
      - method: POST
        name: cancelagentrun
        description: Exa Cancel a run
        call: agent.cancelagentrun
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/agent/runs/{id}/events
      name: agent-runs-id-events
      description: REST surface for agent-runs-id-events.
      operations:
      - method: GET
        name: listagentrunevents
        description: Exa List run events
        call: agent.listagentrunevents
        with:
          id: rest.id
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: agent-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Exa Agent API \u2014 Agent. One tool per consumed operation, routed inline through this\
      \ capability's consumes block."
    tools:
    - name: exa-create-a-run
      description: Exa Create a run
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: agent.createagentrun
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: exa-list-runs
      description: Exa List runs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: agent.listagentruns
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: exa-get-a-run
      description: Exa Get a run
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: agent.getagentrun
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: exa-delete-a-run
      description: Exa Delete a run
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: agent.deleteagentrun
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: exa-cancel-a-run
      description: Exa Cancel a run
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: agent.cancelagentrun
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: exa-list-run-events
      description: Exa List run events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: agent.listagentrunevents
      with:
        id: tools.id
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.