@@ -926,8 +926,152 @@ paths:
926926 $ref : " #/components/responses/forbidden"
927927 " 404 " :
928928 $ref : " #/components/responses/NotFound"
929+ /v2/namespaces/{namespace}/repositories :
930+ parameters :
931+ - $ref : " #/components/parameters/namespace"
932+ get :
933+ operationId : listNamespaceRepositories
934+ summary : List repositories in a namespace
935+ description : |
936+ Returns a list of repositories within the specified namespace (organization or user).
937+
938+ Public repositories are accessible to everyone, while private repositories require appropriate authentication and permissions.
939+ tags :
940+ - repositories
941+ security :
942+ - bearerAuth : [ ]
943+ - { } # Allow anonymous access for public repositories
944+ parameters :
945+ - in : query
946+ name : page
947+ required : false
948+ schema :
949+ type : integer
950+ minimum : 1
951+ default : 1
952+ description : Page number to get. Defaults to 1.
953+ - in : query
954+ name : page_size
955+ required : false
956+ schema :
957+ type : integer
958+ minimum : 1
959+ maximum : 1000
960+ default : 10
961+ description : Number of repositories to get per page. Defaults to 10. Max of 1000.
962+ - in : query
963+ name : name
964+ required : false
965+ schema :
966+ type : string
967+ description : Filter repositories by name (partial match).
968+ - in : query
969+ name : ordering
970+ required : false
971+ schema :
972+ type : string
973+ enum :
974+ - name
975+ - -name
976+ - last_updated
977+ - -last_updated
978+ - pull_count
979+ - -pull_count
980+ description : |
981+ Order repositories by the specified field. Prefix with '-' for descending order.
982+ Available options:
983+ - `name` / `-name`: Repository name (ascending/descending)
984+ - `last_updated` / `-last_updated`: Last update time (ascending/descending)
985+ - `pull_count` / `-pull_count`: Number of pulls (ascending/descending)
986+ responses :
987+ " 200 " :
988+ description : List of repositories
989+ content :
990+ application/json :
991+ schema :
992+ $ref : " #/components/schemas/list_repositories_response"
993+ examples :
994+ repositories_list :
995+ value :
996+ count : 287
997+ next : " https://hub.docker.com/v2/namespaces/docker/repositories?page=2&page_size=2"
998+ previous : null
999+ results :
1000+ - name : " highland_builder"
1001+ namespace : " docker"
1002+ repository_type : " image"
1003+ status : 1
1004+ status_description : " active"
1005+ description : " Image for performing Docker build requests"
1006+ is_private : false
1007+ star_count : 7
1008+ pull_count : 15722123
1009+ last_updated : " 2023-06-20T10:44:45.459826Z"
1010+ last_modified : " 2024-10-16T13:48:34.145251Z"
1011+ date_registered : " 2015-05-19T21:13:35.937763Z"
1012+ affiliation : " "
1013+ media_types :
1014+ - " application/octet-stream"
1015+ - " application/vnd.docker.container.image.v1+json"
1016+ - " application/vnd.docker.distribution.manifest.v1+prettyjws"
1017+ content_types :
1018+ - " unrecognized"
1019+ - " image"
1020+ categories :
1021+ - name : " Languages & frameworks"
1022+ slug : " languages-and-frameworks"
1023+ - name : " Integration & delivery"
1024+ slug : " integration-and-delivery"
1025+ - name : " Operating systems"
1026+ slug : " operating-systems"
1027+ storage_size : 488723114800
1028+ - name : " whalesay"
1029+ namespace : " docker"
1030+ repository_type : null
1031+ status : 1
1032+ status_description : " active"
1033+ description : " An image for use in the Docker demo tutorial"
1034+ is_private : false
1035+ star_count : 757
1036+ pull_count : 130737682
1037+ last_updated : " 2015-06-19T19:06:27.388123Z"
1038+ last_modified : " 2024-10-16T13:48:34.145251Z"
1039+ date_registered : " 2015-06-09T18:16:36.527329Z"
1040+ affiliation : " "
1041+ media_types :
1042+ - " application/vnd.docker.distribution.manifest.v1+prettyjws"
1043+ content_types :
1044+ - " image"
1045+ categories :
1046+ - name : " Languages & frameworks"
1047+ slug : " languages-and-frameworks"
1048+ - name : " Integration & delivery"
1049+ slug : " integration-and-delivery"
1050+ storage_size : 103666708
1051+ " 400 " :
1052+ description : Bad Request - Invalid request parameters
1053+ content :
1054+ application/json :
1055+ schema :
1056+ $ref : " #/components/schemas/error"
1057+ examples :
1058+ invalid_ordering :
1059+ summary : Invalid ordering value
1060+ value :
1061+ fields :
1062+ ordering : [ "Invalid ordering value. Must be one of: name, -name, last_updated, -last_updated, pull_count, -pull_count" ]
1063+ text : " Invalid ordering value"
1064+ " 401 " :
1065+ $ref : " #/components/responses/unauthorized"
1066+ " 403 " :
1067+ $ref : " #/components/responses/forbidden"
1068+ " 404 " :
1069+ description : Page not found - occurs when requesting a page number `>1` that exceeds the available results
1070+ content :
1071+ application/json :
1072+ schema :
1073+ $ref : " #/components/schemas/error"
9291074
930-
9311075 /v2/orgs/{org_name}/members :
9321076 parameters :
9331077 - $ref : " #/components/parameters/org_name"
@@ -2009,6 +2153,129 @@ components:
20092153 schema :
20102154 $ref : " #/components/schemas/scim_user"
20112155 schemas :
2156+ repository_list_entry :
2157+ type : object
2158+ properties :
2159+ name :
2160+ type : string
2161+ description : Name of the repository
2162+ example : " hello-world"
2163+ namespace :
2164+ type : string
2165+ description : Namespace (organization or username) that owns the repository
2166+ example : " docker"
2167+ repository_type :
2168+ type : string
2169+ description : Type of repository
2170+ enum :
2171+ - image
2172+ - plugin
2173+ - null
2174+ example : " image"
2175+ nullable : true
2176+ status :
2177+ type : integer
2178+ description : Repository status code
2179+ example : 1
2180+ status_description :
2181+ type : string
2182+ description : Human-readable repository status
2183+ enum :
2184+ - active
2185+ - inactive
2186+ example : " active"
2187+ description :
2188+ type : string
2189+ description : Repository description
2190+ nullable : true
2191+ example : " Hello World! (an example of minimal Dockerization)"
2192+ is_private :
2193+ type : boolean
2194+ description : Whether the repository is private
2195+ example : false
2196+ star_count :
2197+ type : integer
2198+ description : Number of users who starred this repository
2199+ minimum : 0
2200+ example : 1234
2201+ pull_count :
2202+ type : integer
2203+ description : Total number of pulls for this repository
2204+ minimum : 0
2205+ example : 50000000
2206+ last_updated :
2207+ type : string
2208+ format : date-time
2209+ description : ISO 8601 timestamp of when the repository was last updated
2210+ example : " 2023-12-01T10:30:00Z"
2211+ nullable : true
2212+ last_modified :
2213+ type : string
2214+ format : date-time
2215+ description : ISO 8601 timestamp of when the repository was last modified
2216+ example : " 2023-12-01T10:30:00Z"
2217+ nullable : true
2218+ date_registered :
2219+ type : string
2220+ format : date-time
2221+ description : ISO 8601 timestamp of when the repository was created
2222+ example : " 2013-06-19T19:07:54Z"
2223+ affiliation :
2224+ type : string
2225+ description : User's affiliation with the repository (empty string if no affiliation)
2226+ example : " "
2227+ media_types :
2228+ type : array
2229+ description : Media types supported by this repository
2230+ items :
2231+ type : string
2232+ example :
2233+ - " application/vnd.docker.plugin.v1+json"
2234+ content_types :
2235+ type : array
2236+ description : Content types supported by this repository
2237+ items :
2238+ type : string
2239+ example :
2240+ - " plugin"
2241+ categories :
2242+ type : array
2243+ description : Categories associated with this repository
2244+ items :
2245+ $ref : " #/components/schemas/category"
2246+ example : []
2247+ storage_size :
2248+ type : integer
2249+ description : Storage size in bytes used by this repository
2250+ minimum : 0
2251+ example : 232719127
2252+ category :
2253+ type : object
2254+ required :
2255+ - name
2256+ - slug
2257+ properties :
2258+ name :
2259+ type : string
2260+ description : Human-readable name of the category
2261+ example : " Databases"
2262+ minLength : 1
2263+ slug :
2264+ type : string
2265+ description : URL-friendly identifier for the category
2266+ example : " databases"
2267+ minLength : 1
2268+ pattern : " ^[a-z0-9]+(?:-[a-z0-9]+)*$"
2269+ description : Repository category for classification and discovery
2270+ list_repositories_response :
2271+ allOf :
2272+ - $ref : " #/components/schemas/page"
2273+ - type : object
2274+ properties :
2275+ results :
2276+ type : array
2277+ items :
2278+ $ref : " #/components/schemas/repository_list_entry"
20122279 UsersLoginRequest :
20132280 description : User login details
20142281 type : object
0 commit comments