Koyeb · Capability

Koyeb Rest API — Services

Koyeb Rest API — Services. 14 operations. Lead operation: List Service events. Self-contained Naftiko capability covering one Koyeb business surface.

Run with Naftiko KoyebServices

What You Can Do

GET
Listserviceevents — List Service events
/v1/v1/service-events
GET
Listservices — List Services
/v1/v1/services
POST
Createservice — Create Service
/v1/v1/services
POST
Autocomplete — Autocomplete definition
/v1/v1/services-autocomplete
GET
Getservice — Get Service
/v1/v1/services/{id}
DELETE
Deleteservice — Delete Service
/v1/v1/services/{id}
PUT
Updateservice — Update Service
/v1/v1/services/{id}
PATCH
Updateservice2 — Update Service
/v1/v1/services/{id}
POST
Pauseservice — Pause Service
/v1/v1/services/{id}/pause
POST
Redeploy — ReDeploy Service
/v1/v1/services/{id}/redeploy
POST
Resumeservice — Resume Service
/v1/v1/services/{id}/resume
GET
Getservicescaling — Get Service Scaling
/v1/v1/services/{id}/scale
DELETE
Deleteservicescaling — Delete Service Scaling
/v1/v1/services/{id}/scale
PUT
Updateservicescaling — Update Service Scaling
/v1/v1/services/{id}/scale

MCP Tools

list-service-events

List Service events

read-only idempotent
list-services

List Services

read-only idempotent
create-service

Create Service

autocomplete-definition

Autocomplete definition

get-service

Get Service

read-only idempotent
delete-service

Delete Service

idempotent
update-service

Update Service

idempotent
update-service-2

Update Service

idempotent
pause-service

Pause Service

redeploy-service

ReDeploy Service

resume-service

Resume Service

get-service-scaling

Get Service Scaling

read-only idempotent
delete-service-scaling

Delete Service Scaling

idempotent
update-service-scaling

Update Service Scaling

idempotent

Capability Spec

