Runloop · Capability

Runloop Axons (axons)

Runloop axons capability covering one Runloop business surface. 8 operations.

Runloop Axons (axons) is a Naftiko capability published by Runloop, one of 17 capabilities the APIs.io network indexes for this provider. It bundles 8 operations across the POST and GET methods rooted at /v1/axons.

The capability includes 4 read-only operations and 4 state-changing operations. Lead operation: [Beta] Create an axon. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Runloop, Axons, AI Agents, and Sandboxes.

Run with Naftiko RunloopAxonsAI AgentsSandboxes

What You Can Do

POST
Createaxon — [Beta] Create an axon.
/v1/axons
GET
Listactiveaxons — [Beta] List active axons.
/v1/axons
GET
Getaxon — [Beta] Get an axon.
/v1/axons/{id}
GET
Listaxonevents — [Beta] List events for an axon.
/v1/axons/{id}/events
POST
Publishtoaxon — [Beta] Publish an event to an axon.
/v1/axons/{id}/publish
POST
Axonsqlbatch — [Beta] Execute a batch of SQL statements against an axon's database.
/v1/axons/{id}/sql/batch
POST
Axonsqlquery — [Beta] Execute a SQL query against an axon's database.
/v1/axons/{id}/sql/query
GET
Subscribetoaxonsse — [Beta] Subscribe to an axon event stream via SSE.
/v1/axons/{id}/subscribe/sse

MCP Tools

runloop-axons-axons-createAxon

[Beta] Create an axon.

runloop-axons-axons-listActiveAxons

[Beta] List active axons.

read-only idempotent
runloop-axons-axons-getAxon

[Beta] Get an axon.

read-only idempotent
runloop-axons-axons-listAxonEvents

[Beta] List events for an axon.

read-only idempotent
runloop-axons-axons-publishToAxon

[Beta] Publish an event to an axon.

runloop-axons-axons-axonSqlBatch

[Beta] Execute a batch of SQL statements against an axon's database.

runloop-axons-axons-axonSqlQuery

[Beta] Execute a SQL query against an axon's database.

runloop-axons-axons-subscribeToAxonSse

[Beta] Subscribe to an axon event stream via SSE.

read-only idempotent

Capability Spec

