International Business Machines IBM Cloud Object Storage API

The IBM Cloud Object Storage API provides a RESTful interface compatible with S3 for storing and retrieving objects in buckets. It supports features such as multipart uploads, versioning, lifecycle policies, and server-side encryption.

Run with Naftiko InternationalBusinessMachinesAPI

What You Can Do

GET
Listbuckets — International Business Machines List buckets
/
PUT
Createbucket — International Business Machines Create a bucket
/{bucket}
DELETE
Deletebucket — International Business Machines Delete a bucket
/{bucket}
GET
Listobjects — International Business Machines List objects in a bucket
/{bucket}
PUT
Putobject — International Business Machines Upload an object
/{bucket}/{key}
GET
Getobject — International Business Machines Get an object
/{bucket}/{key}
DELETE
Deleteobject — International Business Machines Delete an object
/{bucket}/{key}

MCP Tools

listbuckets

International Business Machines List buckets

read-only idempotent
createbucket

International Business Machines Create a bucket

idempotent
deletebucket

International Business Machines Delete a bucket

idempotent
listobjects

International Business Machines List objects in a bucket

read-only idempotent
putobject

International Business Machines Upload an object

idempotent
getobject

International Business Machines Get an object

read-only idempotent
deleteobject

International Business Machines Delete an object

idempotent

Capability Spec

international-business-machines-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: International Business Machines IBM Cloud Object Storage API
  description: The IBM Cloud Object Storage API provides a RESTful interface compatible with S3 for storing and retrieving
    objects in buckets. It supports features such as multipart uploads, versioning, lifecycle policies, and server-side encryption.
  tags:
  - International
  - Business
  - Machines
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: international-business-machines
    baseUri: https://s3.us-south.cloud-object-storage.appdomain.cloud
    description: International Business Machines IBM Cloud Object Storage API HTTP API.
    authentication:
      type: bearer
      token: '{{INTERNATIONAL_BUSINESS_MACHINES_TOKEN}}'
    resources:
    - name: resource
      path: /
      operations:
      - name: listbuckets
        method: GET
        description: International Business Machines List buckets
        inputParameters:
        - name: ibm-service-instance-id
          in: header
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: bucket
      path: /{bucket}
      operations:
      - name: createbucket
        method: PUT
        description: International Business Machines Create a bucket
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: ibm-service-instance-id
          in: header
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletebucket
        method: DELETE
        description: International Business Machines Delete a bucket
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: listobjects
        method: GET
        description: International Business Machines List objects in a bucket
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: prefix
          in: query
          type: string
        - name: max-keys
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: bucket-key
      path: /{bucket}/{key}
      operations:
      - name: putobject
        method: PUT
        description: International Business Machines Upload an object
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: key
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getobject
        method: GET
        description: International Business Machines Get an object
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: key
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteobject
        method: DELETE
        description: International Business Machines Delete an object
        inputParameters:
        - name: bucket
          in: path
          type: string
          required: true
        - name: key
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: international-business-machines-rest
    description: REST adapter for International Business Machines IBM Cloud Object Storage API.
    resources:
    - path: /
      name: listbuckets
      operations:
      - method: GET
        name: listbuckets
        description: International Business Machines List buckets
        call: international-business-machines.listbuckets
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}
      name: createbucket
      operations:
      - method: PUT
        name: createbucket
        description: International Business Machines Create a bucket
        call: international-business-machines.createbucket
        with:
          bucket: rest.bucket
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}
      name: deletebucket
      operations:
      - method: DELETE
        name: deletebucket
        description: International Business Machines Delete a bucket
        call: international-business-machines.deletebucket
        with:
          bucket: rest.bucket
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}
      name: listobjects
      operations:
      - method: GET
        name: listobjects
        description: International Business Machines List objects in a bucket
        call: international-business-machines.listobjects
        with:
          bucket: rest.bucket
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}/{key}
      name: putobject
      operations:
      - method: PUT
        name: putobject
        description: International Business Machines Upload an object
        call: international-business-machines.putobject
        with:
          bucket: rest.bucket
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}/{key}
      name: getobject
      operations:
      - method: GET
        name: getobject
        description: International Business Machines Get an object
        call: international-business-machines.getobject
        with:
          bucket: rest.bucket
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /{bucket}/{key}
      name: deleteobject
      operations:
      - method: DELETE
        name: deleteobject
        description: International Business Machines Delete an object
        call: international-business-machines.deleteobject
        with:
          bucket: rest.bucket
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: international-business-machines-mcp
    transport: http
    description: MCP adapter for International Business Machines IBM Cloud Object Storage API for AI agent use.
    tools:
    - name: listbuckets
      description: International Business Machines List buckets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: international-business-machines.listbuckets
      outputParameters:
      - type: object
        mapping: $.
    - name: createbucket
      description: International Business Machines Create a bucket
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: international-business-machines.createbucket
      with:
        bucket: tools.bucket
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletebucket
      description: International Business Machines Delete a bucket
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: international-business-machines.deletebucket
      with:
        bucket: tools.bucket
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listobjects
      description: International Business Machines List objects in a bucket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: international-business-machines.listobjects
      with:
        bucket: tools.bucket
        prefix: tools.prefix
        max-keys: tools.max-keys
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      - name: prefix
        type: string
        description: prefix
      - name: max-keys
        type: integer
        description: max-keys
      outputParameters:
      - type: object
        mapping: $.
    - name: putobject
      description: International Business Machines Upload an object
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: international-business-machines.putobject
      with:
        bucket: tools.bucket
        key: tools.key
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      - name: key
        type: string
        description: key
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getobject
      description: International Business Machines Get an object
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: international-business-machines.getobject
      with:
        bucket: tools.bucket
        key: tools.key
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      - name: key
        type: string
        description: key
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteobject
      description: International Business Machines Delete an object
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: international-business-machines.deleteobject
      with:
        bucket: tools.bucket
        key: tools.key
      inputParameters:
      - name: bucket
        type: string
        description: bucket
        required: true
      - name: key
        type: string
        description: key
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    INTERNATIONAL_BUSINESS_MACHINES_TOKEN: INTERNATIONAL_BUSINESS_MACHINES_TOKEN