naftiko: 1.0.0-alpha2 info: label: Amazon S3 Glacier REST API — Vaults description: 'Amazon S3 Glacier REST API — Vaults. 7 operations. Lead operation: Amazon S3 Glacier List Vaults. Self-contained Naftiko capability covering one Amazon S3 Glacier business surface.' tags: - Amazon S3 Glacier - Vaults created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMAZON_S3_GLACIER_API_KEY: AMAZON_S3_GLACIER_API_KEY capability: consumes: - type: http namespace: amazon-s3-glacier-vaults baseUri: https://glacier.{region}.amazonaws.com description: Amazon S3 Glacier REST API — Vaults business capability. Self-contained, no shared references. resources: - name: accountId-vaults path: /{accountId}/vaults operations: - name: listvaults method: GET description: Amazon S3 Glacier List Vaults outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: marker in: query type: string - name: limit in: query type: integer - name: accountId-vaults-vaultName path: /{accountId}/vaults/{vaultName} operations: - name: createvault method: PUT description: Amazon S3 Glacier Create Vault outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true - name: describevault method: GET description: Amazon S3 Glacier Describe Vault outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true - name: deletevault method: DELETE description: Amazon S3 Glacier Delete Vault outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true - name: accountId-vaults-vaultName-archives path: /{accountId}/vaults/{vaultName}/archives operations: - name: uploadarchive method: POST description: Amazon S3 Glacier Upload Archive outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true - name: x-amz-archive-description in: header type: string - name: x-amz-sha256-tree-hash in: header type: string - name: body in: body type: object description: Request body (JSON). required: true - name: accountId-vaults-vaultName-jobs path: /{accountId}/vaults/{vaultName}/jobs operations: - name: initiatejob method: POST description: Amazon S3 Glacier Initiate Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: listjobs method: GET description: Amazon S3 Glacier List Jobs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: vaultName in: path type: string required: true authentication: type: apikey key: Authorization value: '{{env.AMAZON_S3_GLACIER_API_KEY}}' placement: header exposes: - type: rest namespace: amazon-s3-glacier-vaults-rest port: 8080 description: REST adapter for Amazon S3 Glacier REST API — Vaults. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/{accountid}/vaults name: accountid-vaults description: REST surface for accountId-vaults. operations: - method: GET name: listvaults description: Amazon S3 Glacier List Vaults call: amazon-s3-glacier-vaults.listvaults with: accountId: rest.accountId marker: rest.marker limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/{accountid}/vaults/{vaultname} name: accountid-vaults-vaultname description: REST surface for accountId-vaults-vaultName. operations: - method: PUT name: createvault description: Amazon S3 Glacier Create Vault call: amazon-s3-glacier-vaults.createvault with: accountId: rest.accountId vaultName: rest.vaultName outputParameters: - type: object mapping: $. - method: GET name: describevault description: Amazon S3 Glacier Describe Vault call: amazon-s3-glacier-vaults.describevault with: accountId: rest.accountId vaultName: rest.vaultName outputParameters: - type: object mapping: $. - method: DELETE name: deletevault description: Amazon S3 Glacier Delete Vault call: amazon-s3-glacier-vaults.deletevault with: accountId: rest.accountId vaultName: rest.vaultName outputParameters: - type: object mapping: $. - path: /v1/{accountid}/vaults/{vaultname}/archives name: accountid-vaults-vaultname-archives description: REST surface for accountId-vaults-vaultName-archives. operations: - method: POST name: uploadarchive description: Amazon S3 Glacier Upload Archive call: amazon-s3-glacier-vaults.uploadarchive with: accountId: rest.accountId vaultName: rest.vaultName x-amz-archive-description: rest.x-amz-archive-description x-amz-sha256-tree-hash: rest.x-amz-sha256-tree-hash body: rest.body outputParameters: - type: object mapping: $. - path: /v1/{accountid}/vaults/{vaultname}/jobs name: accountid-vaults-vaultname-jobs description: REST surface for accountId-vaults-vaultName-jobs. operations: - method: POST name: initiatejob description: Amazon S3 Glacier Initiate Job call: amazon-s3-glacier-vaults.initiatejob with: accountId: rest.accountId vaultName: rest.vaultName body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listjobs description: Amazon S3 Glacier List Jobs call: amazon-s3-glacier-vaults.listjobs with: accountId: rest.accountId vaultName: rest.vaultName outputParameters: - type: object mapping: $. - type: mcp namespace: amazon-s3-glacier-vaults-mcp port: 9090 transport: http description: MCP adapter for Amazon S3 Glacier REST API — Vaults. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: amazon-s3-glacier-list-vaults description: Amazon S3 Glacier List Vaults hints: readOnly: true destructive: false idempotent: true call: amazon-s3-glacier-vaults.listvaults with: accountId: tools.accountId marker: tools.marker limit: tools.limit outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-create-vault description: Amazon S3 Glacier Create Vault hints: readOnly: false destructive: false idempotent: true call: amazon-s3-glacier-vaults.createvault with: accountId: tools.accountId vaultName: tools.vaultName outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-describe-vault description: Amazon S3 Glacier Describe Vault hints: readOnly: true destructive: false idempotent: true call: amazon-s3-glacier-vaults.describevault with: accountId: tools.accountId vaultName: tools.vaultName outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-delete-vault description: Amazon S3 Glacier Delete Vault hints: readOnly: false destructive: true idempotent: true call: amazon-s3-glacier-vaults.deletevault with: accountId: tools.accountId vaultName: tools.vaultName outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-upload-archive description: Amazon S3 Glacier Upload Archive hints: readOnly: false destructive: false idempotent: false call: amazon-s3-glacier-vaults.uploadarchive with: accountId: tools.accountId vaultName: tools.vaultName x-amz-archive-description: tools.x-amz-archive-description x-amz-sha256-tree-hash: tools.x-amz-sha256-tree-hash body: tools.body outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-initiate-job description: Amazon S3 Glacier Initiate Job hints: readOnly: false destructive: false idempotent: false call: amazon-s3-glacier-vaults.initiatejob with: accountId: tools.accountId vaultName: tools.vaultName body: tools.body outputParameters: - type: object mapping: $. - name: amazon-s3-glacier-list-jobs description: Amazon S3 Glacier List Jobs hints: readOnly: true destructive: false idempotent: true call: amazon-s3-glacier-vaults.listjobs with: accountId: tools.accountId vaultName: tools.vaultName outputParameters: - type: object mapping: $.