Exoscale · Capability

Exoscale API — reverse-dns

Exoscale API — reverse-dns. 6 operations. Lead operation: Query the PTR DNS records for an elastic IP. Self-contained Naftiko capability covering one Exoscale business surface.

Run with Naftiko Exoscalereverse-dns

What You Can Do

GET
Getreversednselasticip — Query the PTR DNS records for an elastic IP
/v1/reverse-dns/elastic-ip/{id}
POST
Updatereversednselasticip — Update/Create the PTR DNS record for an elastic IP
/v1/reverse-dns/elastic-ip/{id}
DELETE
Deletereversednselasticip — Delete the PTR DNS record for an elastic IP
/v1/reverse-dns/elastic-ip/{id}
POST
Updatereversednsinstance — Update/Create the PTR DNS record for an instance
/v1/reverse-dns/instance/{id}
GET
Getreversednsinstance — Query the PTR DNS records for an instance
/v1/reverse-dns/instance/{id}
DELETE
Deletereversednsinstance — Delete the PTR DNS record for an instance
/v1/reverse-dns/instance/{id}

MCP Tools

query-ptr-dns-records-elastic

Query the PTR DNS records for an elastic IP

read-only idempotent
update-create-ptr-dns-record

Update/Create the PTR DNS record for an elastic IP

delete-ptr-dns-record-elastic

Delete the PTR DNS record for an elastic IP

idempotent
update-create-ptr-dns-record-2

Update/Create the PTR DNS record for an instance

query-ptr-dns-records-instance

Query the PTR DNS records for an instance

read-only idempotent
delete-ptr-dns-record-instance

Delete the PTR DNS record for an instance

idempotent

Capability Spec

exoscale-reverse-dns.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Exoscale API — reverse-dns
  description: 'Exoscale API — reverse-dns. 6 operations. Lead operation: Query the PTR DNS records for an elastic IP. Self-contained
    Naftiko capability covering one Exoscale business surface.'
  tags:
  - Exoscale
  - reverse-dns
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EXOSCALE_API_KEY: EXOSCALE_API_KEY
capability:
  consumes:
  - type: http
    namespace: exoscale-reverse-dns
    baseUri: https://api-{zone}.exoscale.com/v2
    description: Exoscale API — reverse-dns business capability. Self-contained, no shared references.
    resources:
    - name: reverse-dns-elastic-ip-id
      path: /reverse-dns/elastic-ip/{id}
      operations:
      - name: getreversednselasticip
        method: GET
        description: Query the PTR DNS records for an elastic IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: updatereversednselasticip
        method: POST
        description: Update/Create the PTR DNS record for an elastic IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletereversednselasticip
        method: DELETE
        description: Delete the PTR DNS record for an elastic IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: reverse-dns-instance-id
      path: /reverse-dns/instance/{id}
      operations:
      - name: updatereversednsinstance
        method: POST
        description: Update/Create the PTR DNS record for an instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getreversednsinstance
        method: GET
        description: Query the PTR DNS records for an instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: deletereversednsinstance
        method: DELETE
        description: Delete the PTR DNS record for an instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: exoscale-reverse-dns-rest
    port: 8080
    description: REST adapter for Exoscale API — reverse-dns. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/reverse-dns/elastic-ip/{id}
      name: reverse-dns-elastic-ip-id
      description: REST surface for reverse-dns-elastic-ip-id.
      operations:
      - method: GET
        name: getreversednselasticip
        description: Query the PTR DNS records for an elastic IP
        call: exoscale-reverse-dns.getreversednselasticip
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatereversednselasticip
        description: Update/Create the PTR DNS record for an elastic IP
        call: exoscale-reverse-dns.updatereversednselasticip
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletereversednselasticip
        description: Delete the PTR DNS record for an elastic IP
        call: exoscale-reverse-dns.deletereversednselasticip
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reverse-dns/instance/{id}
      name: reverse-dns-instance-id
      description: REST surface for reverse-dns-instance-id.
      operations:
      - method: POST
        name: updatereversednsinstance
        description: Update/Create the PTR DNS record for an instance
        call: exoscale-reverse-dns.updatereversednsinstance
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getreversednsinstance
        description: Query the PTR DNS records for an instance
        call: exoscale-reverse-dns.getreversednsinstance
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletereversednsinstance
        description: Delete the PTR DNS record for an instance
        call: exoscale-reverse-dns.deletereversednsinstance
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: exoscale-reverse-dns-mcp
    port: 9090
    transport: http
    description: MCP adapter for Exoscale API — reverse-dns. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: query-ptr-dns-records-elastic
      description: Query the PTR DNS records for an elastic IP
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: exoscale-reverse-dns.getreversednselasticip
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-create-ptr-dns-record
      description: Update/Create the PTR DNS record for an elastic IP
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: exoscale-reverse-dns.updatereversednselasticip
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-ptr-dns-record-elastic
      description: Delete the PTR DNS record for an elastic IP
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: exoscale-reverse-dns.deletereversednselasticip
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-create-ptr-dns-record-2
      description: Update/Create the PTR DNS record for an instance
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: exoscale-reverse-dns.updatereversednsinstance
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: query-ptr-dns-records-instance
      description: Query the PTR DNS records for an instance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: exoscale-reverse-dns.getreversednsinstance
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-ptr-dns-record-instance
      description: Delete the PTR DNS record for an instance
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: exoscale-reverse-dns.deletereversednsinstance
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.