Elastic.io · Capability

elastic.io Platform REST API — Flows

elastic.io Platform REST API — Flows. 8 operations. Lead operation: Elastic.io List flows. Self-contained Naftiko capability covering one Elastic Io business surface.

Run with Naftiko Elastic IoFlows

What You Can Do

GET
Listflows — Elastic.io List flows
/v1/flows
POST
Createflow — Elastic.io Create a flow
/v1/flows
GET
Getflow — Elastic.io Get a flow
/v1/flows/{flow-id}
PATCH
Updateflow — Elastic.io Update a flow
/v1/flows/{flow-id}
DELETE
Deleteflow — Elastic.io Delete a flow
/v1/flows/{flow-id}
POST
Runflownow — Elastic.io Run a flow on demand
/v1/flows/{flow-id}/run-now
POST
Startflow — Elastic.io Start a flow
/v1/flows/{flow-id}/start
POST
Stopflow — Elastic.io Stop a flow
/v1/flows/{flow-id}/stop

MCP Tools

elastic-io-list-flows

Elastic.io List flows

read-only idempotent
elastic-io-create-flow

Elastic.io Create a flow

elastic-io-get-flow

Elastic.io Get a flow

read-only idempotent
elastic-io-update-flow

Elastic.io Update a flow

idempotent
elastic-io-delete-flow

Elastic.io Delete a flow

idempotent
elastic-io-run-flow-demand

Elastic.io Run a flow on demand

elastic-io-start-flow

Elastic.io Start a flow

elastic-io-stop-flow

Elastic.io Stop a flow

Capability Spec

platform-flows.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: elastic.io Platform REST API — Flows
  description: 'elastic.io Platform REST API — Flows. 8 operations. Lead operation: Elastic.io List flows. Self-contained
    Naftiko capability covering one Elastic Io business surface.'
  tags:
  - Elastic Io
  - Flows
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ELASTIC_IO_API_KEY: ELASTIC_IO_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-flows
    baseUri: https://api.elastic.io/v2
    description: elastic.io Platform REST API — Flows business capability. Self-contained, no shared references.
    resources:
    - name: flows
      path: /flows
      operations:
      - name: listflows
        method: GET
        description: Elastic.io List flows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createflow
        method: POST
        description: Elastic.io Create a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: flows-flow_id
      path: /flows/{flow_id}
      operations:
      - name: getflow
        method: GET
        description: Elastic.io Get a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateflow
        method: PATCH
        description: Elastic.io Update a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteflow
        method: DELETE
        description: Elastic.io Delete a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flows-flow_id-run-now
      path: /flows/{flow_id}/run-now
      operations:
      - name: runflownow
        method: POST
        description: Elastic.io Run a flow on demand
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flows-flow_id-start
      path: /flows/{flow_id}/start
      operations:
      - name: startflow
        method: POST
        description: Elastic.io Start a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flows-flow_id-stop
      path: /flows/{flow_id}/stop
      operations:
      - name: stopflow
        method: POST
        description: Elastic.io Stop a flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.ELASTIC_IO_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-flows-rest
    port: 8080
    description: REST adapter for elastic.io Platform REST API — Flows. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/flows
      name: flows
      description: REST surface for flows.
      operations:
      - method: GET
        name: listflows
        description: Elastic.io List flows
        call: platform-flows.listflows
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createflow
        description: Elastic.io Create a flow
        call: platform-flows.createflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows/{flow-id}
      name: flows-flow-id
      description: REST surface for flows-flow_id.
      operations:
      - method: GET
        name: getflow
        description: Elastic.io Get a flow
        call: platform-flows.getflow
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateflow
        description: Elastic.io Update a flow
        call: platform-flows.updateflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteflow
        description: Elastic.io Delete a flow
        call: platform-flows.deleteflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows/{flow-id}/run-now
      name: flows-flow-id-run-now
      description: REST surface for flows-flow_id-run-now.
      operations:
      - method: POST
        name: runflownow
        description: Elastic.io Run a flow on demand
        call: platform-flows.runflownow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows/{flow-id}/start
      name: flows-flow-id-start
      description: REST surface for flows-flow_id-start.
      operations:
      - method: POST
        name: startflow
        description: Elastic.io Start a flow
        call: platform-flows.startflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows/{flow-id}/stop
      name: flows-flow-id-stop
      description: REST surface for flows-flow_id-stop.
      operations:
      - method: POST
        name: stopflow
        description: Elastic.io Stop a flow
        call: platform-flows.stopflow
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-flows-mcp
    port: 9090
    transport: http
    description: MCP adapter for elastic.io Platform REST API — Flows. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: elastic-io-list-flows
      description: Elastic.io List flows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-flows.listflows
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-create-flow
      description: Elastic.io Create a flow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-flows.createflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-get-flow
      description: Elastic.io Get a flow
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-flows.getflow
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-update-flow
      description: Elastic.io Update a flow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-flows.updateflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-delete-flow
      description: Elastic.io Delete a flow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: platform-flows.deleteflow
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-run-flow-demand
      description: Elastic.io Run a flow on demand
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-flows.runflownow
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-start-flow
      description: Elastic.io Start a flow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-flows.startflow
      outputParameters:
      - type: object
        mapping: $.
    - name: elastic-io-stop-flow
      description: Elastic.io Stop a flow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-flows.stopflow
      outputParameters:
      - type: object
        mapping: $.