naftiko: 1.0.0-alpha2 info: label: JFrog Artifactory REST API — Artifacts & Storage description: 'JFrog Artifactory REST API — Artifacts & Storage. 8 operations. Lead operation: JFrog Copy Artifact. Self-contained Naftiko capability covering one Jfrog business surface.' tags: - Jfrog - Artifacts & Storage created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: JFROG_API_KEY: JFROG_API_KEY capability: consumes: - type: http namespace: artifactory-artifacts-storage baseUri: https://{server}.jfrog.io/artifactory description: JFrog Artifactory REST API — Artifacts & Storage business capability. Self-contained, no shared references. resources: - name: api-copy-srcRepoKey-srcItemPath path: /api/copy/{srcRepoKey}/{srcItemPath} operations: - name: copyartifact method: POST description: JFrog Copy Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: srcRepoKey in: path type: string description: Source repository key required: true - name: srcItemPath in: path type: string description: Source item path required: true - name: to in: query type: string description: Target path in the format repoKey/path required: true - name: dry in: query type: integer description: Dry run mode (1=dry run, 0=execute) - name: suppressLayouts in: query type: integer description: Suppress cross-layout translations - name: failFast in: query type: integer description: Fail on first error - name: api-move-srcRepoKey-srcItemPath path: /api/move/{srcRepoKey}/{srcItemPath} operations: - name: moveartifact method: POST description: JFrog Move Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: srcRepoKey in: path type: string description: Source repository key required: true - name: srcItemPath in: path type: string description: Source item path required: true - name: to in: query type: string description: Target path in the format repoKey/path required: true - name: dry in: query type: integer description: Dry run mode - name: suppressLayouts in: query type: integer description: Suppress cross-layout translations - name: failFast in: query type: integer description: Fail on first error - name: api-storage-repoKey path: /api/storage/{repoKey} operations: - name: getrepositorystorageinfo method: GET description: JFrog Get Repository Storage Summary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: repoKey in: path type: string description: Repository key required: true - name: api-storage-repoKey-itemPath path: /api/storage/{repoKey}/{itemPath} operations: - name: getstorageinfo method: GET description: JFrog Get File or Folder Info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: repoKey in: path type: string description: Repository key required: true - name: itemPath in: path type: string description: Path to the item within the repository required: true - name: api-storageinfo path: /api/storageinfo operations: - name: getstoragesummaryinfo method: GET description: JFrog Get Storage Summary outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repoKey-itemPath path: /{repoKey}/{itemPath} operations: - name: retrieveartifact method: GET description: JFrog Retrieve Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: repoKey in: path type: string description: Repository key required: true - name: itemPath in: path type: string description: Path to the artifact required: true - name: deployartifact method: PUT description: JFrog Deploy Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: repoKey in: path type: string description: Repository key required: true - name: itemPath in: path type: string description: Path for the artifact required: true - name: X-Checksum-Sha1 in: header type: string description: SHA1 checksum of the artifact - name: X-Checksum-Sha256 in: header type: string description: SHA256 checksum of the artifact - name: X-Checksum-Md5 in: header type: string description: MD5 checksum of the artifact - name: body in: body type: object description: Request body (JSON). required: true - name: deleteartifact method: DELETE description: JFrog Delete Artifact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: repoKey in: path type: string description: Repository key required: true - name: itemPath in: path type: string description: Path to the artifact required: true authentication: type: bearer token: '{{env.JFROG_API_KEY}}' exposes: - type: rest namespace: artifactory-artifacts-storage-rest port: 8080 description: REST adapter for JFrog Artifactory REST API — Artifacts & Storage. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/copy/{srcrepokey}/{srcitempath} name: api-copy-srcrepokey-srcitempath description: REST surface for api-copy-srcRepoKey-srcItemPath. operations: - method: POST name: copyartifact description: JFrog Copy Artifact call: artifactory-artifacts-storage.copyartifact with: srcRepoKey: rest.srcRepoKey srcItemPath: rest.srcItemPath to: rest.to dry: rest.dry suppressLayouts: rest.suppressLayouts failFast: rest.failFast outputParameters: - type: object mapping: $. - path: /v1/api/move/{srcrepokey}/{srcitempath} name: api-move-srcrepokey-srcitempath description: REST surface for api-move-srcRepoKey-srcItemPath. operations: - method: POST name: moveartifact description: JFrog Move Artifact call: artifactory-artifacts-storage.moveartifact with: srcRepoKey: rest.srcRepoKey srcItemPath: rest.srcItemPath to: rest.to dry: rest.dry suppressLayouts: rest.suppressLayouts failFast: rest.failFast outputParameters: - type: object mapping: $. - path: /v1/api/storage/{repokey} name: api-storage-repokey description: REST surface for api-storage-repoKey. operations: - method: GET name: getrepositorystorageinfo description: JFrog Get Repository Storage Summary call: artifactory-artifacts-storage.getrepositorystorageinfo with: repoKey: rest.repoKey outputParameters: - type: object mapping: $. - path: /v1/api/storage/{repokey}/{itempath} name: api-storage-repokey-itempath description: REST surface for api-storage-repoKey-itemPath. operations: - method: GET name: getstorageinfo description: JFrog Get File or Folder Info call: artifactory-artifacts-storage.getstorageinfo with: repoKey: rest.repoKey itemPath: rest.itemPath outputParameters: - type: object mapping: $. - path: /v1/api/storageinfo name: api-storageinfo description: REST surface for api-storageinfo. operations: - method: GET name: getstoragesummaryinfo description: JFrog Get Storage Summary call: artifactory-artifacts-storage.getstoragesummaryinfo outputParameters: - type: object mapping: $. - path: /v1/{repokey}/{itempath} name: repokey-itempath description: REST surface for repoKey-itemPath. operations: - method: GET name: retrieveartifact description: JFrog Retrieve Artifact call: artifactory-artifacts-storage.retrieveartifact with: repoKey: rest.repoKey itemPath: rest.itemPath outputParameters: - type: object mapping: $. - method: PUT name: deployartifact description: JFrog Deploy Artifact call: artifactory-artifacts-storage.deployartifact with: repoKey: rest.repoKey itemPath: rest.itemPath X-Checksum-Sha1: rest.X-Checksum-Sha1 X-Checksum-Sha256: rest.X-Checksum-Sha256 X-Checksum-Md5: rest.X-Checksum-Md5 body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteartifact description: JFrog Delete Artifact call: artifactory-artifacts-storage.deleteartifact with: repoKey: rest.repoKey itemPath: rest.itemPath outputParameters: - type: object mapping: $. - type: mcp namespace: artifactory-artifacts-storage-mcp port: 9090 transport: http description: MCP adapter for JFrog Artifactory REST API — Artifacts & Storage. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: jfrog-copy-artifact description: JFrog Copy Artifact hints: readOnly: false destructive: false idempotent: false call: artifactory-artifacts-storage.copyartifact with: srcRepoKey: tools.srcRepoKey srcItemPath: tools.srcItemPath to: tools.to dry: tools.dry suppressLayouts: tools.suppressLayouts failFast: tools.failFast outputParameters: - type: object mapping: $. - name: jfrog-move-artifact description: JFrog Move Artifact hints: readOnly: false destructive: false idempotent: false call: artifactory-artifacts-storage.moveartifact with: srcRepoKey: tools.srcRepoKey srcItemPath: tools.srcItemPath to: tools.to dry: tools.dry suppressLayouts: tools.suppressLayouts failFast: tools.failFast outputParameters: - type: object mapping: $. - name: jfrog-get-repository-storage-summary description: JFrog Get Repository Storage Summary hints: readOnly: true destructive: false idempotent: true call: artifactory-artifacts-storage.getrepositorystorageinfo with: repoKey: tools.repoKey outputParameters: - type: object mapping: $. - name: jfrog-get-file-folder-info description: JFrog Get File or Folder Info hints: readOnly: true destructive: false idempotent: true call: artifactory-artifacts-storage.getstorageinfo with: repoKey: tools.repoKey itemPath: tools.itemPath outputParameters: - type: object mapping: $. - name: jfrog-get-storage-summary description: JFrog Get Storage Summary hints: readOnly: true destructive: false idempotent: true call: artifactory-artifacts-storage.getstoragesummaryinfo outputParameters: - type: object mapping: $. - name: jfrog-retrieve-artifact description: JFrog Retrieve Artifact hints: readOnly: true destructive: false idempotent: true call: artifactory-artifacts-storage.retrieveartifact with: repoKey: tools.repoKey itemPath: tools.itemPath outputParameters: - type: object mapping: $. - name: jfrog-deploy-artifact description: JFrog Deploy Artifact hints: readOnly: false destructive: false idempotent: true call: artifactory-artifacts-storage.deployartifact with: repoKey: tools.repoKey itemPath: tools.itemPath X-Checksum-Sha1: tools.X-Checksum-Sha1 X-Checksum-Sha256: tools.X-Checksum-Sha256 X-Checksum-Md5: tools.X-Checksum-Md5 body: tools.body outputParameters: - type: object mapping: $. - name: jfrog-delete-artifact description: JFrog Delete Artifact hints: readOnly: false destructive: true idempotent: true call: artifactory-artifacts-storage.deleteartifact with: repoKey: tools.repoKey itemPath: tools.itemPath outputParameters: - type: object mapping: $.