Actor Model · Capability

Actor Model API — Actors

Actor Model API — Actors. 4 operations. Lead operation: Actor Model List Actors. Self-contained Naftiko capability covering one Actor Model business surface.

Run with Naftiko Actor ModelActors

What You Can Do

GET
Listactors — Actor Model List Actors
/v1/actors
POST
Spawnactor — Actor Model Spawn Actor
/v1/actors
GET
Getactor — Actor Model Get Actor
/v1/actors/{actorid}
DELETE
Stopactor — Actor Model Stop Actor
/v1/actors/{actorid}

MCP Tools

actor-model-list-actors

Actor Model List Actors

read-only idempotent
actor-model-spawn-actor

Actor Model Spawn Actor

actor-model-get-actor

Actor Model Get Actor

read-only idempotent
actor-model-stop-actor

Actor Model Stop Actor

idempotent

Capability Spec

actor-model-actors.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Actor Model API — Actors
  description: 'Actor Model API — Actors. 4 operations. Lead operation: Actor Model List Actors. Self-contained Naftiko capability
    covering one Actor Model business surface.'
  tags:
  - Actor Model
  - Actors
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ACTOR_MODEL_API_KEY: ACTOR_MODEL_API_KEY
capability:
  consumes:
  - type: http
    namespace: actor-model-actors
    baseUri: https://api.example.com/actor-system/v1
    description: Actor Model API — Actors business capability. Self-contained, no shared references.
    resources:
    - name: actors
      path: /actors
      operations:
      - name: listactors
        method: GET
        description: Actor Model List Actors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter by actor status (active, idle, stopped)
        - name: limit
          in: query
          type: integer
          description: Maximum number of actors to return
        - name: cursor
          in: query
          type: string
          description: Pagination cursor for next page of results
      - name: spawnactor
        method: POST
        description: Actor Model Spawn Actor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: actors-actorId
      path: /actors/{actorId}
      operations:
      - name: getactor
        method: GET
        description: Actor Model Get Actor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actorId
          in: path
          type: string
          description: Unique actor identifier or path
          required: true
      - name: stopactor
        method: DELETE
        description: Actor Model Stop Actor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actorId
          in: path
          type: string
          description: Unique actor identifier or path
          required: true
        - name: graceful
          in: query
          type: boolean
          description: Whether to drain mailbox before stopping
    authentication:
      type: bearer
      token: '{{env.ACTOR_MODEL_API_KEY}}'
  exposes:
  - type: rest
    namespace: actor-model-actors-rest
    port: 8080
    description: REST adapter for Actor Model API — Actors. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/actors
      name: actors
      description: REST surface for actors.
      operations:
      - method: GET
        name: listactors
        description: Actor Model List Actors
        call: actor-model-actors.listactors
        with:
          status: rest.status
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: spawnactor
        description: Actor Model Spawn Actor
        call: actor-model-actors.spawnactor
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/actors/{actorid}
      name: actors-actorid
      description: REST surface for actors-actorId.
      operations:
      - method: GET
        name: getactor
        description: Actor Model Get Actor
        call: actor-model-actors.getactor
        with:
          actorId: rest.actorId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: stopactor
        description: Actor Model Stop Actor
        call: actor-model-actors.stopactor
        with:
          actorId: rest.actorId
          graceful: rest.graceful
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: actor-model-actors-mcp
    port: 9090
    transport: http
    description: MCP adapter for Actor Model API — Actors. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: actor-model-list-actors
      description: Actor Model List Actors
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: actor-model-actors.listactors
      with:
        status: tools.status
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: actor-model-spawn-actor
      description: Actor Model Spawn Actor
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: actor-model-actors.spawnactor
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actor-model-get-actor
      description: Actor Model Get Actor
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: actor-model-actors.getactor
      with:
        actorId: tools.actorId
      outputParameters:
      - type: object
        mapping: $.
    - name: actor-model-stop-actor
      description: Actor Model Stop Actor
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: actor-model-actors.stopactor
      with:
        actorId: tools.actorId
        graceful: tools.graceful
      outputParameters:
      - type: object
        mapping: $.