Artifactory's REST API

Skip to end of metadata
Go to start of metadata
Table of Contents

WADL

Artifactory exposes its REST API through an auto-generated WADL file (courtesy of the excellent Jersey REST framework).
This provide an extremely convenient and up-to-date self-descriptive API and can be used by various tools/frameworks to automate the creation of REST calls.
The WADL file is available at the following URL:
http://server:port/artifactory/api/application.wadl

REST Resources

Below please find a list of the REST resources exposed by Artifactory.

Usage of REST resources is subject to security restrictions applicable to each individual resource.

TABLE OF CONTENT


BUILDS

All Builds

Description: All builds info
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/build
Produces: application/vnd.org.jfrog.build.Builds+json
Sample output:


Build Runs

Description: Build Runs
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/build/{buildName}
Produces: application/vnd.org.jfrog.build.BuildsByName+json
Sample output:


Build Info

Description: Build Info
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/build/{buildName}/{buildNumber}
Produces: application/vnd.org.jfrog.build.BuildInfo+json
Sample output:


Build Promotion

Description: Change the status of a build, optionally moving or copying the build's artifacts and its dependencies to a target repository and setting properties on promoted artifacts.
All artifacts from all scopes are included by default while dependencies are not. Scopes are additive (or).
Since: 2.3.3
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: POST /api/build/promote/{buildName}/{buildNumber}
Consumes: application/vnd.org.jfrog.artifactory.build.PromotionRequest+json

Produces: application/vnd.org.jfrog.artifactory.build.PromotionResult+json
Sample output:


Build Move (Deprecated)

Description: Move produced artifacts and dependencies from a certain build to a different repository. Optionally, you can also set properties on the artifacts promoted.
All artifacts from all scopes are included by default while dependencies are not. Scopes are additive (or).
Since: 2.2.3
Notes: This API is deprecated. Use the Build Promotion API instead. Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: POST /api/build/move/{buildName}/{buildNumber}?to={targetRepoKey}[&started=ISO8601][&arts=includeArtifacts][&deps=includeDependencies][&scopes=includedScopes][&properties=p1=v1[,v2][|p2=v3]][&dry=dryRun]
Produces: application/vnd.org.jfrog.artifactory.build.PromotionResult+json
Sample output:


Build Copy (Deprecated)

Description: Copy produced artifacts and dependencies from a certain build to a different repository. Optionally, you can also set properties on the artifacts promoted.
All artifacts from all scopes are included by default while dependencies are not.
Since: 2.2.3
Notes: This API is deprecated. Use the Build Promotion API instead. Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: POST /api/build/copy/{buildName}/{buildNumber}?to={targetRepoKey}[&started=ISO8601][&arts=includeArtifacts][&deps=includeDependencies][&scopes=includedScopes][&properties=p1=v1[,v2][|p2=v3]][&dry=dryRun]
Produces: application/vnd.org.jfrog.artifactory.build.CopyOrMoveResult+json
Sample output:


Delete Builds

Description: Removes builds stored in Artifactory. Useful for cleaning up old build info data.
If the artifacts parameter is evaluated as 1 (0/false by default), build artifacts will be removed too.
If no buildNumbers parameter is specified removes the whole build!
Since: 2.3.0; artifact removal since 2.3.3;
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: DELETE /api/build/{buildName}[?buildNumbers=n1[,n2]][&artifacts=0/1]
Produces: application/text
Sample usage:


Build Renaming

Description: Renames a build stored in Artifactory. Typically used to keep the build info in sync with a renamed build on the CI server.
Since: 2.2.5
Notes: Requires Artifactory Pro
Security: Requires a valid user with deploy permissions
Usage: POST /api/build/rename/{buildName}?to=newBuildName
Produces: application/text
Sample usage:


ARTIFACTS & STORAGE

Folder Info

Description: Folder Info
For virtual use the virtual repository will return the unified children
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/storage/{repoKey}/{folder-path}
Produces: application/vnd.org.jfrog.artifactory.storage.FolderInfo+json
Sample output:


File Info

Description: File Info
For virtual use the virtual repository will return the resolved file
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/storage/{repoKey}/{filePath}
Produces: application/vnd.org.jfrog.artifactory.storage.FileInfo+json
Sample output:


