JFrog Artifactory · Capability

JFrog Artifactory REST API — Artifacts & Storage

JFrog Artifactory REST API — Artifacts & Storage. 9 operations. Lead operation: JFrog Artifactory Copy Artifact. Self-contained Naftiko capability covering one Artifactory business surface.

Run with Naftiko ArtifactoryArtifacts & Storage

What You Can Do

POST
Copyartifact — JFrog Artifactory Copy Artifact
/v1/api/copy/{srcrepokey}/{srcitempath}
POST
Moveartifact — JFrog Artifactory Move Artifact
/v1/api/move/{srcrepokey}/{srcitempath}
GET
Getstorageinfo — JFrog Artifactory Get File or Folder Info
/v1/api/storage/{repokey}/{itempath}
GET
Getitemproperties — JFrog Artifactory Get Item Properties
/v1/api/storage/{repokey}/itempath-properties
PUT
Setitemproperties — JFrog Artifactory Set Item Properties
/v1/api/storage/{repokey}/itempath-properties
DELETE
Deleteitemproperties — JFrog Artifactory Delete Item Properties
/v1/api/storage/{repokey}/itempath-properties
GET
Retrieveartifact — JFrog Artifactory Retrieve Artifact
/v1/{repokey}/{itempath}
PUT
Deployartifact — JFrog Artifactory Deploy Artifact
/v1/{repokey}/{itempath}
DELETE
Deleteartifact — JFrog Artifactory Delete Artifact
/v1/{repokey}/{itempath}

MCP Tools

jfrog-artifactory-copy-artifact

JFrog Artifactory Copy Artifact

jfrog-artifactory-move-artifact

JFrog Artifactory Move Artifact

jfrog-artifactory-get-file-folder

JFrog Artifactory Get File or Folder Info

read-only idempotent
jfrog-artifactory-get-item-properties

JFrog Artifactory Get Item Properties

read-only idempotent
jfrog-artifactory-set-item-properties

JFrog Artifactory Set Item Properties

idempotent
jfrog-artifactory-delete-item-properties

JFrog Artifactory Delete Item Properties

idempotent
jfrog-artifactory-retrieve-artifact

JFrog Artifactory Retrieve Artifact

read-only idempotent
jfrog-artifactory-deploy-artifact

JFrog Artifactory Deploy Artifact

idempotent
jfrog-artifactory-delete-artifact

JFrog Artifactory Delete Artifact

idempotent

Capability Spec

