Deno · Capability

Deno Deploy REST API — Domains

Deno Deploy REST API — Domains. 9 operations. Lead operation: Attach domain to deployment. Self-contained Naftiko capability covering one Deno business surface.

Run with Naftiko DenoDomains

What You Can Do

PUT
Attachdomaintodeployment — Attach domain to deployment
/v1/deployments/{deploymentid}/domains/{domain}
DELETE
Detachdomainfromdeployment — Detach domain from deployment
/v1/deployments/{deploymentid}/domains/{domain}
GET
Getdomain — Get domain
/v1/domains/{domainid}
DELETE
Deletedomain — Delete domain
/v1/domains/{domainid}
POST
Adddomaincertificate — Upload TLS certificate
/v1/domains/{domainid}/certificates
POST
Provisiondomaincertificates — Provision TLS certificate
/v1/domains/{domainid}/certificates/provision
POST
Verifydomain — Verify domain ownership
/v1/domains/{domainid}/verify
GET
Listdomains — List domains
/v1/organizations/{organizationid}/domains
POST
Createdomain — Create domain
/v1/organizations/{organizationid}/domains

MCP Tools

attach-domain-deployment

Attach domain to deployment

idempotent
detach-domain-deployment

Detach domain from deployment

idempotent
get-domain

Get domain

read-only idempotent
delete-domain

Delete domain

idempotent
upload-tls-certificate

Upload TLS certificate

provision-tls-certificate

Provision TLS certificate

verify-domain-ownership

Verify domain ownership

list-domains

List domains

read-only idempotent
create-domain

Create domain

Capability Spec

deploy-rest-domains.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Deno Deploy REST API — Domains
  description: 'Deno Deploy REST API — Domains. 9 operations. Lead operation: Attach domain to deployment. Self-contained
    Naftiko capability covering one Deno business surface.'
  tags:
  - Deno
  - Domains
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DENO_API_KEY: DENO_API_KEY
capability:
  consumes:
  - type: http
    namespace: deploy-rest-domains
    baseUri: https://api.deno.com/v1
    description: Deno Deploy REST API — Domains business capability. Self-contained, no shared references.
    resources:
    - name: deployments-deploymentId-domains-domain
      path: /deployments/{deploymentId}/domains/{domain}
      operations:
      - name: attachdomaintodeployment
        method: PUT
        description: Attach domain to deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: domain
          in: path
          type: string
          description: The custom domain name to attach
          required: true
      - name: detachdomainfromdeployment
        method: DELETE
        description: Detach domain from deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: domain
          in: path
          type: string
          description: The custom domain name to detach
          required: true
    - name: domains-domainId
      path: /domains/{domainId}
      operations:
      - name: getdomain
        method: GET
        description: Get domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedomain
        method: DELETE
        description: Delete domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: domains-domainId-certificates
      path: /domains/{domainId}/certificates
      operations:
      - name: adddomaincertificate
        method: POST
        description: Upload TLS certificate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: domains-domainId-certificates-provision
      path: /domains/{domainId}/certificates/provision
      operations:
      - name: provisiondomaincertificates
        method: POST
        description: Provision TLS certificate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: domains-domainId-verify
      path: /domains/{domainId}/verify
      operations:
      - name: verifydomain
        method: POST
        description: Verify domain ownership
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-organizationId-domains
      path: /organizations/{organizationId}/domains
      operations:
      - name: listdomains
        method: GET
        description: List domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdomain
        method: POST
        description: Create domain
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.DENO_API_KEY}}'
  exposes:
  - type: rest
    namespace: deploy-rest-domains-rest
    port: 8080
    description: REST adapter for Deno Deploy REST API — Domains. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/deployments/{deploymentid}/domains/{domain}
      name: deployments-deploymentid-domains-domain
      description: REST surface for deployments-deploymentId-domains-domain.
      operations:
      - method: PUT
        name: attachdomaintodeployment
        description: Attach domain to deployment
        call: deploy-rest-domains.attachdomaintodeployment
        with:
          domain: rest.domain
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: detachdomainfromdeployment
        description: Detach domain from deployment
        call: deploy-rest-domains.detachdomainfromdeployment
        with:
          domain: rest.domain
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/domains/{domainid}
      name: domains-domainid
      description: REST surface for domains-domainId.
      operations:
      - method: GET
        name: getdomain
        description: Get domain
        call: deploy-rest-domains.getdomain
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedomain
        description: Delete domain
        call: deploy-rest-domains.deletedomain
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/domains/{domainid}/certificates
      name: domains-domainid-certificates
      description: REST surface for domains-domainId-certificates.
      operations:
      - method: POST
        name: adddomaincertificate
        description: Upload TLS certificate
        call: deploy-rest-domains.adddomaincertificate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/domains/{domainid}/certificates/provision
      name: domains-domainid-certificates-provision
      description: REST surface for domains-domainId-certificates-provision.
      operations:
      - method: POST
        name: provisiondomaincertificates
        description: Provision TLS certificate
        call: deploy-rest-domains.provisiondomaincertificates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/domains/{domainid}/verify
      name: domains-domainid-verify
      description: REST surface for domains-domainId-verify.
      operations:
      - method: POST
        name: verifydomain
        description: Verify domain ownership
        call: deploy-rest-domains.verifydomain
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/domains
      name: organizations-organizationid-domains
      description: REST surface for organizations-organizationId-domains.
      operations:
      - method: GET
        name: listdomains
        description: List domains
        call: deploy-rest-domains.listdomains
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdomain
        description: Create domain
        call: deploy-rest-domains.createdomain
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: deploy-rest-domains-mcp
    port: 9090
    transport: http
    description: MCP adapter for Deno Deploy REST API — Domains. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: attach-domain-deployment
      description: Attach domain to deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: deploy-rest-domains.attachdomaintodeployment
      with:
        domain: tools.domain
      outputParameters:
      - type: object
        mapping: $.
    - name: detach-domain-deployment
      description: Detach domain from deployment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: deploy-rest-domains.detachdomainfromdeployment
      with:
        domain: tools.domain
      outputParameters:
      - type: object
        mapping: $.
    - name: get-domain
      description: Get domain
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: deploy-rest-domains.getdomain
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-domain
      description: Delete domain
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: deploy-rest-domains.deletedomain
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-tls-certificate
      description: Upload TLS certificate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: deploy-rest-domains.adddomaincertificate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: provision-tls-certificate
      description: Provision TLS certificate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: deploy-rest-domains.provisiondomaincertificates
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-domain-ownership
      description: Verify domain ownership
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: deploy-rest-domains.verifydomain
      outputParameters:
      - type: object
        mapping: $.
    - name: list-domains
      description: List domains
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: deploy-rest-domains.listdomains
      outputParameters:
      - type: object
        mapping: $.
    - name: create-domain
      description: Create domain
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: deploy-rest-domains.createdomain
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.