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