rest-artifacts-storage.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: JFrog Artifactory REST API — Artifacts & Storage
  description: 'JFrog Artifactory REST API — Artifacts & Storage. 9 operations. Lead operation: JFrog Artifactory Copy Artifact.
    Self-contained Naftiko capability covering one Artifactory business surface.'
  tags:
  - Artifactory
  - Artifacts & Storage
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ARTIFACTORY_API_KEY: ARTIFACTORY_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-artifacts-storage
    baseUri: https://{server}/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 Artifactory 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: Destination path in format /repoKey/path
          required: true
        - name: dry
          in: query
          type: integer
          description: If 1, performs a dry run without actual copy
        - name: suppressLayouts
          in: query
          type: integer
          description: If 1, suppresses cross-layout translation
    - name: api-move-srcRepoKey-srcItemPath
      path: /api/move/{srcRepoKey}/{srcItemPath}
      operations:
      - name: moveartifact
        method: POST
        description: JFrog Artifactory 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: Destination path in format /repoKey/path
          required: true
        - name: dry
          in: query
          type: integer
          description: If 1, performs a dry run without actual move
        - name: suppressLayouts
          in: query
          type: integer
          description: If 1, suppresses cross-layout translation
    - name: api-storage-repoKey-itemPath
      path: /api/storage/{repoKey}/{itemPath}
      operations:
      - name: getstorageinfo
        method: GET
        description: JFrog Artifactory Get File or Folder Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-repoKey-itemPath}?properties
      path: /api/storage/{repoKey}/{itemPath}?properties
      operations:
      - name: getitemproperties
        method: GET
        description: JFrog Artifactory Get Item Properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: properties
          in: query
          type: string
          description: Comma-separated list of property names to retrieve. Omit for all.
      - name: setitemproperties
        method: PUT
        description: JFrog Artifactory Set Item Properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: properties
          in: query
          type: string
          description: Properties to set in format key1=value1;key2=value2
          required: true
        - name: recursive
          in: query
          type: integer
          description: Apply properties recursively to folder children
      - name: deleteitemproperties
        method: DELETE
        description: JFrog Artifactory Delete Item Properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: properties
          in: query
          type: string
          description: Comma-separated list of property names to delete
          required: true
    - name: repoKey-itemPath
      path: /{repoKey}/{itemPath}
      operations:
      - name: retrieveartifact
        method: GET
        description: JFrog Artifactory Retrieve Artifact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deployartifact
        method: PUT
        description: JFrog Artifactory Deploy Artifact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Checksum-Sha1
          in: header
          type: string
          description: SHA1 checksum of the artifact for verification
        - name: X-Checksum-Sha256
          in: header
          type: string
          description: SHA256 checksum of the artifact for verification
        - name: X-Checksum-Md5
          in: header
          type: string
          description: MD5 checksum of the artifact for verification
        - name: X-Checksum-Deploy
          in: header
          type: boolean
          description: If true, deploy by checksum. Artifact content is not required if the checksum already exists in the
            system.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteartifact
        method: DELETE
        description: JFrog Artifactory Delete Artifact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.ARTIFACTORY_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-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 Artifactory Copy Artifact
        call: rest-artifacts-storage.copyartifact
        with:
          srcRepoKey: rest.srcRepoKey
          srcItemPath: rest.srcItemPath
          to: rest.to
          dry: rest.dry
          suppressLayouts: rest.suppressLayouts
        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 Artifactory Move Artifact
        call: rest-artifacts-storage.moveartifact
        with:
          srcRepoKey: rest.srcRepoKey
          srcItemPath: rest.srcItemPath
          to: rest.to
          dry: rest.dry
          suppressLayouts: rest.suppressLayouts
        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 Artifactory Get File or Folder Info
        call: rest-artifacts-storage.getstorageinfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/{repokey}/itempath-properties
      name: api-storage-repokey-itempath-properties
      description: REST surface for api-storage-repoKey-itemPath}?properties.
      operations:
      - method: GET
        name: getitemproperties
        description: JFrog Artifactory Get Item Properties
        call: rest-artifacts-storage.getitemproperties
        with:
          properties: rest.properties
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setitemproperties
        description: JFrog Artifactory Set Item Properties
        call: rest-artifacts-storage.setitemproperties
        with:
          properties: rest.properties
          recursive: rest.recursive
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteitemproperties
        description: JFrog Artifactory Delete Item Properties
        call: rest-artifacts-storage.deleteitemproperties
        with:
          properties: rest.properties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{repokey}/{itempath}
      name: repokey-itempath
      description: REST surface for repoKey-itemPath.
      operations:
      - method: GET
        name: retrieveartifact
        description: JFrog Artifactory Retrieve Artifact
        call: rest-artifacts-storage.retrieveartifact
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: deployartifact
        description: JFrog Artifactory Deploy Artifact
        call: rest-artifacts-storage.deployartifact
        with:
          X-Checksum-Sha1: rest.X-Checksum-Sha1
          X-Checksum-Sha256: rest.X-Checksum-Sha256
          X-Checksum-Md5: rest.X-Checksum-Md5
          X-Checksum-Deploy: rest.X-Checksum-Deploy
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteartifact
        description: JFrog Artifactory Delete Artifact
        call: rest-artifacts-storage.deleteartifact
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-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-artifactory-copy-artifact
      description: JFrog Artifactory Copy Artifact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-artifacts-storage.copyartifact
      with:
        srcRepoKey: tools.srcRepoKey
        srcItemPath: tools.srcItemPath
        to: tools.to
        dry: tools.dry
        suppressLayouts: tools.suppressLayouts
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-move-artifact
      description: JFrog Artifactory Move Artifact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-artifacts-storage.moveartifact
      with:
        srcRepoKey: tools.srcRepoKey
        srcItemPath: tools.srcItemPath
        to: tools.to
        dry: tools.dry
        suppressLayouts: tools.suppressLayouts
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-get-file-folder
      description: JFrog Artifactory Get File or Folder Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-artifacts-storage.getstorageinfo
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-get-item-properties
      description: JFrog Artifactory Get Item Properties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-artifacts-storage.getitemproperties
      with:
        properties: tools.properties
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-set-item-properties
      description: JFrog Artifactory Set Item Properties
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-artifacts-storage.setitemproperties
      with:
        properties: tools.properties
        recursive: tools.recursive
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-delete-item-properties
      description: JFrog Artifactory Delete Item Properties
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-artifacts-storage.deleteitemproperties
      with:
        properties: tools.properties
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-retrieve-artifact
      description: JFrog Artifactory Retrieve Artifact
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-artifacts-storage.retrieveartifact
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-deploy-artifact
      description: JFrog Artifactory Deploy Artifact
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-artifacts-storage.deployartifact
      with:
        X-Checksum-Sha1: tools.X-Checksum-Sha1
        X-Checksum-Sha256: tools.X-Checksum-Sha256
        X-Checksum-Md5: tools.X-Checksum-Md5
        X-Checksum-Deploy: tools.X-Checksum-Deploy
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-artifactory-delete-artifact
      description: JFrog Artifactory Delete Artifact
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-artifacts-storage.deleteartifact
      outputParameters:
      - type: object
        mapping: $.