Item Last Modified

Description: Get the last modified item at the given path. If the given path is a folder, the latest last modified item will be searched for recursively.
Since: 2.2.5
Notes: Requires Artifactory Pro
Security: Requires a valid user with deploy permissions
Usage: GET /api/storage/{repoKey}/{item-path}?lastModified
Produces: application/vnd.org.jfrog.artifactory.storage.ItemLastModified+json
Sample output:


Item Metadata Names

Description: Item Metadata Names
Return the names of metadata entries attached to an item (file or folder).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/storage/{repoKey}/{itemPath}?mdns
Produces: application/vnd.org.jfrog.artifactory.storage.ItemMetadataNames+json
Sample output:


Single Metadata

Description: Retrieve the XML metadata from an item (file or folder).
Since: 2.1.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /{repoKey}/{itemPath}:{metadata-name}
Produces: application/xml
Sample output:


Item Metadata Info (Deprecated)

Description: Item Metadata
Optionally return only the metadata keys requested.
Notes: This API is deprecated. Use the Retrieve Single Metadata API instead.
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/storage/{repoKey}/{itemPath}?md[=md1[,md2]]
Produces: application/vnd.org.jfrog.artifactory.storage.ItemMetadata+json
Sample output:


Delete Single Metadata

Description: Single Metadata - Delete
Remove the XML metadata from an item (file or folder).
Since: 2.1.0
Security: Requires a privileged user (can be anonymous)
Usage: DELETE /{repoKey}/{itemPath}:{metadata-name}
Sample usage:


Set Single Metadata

Description: Attach an XML metadata to an item (file or folder).
Since: 2.1.0
Security: Requires a privileged user (can be anonymous)
Usage: PUT /{repoKey}{itemPath}:{metadata-name}
Consumes: application/xml
Sample usage:


Item Properties