axons-axons.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Runloop Axons (axons)
  description: Runloop axons capability covering one Runloop business surface. 8 operations.
  tags:
  - Runloop
  - Axons
  - AI Agents
  - Sandboxes
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    RUNLOOP_API_KEY: RUNLOOP_API_KEY
capability:
  consumes:
  - type: http
    namespace: axons-axons
    baseUri: https://api.runloop.ai
    description: Runloop axons business capability. Self-contained, no shared references.
    resources:
    - name: v1-axons
      path: /v1/axons
      operations:
      - name: createAxon
        method: POST
        description: '[Beta] Create an axon.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listActiveAxons
        method: GET
        description: '[Beta] List active axons.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: Filter by axon name (prefix match supported).
          required: false
        - name: id
          in: query
          type: string
          description: Filter by axon ID.
          required: false
        - name: limit
          in: query
          type: integer
          description: The limit of items to return. Default is 20. Max is 5000.
          required: false
        - name: starting_after
          in: query
          type: string
          description: Load the next page of data starting after the item with the given ID.
          required: false
        - name: include_total_count
          in: query
          type: boolean
          description: If true (default), includes total_count in the response. Set to false to skip the count query for better
            performance on large datasets.
          required: false
    - name: v1-axons-id
      path: /v1/axons/{id}
      operations:
      - name: getAxon
        method: GET
        description: '[Beta] Get an axon.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
    - name: v1-axons-id-events
      path: /v1/axons/{id}/events
      operations:
      - name: listAxonEvents
        method: GET
        description: '[Beta] List events for an axon.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
        - name: limit
          in: query
          type: integer
          description: The limit of items to return. Default is 20. Max is 5000.
          required: false
        - name: starting_after
          in: query
          type: string
          description: Load the next page of data starting after the item with the given ID.
          required: false
        - name: include_total_count
          in: query
          type: boolean
          description: If true (default), includes total_count in the response. Set to false to skip the count query for better
            performance on large datasets.
          required: false
    - name: v1-axons-id-publish
      path: /v1/axons/{id}/publish
      operations:
      - name: publishToAxon
        method: POST
        description: '[Beta] Publish an event to an axon.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-axons-id-sql-batch
      path: /v1/axons/{id}/sql/batch
      operations:
      - name: axonSqlBatch
        method: POST
        description: '[Beta] Execute a batch of SQL statements against an axon''s database.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-axons-id-sql-query
      path: /v1/axons/{id}/sql/query
      operations:
      - name: axonSqlQuery
        method: POST
        description: '[Beta] Execute a SQL query against an axon''s database.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-axons-id-subscribe-sse
      path: /v1/axons/{id}/subscribe/sse
      operations:
      - name: subscribeToAxonSse
        method: GET
        description: '[Beta] Subscribe to an axon event stream via SSE.'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The axon identifier.
          required: true
        - name: after_sequence
          in: query
          type: integer
          description: Sequence number after which to start streaming. Events with sequence > this value are returned. If
            unset, replay from the beginning.
          required: false
    authentication:
      type: bearer
      value: '{{env.RUNLOOP_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: axons-axons-rest
    port: 8080
    description: REST adapter for Runloop axons. One Spectral-compliant resource per consumed operation.
    resources:
    - path: /v1/axons
      name: v1-axons
      description: REST surface for v1-axons.
      operations:
      - method: POST
        name: createAxon
        description: '[Beta] Create an axon.'
        call: axons-axons.createAxon
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listActiveAxons
        description: '[Beta] List active axons.'
        call: axons-axons.listActiveAxons
        with:
          name: rest.params.name
          id: rest.params.id
          limit: rest.params.limit
          starting_after: rest.params.starting_after
          include_total_count: rest.params.include_total_count
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}
      name: v1-axons-id
      description: REST surface for v1-axons-id.
      operations:
      - method: GET
        name: getAxon
        description: '[Beta] Get an axon.'
        call: axons-axons.getAxon
        with:
          id: rest.params.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}/events
      name: v1-axons-id-events
      description: REST surface for v1-axons-id-events.
      operations:
      - method: GET
        name: listAxonEvents
        description: '[Beta] List events for an axon.'
        call: axons-axons.listAxonEvents
        with:
          id: rest.params.id
          limit: rest.params.limit
          starting_after: rest.params.starting_after
          include_total_count: rest.params.include_total_count
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}/publish
      name: v1-axons-id-publish
      description: REST surface for v1-axons-id-publish.
      operations:
      - method: POST
        name: publishToAxon
        description: '[Beta] Publish an event to an axon.'
        call: axons-axons.publishToAxon
        with:
          id: rest.params.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}/sql/batch
      name: v1-axons-id-sql-batch
      description: REST surface for v1-axons-id-sql-batch.
      operations:
      - method: POST
        name: axonSqlBatch
        description: '[Beta] Execute a batch of SQL statements against an axon''s database.'
        call: axons-axons.axonSqlBatch
        with:
          id: rest.params.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}/sql/query
      name: v1-axons-id-sql-query
      description: REST surface for v1-axons-id-sql-query.
      operations:
      - method: POST
        name: axonSqlQuery
        description: '[Beta] Execute a SQL query against an axon''s database.'
        call: axons-axons.axonSqlQuery
        with:
          id: rest.params.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/axons/{id}/subscribe/sse
      name: v1-axons-id-subscribe-sse
      description: REST surface for v1-axons-id-subscribe-sse.
      operations:
      - method: GET
        name: subscribeToAxonSse
        description: '[Beta] Subscribe to an axon event stream via SSE.'
        call: axons-axons.subscribeToAxonSse
        with:
          id: rest.params.id
          after_sequence: rest.params.after_sequence
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: axons-axons-mcp
    port: 9090
    transport: http
    description: MCP adapter for Runloop axons. One tool per consumed operation.
    tools:
    - name: runloop-axons-axons-createAxon
      description: '[Beta] Create an axon.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: axons-axons.createAxon
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-listActiveAxons
      description: '[Beta] List active axons.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: axons-axons.listActiveAxons
      with:
        name: tools.name
        id: tools.id
        limit: tools.limit
        starting_after: tools.starting_after
        include_total_count: tools.include_total_count
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-getAxon
      description: '[Beta] Get an axon.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: axons-axons.getAxon
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-listAxonEvents
      description: '[Beta] List events for an axon.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: axons-axons.listAxonEvents
      with:
        id: tools.id
        limit: tools.limit
        starting_after: tools.starting_after
        include_total_count: tools.include_total_count
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-publishToAxon
      description: '[Beta] Publish an event to an axon.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: axons-axons.publishToAxon
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-axonSqlBatch
      description: '[Beta] Execute a batch of SQL statements against an axon''s database.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: axons-axons.axonSqlBatch
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-axonSqlQuery
      description: '[Beta] Execute a SQL query against an axon''s database.'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: axons-axons.axonSqlQuery
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: runloop-axons-axons-subscribeToAxonSse
      description: '[Beta] Subscribe to an axon event stream via SSE.'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: axons-axons.subscribeToAxonSse
      with:
        id: tools.id
        after_sequence: tools.after_sequence
      outputParameters:
      - type: object
        mapping: $.