Exoscale · Capability

Exoscale API — sos

Exoscale API — sos. 2 operations. Lead operation: List SOS Buckets Usage. Self-contained Naftiko capability covering one Exoscale business surface.

Run with Naftiko Exoscalesos

What You Can Do

GET
Listsosbucketsusage — List SOS Buckets Usage
/v1/sos-buckets-usage
GET
Getsospresignedurl — Retrieve Presigned Download URL for SOS object
/v1/sos/{bucket}/presigned-url

MCP Tools

list-sos-buckets-usage

List SOS Buckets Usage

read-only idempotent
retrieve-presigned-download-url-sos

Retrieve Presigned Download URL for SOS object

read-only idempotent

Capability Spec

exoscale-sos.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Exoscale API — sos
  description: 'Exoscale API — sos. 2 operations. Lead operation: List SOS Buckets Usage. Self-contained Naftiko capability
    covering one Exoscale business surface.'
  tags:
  - Exoscale
  - sos
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EXOSCALE_API_KEY: EXOSCALE_API_KEY
capability:
  consumes:
  - type: http
    namespace: exoscale-sos
    baseUri: https://api-{zone}.exoscale.com/v2
    description: Exoscale API — sos business capability. Self-contained, no shared references.
    resources:
    - name: sos-buckets-usage
      path: /sos-buckets-usage
      operations:
      - name: listsosbucketsusage
        method: GET
        description: List SOS Buckets Usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sos-bucket-presigned-url
      path: /sos/{bucket}/presigned-url
      operations:
      - name: getsospresignedurl
        method: GET
        description: Retrieve Presigned Download URL for SOS object
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: key
          in: query
          type: string
  exposes:
  - type: rest
    namespace: exoscale-sos-rest
    port: 8080
    description: REST adapter for Exoscale API — sos. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/sos-buckets-usage
      name: sos-buckets-usage
      description: REST surface for sos-buckets-usage.
      operations:
      - method: GET
        name: listsosbucketsusage
        description: List SOS Buckets Usage
        call: exoscale-sos.listsosbucketsusage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sos/{bucket}/presigned-url
      name: sos-bucket-presigned-url
      description: REST surface for sos-bucket-presigned-url.
      operations:
      - method: GET
        name: getsospresignedurl
        description: Retrieve Presigned Download URL for SOS object
        call: exoscale-sos.getsospresignedurl
        with:
          bucket: rest.bucket
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: exoscale-sos-mcp
    port: 9090
    transport: http
    description: MCP adapter for Exoscale API — sos. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-sos-buckets-usage
      description: List SOS Buckets Usage
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: exoscale-sos.listsosbucketsusage
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-presigned-download-url-sos
      description: Retrieve Presigned Download URL for SOS object
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: exoscale-sos.getsospresignedurl
      with:
        bucket: tools.bucket
        key: tools.key
      outputParameters:
      - type: object
        mapping: $.