LittleHorse · Capability

LittleHorse REST API — External Events

LittleHorse REST API — External Events. 4 operations. Lead operation: List external event definitions. Self-contained Naftiko capability covering one Littlehorse business surface.

Run with Naftiko LittlehorseExternal Events

What You Can Do

GET
Listexternaleventdefs — List external event definitions
/v1/externaleventdef
POST
Putexternaleventdef — Create an external event definition
/v1/externaleventdef
GET
Getexternaleventdef — Get an external event definition
/v1/externaleventdef/{name}
POST
Postexternalevent — Post an external event
/v1/wfrun/{wfrunid}/externalevent/{externaleventdefname}

MCP Tools

list-external-event-definitions

List external event definitions

read-only idempotent
create-external-event-definition

Create an external event definition

get-external-event-definition

Get an external event definition

read-only idempotent
post-external-event

Post an external event

Capability Spec

littlehorse-external-events.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: LittleHorse REST API — External Events
  description: 'LittleHorse REST API — External Events. 4 operations. Lead operation: List external event definitions. Self-contained
    Naftiko capability covering one Littlehorse business surface.'
  tags:
  - Littlehorse
  - External Events
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LITTLEHORSE_API_KEY: LITTLEHORSE_API_KEY
capability:
  consumes:
  - type: http
    namespace: littlehorse-external-events
    baseUri: ''
    description: LittleHorse REST API — External Events business capability. Self-contained, no shared references.
    resources:
    - name: externalEventDef
      path: /externalEventDef
      operations:
      - name: listexternaleventdefs
        method: GET
        description: List external event definitions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: putexternaleventdef
        method: POST
        description: Create an external event definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: externalEventDef-name
      path: /externalEventDef/{name}
      operations:
      - name: getexternaleventdef
        method: GET
        description: Get an external event definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: wfRun-wfRunId-externalEvent-externalEventDefName
      path: /wfRun/{wfRunId}/externalEvent/{externalEventDefName}
      operations:
      - name: postexternalevent
        method: POST
        description: Post an external event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: wfRunId
          in: path
          type: string
          required: true
        - name: externalEventDefName
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: littlehorse-external-events-rest
    port: 8080
    description: REST adapter for LittleHorse REST API — External Events. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/externaleventdef
      name: externaleventdef
      description: REST surface for externalEventDef.
      operations:
      - method: GET
        name: listexternaleventdefs
        description: List external event definitions
        call: littlehorse-external-events.listexternaleventdefs
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: putexternaleventdef
        description: Create an external event definition
        call: littlehorse-external-events.putexternaleventdef
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/externaleventdef/{name}
      name: externaleventdef-name
      description: REST surface for externalEventDef-name.
      operations:
      - method: GET
        name: getexternaleventdef
        description: Get an external event definition
        call: littlehorse-external-events.getexternaleventdef
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/wfrun/{wfrunid}/externalevent/{externaleventdefname}
      name: wfrun-wfrunid-externalevent-externaleventdefname
      description: REST surface for wfRun-wfRunId-externalEvent-externalEventDefName.
      operations:
      - method: POST
        name: postexternalevent
        description: Post an external event
        call: littlehorse-external-events.postexternalevent
        with:
          wfRunId: rest.wfRunId
          externalEventDefName: rest.externalEventDefName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: littlehorse-external-events-mcp
    port: 9090
    transport: http
    description: MCP adapter for LittleHorse REST API — External Events. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-external-event-definitions
      description: List external event definitions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: littlehorse-external-events.listexternaleventdefs
      outputParameters:
      - type: object
        mapping: $.
    - name: create-external-event-definition
      description: Create an external event definition
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: littlehorse-external-events.putexternaleventdef
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-external-event-definition
      description: Get an external event definition
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: littlehorse-external-events.getexternaleventdef
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: post-external-event
      description: Post an external event
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: littlehorse-external-events.postexternalevent
      with:
        wfRunId: tools.wfRunId
        externalEventDefName: tools.externalEventDefName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.