Hide

RegistryUI Documentation

Display
Print

/udr/v1api/repositories

EndpointMethodDescription
/udr/v1api/repositoriesGETReturns all available repositories (based on user's permission).

The returned repositories depend on the user's permissions in RegistryUI. Anonymous users only have access to this API if the API has been defined as a Public API (see Registry > Settings, Public tab in your instance of RegistryUI).

The returned list of repositories is sorted by full path name (ascending).

Authentication

Basic Authorization header required for access to private repositories. Anonymous users only have access to this API and public repositories if the API has been defined as a Public API (see Registry > Settings, Public tab in your instance of RegistryUI).

Query String Arguments

ArgumentTypeDescription
folderstringOptional. If a full path is specified, only repositories in the path are returned.
startAfterstringOptional. If a path is specified, only repositories with full paths after the path (ordered by full path, ascending) are returned.
skipintegerOptional. The specified number of repositories are skipped and not returned in the list of repositories. This can be used for pagination, when limiting the number of returned repositories.
takeintegerOptional. The specified number of repositories are returned in the list of repositories even if more repositories are available. This can be used for pagination, limiting the number of returned repositories.

Response

A JSON object is returned. If an error occurs, the "error" field will contain a descriptive error message (see Standard API Response).

FieldTypeDescription
totalintegerContains the total number of repositories that match the search criteria (startAfter) or the total number of available repositories. Fewer repositories may be returned (see Count) based on skip/take arguments. total always indicates how many repositories would be available overall if skip/take were not used.
countintegerContains the number of repositories that are returned in the entries field. More repositories may be available (see total) based on skip/take arguments.
entriesRepository Entry (see below)An array of repository entries describing each repository.

Repository Entry

Each entry in the entries field of the API response describes one repository.

Only the fields listed here are officially supported at this time and only these should be used. All other fields are used internally by RegistryUI and may change in future releases.

FieldTypeDescription
fullPathstringThe complete path of the repository within the Docker Registry.
namestringThe name of the repository.
titlestringThe project title assigned to the repository.
description.htmlstring (HTML)The project description assigned to the repository.
isPublicboolDefines whether the repository is a public repository, i.e. accessible by anonymous users.
createddate/time (UTC)Contains the date/time the repository/project was created.
updateddate/time (UTC)Contains the date/time the repository/project was last updated. May be null.

Example

curl -u username:usertoken -d "" https://registry.yoursite.com/udr/v1api/repositories

Response:
{
    "error": null,
    "total": 20,
    "count": 20,
    "entries": [
        {
            "id": 1006,
            "tenantId": 1,
            "fullPath": "alpine",
            "available": true,
            "name": "alpine",
            "title": "A minimal Docker image based on Alpine Linux",
            "description": {
                "text": "Alpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with Docker images.\n\n![Alpine Logo](https://raw.githubusercontent.com/docker-library/docs/781049d54b1bd9b26d7e8ad384a92f7e0dcb0894/alpine/logo.png =80x70px)",
                "html": "<p>Alpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with Docker images.</p>\n<p><img src=\"https://raw.githubusercontent.com/docker-library/docs/781049d54b1bd9b26d7e8ad384a92f7e0dcb0894/alpine/logo.png\" alt=\"Alpine Logo\" width=\"80\" height=\"70px\" /></p>"
            },
            "level": 0,
            "isProject": true,
            "isRepository": true,
            "lowerLevelProjects": 0,
            "hasParentProject": false,
            "deletingUser": 0,
            "isPublic": true,
            "multiRepo": false,
            "updateGroupIdList": [
                {
                    "groupId": 1000
                }
            ],
            "readGroupIdList": [
                {
                    "groupId": 1000
                },
                {
                    "groupId": 1015
                },
                {
                    "groupId": 1001
                }
            ],
            "updateGroupIds": [
                1000,
                1015
            ],
            "readGroupIds": [
                1000,
                1015,
                1001,
                1014
            ],
            "readUsersGroupId": 1014,
            "updateUsersGroupId": 1015,
            "created": "2020-02-08T12:24:49.3427623",
            "updated": "2020-02-13T00:43:36.8843045"
        },
        ... clipped ...