Description: Item Properties. Optionally return only the properties requested.
Since: 2.2.1
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/storage/{repoKey}/{itemPath}?properties[=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.storage.ItemProperties+json
Sample output:


Set Item Properties

Description: Attach properties to an item (file or folder). When a folder is used property attachment is recursive by default.
Notes: Requires Artifactory Pro
Since: 2.3.0
Security: Requires a privileged user (can be anonymous)
Usage: PUT /api/storage/{repoKey}{itemPath}?properties=p1=v1[,v2][|p2=v3][&recursive=1]
Sample usage:


Delete Item Properties

Description: Deletes the specified properties from an item (file or folder). When a folder is used property removal is recursive by default.
Notes: Requires Artifactory Pro
Since: 2.3.2
Security: Requires a privileged user (can be anonymous)
Usage: DELETE /api/storage/{repoKey}{itemPath}?properties=p1[,p2][&recursive=1]
Sample usage:


Retrieve Artifact

Description: Retrieves an artifact from the specified destination.
Notes: You can also use property-based resolution as part of retrieving artifacts.
Security: Requires a user with 'read' permission (can be anonymous)
Usage: GET /repo-key/path/to/artifact.ext
Sample output:


Trace Artifact Retrieval

Description: Simulates an artifact retrieval request from the specified location and returns verbose output about the resolution process.
This API is useful for debugging artifact retrieval issues. 
Security: As applied to standard artifact retrieval by the requesting user.
Since: 2.6.0
Usage: GET /repo-key/path/to/artifact.ext?trace
Produces: text/plain
Sample output:


Archive Entry Download

Description: Retrieves an archived resource from the specified archive destination.
Security: Requires a user with 'read' permission (can be anonymous)
Usage: GET /repo-key/path/to/artifact.jar*!*/path/to/archived/resource (note the '!' between the archive file name and the archive entry path)
Sample output:


Create Directory

Description: Create new directory at the specified destination.
Notes: You can also attach properties as part of creating directories.
Security: Requires a user with 'deploy' permissions (can be anonymous)
Usage: PUT /repo-key/path/to/directory/
Produces: application/vnd.org.jfrog.artifactory.storage.ItemCreated+json
Sample usage:


Deploy Artifact

Description: Deploy an artifact to the specified destination.
Notes: You can also attach properties as part of deploying artifacts.
Security: Requires a user with 'deploy' permissions (can be anonymous)
Usage: PUT /repo-key/path/to/artifact.ext
Produces: application/vnd.org.jfrog.artifactory.storage.ItemCreated+json
Sample usage:


Deploy Artifact by Checksum

Description: Deploy an artifact to the specified destination by checking if the artifact content already exists in Artifactory.
If Artifactory already contains a user readable artifact with the same checksum the artifact content will be copied over to the new location and return a response without requiring content transfer.
Otherwise, a 404 will be returned to indicate that content upload is expected in order to deploy the artifact.
Notes: You can also attach properties as part of deploying artifacts. 
Security: Requires a user with 'deploy' permissions (can be anonymous)
Usage: PUT /repo-key/path/to/artifact.ext
Headers: X-Checksum-Deploy: true, X-Checksum-Sha1: sha1Value
Produces: application/vnd.org.jfrog.artifactory.storage.ItemCreated+json
Since: 2.5.1
Sample output:


Delete Item

Description: Deletes a file or a folder from the specified destination.
Security: Requires a user with 'delete' permission (can be anonymous)
Usage: DELETE /repo-key/path/to/file-or-folder
Sample usage:


Copy Item

Description: Copy an artifact or a folder to the specified destination.
Optionally suppress cross-layout module path translation during copy.
You can test the copy using dry run.
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: POST /api/copy/{srcRepoKey}/{srcFilePath}?to=/{targetRepoKey}/{targetFilePath}[&dry=dryRun][&suppressLayouts=0/1][&failFast=0/1]
Produces: application/vnd.org.jfrog.artifactory.storage.CopyOrMoveResult+json
Since: 2.2.2
Sample output:


Move Item

Description: Moves an artifact or a folder to the specified destination.
Optionally suppress cross-layout module path translation during move.
You can test the move using dry run.
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: POST /api/move/{srcRepoKey}/{srcFilePath}?to=/{targetRepoKey}/{targetFilePath}[&dry=dryRun][&suppressLayouts=0/1][&failFast=0/1]
Produces: application/vnd.org.jfrog.artifactory.storage.CopyOrMoveResult+json
Since: 2.2.2
Sample output:


Scheduled Replication Status

Description: Returns the status of scheduled cron-based replication jobs define via the Artifactory UI on repositories.
Notes: Requires Artifactory Pro
Security: Requires a user with 'read' permission (can be anonymous)
Usage: GET /api/replication/{repoKey}
Produces: application/vnd.org.jfrog.artifactory.replication.ReplicationStatus+json
Since: 2.4.2
Sample usage:


Pull/Push Replication

Description: Schedules immediate content replication between two Artifactory instances. Replication can include metadata properties and can optionally delete local items if they do not exist in the source repository.
This API completes the exiting cron-based replication exposed via the Artifactory UI, and allows for on-demand execution.
Pull replication - pulls content from a remote Artifactory repository to a local cache of the remote repository.
Push replication - pushes content from a local repository into a remote Artifactory local repository.
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous) For non-admin users will replicate at max the number of files as defined by the artifactory.search.userQueryLimit system property.
Usage: POST /api/replication/{srcRepoKey}/{srcPath}
Consumes: application/vnd.org.jfrog.artifactory.replication.ReplicationRequest+json
Since: 2.4.0
Sample usage:

+=mandatory; -=optional


Artifact Sync Download (Deprecated)

Description: Downloads an artifact with or without returning the actual content to the client. When tracking the progress marks will be printed (by default every 1024 bytes). This is extremely useful if you wish to trigger downloads on a remote Artifactory server, for example to force eager cache population of large artifacts, but wish to avoid the bandwidth consumption involved in transferring the artifacts to the triggering client. If no content parameter is specified the file content will be downloaded to the client.
Notes: This API is deprecated. Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/download/{repoKey}/{filePath}[?content=none/progress][&mark=numOfBytesToPrintANewProgressMark]
Produces: application/octet-stream, text/plain (depending on content type)
Since: 2.2.2
Sample output:


Folder Sync (Deprecated)

