Koyeb · Capability

Koyeb Rest API — Domains

Koyeb Rest API — Domains. 6 operations. Lead operation: List Domains. Self-contained Naftiko capability covering one Koyeb business surface.

Run with Naftiko KoyebDomains

What You Can Do

GET
Listdomains — List Domains
/v1/v1/domains
POST
Createdomain — Create Domain
/v1/v1/domains
GET
Getdomain — Get Domain
/v1/v1/domains/{id}
DELETE
Deletedomain — Delete Domain
/v1/v1/domains/{id}
PATCH
Updatedomain — Update Domain
/v1/v1/domains/{id}
POST
Refreshdomainstatus — Refresh Domain Status
/v1/v1/domains/{id}/refresh

MCP Tools

list-domains

List Domains

read-only idempotent
create-domain

Create Domain

get-domain

Get Domain

read-only idempotent
delete-domain

Delete Domain

idempotent
update-domain

Update Domain

idempotent
refresh-domain-status

Refresh Domain Status

Capability Spec

koyeb-domains.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Koyeb Rest API — Domains
  description: 'Koyeb Rest API — Domains. 6 operations. Lead operation: List Domains. Self-contained Naftiko capability covering
    one Koyeb business surface.'
  tags:
  - Koyeb
  - Domains
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KOYEB_API_KEY: KOYEB_API_KEY
capability:
  consumes:
  - type: http
    namespace: koyeb-domains
    baseUri: https://app.koyeb.com
    description: Koyeb Rest API — Domains business capability. Self-contained, no shared references.
    resources:
    - name: v1-domains
      path: /v1/domains
      operations:
      - name: listdomains
        method: GET
        description: List Domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: types
          in: query
          type: array
          description: (Optional) A filter for types
        - name: statuses
          in: query
          type: array
          description: (Optional) A filter for statuses
        - name: app_ids
          in: query
          type: array
          description: (Optional) A filter for apps
        - name: name
          in: query
          type: string
          description: (Optional) A filter for name
        - name: project_id
          in: query
          type: string
          description: (Optional) A filter for the project ID
      - name: createdomain
        method: POST
        description: Create Domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: domain
          in: body
          type: string
          required: true
    - name: v1-domains-id
      path: /v1/domains/{id}
      operations:
      - name: getdomain
        method: GET
        description: Get Domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: deletedomain
        method: DELETE
        description: Delete Domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: updatedomain
        method: PATCH
        description: Update Domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: domain
          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 domain is available.
    - name: v1-domains-id-refresh
      path: /v1/domains/{id}/refresh
      operations:
      - name: refreshdomainstatus
        method: POST
        description: Refresh Domain Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: koyeb-domains-rest
    port: 8080
    description: REST adapter for Koyeb Rest API — Domains. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/domains
      name: v1-domains
      description: REST surface for v1-domains.
      operations:
      - method: GET
        name: listdomains
        description: List Domains
        call: koyeb-domains.listdomains
        with:
          limit: rest.limit
          offset: rest.offset
          types: rest.types
          statuses: rest.statuses
          app_ids: rest.app_ids
          name: rest.name
          project_id: rest.project_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdomain
        description: Create Domain
        call: koyeb-domains.createdomain
        with:
          domain: rest.domain
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/domains/{id}
      name: v1-domains-id
      description: REST surface for v1-domains-id.
      operations:
      - method: GET
        name: getdomain
        description: Get Domain
        call: koyeb-domains.getdomain
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedomain
        description: Delete Domain
        call: koyeb-domains.deletedomain
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatedomain
        description: Update Domain
        call: koyeb-domains.updatedomain
        with:
          id: rest.id
          domain: rest.domain
          update_mask: rest.update_mask
          dry_run: rest.dry_run
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/domains/{id}/refresh
      name: v1-domains-id-refresh
      description: REST surface for v1-domains-id-refresh.
      operations:
      - method: POST
        name: refreshdomainstatus
        description: Refresh Domain Status
        call: koyeb-domains.refreshdomainstatus
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: koyeb-domains-mcp
    port: 9090
    transport: http
    description: MCP adapter for Koyeb Rest API — Domains. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-domains
      description: List Domains
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-domains.listdomains
      with:
        limit: tools.limit
        offset: tools.offset
        types: tools.types
        statuses: tools.statuses
        app_ids: tools.app_ids
        name: tools.name
        project_id: tools.project_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-domain
      description: Create Domain
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-domains.createdomain
      with:
        domain: tools.domain
      outputParameters:
      - type: object
        mapping: $.
    - name: get-domain
      description: Get Domain
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: koyeb-domains.getdomain
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-domain
      description: Delete Domain
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: koyeb-domains.deletedomain
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-domain
      description: Update Domain
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: koyeb-domains.updatedomain
      with:
        id: tools.id
        domain: tools.domain
        update_mask: tools.update_mask
        dry_run: tools.dry_run
      outputParameters:
      - type: object
        mapping: $.
    - name: refresh-domain-status
      description: Refresh Domain Status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: koyeb-domains.refreshdomainstatus
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.