Koyeb · Capability

Koyeb Rest API — Instances

Koyeb Rest API — Instances. 4 operations. Lead operation: List Instance events. Self-contained Naftiko capability covering one Koyeb business surface.

Run with Naftiko KoyebInstances

What You Can Do

GET
Listinstanceevents — List Instance events
/v1/v1/instance-events
GET
Listinstances — List Instances
/v1/v1/instances
GET
Getinstance — Get Instance
/v1/v1/instances/{id}
GET
Execcommand — Exec Command
/v1/v1/streams/instances/exec

MCP Tools

list-instance-events

List Instance events

read-only idempotent
list-instances

List Instances

read-only idempotent
get-instance

Get Instance

read-only idempotent
exec-command

Exec Command

read-only idempotent

Capability Spec

koyeb-instances.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Koyeb Rest API — Instances
  description: 'Koyeb Rest API — Instances. 4 operations. Lead operation: List Instance events. Self-contained Naftiko capability
    covering one Koyeb business surface.'
  tags:
  - Koyeb
  - Instances
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KOYEB_API_KEY: KOYEB_API_KEY
capability:
  consumes:
  - type: http
    namespace: koyeb-instances
    baseUri: https://app.koyeb.com
    description: Koyeb Rest API — Instances business capability. Self-contained, no shared references.
    resources:
    - name: v1-instance_events
      path: /v1/instance_events
      operations:
      - name: listinstanceevents
        method: GET
        description: List Instance events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: instance_ids
          in: query
          type: array
          description: (Optional) Filter on list of instance id
        - name: types
          in: query
          type: array
          description: (Optional) Filter on instance event types
        - name: limit
          in: query
          type: string
          description: (Optional) The number of items to return
        - name: offset
          in: query
          type: string
          description: (Optional) The offset in the list of item to return
        - name: order
          in: query
          type: string
          description: (Optional) Sorts the list in the ascending or the descending order
    - name: v1-instances
      path: /v1/instances
      operations:
      - name: listinstances
        method: GET
        description: List Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: app_id
          in: query
          type: string
          description: (Optional) Filter on application id
        - name: service_id
          in: query
          type: string
          description: (Optional) Filter on service id
        - name: deployment_id
          in: query
          type: string
          description: (Optional) Filter on deployment id
        - name: regional_deployment_id
          in: query
          type: string
          description: (Optional) Filter on regional deployment id
        - name: allocation_id
          in: query
          type: string
          description: (Optional) Filter on allocation id
        - name: replica_index
          in: query
          type: string
          description: (Optional) Filter on replica index
        - name: statuses
          in: query
          type: array
          description: (Optional) Filter on instance statuses
        - name: limit
          in: query
          type: string
          description: (Optional) The number of items to return
        - name: offset
          in: query
          type: string
          description: (Optional) The offset in the list of item to return
        - name: order
          in: query
          type: string
          description: (Optional) Sorts the list in the ascending or the descending order
        - name: starting_time
          in: query
          type: string
          description: (Optional) The starting time of the period of running instance
        - name: ending_time
          in: query
          type: string
          description: (Optional) The ending time of the period of running instance
    - name: v1-instances-id
      path: /v1/instances/{id}
      operations:
      - name: getinstance
        method: GET
        description: Get Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the instance
          required: true
    - name: v1-streams-instances-exec
      path: /v1/streams/instances/exec
      operations:
      - name: execcommand
        method: GET
        description: Exec Command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          description: ID of the resource to exec on.
        - name: body.command
          in: query
          type: array
          description: Command to exec. Mandatory in the first frame sent
        - name: body.tty_size.height
          in: query
          type: integer
        - name: body.tty_size.width
          in: query
          type: integer
        - name: body.stdin.data
          in: query
          type: string
          description: Data is base64 encoded
        - name: body.stdin.close
          in: query
          type: boolean
          description: Indicate last data frame
        - name: body.disableTty
          in: query
          type: boolean
          description: Disable TTY. It's enough to specify it in the first frame
        - name: id_type
          in: query
          type: string
          description: When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults
            to the instance id.
  exposes:
  - type: rest
    namespace: koyeb-instances-rest
    port: 8080
    description: REST adapter for Koyeb Rest API — Instances. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/instance-events
      name: v1-instance-events
      description: REST surface for v1-instance_events.
      operations:
      - method: GET
        name: listinstanceevents
        description: List Instance events
        call: koyeb-instances.listinstanceevents
        with:
          instance_ids: rest.instance_ids
          types: rest.types
          limit: rest.limit
          offset: rest.offset
          order: rest.order
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/instances
      name: v1-instances
      description: REST surface for v1-instances.
      operations:
      - method: GET
        name: listinstances
        description: List Instances
        call: koyeb-instances.listinstances
        with:
          app_id: rest.app_id
          service_id: rest.service_id
          deployment_id: rest.deployment_id
          regional_deployment_id: rest.regional_deployment_id
          allocation_id: rest.allocation_id
          replica_index: rest.replica_index
          statuses: rest.statuses
          limit: rest.limit
          offset: rest.offset
          order: rest.order
          starting_time: rest.starting_time
          ending_time: rest.ending_time
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/instances/{id}
      name: v1-instances-id
      description: REST surface for v1-instances-id.
      operations:
      - method: GET
        name: getinstance
        description: Get Instance
        call: koyeb-instances.getinstance
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/streams/instances/exec
      name: v1-streams-instances-exec
      description: REST surface for v1-streams-instances-exec.
      operations:
      - method: GET
        name: execcommand
        description: Exec Command
        call: koyeb-instances.execcommand
        with:
          id: rest.id
          body.command: rest.body.command
          body.tty_size.height: rest.body.tty_size.height
          body.tty_size.width: rest.body.tty_size.width
          body.stdin.data: rest.body.stdin.data
          body.stdin.close: rest.body.stdin.close
          body.disableTty: rest.body.disableTty
          id_type: rest.id_type
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: koyeb-instances-mcp
    port: 9090
    transport: http
    description: MCP adapter for Koyeb Rest API — Instances. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-instance-events
      description: List Instance events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-instances.listinstanceevents
      with:
        instance_ids: tools.instance_ids
        types: tools.types
        limit: tools.limit
        offset: tools.offset
        order: tools.order
      outputParameters:
      - type: object
        mapping: $.
    - name: list-instances
      description: List Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-instances.listinstances
      with:
        app_id: tools.app_id
        service_id: tools.service_id
        deployment_id: tools.deployment_id
        regional_deployment_id: tools.regional_deployment_id
        allocation_id: tools.allocation_id
        replica_index: tools.replica_index
        statuses: tools.statuses
        limit: tools.limit
        offset: tools.offset
        order: tools.order
        starting_time: tools.starting_time
        ending_time: tools.ending_time
      outputParameters:
      - type: object
        mapping: $.
    - name: get-instance
      description: Get Instance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-instances.getinstance
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: exec-command
      description: Exec Command
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-instances.execcommand
      with:
        id: tools.id
        body.command: tools.body.command
        body.tty_size.height: tools.body.tty_size.height
        body.tty_size.width: tools.body.tty_size.width
        body.stdin.data: tools.body.stdin.data
        body.stdin.close: tools.body.stdin.close
        body.disableTty: tools.body.disableTty
        id_type: tools.id_type
      outputParameters:
      - type: object
        mapping: $.