Description: Triggers a no-content download of artifacts from a remote Artifactory repository for all artifacts under the specified remote folder. Can optionally delete local files if they do not exist in the remote folder, overwrite local files only if they are older than remote files or never overwrite local files. The default is not to delete any local files and to overwrite older local files with remote ones. By default progress marks of the sync are displayed. The default timeout for the remote file list is 15000 milliseconds (15 seconds).
Notes: This API is deprecated. Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous) For non-admin users will replicate at max the number of files as defined by the artifactory.search.userQueryLimit system property.
Usage: GET /api/sync/{remoteRepositoryKey}/{folderPath}[?progress=showProgress][&mark=numOfBytesToPrintANewProgressMark][&delete=deleteExistingFiles][&overwrite=never/force][&timeout=fileListTimeoutInMillis]
Produces: text/plain
Since: 2.2.4
Sample output:


File List

Description: Get a flat (the default) or deep listing of the files and folders (not included by default) within a folder.
For deep listing you can specify an optional depth to limit the results (since 2.3.3).
Optionally include a map of metadata timestamp values as part of the result (since 2.3.3).
folder inclusion since 2.3.2; checksum inclusion since: 2.3.3; include folder root path since: 2.5.2.
Since: 2.2.4
Notes: Requires Artifactory Pro
Security: Requires a non-anonymous privileged user.
Usage: GET /api/storage/{repoKey}/{folder-path}?list[&deep=0/1][&depth=n][&listFolders=0/1][&mdTimestamps=0/1][&includeRootPath=0/1]
Produces: application/vnd.org.jfrog.artifactory.storage.FileList+json
Sample output:


SEARCHES

All searches return limited results (same limits as in the user interface) for anonymous users.

Artifact Search (Quick Search)

