naftiko: 1.0.0-alpha2 info: label: OpenStorage SDK — OpenStorageCredentials description: 'OpenStorage SDK — OpenStorageCredentials. 7 operations. Lead operation: Enumerate returns a list of credential ids. Self-contained Naftiko capability covering one Portworx business surface.' tags: - Portworx - OpenStorageCredentials created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTWORX_API_KEY: PORTWORX_API_KEY capability: consumes: - type: http namespace: portworx-openstoragecredentials baseUri: '' description: OpenStorage SDK — OpenStorageCredentials business capability. Self-contained, no shared references. resources: - name: v1-credentials path: /v1/credentials operations: - name: openstoragecredentialsenumerate method: GET description: Enumerate returns a list of credential ids outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openstoragecredentialscreate method: POST description: Create is used to submit cloud credentials. It will return an outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-credentials-inspect-credential_id path: /v1/credentials/inspect/{credential_id} operations: - name: openstoragecredentialsinspect method: GET description: Inspect returns the information about a credential, but does not return the secret key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: credential_id in: path type: string description: Id of the credential required: true - name: v1-credentials-references-credential_id path: /v1/credentials/references/{credential_id} operations: - name: openstoragecredentialsdeletereferences method: DELETE description: DeleteReferences is used to remove references to credentials outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: credential_id in: path type: string description: Id of the credentials required: true - name: v1-credentials-validate-credential_id path: /v1/credentials/validate/{credential_id} operations: - name: openstoragecredentialsvalidate method: GET description: Validate is used to validate credentials outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: credential_id in: path type: string description: Id of the credentials required: true - name: v1-credentials-credential_id path: /v1/credentials/{credential_id} operations: - name: openstoragecredentialsdelete method: DELETE description: Delete a specified credential outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: credential_id in: path type: string description: Id for credentials required: true - name: openstoragecredentialsupdate method: PUT description: input is very same as credential create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: credential_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.PORTWORX_API_KEY}}' exposes: - type: rest namespace: portworx-openstoragecredentials-rest port: 8080 description: REST adapter for OpenStorage SDK — OpenStorageCredentials. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/credentials name: v1-credentials description: REST surface for v1-credentials. operations: - method: GET name: openstoragecredentialsenumerate description: Enumerate returns a list of credential ids call: portworx-openstoragecredentials.openstoragecredentialsenumerate outputParameters: - type: object mapping: $. - method: POST name: openstoragecredentialscreate description: Create is used to submit cloud credentials. It will return an call: portworx-openstoragecredentials.openstoragecredentialscreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/credentials/inspect/{credential-id} name: v1-credentials-inspect-credential-id description: REST surface for v1-credentials-inspect-credential_id. operations: - method: GET name: openstoragecredentialsinspect description: Inspect returns the information about a credential, but does not return the secret key. call: portworx-openstoragecredentials.openstoragecredentialsinspect with: credential_id: rest.credential_id outputParameters: - type: object mapping: $. - path: /v1/v1/credentials/references/{credential-id} name: v1-credentials-references-credential-id description: REST surface for v1-credentials-references-credential_id. operations: - method: DELETE name: openstoragecredentialsdeletereferences description: DeleteReferences is used to remove references to credentials call: portworx-openstoragecredentials.openstoragecredentialsdeletereferences with: credential_id: rest.credential_id outputParameters: - type: object mapping: $. - path: /v1/v1/credentials/validate/{credential-id} name: v1-credentials-validate-credential-id description: REST surface for v1-credentials-validate-credential_id. operations: - method: GET name: openstoragecredentialsvalidate description: Validate is used to validate credentials call: portworx-openstoragecredentials.openstoragecredentialsvalidate with: credential_id: rest.credential_id outputParameters: - type: object mapping: $. - path: /v1/v1/credentials/{credential-id} name: v1-credentials-credential-id description: REST surface for v1-credentials-credential_id. operations: - method: DELETE name: openstoragecredentialsdelete description: Delete a specified credential call: portworx-openstoragecredentials.openstoragecredentialsdelete with: credential_id: rest.credential_id outputParameters: - type: object mapping: $. - method: PUT name: openstoragecredentialsupdate description: input is very same as credential create call: portworx-openstoragecredentials.openstoragecredentialsupdate with: credential_id: rest.credential_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: portworx-openstoragecredentials-mcp port: 9090 transport: http description: MCP adapter for OpenStorage SDK — OpenStorageCredentials. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: enumerate-returns-list-credential-ids description: Enumerate returns a list of credential ids hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsenumerate outputParameters: - type: object mapping: $. - name: create-is-used-submit-cloud description: Create is used to submit cloud credentials. It will return an hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecredentials.openstoragecredentialscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: inspect-returns-information-about-credential description: Inspect returns the information about a credential, but does not return the secret key. hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsinspect with: credential_id: tools.credential_id outputParameters: - type: object mapping: $. - name: deletereferences-is-used-remove-references description: DeleteReferences is used to remove references to credentials hints: readOnly: false destructive: true idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsdeletereferences with: credential_id: tools.credential_id outputParameters: - type: object mapping: $. - name: validate-is-used-validate-credentials description: Validate is used to validate credentials hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsvalidate with: credential_id: tools.credential_id outputParameters: - type: object mapping: $. - name: delete-specified-credential description: Delete a specified credential hints: readOnly: false destructive: true idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsdelete with: credential_id: tools.credential_id outputParameters: - type: object mapping: $. - name: input-is-very-same-credential description: input is very same as credential create hints: readOnly: false destructive: false idempotent: true call: portworx-openstoragecredentials.openstoragecredentialsupdate with: credential_id: tools.credential_id body: tools.body outputParameters: - type: object mapping: $.