diff --git a/_data/toc.yaml b/_data/toc.yaml
index 8a8246fd22..897749c762 100644
--- a/_data/toc.yaml
+++ b/_data/toc.yaml
@@ -1028,8 +1028,12 @@ reference:
title: v1.19 reference
- path: /engine/api/v1.18/
title: v1.18 reference
- - title: Docker Hub API
- path: /docker-hub/api/latest/
+ - sectiontitle: Docker Hub API
+ section:
+ - title: Docker Hub API
+ path: /docker-hub/api/latest/
+ - title: DVP Data API
+ path: /docker-hub/api/dvp/
- title: Registry API
path: /registry/spec/api/
- sectiontitle: Docker Extension SDK API (Beta)
diff --git a/_layouts/hub-api.html b/_layouts/hub-api.html
index 3ee8bbecaa..d89e5cc456 100644
--- a/_layouts/hub-api.html
+++ b/_layouts/hub-api.html
@@ -1,10 +1,10 @@
- Docker Hub API {{ page.name | replace: '.md' }} Reference
+ Docker Hub API Reference - {{ page.name | replace: '.md' }}
-
+
diff --git a/docker-hub/api/dvp.yaml b/docker-hub/api/dvp.yaml
index 3ebcc90921..8250bba884 100644
--- a/docker-hub/api/dvp.yaml
+++ b/docker-hub/api/dvp.yaml
@@ -6,12 +6,15 @@ info:
url: https://docs.docker.com/images/logo-docker-main.png
href: /reference
description: |
- The Docker DVP Data API allows Docker Verified Publishers to view image pull analytics data for their namespaces
+ The Docker DVP Data API allows [Docker Verified Publishers](https://docs.docker.com/docker-hub/publish/) to view image pull analytics data for their namespaces
servers:
- - url: https://hub-stage.docker.com/api/dvp/v1
+ - url: https://hub.docker.com/api/dvp/v1
security:
- HubAuth: []
+features.openapi:
+ schemaDefinitionsTagName: Schemas
+
tags:
- name: namespaces
x-displayName: Namespace data
@@ -19,6 +22,22 @@ tags:
x-displayName: Repository data
- name: discovery
x-displayName: Discovery
+ - name: responseDataFile
+ x-displayName: ResponseDataFile
+ description: |
+
+ - name: yearModel
+ x-displayName: Year Data Model
+ description: |
+
+ - name: monthModel
+ x-displayName: Month Data Model
+ description: |
+
+ - name: weekModel
+ x-displayName: Week Data Model
+ description: |
+
x-tagGroups:
- name: API
@@ -26,13 +45,19 @@ x-tagGroups:
- discovery
- namespaces
- repos
+ - name: Models
+ tags:
+ - responseDataFile
+ - yearModel
+ - monthModel
+ - weekModel
paths:
/data:
get:
tags: [discovery]
summary: Get namespaces and repos
- description: Gets a list of namespaces and repos which have data available
+ description: Gets a list of your namespaces and repos which have data available
operationId: getNamespaces
responses:
'200':
@@ -41,7 +66,27 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/NamespaceData'
- /data/{namespace}/year:
+ /data/namespaces/{namespace}:
+ get:
+ tags: [discovery]
+ summary: Get namespace
+ description: Gets metadata associated with specified namespace, including extra repos associated with the namespace
+ operationId: getNamespace
+ parameters:
+ - in: path
+ name: namespace
+ schema:
+ type: string
+ required: true
+ description: Namespace to fetch data for
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NamespaceMetadata'
+ /data/namespaces/{namespace}/years:
get:
tags: [namespaces]
summary: Get years with data
@@ -61,7 +106,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/YearData'
- /data/{namespace}/year/{year}/month:
+ /data/namespaces/{namespace}/years/{year}/months:
get:
tags: [namespaces]
summary: Get months with data
@@ -87,7 +132,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/MonthData'
- /data/{namespace}/year/{year}/week:
+ /data/namespaces/{namespace}/years/{year}/weeks:
get:
tags: [namespaces]
summary: Get weeks with data
@@ -113,11 +158,45 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/WeekData'
- /data/{namespace}/year/{year}/month/{month}:
+ /data/namespaces/{namespace}/years/{year}/months/{month}:
+ get:
+ tags: [namespaces]
+ summary: Get namespace metadata for month
+ description: Gets info about data for the given namespace and month
+ operationId: getNamespaceMonthMetadata
+ parameters:
+ - in: path
+ name: namespace
+ schema:
+ type: string
+ required: true
+ description: Namespace to fetch data for
+ - in: path
+ name: year
+ schema:
+ type: integer
+ required: true
+ description: Year to fetch data for
+ - in: path
+ name: month
+ schema:
+ type: integer
+ required: true
+ description: Month to fetch data for
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MonthModel'
+ '404':
+ description: Not Found
+ /data/namespaces/{namespace}/years/{year}/months/{month}/raw:
get:
tags: [namespaces]
summary: Get namespace data for month
- description: Gets a list of URLs that can be used to download the pull data for the given namespace and month
+ description: Gets a list of URLs that can be used to download the raw pull data for the given namespace and month
operationId: getNamespaceDataByMonth
parameters:
- in: path
@@ -145,11 +224,45 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/year/{year}/week/{week}:
+ /data/namespaces/{namespace}/years/{year}/weeks/{week}:
+ get:
+ tags: [namespaces]
+ summary: Get namespace metadata for week
+ description: Gets info about data for the given namespace and week
+ operationId: getNamespaceWeekMetadata
+ parameters:
+ - in: path
+ name: namespace
+ schema:
+ type: string
+ required: true
+ description: Namespace to fetch data for
+ - in: path
+ name: year
+ schema:
+ type: integer
+ required: true
+ description: Year to fetch data for
+ - in: path
+ name: week
+ schema:
+ type: integer
+ required: true
+ description: Week to fetch data for
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WeekModel'
+ '404':
+ description: Not Found
+ /data/namespaces/{namespace}/years/{year}/weeks/{week}/raw:
get:
tags: [namespaces]
summary: Get namespace data for week
- description: Gets a list of URLs that can be used to download the pull data for the given namespace and week
+ description: Gets a list of URLs that can be used to download the raw pull data for the given namespace and week
operationId: getNamespaceDataByWeek
parameters:
- in: path
@@ -177,7 +290,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/year/{year}/month/{month}/summary:
+ /data/namespaces/{namespace}/years/{year}/months/{month}/summary:
get:
tags: [namespaces]
summary: Get namespace summary data for month
@@ -209,7 +322,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/year/{year}/week/{week}/summary:
+ /data/namespaces/{namespace}/years/{year}/weeks/{week}/summary:
get:
tags: [namespaces]
summary: Get namespace summary data for week
@@ -241,7 +354,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/{repo}/year:
+ /data/repos/{namespace}/{repo}/years:
get:
tags: [repos]
summary: Get years with data
@@ -267,7 +380,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/YearData'
- /data/{namespace}/{repo}/year/{year}/month:
+ /data/repos/{namespace}/{repo}/years/{year}/months:
get:
tags: [repos]
summary: Get months with data
@@ -299,7 +412,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/MonthData'
- /data/{namespace}/{repo}/year/{year}/week:
+ /data/repos/{namespace}/{repo}/years/{year}/weeks:
get:
tags: [repos]
summary: Get weeks with data
@@ -331,11 +444,51 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/WeekData'
- /data/{namespace}/{repo}/year/{year}/month/{month}:
+ /data/repos/{namespace}/{repo}/years/{year}/months/{month}:
+ get:
+ tags: [repos]
+ summary: Get repository metadata for month
+ description: Gets info about data for the given repository and month
+ operationId: getRepoMonthMetadata
+ parameters:
+ - in: path
+ name: namespace
+ schema:
+ type: string
+ required: true
+ description: Namespace to fetch data for
+ - in: path
+ name: repo
+ schema:
+ type: string
+ required: true
+ description: Repo to fetch data for
+ - in: path
+ name: year
+ schema:
+ type: integer
+ required: true
+ description: Year to fetch data for
+ - in: path
+ name: month
+ schema:
+ type: integer
+ required: true
+ description: Month to fetch data for
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MonthModel'
+ '404':
+ description: Not Found
+ /data/repos/{namespace}/{repo}/years/{year}/months/{month}/raw:
get:
tags: [repos]
summary: Get repository data for month
- description: Gets a list of URLs that can be used to download the pull data for the given repository and month
+ description: Gets a list of URLs that can be used to download the raw pull data for the given repository and month
operationId: getRepoDataByMonth
parameters:
- in: path
@@ -369,11 +522,51 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/{repo}/year/{year}/week/{week}:
+ /data/repos/{namespace}/{repo}/years/{year}/weeks/{week}:
+ get:
+ tags: [repos]
+ summary: Get repository metadata for week
+ description: Gets info about data for the given repository and week
+ operationId: getRepoWeekMetadata
+ parameters:
+ - in: path
+ name: namespace
+ schema:
+ type: string
+ required: true
+ description: Namespace to fetch data for
+ - in: path
+ name: repo
+ schema:
+ type: string
+ required: true
+ description: Repo to fetch data for
+ - in: path
+ name: year
+ schema:
+ type: integer
+ required: true
+ description: Year to fetch data for
+ - in: path
+ name: week
+ schema:
+ type: integer
+ required: true
+ description: Week to fetch data for
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WeekModel'
+ '404':
+ description: Not Found
+ /data/repos/{namespace}/{repo}/years/{year}/weeks/{week}/raw:
get:
tags: [repos]
summary: Get repository data for week
- description: Gets a list of URLs that can be used to download the pull data for the given repository and week
+ description: Gets a list of URLs that can be used to download the raw pull data for the given repository and week
operationId: getRepoDataByWeek
parameters:
- in: path
@@ -407,7 +600,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/{repo}/year/{year}/month/{month}/summary:
+ /data/repos/{namespace}/{repo}/years/{year}/months/{month}/summary:
get:
tags: [repos]
summary: Get repository summary data for month
@@ -445,7 +638,7 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ResponseData'
- /data/{namespace}/{repo}/year/{year}/week/{week}/summary:
+ /data/repos/{namespace}/{repo}/years/{year}/weeks/{week}/summary:
get:
tags: [repos]
summary: Get repository summary data for week
@@ -506,28 +699,49 @@ components:
type: array
items:
type: string
+ NamespaceMetadata:
+ properties:
+ namespace:
+ type: string
+ extraRepos:
+ type: array
+ items:
+ type: string
YearData:
properties:
years:
type: array
items:
- type: integer
+ $ref: '#/components/schemas/YearModel'
+ YearModel:
+ properties:
+ year:
+ type: integer
MonthData:
properties:
months:
type: array
items:
- type: integer
+ $ref: '#/components/schemas/MonthModel'
+ MonthModel:
+ properties:
+ month:
+ type: integer
WeekData:
properties:
weeks:
type: array
items:
- type: integer
+ $ref: '#/components/schemas/WeekModel'
+ WeekModel:
+ properties:
+ week:
+ type: integer
securitySchemes:
HubAuth:
type: https
scheme: bearer
bearerFormat: JWT
- description: Docker Hub bearer token
+ description: >
+ See [Hub API Authentication docs](https://docs.docker.com/docker-hub/api/latest/#tag/authentication)
x-displayName: Docker Hub Authentication
diff --git a/docker-hub/api/latest.yaml b/docker-hub/api/latest.yaml
index 845a9449c9..96eb8d0ef8 100644
--- a/docker-hub/api/latest.yaml
+++ b/docker-hub/api/latest.yaml
@@ -1687,4 +1687,4 @@ components:
This message shows that your installation appears to be working correctly.
- ```
\ No newline at end of file
+ ```
diff --git a/reference/index.md b/reference/index.md
index 3db7d9b477..458e1b70e3 100644
--- a/reference/index.md
+++ b/reference/index.md
@@ -30,7 +30,8 @@ various APIs, CLIs, and file formats.
|:------------------------------------------------------|:---------------------------------------------------------------------------------------|
| [Engine API](/engine/api/) | The main API for Docker, provides programmatic access to a daemon |
| [Registry API](/registry/spec/api/) | Facilitates distribution of images to the engine |
-| [Docker Hub API](/docker-hub/api/latest/) | API to interact with Docker Hub |
+| [Docker Hub API](/docker-hub/api/latest/) | API to interact with Docker Hub |
+| [DVP Data API](/docker-hub/api/dvp/) | API for Docker Verified Publishers to fetch analytics data |
## Drivers and specifications