Skip to main content

Assets API

Introduction

This set of endpoints is for interacting with assets directly.

Endpoints

List Assets

GET /service/rest/v1/assets

This endpoint allows us to iterate through a listing of assets contained in a given repository.

Let's get a listing of the assets in the maven-centralrepository:

curl -u admin:admin123 -X GET 'http://localhost:8081/service/rest/v1/assets?repository=maven-central'

This produces a response that is the first pages of many assets in that repository:

Example Response

{
  "items" : [ {
    "downloadUrl" : "http://localhost:8081/repository/maven-central/asm/asm/3.1/asm-3.1-sources.jar",
    "path" : "asm/asm/3.1/asm-3.1-sources.jar",
    "id" : "bWF2ZW4tY2VudHJhbDozZjVjYWUwMTc2MDIzM2I2MTRkZWJlOTExOGFjNjMwOQ",
    "repository" : "maven-central",
    "format" : "maven2",
    "checksum" : {
      "sha1" : "2eaa4de56203f433f287a6df5885ef9ad3c5bcae",
      "md5" : "0c0e3e83d9ce7907334c5eb519dab10c"
    }
  },
...
  ],
  "continuationToken" : "3f5cae01760233b6506547dc7be10e0b"
}

This endpoint uses a pagination strategy that can be used to iterate through all the assets if desired.

Note that the ordering of assets is consistentacross multiple queries and is not alphabetical.

Get Asset

GET /service/rest/v1/assets/{id}

This endpoint allows us to get the details of an individual asset.

curl -u admin:admin123 -X GET 'http://localhost:8081/service/rest/v1/assets/bWF2ZW4tY2VudHJhbDozZjVjYWUwMTc2MDIzM2I2MjRiOTEwMmMwMmNiYmU4YQ'

Example Response

{
    "blobCreated": "2018-08-25T15:00:50.408+00:00",
    "checksum": {
        "md5": "734c1c5f44166e088d100accdb4b1474",
        "sha1": "7b6e93e5e6403323cd70a18829a33f6cb4c0388d"
    },
    "contentType": "application/java-archive",
    "downloadUrl": "http://localhost:8081/repository/maven-central/org/apache/maven/plugins/maven-source-plugin/2.2.1/maven-source-plugin-2.2.1.jar",
    "format": "maven2",
    "id": "bWF2ZW4tY2VudHJhbDpjNzU0NTU3OWE3YTE1MzkwYTZjYTEyZGI5MDAxMWI2OQ",
    "lastDownloaded": "2018-08-25T15:00:50.412+00:00",
    "lastModified": "2018-08-25T15:00:50.408+00:00",
    "maven2": {
        "artifactId": "maven-source-plugin",
        "extension": "jar",
        "groupId": "org.apache.maven.plugins",
        "version": "2.2.1"
    },
    "path": "org/apache/maven/plugins/maven-source-plugin/2.2.1/maven-source-plugin-2.2.1.jar",
    "repository": "maven-central"
}

Delete Asset

DELETE /service/rest/v1/assets/{id}

This endpoint can be used to delete an individual asset.

curl -u admin:admin123 -X DELETE 'http://localhost:8081/service/rest/v1/assets/bWF2ZW4tY2VudHJhbDozZjVjYWUwMTc2MDIzM2I2MjRiOTEwMmMwMmNiYmU4YQ'

A successful deletion will return no content, for example:

Example Response

HTTP/1.1 204 No Content
Date: Fri, 19 Jan 2018 20:41:47 GMT
...