Description: Artifact search by part of name (including path)
Searches return file info uris. Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/artifact?name=name[&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ArtifactSearchResult+json
Sample output:


Archive Entry Search (Class Search)

Description: Search archive entries for classes or any other jar resources.
Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/archive?name=[archiveEntryName][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ArchiveEntrySearchResult+json
Sample output:


GAVC Search

Description: Search by Maven coordinates: GroupId, ArtifactId, Version & Classifier.
Search must contain at least one argument. Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/gavc?[g=groupId][&a=artifactId][&v=version][&c=classifier][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.GavcSearchResult+json
Sample output:


Property Search

Description: Search by properties.
If no value is specified for a property - assume '*'. Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/prop?[p1=v1,v2][&p2=v3][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.MetadataSearchResult+json
Sample output:


XPath Search

Description: Search by xpath in indexed XML documents (including POMs and Ivy modules) or attached XML metadta
If no value is specified - assume '*'. Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/xpath?name={artifactName}&metadata={0 for file XML, 1 for metadata XML}&xpath={xpath}&val={value}[&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.XpathSearchResult+json
Sample output:


Checksum Search

Description: Artifact search by checksum (md5 or sha1)
Searches return file info uris. Can limit search to specific repositories (local or caches).
Notes: Requires Artifactory Pro
Since: 2.3.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/checksum?md5=md5sum|?sha1=sha1sum[&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ChecksumSearchResult+json
Sample output:


Bad Checksum Search

Description: Find all artifacts that have a bad or missing client checksum values (md5 or sha1)
Searches return file info uris. Can limit search to specific repositories (local, caches or virtuals).
Notes: Requires Artifactory Pro
Since: 2.3.4
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/badChecksum?type=md5|sha1[&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.BadChecksumSearchResult+json
Sample output:


Artifacts Not Downloaded Since

Description: Get all artifacts not downloaded since the specified Java epoch in msec.
Optionally include only artifacts created before the specified createdBefore date, otherwise only artifacts created before notUsedSince are returned.
Can limit search to specific repositories (local or caches).
Since: 2.2.4
Security: Requires a privileged non-anonymous user.
Usage: GET /api/search/usage?notUsedSince=javaEpochMillis[&createdBefore=javaEpochMillis][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ArtifactUsageResult+json
Sample output:


Artifacts Created in Date Range

Description: Get All Artifacts Created in Date Range
If 'to' is not specified use now(). Can limit search to specific repositories (local or caches).
Since: 2.2.0
Security: Requires a privileged non-anonymous user.
Usage: GET /api/search/creation?from=javaEpochMillis[&to=javaEpochMillis][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ArtifactCreationResult+json
Sample output:


Pattern Search

Description: Get all artifacts matching the given Ant path pattern
Since: 2.2.4
Notes: Requires Artifactory Pro. Pattern "**" is not supported to avoid overloading search results.
Security: Requires a privileged non-anonymous user.
Usage: GET /api/search/pattern?pattern=repo-key:this/is/a//pattern/.war
Produces: application/vnd.org.jfrog.artifactory.search.PatternResultFileSet+json
Sample output:


Builds for Dependency

Description: Find all the builds an artifact is a dependency of (where the artifact is included in the build-info dependencies)
Notes: Requires Artifactory Pro
Since: 2.3.4
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/dependency?sha1=sha1Checksum
Produces: application/vnd.org.jfrog.artifactory.search.DependencyBuilds+json
Sample output:


License Search

Description: Search for artifacts with a specified statuses.
To search by specific license values use Property Search with the 'artifactory.licenses' property.
Default parameter values when unspecified: unapproved=1, unknown=1, notfound=0, neutral=0, approved=0, autofind=0.
When the autofind parameter is specified Artifactory will try to automatically find new license information and return it as part of the result in the found field. Please note that this can affect the speed of the search quite dramatically.
Can limit search to specific repositories (local or caches).
Since: 2.3.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/search/license[?unapproved=1][&unknown=1][&notfound=0][&neutral=0][&approved=0][&autofind=0][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.LicenseResult+json
Sample output:


Artifact Version Search

Description: Search for all available artifact versions by groupId and artifactId in local, remote or virtual repositories.
Search can be limited to specific repositories (local, remote and virtual) by settings the repos parameter.
Release/integration versions: Unless the version parameter is specified, both release and integration versions are returned. When version is specified, e.g. 1.0-SNAPSHOT, result will include only for integration versions. Integration versions are determined by the repository layout of the repositories searched. For integration search to work the repository layout requires an 'Artifact Path Pattern' that contains the baseRev token and then the fileItegRev token with only literals between them.
Remote searches: By default only local and cache repositories will be used. When specifying remote=1, Artifactory will search for versions on remote repositories. Note that this can dramatically slow down the search.
For maven repositories the remote maven-metadata.xml will be consulted. For non-maven layouts, remote file listing will run for all remote repositories that have the 'List Remote Folder Items' checkbox enabled.
Since: 2.6.0
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/versions?[g=groupId][&a=artifactId][&v=version][&remote=0/1][&repos=x[,y]]
Produces: application/vnd.org.jfrog.artifactory.search.ArtifactVersionsResult+json

Sample output:


Artifact Latest Version Search

Description: Search for the latest artifact version by groupId and artifactId.
Search can be limited to specific repositories (local, remote and virtual) by settings the repos parameter.
Latest release vs. latest integration: Unless the version parameter is specified, the search will return the latest artifact release version. When version is specified, e.g. 1.0-SNAPSHOT, the result will be the latest integration version. Integration versions are determined by the repository layout of the repositories searched. For integration search to work the repository layout requires an 'Artifact Path Pattern' that contains the baseRev token and then the fileItegRev token with only literals between them.
Remote searches: By default only local and cache repositories will be used. When specifying remote=1, Artifactory will search for versions on remote repositories. Note that this can dramatically slow down the search.
For maven repositories the remote maven-metadata.xml will be consulted. For non-maven layouts, remote file listing will run for all remote repositories that have the 'List Remote Folder Items' checkbox enabled.
Since: 2.6.0
Notes: Requires Artifactory Pro
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/search/latestVersion?[g=groupId][&a=artifactId][&v=version][&remote=1][&repos=x[,y]]
Produces: text/plain
Sample output:


SECURITY

Get Users

Description: Get the users list
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/users
Produces: application/vnd.org.jfrog.artifactory.security.Users+json
Sample output:


Get User Details

Description: Get the details of an Artifactory user
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/users/{userName}
Producesapplication/vnd.org.jfrog.artifactory.security.User+json
Sample output:


Create or Replace User

Description: Creates a new user in Artifactory or replaces an existing user
Since: 2.4.0
Notes: Requires Artifactory Pro
Missing values will be set to the default values as defined by the consumed type.
Security: Requires an admin user
Usage: PUT /api/security/users/{userName}
Consumesapplication/vnd.org.jfrog.artifactory.security.User+json
Sample usage:


Update User

Description: Updates an exiting user in Artifactory with the provided user details.
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: POST /api/security/users/{userName}
Consumesapplication/vnd.org.jfrog.artifactory.security.User+json
Sample usage:


Delete User

Description: Removes an Artifactory user.
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: DELETE /api/security/users/{userName}
Produces: application/text
Sample usage:


Get Groups

Description: Get the groups list
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/groups
Produces: application/vnd.org.jfrog.artifactory.security.Groups+json
Sample output:


Get Group Details

Description: Get the details of an Artifactory Group
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/groups/{groupName}
Producesapplication/vnd.org.jfrog.artifactory.security.Group+json
Sample output:


Create or Replace Group

Description: Creates a new group in Artifactory or replaces an existing group
Since: 2.4.0
Notes: Requires Artifactory Pro
Missing values will be set to the default values as defined by the consumed type.
Security: Requires an admin user
Usage: PUT /api/security/groups/{groupName}
Consumesapplication/vnd.org.jfrog.artifactory.security.Group+json
Sample usage:


Update Group

Description: Updates an exiting group in Artifactory with the provided group details.
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: POST /api/security/groups/{groupName}
Consumesapplication/vnd.org.jfrog.artifactory.security.Group+json
Sample usage:


Delete Group

Description: Removes an Artifactory group.
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: DELETE /api/security/groups/{groupName}
Produces: application/text
Sample usage:


Get Permission Targets

Description: Get the permission targets list
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/permissions
Produces: application/vnd.org.jfrog.artifactory.security.PermissionTargets+json
Sample output:


Get Permission Target Details

Description: Get the details of an Artifactory Permission Target
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: GET /api/security/permissions/{permissionTargetName}
Producesapplication/vnd.org.jfrog.artifactory.security.PermissionTarget+json
Sample output:


Create or Replace Permission Target

Description: Creates a new permission target in Artifactory or replaces an existing permission target
Since: 2.4.0
Notes: Requires Artifactory Pro
Missing values will be set to the default values as defined by the consumed type.
Security: Requires an admin user
Usage: PUT /api/security/permissions/{permissionTargetName}
Consumesapplication/vnd.org.jfrog.artifactory.security.PermissionTarget+json
Sample usage:


Delete Permission Target

Description: Removes an Artifactory permission target.
Since: 2.4.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: DELETE /api/security/permissions/{permissionTargetName}
Produces: application/text
Sample usage:


Effective Item Permissions

Description: Returns a list of effective permissions for the specified item (file or folder).
Only users and groups with some permissions on the item are returned.
Permissions are returned according to the following conventions:
m=admin; d=delete; w=deploy; n=annotate; r=read
Notes: Requires Artifactory Pro
Since: 2.3.4
Security: Requires a valid admin or local admin user.
Usage: GET /api/storage/{repoKey}/{itemPath}?permissions
Produces: application/vnd.org.jfrog.artifactory.storage.ItemPermissions+json
Sample output:


Security Configuration

Description: Retrieve the security configuration (security.xml).
Since: 2.2.0
Notes: This is an advanced feature - make sure the new configuration is really what you wanted before saving.
Security: Requires a valid admin user
Usage: GET /api/system/security
Produces: application/xml
Sample output:


Save Security Configuration (Deprecated)

Description: Save the security configuration (security.xml).
Since: 2.2.0
Notes: This API is deprecated.
Security: Requires a valid admin user
Usage: POST /api/system/security
Consumes: application/xml
Sample usage:


REPOSITORIES

Get Repositories

Description: Returns a list of minimal repository details for all repositories of the specified type.
Since: 2.2.0
Security: Requires a privileged user (can be anonymous)
Usage: GET /api/repositories[?type=repositoryType (local|remote|virtual)]
Produces: application/vnd.org.jfrog.artifactory.repositories.RepositoryDetailsList+json
Sample output:


Repository Configuration

Description: Gets the current configuration of a repository.
Since: 2.3.0
Notes: Requires Artifactory Pro
Security: Requires a valid user for a shared remote repository and admin user for anything else. Shared remote repository data will be sanitized for security when non-admin user is used.
Usage: GET /api/repositories/{repoKey}
Producesapplication/vnd.org.jfrog.artifactory.repositories.LocalRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.RemoteRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json
Sample output:


Create or Replace Repository Configuration

Description: Creates a new repository in Artifactory with the provided configuration or replaces the configuration of an existing repository.
A position may be specified using the pos parameter. If the map size is shorter than pos the repository will be the last one (the default behavior).
Since: 2.3.0
Notes: Requires Artifactory Pro
An existing repository with the same key will be removed from the configuration and its content will be removed!
Missing values will be set to the default values as defined by the consumed type spec.
Security: Requires an admin user
Usage: PUT /api/repositories/{repoKey}[?pos=position]
Consumesapplication/vnd.org.jfrog.artifactory.repositories.LocalRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.RemoteRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json, application/json
Sample usage:


Update Repository Configuration

Description: Updates an exiting repository configuration in Artifactory with the provided configuration elements.
Since: 2.3.0
Notes: Requires Artifactory Pro
The class of a repository (the rclass attribute cannot be updated.
Security: Requires an admin user
Usage: POST /api/repositories/{repoKey}
Consumesapplication/vnd.org.jfrog.artifactory.repositories.LocalRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.RemoteRepositoryConfiguration+json, application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json, application/json
Sample usage:


Delete Repository

Description: Removes a repository configuration together with the whole repository content.
Since: 2.3.0
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: DELETE /api/repositories/{repoKey}
Produces: application/text
Sample usage:


Remote Repository Configuration

Description: Repository Configuration (Deprecated)
Gets the shared configuration of a remote repository.
Since: 2.2.0
Notes: This API is deprecated. Use the Get Repository Configuration API instead.
Security: Requires a valid user for a shared remote repository and admin user for anything else. Shared remote repository data will be sanitized for security when non-admin user is used.
Usage: GET /api/repositories/{remoteRepoName}/configuration
Produces: application/vnd.org.jfrog.artifactory.repositories.SharedRemoteRepositoryConfiguration+json
Sample output:


Calculate YUM Repository Metadata

Description: Calculates/recalculates the YUM metdata for this repository, based on the RPM package currently hosted in the repository.
Calculation can be synchronous (the default) or asynchronous.
Please see the YUM integration documentation for more details.
Notes: Requires Artifactory Pro. Immediate calculation requests cannot be called on repositories with automatic asynchronous calculations enabled.
Security: Requires a valid admin user
Usage: POST /api/yum/{repoKey}[?async=0/1]
Produces: application/text
Since: 2.3.5
Sample output:


Calculate Maven Index

Description: Calculates/caches a Maven index for the specified repositories.
For a virtual repository specify all underlying repositories that you wish the aggregated index to include.
Calculation can be forced, which for remote repositories will cause downloading of a remote index even if a locally cached index has not yet expired; and index recalculation based on the cache on any failure to download the remote index, including communication errors (the default behavior is to only use the cache when a remote index cannot be found and returns a 404). Forcing has no effect on local repositories index calculation.
Please see the Exposing Maven Indexes documentation for more details.
Notes: Requires Artifactory Pro.
Security: Requires a valid admin user
Usage: POST /api/maven[?repos=x[,y]][&force=0/1]
Produces: application/text
Since: 2.5.0
Sample output:


SYSTEM & CONFIGURATION

System Info

Description: System Info
Get general system information.
Since: 2.2.0
Security: Requires a valid admin user
Usage: GET /api/system
Produces: text/plain
Sample output:


System Health Ping

Description: Get a simple status response about the state of Artifactory
Returns 200 code with an 'OK' text if Artifactory is working properly, if not will return an HTTP error code with a reason.
Since: 2.3.0
Security: Requires a valid user (can be anonymous)
Usage: GET /api/system/ping
Produces: text/plain
Sample output:


General Configuration

Description: Get the general configuration (artifactory.config.xml).
Since: 2.2.0
Security: Requires a valid admin user
Usage: GET /api/system/configuration
Produces: application/xml (http://www.jfrog.org/xsd/artifactory-v1_4_5.xsd)
Sample output:


Save General Configuration

Description: Save the general configuration (artifactory.config.xml).
Since: 2.2.0
Notes: This is an advanced feature - make sure the new configuration is really what you wanted before saving.
Security: Requires a valid admin user
Usage: POST /api/system/configuration
Consumes: application/xml (http://www.jfrog.org/xsd/artifactory-v1_4_5.xsd)
Sample usage:


Version and Add-ons information

Description: Get information about the current Artifactory version, revision, and currently installed add-ons
Since: 2.2.2
Security: Requires a valid user (can be anonymous)
Usage: GET /api/system/version
Producesapplication/vnd.org.jfrog.artifactory.system.Version+json
Sample output:


PLUGINS

Execute Plugin Code

Description: Executes a named execution closure found in the executions section of a user plugin.
Execution can take parameters and be synchronous (the default) or asynchronous.
Since: 2.3.1
Notes: Requires Artifactory Pro
Security: Requires an admin user
Usage: POST /api/plugins/execute/{executionName}?[params=p1=v1[,v2][|p2=v3][&async=1]]
Produces: text/plain
Sample output:


Retrieve All Available Plugin Info

Description: Retrieves all available user plugin information (subject to the permissions of the provided credentials).
Since: 2.5.2
Notes: Requires Artifactory Pro
Security: Requires an authenticated user.
Usage: GET /api/plugins
Produces: application/json
Sample output:

 


Retrieve Plugin Info Of A Certain Type

Description: Retrieves all available user plugin information (subject to the permissions of the provided credentials) of the specified type.
Since: 2.5.2
Notes: Requires Artifactory Pro
Security: Requires an authenticated user.
Usage: GET /api/plugins/{pluginType}
Produces: application/json
Sample output:


Retrieve Build Staging Strategy

Description: Retrieves a build staging strategy defined by a user plugin.
Since: 2.5.2
Notes: Requires Artifactory Pro
Security: Requires an authenticated user.
Usage: GET /api/plugins/build/staging/{strategyName}?buildName={buildName}&[params=p1=v1[,v2][|p2=v3]]
Produces: application/vnd.org.jfrog.plugins.BuildStagingStrategy
Sample output:


Execute Build Promotion 

Description: Executes a named promotion closure found in the promotions section of a user plugin.
Since: 2.5.2
Notes: Requires Artifactory Pro
Security: Requires an authenticated user.
Usage: POST /api/plugins/build/promote/{promotionName}/{buildName}/{buildNumber}?[params=p1=v1[,v2][|p2=v3]]
Produces: text/plain
Sample output:


IMPORT & EXPORT

Import Repository Content

Description: Import one or more repositories.
Since: 2.2.2
Security: Requires a valid admin user
Usage: POST: /api/import/repositories
Requests Params:
path - The base path to import from (may contain a single repo or multiple repos with named sub folders)
repo - Empty/null repo -> all
metadata - Include metadata - default 1
verbose - Verbose - default 0
Produces: text/plain
Sample output:


Import System Settings Example

Description: Returned default Import Settings JSON.
Since: 2.4.0
Security: Requires a valid admin user
Usage: GET: /api/import/system
Producesapplication/vnd.org.jfrog.artifactory.system.ImportSettings+json
Sample usage:


Full System Import

Description: Import full system from a server local Artifactory export directory.
Since: 2.4.0
Security: Requires a valid admin user
Usage: POST: /api/import/system
Consumes : application/vnd.org.jfrog.artifactory.system.ImportSettings+json, application/json
Produces: text/plain
Sample usage:


Export System Settings Example

Description: Returned default Export Settings JSON.
Since: 2.4.0
Security: Requires a valid admin user
Usage: GET: /api/export/system
Producesapplication/vnd.org.jfrog.artifactory.system.ExportSettings+json
Sample usage:


Export System

Description: Export full system to a server local directory.
Since: 2.4.0
Security: Requires a valid admin user
Usage: POST: /api/system/export
Consumes : application/vnd.org.jfrog.artifactory.system.ExportSettings+json, application/json
Produces: text/plain
Sample usage:

Labels: