Update DVP OAPI doc to latest version

This commit is contained in:
Chris Ainsworth-Patrick 2022-06-30 07:54:40 +01:00
parent 9eb2a8ab72
commit cfd1799ca9
5 changed files with 250 additions and 31 deletions

View File

@ -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)

View File

@ -1,10 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<title>Docker Hub API {{ page.name | replace: '.md' }} Reference</title>
<title>Docker Hub API Reference - {{ page.name | replace: '.md' }}</title>
<!-- needed for adaptive design -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Reference documentation and Swagger (OpenAPI) specification for the v{{ page.name | replace: '.md' }} version of the API served by Docker Hub." />
<meta name="description" content="Reference documentation and Swagger (OpenAPI) specification for the {{ page.name | replace: '.md' }} API served by Docker Hub." />
<meta charset="utf-8" />
<!-- favicon -->
<meta name="msapplication-TileImage" content="/favicons/docs@2x.ico" />

View File

@ -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: |
<SchemaDefinition schemaRef="#/components/schemas/ResponseDataFile" />
- name: yearModel
x-displayName: Year Data Model
description: |
<SchemaDefinition schemaRef="#/components/schemas/YearModel" />
- name: monthModel
x-displayName: Month Data Model
description: |
<SchemaDefinition schemaRef="#/components/schemas/MonthModel" />
- name: weekModel
x-displayName: Week Data Model
description: |
<SchemaDefinition schemaRef="#/components/schemas/WeekModel" />
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

View File

@ -1687,4 +1687,4 @@ components:
This message shows that your installation appears to be working correctly.
```
```

View File

@ -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