koyeb-services.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Koyeb Rest API — Services
  description: 'Koyeb Rest API — Services. 14 operations. Lead operation: List Service events. Self-contained Naftiko capability
    covering one Koyeb business surface.'
  tags:
  - Koyeb
  - Services
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KOYEB_API_KEY: KOYEB_API_KEY
capability:
  consumes:
  - type: http
    namespace: koyeb-services
    baseUri: https://app.koyeb.com
    description: Koyeb Rest API — Services business capability. Self-contained, no shared references.
    resources:
    - name: v1-service_events
      path: /v1/service_events
      operations:
      - name: listserviceevents
        method: GET
        description: List Service events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: service_id
          in: query
          type: string
          description: (Optional) Filter on service id
        - name: types
          in: query
          type: array
          description: (Optional) Filter on service 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-services
      path: /v1/services
      operations:
      - name: listservices
        method: GET
        description: List Services
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: app_id
          in: query
          type: string
          description: (Optional) The id of the app
        - 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: name
          in: query
          type: string
          description: (Optional) A filter for name
        - name: types
          in: query
          type: array
          description: (Optional) Filter on service types
        - name: statuses
          in: query
          type: array
          description: (Optional) Filter on service statuses
        - name: regions
          in: query
          type: array
          description: (Optional) Filter on regions
        - name: project_id
          in: query
          type: string
          description: (Optional) A filter for the project ID
      - name: createservice
        method: POST
        description: Create Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: service
          in: body
          type: string
          required: true
        - name: dry_run
          in: query
          type: boolean
          description: If set only run validation
    - name: v1-services-autocomplete
      path: /v1/services-autocomplete
      operations:
      - name: autocomplete
        method: POST
        description: Autocomplete definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
    - name: v1-services-id
      path: /v1/services/{id}
      operations:
      - name: getservice
        method: GET
        description: Get Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the Service
          required: true
      - name: deleteservice
        method: DELETE
        description: Delete Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the entity to delete
          required: true
      - name: updateservice
        method: PUT
        description: Update Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the entity to update
          required: true
        - name: service
          in: body
          type: string
          required: true
        - name: update_mask
          in: query
          type: string
        - name: dry_run
          in: query
          type: boolean
          description: If set, run validation and check that the service exists
      - name: updateservice2
        method: PATCH
        description: Update Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the entity to update
          required: true
        - name: service
          in: body
          type: string
          required: true
        - name: update_mask
          in: query
          type: string
        - name: dry_run
          in: query
          type: boolean
          description: If set, run validation and check that the service exists
    - name: v1-services-id-pause
      path: /v1/services/{id}/pause
      operations:
      - name: pauseservice
        method: POST
        description: Pause Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the service to pause.
          required: true
    - name: v1-services-id-redeploy
      path: /v1/services/{id}/redeploy
      operations:
      - name: redeploy
        method: POST
        description: ReDeploy Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: info
          in: body
          type: string
          required: true
    - name: v1-services-id-resume
      path: /v1/services/{id}/resume
      operations:
      - name: resumeservice
        method: POST
        description: Resume Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the service to pause.
          required: true
        - name: skip_build
          in: query
          type: boolean
          description: If set to true, the build stage will be skipped and the image coming from the last successful build
            step will be used instead.
        - name: use_cache
          in: query
          type: boolean
    - name: v1-services-id-scale
      path: /v1/services/{id}/scale
      operations:
      - name: getservicescaling
        method: GET
        description: Get Service Scaling
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the service
          required: true
      - name: deleteservicescaling
        method: DELETE
        description: Delete Service Scaling
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the service
          required: true
      - name: updateservicescaling
        method: PUT
        description: Update Service Scaling
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The id of the service to scale
          required: true
        - name: body
          in: body
          type: object
          required: true
  exposes:
  - type: rest
    namespace: koyeb-services-rest
    port: 8080
    description: REST adapter for Koyeb Rest API — Services. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/service-events
      name: v1-service-events
      description: REST surface for v1-service_events.
      operations:
      - method: GET
        name: listserviceevents
        description: List Service events
        call: koyeb-services.listserviceevents
        with:
          service_id: rest.service_id
          types: rest.types
          limit: rest.limit
          offset: rest.offset
          order: rest.order
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services
      name: v1-services
      description: REST surface for v1-services.
      operations:
      - method: GET
        name: listservices
        description: List Services
        call: koyeb-services.listservices
        with:
          app_id: rest.app_id
          limit: rest.limit
          offset: rest.offset
          name: rest.name
          types: rest.types
          statuses: rest.statuses
          regions: rest.regions
          project_id: rest.project_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createservice
        description: Create Service
        call: koyeb-services.createservice
        with:
          service: rest.service
          dry_run: rest.dry_run
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services-autocomplete
      name: v1-services-autocomplete
      description: REST surface for v1-services-autocomplete.
      operations:
      - method: POST
        name: autocomplete
        description: Autocomplete definition
        call: koyeb-services.autocomplete
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{id}
      name: v1-services-id
      description: REST surface for v1-services-id.
      operations:
      - method: GET
        name: getservice
        description: Get Service
        call: koyeb-services.getservice
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteservice
        description: Delete Service
        call: koyeb-services.deleteservice
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateservice
        description: Update Service
        call: koyeb-services.updateservice
        with:
          id: rest.id
          service: rest.service
          update_mask: rest.update_mask
          dry_run: rest.dry_run
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateservice2
        description: Update Service
        call: koyeb-services.updateservice2
        with:
          id: rest.id
          service: rest.service
          update_mask: rest.update_mask
          dry_run: rest.dry_run
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{id}/pause
      name: v1-services-id-pause
      description: REST surface for v1-services-id-pause.
      operations:
      - method: POST
        name: pauseservice
        description: Pause Service
        call: koyeb-services.pauseservice
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{id}/redeploy
      name: v1-services-id-redeploy
      description: REST surface for v1-services-id-redeploy.
      operations:
      - method: POST
        name: redeploy
        description: ReDeploy Service
        call: koyeb-services.redeploy
        with:
          id: rest.id
          info: rest.info
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{id}/resume
      name: v1-services-id-resume
      description: REST surface for v1-services-id-resume.
      operations:
      - method: POST
        name: resumeservice
        description: Resume Service
        call: koyeb-services.resumeservice
        with:
          id: rest.id
          skip_build: rest.skip_build
          use_cache: rest.use_cache
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{id}/scale
      name: v1-services-id-scale
      description: REST surface for v1-services-id-scale.
      operations:
      - method: GET
        name: getservicescaling
        description: Get Service Scaling
        call: koyeb-services.getservicescaling
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteservicescaling
        description: Delete Service Scaling
        call: koyeb-services.deleteservicescaling
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateservicescaling
        description: Update Service Scaling
        call: koyeb-services.updateservicescaling
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: koyeb-services-mcp
    port: 9090
    transport: http
    description: MCP adapter for Koyeb Rest API — Services. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-service-events
      description: List Service events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-services.listserviceevents
      with:
        service_id: tools.service_id
        types: tools.types
        limit: tools.limit
        offset: tools.offset
        order: tools.order
      outputParameters:
      - type: object
        mapping: $.
    - name: list-services
      description: List Services
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-services.listservices
      with:
        app_id: tools.app_id
        limit: tools.limit
        offset: tools.offset
        name: tools.name
        types: tools.types
        statuses: tools.statuses
        regions: tools.regions
        project_id: tools.project_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-service
      description: Create Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-services.createservice
      with:
        service: tools.service
        dry_run: tools.dry_run
      outputParameters:
      - type: object
        mapping: $.
    - name: autocomplete-definition
      description: Autocomplete definition
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-services.autocomplete
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-service
      description: Get Service
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-services.getservice
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-service
      description: Delete Service
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: koyeb-services.deleteservice
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-service
      description: Update Service
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: koyeb-services.updateservice
      with:
        id: tools.id
        service: tools.service
        update_mask: tools.update_mask
        dry_run: tools.dry_run
      outputParameters:
      - type: object
        mapping: $.
    - name: update-service-2
      description: Update Service
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: koyeb-services.updateservice2
      with:
        id: tools.id
        service: tools.service
        update_mask: tools.update_mask
        dry_run: tools.dry_run
      outputParameters:
      - type: object
        mapping: $.
    - name: pause-service
      description: Pause Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-services.pauseservice
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: redeploy-service
      description: ReDeploy Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-services.redeploy
      with:
        id: tools.id
        info: tools.info
      outputParameters:
      - type: object
        mapping: $.
    - name: resume-service
      description: Resume Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-services.resumeservice
      with:
        id: tools.id
        skip_build: tools.skip_build
        use_cache: tools.use_cache
      outputParameters:
      - type: object
        mapping: $.
    - name: get-service-scaling
      description: Get Service Scaling
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-services.getservicescaling
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-service-scaling
      description: Delete Service Scaling
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: koyeb-services.deleteservicescaling
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-service-scaling
      description: Update Service Scaling
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: koyeb-services.updateservicescaling
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.