Description: Get an indication if Mission Control is running or not. No authentication required.
Since: 2.0
Usage: GET /api/v3/ping
Example:
GET /api/v3/ping true |
Description: Adds a proxy.
Consumes: application/json
Example:
POST /api/v3/proxies HTTP/1.1 { "name" : "proxy-01", "url" : "http://proxyurl:8080", "sites" : [ { "source_site" : "source-Site", "destination_site" : "destination-Site" } ], "username" : "username", "password" : "password" } |
Example:
$ curl 'http://localhost:8080/api/v3/proxies' -i -u 'admin:password' -X POST -H 'Content-Type: application/json; charset=UTF-8' -d '{ "name" : "proxy-01", "url" : "http://proxyurl:8080", "sites" : [ { "source_site" : "source-Site", "destination_site" : "destination-Site" } ], "username" : "username", "password" : "password" }' |
Description: Adds an external proxy.
Since: 3.2
Security: Requires an admin user
Usage: POST /api/v3/proxies
Consumes: application/json
Example:
POST /api/v3/proxies HTTP/1.1 { "name" : "proxy-01", "url" : "http://proxyurl:8080", "sites" : [ { "source_site" : "source-Site" } ], "username" : "username", "password" : "password" } |
Description: Updates a proxy.
Since: 3.2
Security: Requires an admin user
Usage: POST /api/v3/proxies/{name}
Consumes: application/json
Example:
PUT /api/v3/proxies/proxy-01 HTTP/1.1 { "name" : "proxy-01-1", "url" : "http://a53dacff-7d2a-4991-bea0-231abe891e52:8080", "sites" : [ { "source_site" : "source-Site2", "destination_site" : "destination-Site2" } ], "username" : "username1", "password" : "password1" } |
Description: Get the list of proxies.
Since: 3.2
Security: Requires an admin user
Usage: Get /api/v3/proxies
Consumes: application/json
Example:
GET /api/v3/proxies HTTP/1.1 [ { "name" : "proxy-01", "url" : "http://ff121cae-f1f1-4639-85ff-cb07c744c730", "sites" : [ { "source_site" : "source-site-name", "destination_site" : "destination-site-name" } ] }, { "name" : "proxy-02", "url" : "http://14dc60cb-e3c2-476f-b4a6-263adf70a34d", "sites" : [ { "source_site" : "source-site-name" } ] } ] |
Command line:
$ curl 'http://localhost:8080/api/v3/proxies' -i -u 'admin:password' -H 'Content-Type: application/json; charset=UTF-8' |
Description: Get the list of proxies by source service.
Since: 3.2
Security: Requires an admin user
Usage: GET /api/v3/proxies?src_service={service_name}
Consumes: application/json
Example:
GET /api/v3/proxies?src_service=artifactory HTTP/1.1 [ { "name" : "proxy-01", "url" : "http://cfc3cf06-18b2-414c-a3e7-12dfd593201d", "sites" : [ { "source_site" : "source-site-name", "destination_site" : "destination-site-name" } ] } ] |
GET /api/v3/proxies?dest_service=artifactory HTTP/1.1 [ { "name" : "proxy-01", "url" : "http://609c68a0-9e8c-4104-adac-0623914c85bf", "sites" : [ { "source_site" : "source-site-name", "destination_site" : "destination-site-name" } ] } ] |
GET /api/v3/proxies?src_service=source-artifactory&dest_service=destination [ { "name" : "proxy-01", "url" : "http://609c68a0-9e8c-4104-adac-0623914c85bf", "sites" : [ { "source_site" : "source-site-name", "destination_site" : "destination-site-name" } ] } ] |
Example:
GET /api/v3/proxies/proxy-01 HTTP/1.1 { "name" : "proxy-01", "url" : "http://0277a02d-5267-46c9-a5c9-7836f0bff8fb", "sites" : [ { "source_site" : "source-Site", "destination_site" : "destination-Site" } ] } |
Description: Removes a proxy from Mission Control.
Since: 3.2
Security: Requires an admin user
Usage: DELETE /api/v3/proxies/{name}
Consumes: application/json
DELETE /api/v3/proxies/proxy-01 HTTP/1.1 |
These are the relevant fields when configuring sites:
Field | Type | Optional | Description |
---|---|---|---|
name | String | false | Site's name |
description | String | true | Site's description |
city | Object | false | Site's city |
city.name | String | true | City's name |
city.country_code | String | true | City's country code |
city.longitude | Number | false | City's longitude |
city.latitude | Number | false | City's latitude |
services | Array | true | Names of services |
Description: Create a new site.
Return codes:
201 - No Content
400 - Couldn't find service(s) with following name(s):, '<Service name>', '<Service name>'
409 - Name '<Site name>' already exists.
{ "name" : "<Site name>", "description" : "<Site description>", "city" : { "name" : "<City name>", "country_code" : "<Country code>", "latitude" : <City lat coordinate>, "longitude" : <City lon coordinate> }, "services" : [ "<Service name>" ] } |
$ curl 'http://localhost:8080/api/v3/sites' -i -u 'admin:password' -X POST -H 'Content-Type: application/json; charset=UTF-8' -T createsite.json |
{ "name": "us-west", "description": "US West coast site", "city": { "name": "Sunnyvale", "country_code": "US", "latitude": 37.368830, "longitude": -122.036350 }, "services": ["arti-west", "xray-west"] } |
Description: Updates an exiting site by name.
Return codes:
204 - No Content
409 - The entity 'Site' with identifier '<Site-name>' was not found
{ "name" : "<Updated site name>", "description" : "<Updated site description>", "city" : { "name" : "<Updated city name>", "country_code" : "<Updated country code>", "latitude" : <Updated city lat coordinate>, "longitude" : <Updated city lon coordinate> }, "services" : [ { "name" : "<Service name>", "type" : "<ARTIFACTORY | XRAY>" }] } |
Example :
In this example, an existing site named Argentina is being updated to Mexico Data Center with appropriate attributes. If the site 'Argentina' exists, 204 No Content will be returned
$ curl -XPUT 'http://localhost:8080/api/v3/sites/Argentina' -i -u 'admin:password' -H 'Content-Type: application/json; charset=UTF-8' -T updatesite.json |
{ "name" : "Mexico Data Center", "description" : "Updated site description", "city" : { "name" : "Mexico City", "country_code" : "MX", "latitude" : 19.428470, "longitude" : -99.127660 } } |
Description: Updates a site without updating the attributes.
Since: 2.1
Return codes:
204 - No Content
Consumes: application/json
PATCH /api/v3/sites/{name} |
Example:
PATCH /api/v3/sites/Site%20name HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:8080 Content-Length: 119 { "name" : "Updated site name", "description" : "Updated site description", "services" : [ "Artifactory name" ] } HTTP/1.1 204 No Content |
Example:
$ curl 'http://localhost:8080/api/v3/sites/Site%20name' -i -u 'admin:password' -X PATCH -H 'Content-Type: application/json; charset=UTF-8' -d '{ "name" : "Updated site name", "description" : "Updated site description", "services" : [ "Artifactory name" ] }' |
Description: Gets a site by name
Return codes:
200 - Success
409 - The entity 'Site' with identifier '{name}' was not found"
{ "name" : "<Site name>", "description" : "<Site description>", "city" : { "name" : "<City name>", "country_code" : "CODE", "latitude" : <City lat coordinate>, "longitude" : <City lon coordinate> }, "services" : [ { "name" : "<Service name>", "type" : "<ARTIFACTORY | XRAY>" }] } |
Example:
In this example, information regarding Site named 'China' is being retrieved. If site 'China' exists 200 Success will be returned
$ curl -XGET 'http://localhost:8080/api/v3/sites/China' -uadmin:password |
{ "name": "Beijing", "description": "Beijing Data Center", "city": { "name": "Beijing", "country_code": "CN", "latitude": 39.907500, "longitude": 116.397230 }, "services": [ { "name": "arti-beijing", "type": "ARTIFACTORY" } ] } 200 Success |
Description: Gets a list of all sites
Return codes:
200 - Success
409 - The entity 'Site' with identifier '<Site-name>' was not found
[{ "name" : "<Site name>", "description" : "<Site description>", "city" : { "name" : "<City name>", "country_code" : "CODE", "latitude" : <City lat coordinate>, "longitude" : <City lon coordinate> }, "services" : [ { "name" : "<Service name>", "type" : "<ARTIFACTORY | XRAY>" }] }] |
Example:
$ curl -XGET 'http://localhost:8080/api/v3/sites' -uadmin:password |
[ { "name": "China", "description": "", "city": { "name": "Shanghai", "country_code": "CN", "latitude": 31.22222, "longitude": 121.45806 }, "services": [ { "name": "China", "type": "ARTIFACTORY" } ] }, { "name": "Argentina", "description": "", "city": { "name": "Buenos Aires", "country_code": "AR", "latitude": -34.61315, "longitude": -58.37723 }, "services": [ { "name": "Source Local", "type": "ARTIFACTORY" } ] } ] 200 Success |
Description: Delete a site
200 - Success
409 - Cannot delete site {name}, it has non-empty service(s): {name of the service}
Example:
$ curl -XDELETE 'http://localhost:8080/api/v3/sites/China' -uadmin:password -H "Content-Type: application/json" |
Description: Creates a new service.
Return codes:
201 - Created
409 - Failed to connect to the service. Please verify that the service information provided is correct
{ "name" : "<Service name>", "description" : "<Service description>", "url" : "<Service URL>", "username" : "<Service admin username>", "password" : "<Service admin password>", "type" : "<ARTIFACTORY | XRAY>" "site_name" : "<Site name">, "auth_token": "<Service's authentication token, instead of using the username/password>", "pair_with_auth_provider" : "<true | false>", "auth_provider" : "<true | false>" } |
Example:
$ curl 'http://localhost:8080/api/v3/services' -i -u 'admin:password' -X POST -H 'Content-Type: application/json; charset=UTF-8' -T createservice.json |
{ "name" : "dev-west", "description" : "Artifactory serving development in West region", "url" : "https://artifactory-west.acme.com/artifactory", "username" : "admin", "password" : "password", "type" : "ARTIFACTORY" } 201 Created |
Description: Updates a service
Return codes:
204 - No Content
409 - Url <Service-url> already exists
{ "name" : "<Service name>", "description" : "<Service description>", "url" : "<Service URL>", "username" : "<Service admin username>", "password" : "<Service admin password>" } |
Example:
$ curl 'http://localhost:8080/api/v3/services/dev-west' -i -u 'admin:password' -X PUT -H 'Content-Type: application/json; charset=UTF-8' -T updateservice.json |
{ "name" : "dev-east", "description" : "Artifactory serving development in East region", "url" : "https://artifactory-east.acme.com/artifactory", "username" : "admin", "password" : "password" } 204 No Content |
Description: Get a list of all services
Example:
$ curl -XGET 'http://localhost:8080/api/v3/services' -uadmin:password |
[ { "name": "Argentina", "description" : "Artifactory serving development in Argentina", "url": "http://10.0.0.8:8082/artifactory", "type": "ARTIFACTORY", "service_type": "jfrt", "service_id": "jfrt@01ccgfzxdyqd3y0d816fns0zhh", "site": { "city": { "country_code": "AR", "latitude": -34.61315, "longitude": -58.37723, "name": "Buenos Aires" }, "description": "", "name": "Argentina" } }, { "name": "China", "description" : "Artifactory serving development in China", "url": "http://10.0.0.8:8081/artifactory", "type": "ARTIFACTORY", "service_type": "jfrt", "service_id": "jfrt@01cdmdjarccxy009wnzmwf06jp", "site": { "city": { "country_code": "CN", "latitude": 31.22222, "longitude": 121.45806, "name": "Shanghai" }, "description": "", "name": "China" } } ] 200 Success |
GET /api/v3/services?source=Source%20Artifactory%20Name HTTP/1.1 [ { "name" : "Source Artifactory Name", "url" : "http://Source Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqghgxara0b0ej8nct10dyd", "site" : { "name" : "Source Site Name", "description" : "59551ac7-d8a3-426d-90a7-730219f11ddc", "city" : { "name" : "73955951-ef5c-4864-a118-561b117fdb7c", "latitude" : 66.778899, "longitude" : 44.556644 } } }, { "name" : "Destination Artifactory Name", "url" : "http://Destination Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqghgxf30e91k6gascc1r7p", "site" : { "name" : "Destination Site Name", "description" : "06dce948-ef85-45d6-b600-c2dc8ca57a63", "city" : { "name" : "c64f2329-2021-49ec-9188-cea1840f9df6", "latitude" : 66.778899, "longitude" : 44.556644 } }, "proxy" : { "url" : "http://proxy.com" } } ] |
GET /api/v3/services/jfrt%4001crqgh6fyxtpn1eyddfwa1hk1?source=Source%20Artifactory%20Name { "name" : "Destination Artifactory Name", "url" : "http://Destination Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqgh6fyxtpn1eyddfwa1hk1", "site" : { "name" : "Destination Site Name", "description" : "31c51fe9-dfa0-48d4-8ce7-675e2b6b1b43", "city" : { "name" : "28759984-cf1a-41bc-952c-33e4e3a7c4a0", "latitude" : 66.778899, "longitude" : 44.556644 } }, "proxy" : { "url" : "http://proxy.com" } } |
Description: Deletes a service
200 - Success
Example:
$ curl -XDELETE 'http://localhost:8080/api/v3/services/Argentina' -uadmin:password -H "Content-Type: application/json" |
Description: Gets the list of repositories in the specified Artifactory service
200 - Success
Example:
$ curl -XGET 'http://localhost:8080/api/v3/services/artifactory/{name}/repositories' -uadmin:password |
[ { "repository_key": "bower-local", "description": "", "type": "local", "package_type": "bower" }, { "repository_key": "generic-local", "description": "", "type": "local", "package_type": "generic" }, { "repository_key": "libs-release-local", "description": "", "type": "local", "package_type": "maven" }, ... { "repository_key": "npm", "description": "", "type": "virtual", "package_type": "npm" } ] |
Description: Gets the Access Federation configuration for a specific service. Returns the Federation targets configured for the provided service.
200 - Success
400 - The service is not a valid Access Federation candidate.
404 - The service was not found or it is not an Artifactory.
Consumes: application/json
Request Example:
GET /api/v3/services/access/artifactory1/federation HTTP/1.1 |
Response Example:
{ "entities" : [ "GROUPS", "USERS" ], "targets" : [ { "name" : "artifactory2", "code" : "access2ServiceId", "url" : "http://localhost:37837" } ] } |
Description: Gets the Access Federation configurations for all the services.
200 - Success
Request Example:
GET /api/v3/services/access/federation?include_non_configured=false HTTP/1.1 |
Response Example:
[ { "source" : "artifactory1", "entities" : [ "GROUPS", "USERS" ], "targets" : [ { "name" : "artifactory2", "code" : "access2ServiceId", "url" : "url2" } ] } ] |
Description: Configures Access Federation for a specific Artifactory service. As a pre-requisite, the source and targets must have been configured properly for Access Federation based on this.
Since: 3.3
Security: Requires an admin user
Usage: PUT /api/v3/services/access/{serviceName}/federation
Example Request:
PUT /api/v3/services/access/artifactory1/federation HTTP/1.1 { "entities" : [ "USERS", "GROUPS" ], "targets" : [ { "name" : "artifactory2", "url" : "http://localhost:8080" } ] } |
Example Response:
[ { "label" : "Get configuration of artifactory1", "status" : "OK" }, { "label" : "Get Access token from artifactory1", "status" : "OK" }, { "label" : "Check if artifactory2 trusts artifactory1", "status" : "OK" }, { "label" : "Send configuration to artifactory1", "status" : "OK" }, { "label" : "Add target artifactory2 to artifactory1", "status" : "OK" } ] |
Description: Gets the Access Federation for a specific service.
Since: 3.3
Security: Requires an admin user
Usage: GET /api/v3/services/access/federation/candidates
Request Example:
GET /api/v3/services/access/federation/candidates HTTP/1.1 |
Response Example:
["service name 1", "service name 2"] |
Description: Creates a mesh topology. As a pre-requisite, the source and targets must have been configured properly for Access Federation based on this.
Since: 3.3
Security: Requires an admin user
Usage: POST /api/v3/services/access/federation/create_mesh
Return codes:
Request Example:
POST /api/v3/services/access/federation/create_mesh HTTP/1.1 |
Response Example:
{ "services": [ "service name 1", "service name 2" ], "entities": [ "USERS", "GROUPS", "PERMISSIONS", "TOKENS" ] } |
Description: Get status of all services
Since: 2.0
Usage: GET /api/v3/services/monitoring/status
200 - Success
Produces: application/json
[ { "service_name": "<Service name>", "up_time_in_sec": <Time in seconds that the service has been up>, "service_state": "< ONLINE | OFFLINE >" } ] |
$ curl -XGET 'http://localhost:8080/api/v3/services/monitoring/status' -uadmin:password |
[ { "service_name": "China", "up_time_in_sec": 29282, "service_state": "ONLINE" }, { "service_name": "Argentina", "up_time_in_sec": 131, "service_state": "ONLINE" } ] 200 Success |
Description: Get status of the specified service
200 - Success
{ "service_name": "<Service name>", "up_time_in_sec": <Time in seconds that the service has been up>, "service_state": "< ONLINE | OFFLINE >" } |
$ curl -XGET 'http://localhost:8080/api/v3/services/China/monitoring/status' -uadmin:password |
{ "service_name": "China", "up_time_in_sec": 46182, "service_state": "ONLINE" } 200 Success |
Description: Create a new support bundle.
Since: 3.2
Security: Requires an admin user
Notes: All bundle items are optional.
Usage: POST /api/v3/system/support/bundle
Return codes:
202 - Support bundle is being created and will be available soon
400 - Invalid option values
403 - Unauthorized
Sample Usage:
POST /api/v3/system/support/bundle HTTP/1.1 { "name" : "My support bundle", "description" : "Support bundle generated because of issue XYZ", "parameters" : { "configuration" : true, "system" : true, "logs" : { "include" : true, "start_date" : "2018-09-19", "end_date" : "2018-09-20" }, "thread_dump" : { "count" : 1, "interval" : 0 } } } |
Example:
$ curl -X POST -uadmin:password https://my-mission-control.jfrogdev.co/api/v3/system/support/bundle -H 'Content-Type: application/json' \ -d '{ "name": "JFMC support bundle", "description": "Support bundle generated because of issue with XYZ", "parameters": { "configuration": true, "system": true, "thread_dump": { "count": 1, "interval": 0 }, "logs": { "include": true, "start_date": "2018-12-25", "end_date": "2019-01-07" } } }' |
Example Output:
HTTP/1.1 202 Accepted Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 247 { "id" : "SUPP20180912154413548991", "artifactory" : { "service_id" : "jfrt@12d0hodgwb0bz427ldnyyk22se", "bundle_url" : "http://artifactory.jfrog.com/artifactory/jfrog-support-bundle/SUPP20180912154413548991/jfmc/test_service } } |
Description: Get the list of available support bundles.
Since: 3.2
Security: Requires an admin user
Usage: GET /api/v3/system/support/bundles
Return codes:
200 - Successful
403 - Unauthorized
Example:
GET /api/v3/system/support/bundles HTTP/1.1 |
Response:
{ "count" : 2, "bundles" : [ { "name" : "A", "description" : "aaa", "id" : "1", "created" : "2018-10-01T09:50:11Z" }, { "name" : "B", "id" : "2", "created" : "2018-10-01T09:50:11Z" } ] } |
Description: Gets the details of a specific support bundle.
Since: 3.2
Security: Requires an admin user
Usage: GET /api/v3/system/support/bundle/{id}
Return codes:
200 - Successful
403 - Unauthorized
404 - Supplied ID does not refer to an existing support bundle
Example:
GET /api/v3/system/support/bundle/SUPP20180912154413548991 HTTP/1.1 |
Response:
{ "name" : "issue #1234", "description" : "Support bundle created for issue #1234 investigation", "artifactory" : { "service_id" : "jfrt@12d0hodgwb0bz427ldnyyk22se", "bundle_url" : "http://artifactory.jfrog.com/artifactory/jfrog-admin-supportbundle/SUPP20180912154413548991/jfmc/01c7b8rg70nrqr1cck7k4x0yp7" }, "parameters" : { "configuration" : true, "system" : true, "logs" : { "include" : true, "start_date" : "2018-09-30", "end_date" : "2018-10-01" }, "thread_dump" : { "count" : 1, "interval" : 0 } }, "available" : 5, "created" : "2018-10-01T09:50:10Z" } |
Description: Downloads a support bundle as a ZIP file.
Since: 3.2
Security: Requires an admin user. You need to have the "Download folder" permission enabled on Artifactory.
Usage: GET /api/v3/system/support/bundle/{id}/archive
Return codes:
200 - Successful
403 - Unauthorized (it may be that the "Download folder" option is not enabled on the Authentication Provider Artifactory)
404 - Supplied ID does not refer to an existing support bundle or the ZIP cannot be found in the Authentication Provider Artifactory repository
Example:
GET /api/v3/system/support/bundle/SUPP20180912154413548991/archive HTTP/1.1 |
Description: Deletes a support bundle, along with the ZIP file in Artifactory.
Since: 3.2
Security: Requires an admin user
Usage: DELETE /api/v3/system/support/bundle/{id}
Return codes:
204 - Successful
403 - Unauthorized
404 - Supplied ID does not refer to an existing support bundle
Example:
DELETE /api/v3/system/support/bundle/SUPP20180912154413548991 HTTP/1.1 |
Description: Create a new support bundle. create support bundle for several services
Since: 3.5
Security: Requires an admin user
Usage: POST /api/v3/platform/support/bundle
Return codes:
200 - Support bundle is being created and will be available soon
422 - Service list empty or too large
504 - Timeout
400 - Invalid Request
Sample Usage:
POST /api/v3/platform/support/bundle HTTP/1.1 { "name" : "my_support_bundle", "description" : "Platform Support Bundle test description", "services" : [ "self", "art1" ], "parameters" : { "configuration" : true, "system" : true, "logs" : { "include" : true, "start_date" : "2019-03-14", "end_date" : "2019-03-15" }, "thread_dump" : { "count" : 1, "interval" : 0 } } } |
Example Output:
200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 487 { "id" : "20190315-1624-cab48ff6-33e4-4e17-b2c9-845a71ffa3a7", "locations" : [ { "service_id" : "jfrt@01d612nxv8yfcn119xsj7d1jrz", "artifactory" : { "service_id" : "jfrt@other.jfrog.com", "bundle_url" : "http://other.jfrog.com/artifactory/" } }, { "service_id" : "jfmc@01c7b8rg70nrqr1cck7k4x0yp7", "artifactory" : { "service_id" : "jfrt@auth-provider.jfrog.com", "bundle_url" : "http://auth-provider.jfrog.com/artifactory/" } } ] } |
Description: Gets a list of previously created support bundles.
Since: 3.5
Security: Requires an admin user
Usage: GET /api/v3/platform/support/bundles
Return codes:
200 - OK
400 - Invalid Request
Sample Usage:
GET /api/v3/platform/support/bundles HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 319 { "bundles" : [ { "id" : "20190218-1554-c5043f76-4d6d-49e2-9ab7-2999b7af02ef", "name" : "sb-name", "description" : "sb-description", "created" : "2019-02-18T15:54:00Z" }, { "id" : "20190218-1553-bb12b2e0-3b16-44aa-889a-513c14976542", "created" : "2019-02-18T15:53:00Z" } ], "count" : 2 } |
Description: Gets the metadata for a previously created support bundle.
Since: 3.5
Security: Requires an admin user
Usage: GET /api/v3/system/support/bundle/{id}
Return codes:
200 - OK
400 - Invalid Request
Sample Usage:
GET /api/v3/platform/support/bundle/20190218-1554-88722539-78af-41bc-a5d7-e7567fb7189f HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 742 { "id" : "20190218-1554-88722539-78af-41bc-a5d7-e7567fb7189f", "name" : "sb-name", "description" : "sb-description", "status" : "success", "created" : "2019-02-18T15:54:00Z", "parameters" : { "configuration" : true, "system" : true, "logs" : { "include" : true, "start_date" : "2019-03-14", "end_date" : "2019-03-15" }, "thread_dump" : { "count" : 1, "interval" : 0 } }, "locations" : [ { "service_id" : "jfxr@2222", "artifactory" : { "service_id" : "jfrt@jfxr", "bundle_url" : "https://art.jfxr" } }, { "service_id" : "jfds@1111", "artifactory" : { "service_id" : "jfrt@jfds", "bundle_url" : "https://arti.jfds" } } ] } |
Description: Downloads a previously created support bundle as a ZIP file.
Since: 3.5
Security: Requires an admin user
Usage: GET /api/v3/platform/support/bundle/{id}/archive
Return codes:
200 - Support bundle zip will be downloaded
400 - Invalid Request
Sample Usage:
GET /api/v3/platform/support/bundle/20190218-1553-2ea5aa8c-0ee7-4981-9028-d19c653b423a/archive HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Disposition: attachment; filename="20190218-1553-2ea5aa8c-0ee7-4981-9028-d19c653b423a.zip" Content-Type: application/zip X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 28 |
Description: Deletes a previously created support bundle, along with the ZIP file in Artifactory.
Since: 3.5
Security: Requires an admin user
Usage: DELETE /api/v3/platform/support/bundle/{id}
Return codes:
200 - Support bundle successfully deleted
404 - Support bundle id not found or invalid
500 - Support could not be deleted
Sample Usage:
DELETE /api/v3/platform/support/bundle/20190218-1554-7d3f4afa-a129-435e-822a-d19a052f9b4a HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 110 { "deleted" : [ "jfmc@01c7b8rg70nrqr1cck7k4x0yp7", "jfrt@01d612qkz4bjqt0e36d13s1ry5" ], "failures" : [ ] } |
Description: Matches up a Master and Target Artifactory service as a DR pair.
{ "source" : "<Source artifactory instance>", "target" : "<Target artifactory instance>" } |
Produces: application/json
{ "active": "NONE", "dr_replications_enabled": <true | false>, "state": "NONE" } |
Example:
$ curl -X POST 'http://localhost:8080/api/v3/dr-configs' -i -u 'admin:password' -H 'Content-Type: application/json; charset=UTF-8' -T createdr.json |
{ "source" : "Mexico", "target" : "China" } |
{ "active": "NONE", "dr_replications_enabled": false, "state": "NONE" } |
Description: Get a list of all scripts
200 - Success
[ { "name" : "<script name>" } ] |
Example:
$ curl -XGET 'http://localhost:8080/api/v3/scripts' -uadmin:password |
[ { "name": "Create_repository" }, { "name": "Delete_repository" }, { "name": "ldap" }, { "name": "Create_service" } ] 200 Success |
Description: Get a list of required script user inputs
200 - Success
$ curl -XGET 'http://localhost:8080/api/v3/scripts/{name}/user_inputs' -uadmin:password |
{ "ArtifactoryDsl#0#LocalRepositoryDsl#0#description#0": { "name": "Enter the required user input value here", "description": "Please provide a description", "value": "This is a generic description", "type": "STRING", "multivalued": false } } |
Description: Executes the specified scripts on the specified service
200 - Success
[ { "instance":{ "name":"<instance name>", "url":"<instance URL>", "type":"<instance type>" }, "status":"< OK | ERROR >", "execution_duration":<Duration in seconds> } ] |
In case of error, output is:
[ { "instance":{ "name":"<instance name>", "url":"<instance URL>", "type":"<instance type>" }, "status":"ERROR", error: { "type": "<Error type>", "message" : "<Error message>", "details" : [ "<Additional details>" ], }, "execution_duration":<Duration in seconds> } ] |
Example:
$ curl -uadmin:password -XPUT http://localhost:8080/api/v3/execute_script/{Script_Name} -d '{}' -H 'Content-Type: application/json' |
[ { "instance":{ "name":"Mexico", "url":"http://172.31.61.159:8081/artifactory", "type":"ARTIFACTORY" }, "status":"OK", "execution_duration":1622, "operation":"UPDATE_REPOSITORY" } ] |
Description: Retrieves all the license buckets in the system.
Return codes:
200 - Success
[ { "id" : "<bucket id>", "name" : "<bucket name>", "size" : <number of licenses in bucket>, "license_type": "<ENTERPRISE | EDGE>" } ] |
Sample Usage:
GET /api/v3/buckets [ { "id" : "12345", "name" : "bucket-test-1", "size" : 10, "license_type": "ENTERPRISE" }, { "id" : "1234567", "name": "bucket-test-2", "size" : 5, "license_type": "EDGE" } ] |
Description: Creates a new License Bucket.
Return codes:
201 - Created
409 - Name '<Bucket name>' already exists
409 - Url '<Bucket URL>' already exists
{ "bucket_name" : "<Bucket name>", "bucket_url" : "<Bucket URL>", "bucket_key" : "<Bucket key>" } |
Example:
$ curl 'http://localhost:8080/api/v3/buckets' -i -u 'admin:password' -X POST -H 'Content-Type: application/json; charset=UTF-8' -T createbucket.json |
createbucket.json
{ "bucket_name" : "main-bucket", "bucket_url" : "https://bintray.jfrog.com/license-buckets/test_jfrog.com/12345678/12345678.json?expiry=1528199600307&id=ABCDEFGhiJkLmNoPQR", "bucket_key" : "16629dbf7fefc9d179b36ba005685c2dd8376aad3278178e735da1633c6bd3c6" } |
201 Created { "subject" : "JFrog", "product_name" : "Artifactory", "product_id" : 6, "license_type" : "HA", "issued_date" : "2018-04-12T16:02:55.549+03:00", "valid_date" : "2019-04-12T16:02:54.759+03:00", "quantity" : 10, "signature" : "06307c34405e6ab70c5d249a7ba7cffd81947d5f", "name" : "main-bucket", "used" : 0, "url" : "https://bintray.jfrog.com/license-buckets/test_jfrog.com/12345678/12345678.json?expiry=1528199600307&id=ABCDEFGhiJkLmNoPQR" } |
Description: Uploads and creates a new License Bucket.
Since: 3.4.2
Security: Requires an admin user
Usage: POST /api/v3/buckets
Content-Type: multipart/form-data
Return codes:
201 - Created
400 - Your bucket file could not be used. Please verify that the file is correct and that the key is valid.
409 - Name '<Bucket name>' already exists
Consumes: application/json
bucket_name | Bucket’s name in Mission Control bucket_file | Path to the bucket file bucket_key | Key used to decrypt the bucket |
Produces: application/json
{ "subject" : "JFrog", "product_name" : "Artifactory", "product_id" : 6, "license_type" : "HA", "issued_date" : "2016-04-12T16:02:55.549+03:00", "valid_date" : "2017-04-12T16:02:54.759+03:00", "quantity" : 10, "identifier" : "bucket-test-1", "signature" : "06307c34405e6ab70c5d249a7ba7cffd81947d5f", "name" : "Test-bucket-name", "used" : 0 } |
Example:
curl 'http://localhost:8080/api/v3/buckets' -i -u 'admin:password' -X POST -H 'Content-Type: multipart/form-data' -F 'bucket_file=@/tmp/728939433.json;type=application/octet-stream' -F 'bucket_key=d18fc5bc05dc3b6419ab6cd127f16cf6b57d7650ea0ef03cde130918f6f25487' -F 'bucket_name=mybucket' |
Description: Deletes a bucket.
Since: 3.0.0 Security: Requires an admin user
Usage: DELETE /api/v3/buckets/{name}
Return codes: 204 - Success
Example:
$ curl -XDELETE 'http://localhost:8080/api/v3/buckets/main-bucket' -uadmin:password -H "Content-Type: application/json" 204 No Content |
Description: Get the report for a specified bucket.
Since: 2.0
Security: Requires an admin user
Usage: GET /api/v3/buckets/{identifier}/report
Produces: application/json
{ "id": "<bucket ID>", "size": <Number of licenses in the bucket>, "licenses": { "used": <Number of licenses that are in use>, "available": <Number of licenses that are in available>, "max_used": <The maximum number of licenses ever used concurrently> } } |
Return codes:
200 - Success
Example:
$ curl -XGET 'http://localhost:8080/api/v3/buckets/415921223/report' -i -u 'admin:password' |
{ "id": "415921223", "size": 5, "licenses": { "used": 0, "available": 5, "max_used": 0 } } 200 Success |
Description: Attaches a license from the specified bucket to the specified Artifactory service.
{ "service_name" : "Artifactory service name", "deploy" : <true | false> } |
Produces: application/json
{ "license_key" : "<license-key>" } |
200 - Success
Example:
$ curl -POST 'http://localhost:8080/api/v3/attach_lic/buckets/{name}' -i -u 'admin:password' -H 'Content-Type: application/json; charset=UTF-8' -T attachlicense.json |
{ "service_name" : "ServiceName", "deploy" : false } |
{ "license_key" : "<cHJvZHV...jdHM6CiAgY>" } |
Description: Attaches a number of licenses from the specified bucket to an Artifactory 5.x HA cluster.
{ "number_of_licenses" : 5, "service_name" : "<Service name>", "deploy" : < false | true > } |
200 - Success
409 - "Deployment of multiple license is supported for cluster only"
Example:
$ curl 'http://localhost:8080/api/v3/attach_lic/buckets/{name}' -i -u 'admin:password' -X POST -H 'Content-Type: application/json; charset=UTF-8' -T attachlicense.json |
{ "number_of_licenses" : 5, "service_name" : "ServiceName", "deploy" : false } |
Description: Returns a list of installed SSL certificates.
Since: 3.5.0
Security: Requires an admin user
Usage: GET request to /api/v3/trust_store
Produces: application/json
Return codes:
Sample Usage:
GET /api/v3/trust_store HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 1614 [ { "alias" : "google.com", "issued_by" : "CN=Google Internet Authority G3, O=Google Trust Services, C=US", "issued_to" : "CN=*.google.com, O=Google LLC, L=Mountain View, ST=California, C=US", "issued_at" : "2019-01-15T13:15:00Z", "valid_until" : "2019-04-09T13:15:00Z", "fingerprint" : "9F64B072B23B5AE8A069E6CC2E3353119EA6AAE0C92D4228AD70F06C5BA932D896251254BD2D5833ABB572EDDF29BF82B70B3979 }, { "alias" : "jfrog.info", "issued_by" : "CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US", "issued_to" : "CN=*.jfrog.info, O=JFrog LTD, L=Netanya, C=IL", "issued_at" : "2018-10-15T00:00:00Z", "valid_until" : "2019-07-03T12:00:00Z", "fingerprint" : "965CA066A55D0FCD55BA0EF8DF1C3DD509D91A5EED1EA5DA7EE79549F8A0BB55A59A8F1078F72AC1461C02D8C934786B2E85D9CE } ] |
Description: Returns a single installed SSL certificate.
Since: 3.5.0
Security: Requires an admin user
Usage: GET request to /api/v3/trust_store/{alias}
Produces: application/json
Return codes:
Sample Usage:
GET /api/v3/trust_store/cert-alias HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 795 { "alias" : "cert-alias", "issued_by" : "CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US", "issued_to" : "CN=*.jfrog.info, O=JFrog LTD, L=Netanya, C=IL", "issued_at" : "2018-10-15T00:00:00Z", "valid_until" : "2019-07-03T12:00:00Z", "fingerprint" : "965CA066A55D0FCD55BA0EF8DF1C3DD509D91A5EED1EA5DA7EE79549F8A0BB55A59A8F1078F72AC1461C02D8C934786B2E85D9CE01A037A40225A54B339608ADF76FF9B7D26DDD885CF6B49230E5389B92738794C5B59FC1B27B3AED24BD4C99A6D571D91BF8F0F385644E44CCF23D5078C4931FC675FDCC2B220FECECFB534C311CC192FF2832EBD9116EC7AE8598050678EF630F262452664AA6AAF39AD662CED60E50AC1F73CAC555FCBD4D7A007E7681A865A4E03039E519058E927D6DD2CC037471394FF6C6D05BCF781534638AD7BCE44702EA653763F258DFD697DF9AC985F247BE96DC70FC73372B22681F1A3D4D022CDB3CC216FA3F0FA242CFBA01" } |
Description: Adds an SSL certificate.
Since: 3.5.0
Security: Requires an admin user
Usage: POST request to /api/v3/trust_store
Consumes: multipart/form-data
Produces: application/json
Sample Usage:
POST /api/v3/trust_store HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: multipart/form-data; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Host: localhost:8080 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=public_key Content-Type: application/pkix-cert -----BEGIN CERTIFICATE----- << PEM format >> -----END CERTIFICATE----- --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=alias Content-Type: text/plain cert-alias --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm-- |
Example Output:
HTTP/1.1 201 Created Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 795 { "alias" : "cert-alias", "issued_by" : "CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US", "issued_to" : "CN=*.jfrog.info, O=JFrog LTD, L=Netanya, C=IL", "issued_at" : "2018-10-15T00:00:00Z", "valid_until" : "2019-07-03T12:00:00Z", "fingerprint" : "965CA066A55D0FCD55BA0EF8DF1C3DD509D91A5EED1EA5DA7EE79549F8A0BB55A59A8F1078F72AC1461C02D8C934786B2E85D9CE } |
Description: Deletes an SSL certificate.
Since: 3.5.0
Security: Requires an admin user
Usage: DELETE request to /api/v3/trust_store/{alias}
Produces: application/json
Sample Usage:
DELETE /api/v3/trust_store/cert-alias HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 204 No Content X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains |
Description: Updates an SSL certificate.
Since: 3.5.0
Security: Requires an admin user
Usage: PUT request to /api/v3/{alias}
Produces: application/json
Sample Usage:
PUT /api/v3/trust_store/cert-alias HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: multipart/form-data; boundary="1oPex3SaFvmWkC3cLpfW5JdREzLlRdIhCdMSlDQX"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Host: localhost:8080 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=public_key; filename=file Content-Type: application/pkix-cert -----BEGIN CERTIFICATE----- << PEM format >> -----END CERTIFICATE----- --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=alias; filename=file Content-Type: text/plain new --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm-- |
Example Output:
HTTP/1.1 200 OK Content-Type: application/json X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 788 { "alias" : "new", "issued_by" : "CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US", "issued_to" : "CN=*.jfrog.info, O=JFrog LTD, L=Netanya, C=IL", "issued_at" : "2018-10-15T00:00:00Z", "valid_until" : "2019-07-03T12:00:00Z", "fingerprint" : "" } |
Description: Downloads an SSL certificate.
Since: 3.5.0
Security: Requires an admin user
Usage: GET request to /api/v3/trust_store/{alias}/cert
Produces: application/json
Sample Usage:
GET /api/v3/trust_store/cert-alias/cert HTTP/1.1 Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json; charset=UTF-8 Host: localhost:8080 |
Example Output:
HTTP/1.1 200 OK Content-Disposition: attachment; filename="cert-alias.pem" Content-Type: application/pkix-cert X-JFrog-Service-Id: jfmc@01c7b8rg70nrqr1cck7k4x0yp7 Server: mission-control/SNAPSHOT Strict-Transport-Security: max-age=31536000; includeSubDomains Content-Length: 70 -----BEGIN CERTIFICATE----- << PEM format >> -----END CERTIFICATE----- |
Description: Sets the base URL that will be used by other services to communicate with Mission Control
Since: 3.2
Security: Requires an user with admin privileges
Usage: PUT /api/v3/settings/base_url
Request Parameters:
base_url - Externally accessible URL
Sample Usage:
curl 'http://localhost:8080/api/v3/settings/base_url' -i -u 'admin:password' -X PUT -H 'Content-Type: application/json; charset=UTF-8' -d '{ "base_url" : "http://baseUrl-to-mc:8080/" }' 204 No Content |
Description: Creates an access token
Since: 3.0
Security: Requires a valid user
Usage: POST /api/v3/security/token
Request Parameters:
username - the user to which the token is assigned
expires_in - token validity period in seconds
refreshable - if true, the token can be refreshed
Content-Type: application/x-www-form-urlencoded
Produces: application/json
Sample Usage:
curl 'http://localhost:8080/api/v3/security/token' -i -u 'admin:password' -X POST -H { "username" : "central-user", "expires_in" : 1000, "refreshable" : true } Response: { "access_token": "eyJ2Z...kMzA", "expires_in": 1000, "refresh_token": "2b5f...0664", "scope": "applied-permissions/user", "token_type": "Bearer" } |
Description: Changes user's password
Since: 2.1
Security: Users can change their own password. Requires an admin user to change all user passwords
Usage: PUT /api/v3/auth/changePassword
Request Parameters:
username - the user for which the password is being changed
password - new password
Consumes: application/json
Return codes: 204 - No Content
Sample Usage:
$ curl 'http://localhost:8080/api/v3/auth/changePassword' -i -u 'admin:password' -X PUT -d username=admin -d password=pa$1word 204 No Content |
Description: Revokes the access token
Since: 3.0
Security: Requires a valid user
Usage: POST /api/v3/security/token/revoke
Content-Type: application/x-www-form-urlencoded
Return code:
204 - No Content
Sample Usage:
curl 'http://localhost:8080/api/v3/security/token/revoke' -i -u 'admin:password' -X DELETE -H 'Content-Type: application/json' |
To facilitate updating your scripts to use the latest API, the following table presents a mapping between endpoints in V1 and the corresponding endpoints in V2 and V3 of the REST API.
Category | Description | Method | V1 Endpoint (Not Supported in V 3.0) | V2 Endpoint (Not Supported in V 3.0) | V3 Endpoint |
---|---|---|---|---|---|
Proxies | Creates a proxy | POST | N/A | N/A | /api/v3/proxies |
Adds an external proxy | POST | N/A | N/A | /api/v3/proxies | |
Updates a proxy by name | POST | N/A | N/A | /api/v3/proxies/{name} | |
Gets a list of proxies | GET | N/A | N/A | /api/v3/proxies | |
Gets the list of proxies by source service | GET | N/A | N/A | /api/v3/proxies?src_service={service_name} | |
Gets list of Proxies Filtered by Destination Service | GET | N/A | N/A | /api/v3/proxies?dest_service={destination_service_name} | |
Gest a list of Proxies Filtered by Source and Destination Service | GET | N/A | N/A | /api/v3/proxies?src_service={source_service_name}&dest_service={destination_service_name} | |
Gets a proxy by name | GET | N/A | N/A | /api/v3/proxies/{name} | |
Removes a proxy from Mission Control | DELETE | N/A | N/A | /api/v3/proxies/{name} | |
Get a List of Services with Proxy Based on Source | GET | N/A | N/A | /api/v3/services?source=Source | |
Services | Get list of Artifactory services | GET | /api/v1/instances | /api/v2/instances | N/A |
Add service | POST | /api/v1/instances | /api/v2/instances | /api/v3/services | |
Update service | PUT | Not available | /api/v2/instances/{name} | /api/v3/services/{name} | |
Get repositories for service | GET | /api/v1/instances/{name}/repositories | /api/v2/instances/{name}/repositories | /api/v3/services/artifactory/{name}/repositories | |
Delete service by name | DELETE | /api/v1/instances/{name} | /api/v2/instances/{name} | /api/v3/services/{name} | |
Get all services | GET | /api/v3/services/ | |||
Get service by name managed with proxy based on source | GET | N/A | N/A | /api/v3/services/{name} | |
Get List of Services with Proxy Based on Source | GET | N/A | N/A | /api/v3/services?source=Sourc | |
Authentication | Creates an access tokens | PUT | N/A | N/A | /api/v3/security/token |
Update password | PUT | N/A | N/A | /api/v3/auth/changePassword | |
Security | Create user | POST | api/v1/users | /api/v2/security/users | N/A |
Update user | PUT | /api/v1/users/{name} | /api/v2/security/users/{name} | N/A | |
Create user group | POST | /api/v1/userGroups | /api/v2/security/user_groups | N/A | |
Update user group | PUT | /api/v1/userGroups/{name} | /api/v2/security/user_groups/{name} | N/A | |
Create permission target | POST | /api/v1/permissionTargets | /api/v2/security/permission_targets | N/A | |
Update permission target by name | PUT | /api/v1/permissionTargets/{name} | /api/v2/security/permission_targets/{name} | N/A | |
License Buckets | Creates a new license bucket | GET | N/A | N/A | /api/v3/buckets |
Deletes a bucket | DELETE | N/A | N/A | /api/v3/buckets/{name} | |
Get bucket status | GET | /api/v1/buckets/{id}/status | /api/v2/buckets/{id}/report | /api/v3/buckets/{identifier}/report | |
Attach a license | POST | /api/v1/buckets/{id}/licenses | /api/v2/attach_lic/buckets/{id} | /api/v3/attach_lic/buckets/{name} | |
Detach a license | DELETE | /api/v1/buckets/{id}/licenses | /api/v2/detach_lic/buckets/{id} | /api/v3/attach_lic/buckets/{name} | |
Attach a license to Artifactory v5.5 and above | POST | /api/v3/attach_lic/buckets/{name} | |||
Execute Scripts | Create repository | POST | /api/v1/repositories | /api/v2/execute_scripts/repositories | N/A |
Update repository | PUT | /api/v1/repositories | /api/v2/execute_scripts/repositories | N/A | |
Execute scripts on service | PUT | /api/v1/instances | /api/v2/execute_scripts/instances | /api/v3/execute_script/{name} | |
Scripts | Get scripts | GET | /api/v1/scripts | /api/v2/scripts | /api/v3/scripts |
Get script user inputs | GET | /api/v1/userInputs | /api/v2/scripts/user_inputs | /api/v3/scripts/{name}/user_inputs | |
System | System health check (ping) | GET | /api/v1/ping | /api/v2/ping | /api/v3/ping |
Sites | Create Site | POST | N/A | N/A | /api/v3/sites |
Update Site | POST | N/A | N/A | /api/v3/sites/{name} | |
Partial update site by Name | PUT | N/A | N/A | /api/v3/services/{name} | |
Get Site | GET | N/A | N/A | /api/v3/sites/{name} | |
Get Site List | GET | N/A | N/A | /api/v3/sites/ | |
Delete Site | DELETE | N/A | N/A | /api/v3/sites/{name} | |
Monitoring | Get Serivce Status | GET | N/A | N/A | /services/{name}/monitoring/status |
Get All services status | GET | N/A | N/A | /api/v3/services/monitoring/status | |
Support | Create a support bundle | POST | N/A | N/A | /api/v3/support/bundle |
Get list of support bundles | GET | N/A | N/A | /api/v3/support/bundles | |
Get details of a support bundle | GET | N/A | N/A | /api/v3/support/bundle/{id} | |
Download a support bundle | GET | N/A | N/A | /api/v3/support/bundle/{id}/archive | |
Delete a support bundle | DELETE | N/A | N/A | /api/v3/support/bundle/{id} | |
Disaster Recovery | Create DR Artifactory services pair | POST | N/A | N/A | /api/v3/dr-configs |