mirror of
https://github.com/docker/docs.git
synced 2026-10-23 18:09:02 +03:00
@netlify /reference/api/ [Preview the API reference](https://deploy-preview-26048--docsdocker.netlify.app/reference/api/) Adds a shared API reference experience for Hub, DVP, and Registry: a catalog, operation navigation, linked schemas, request and response examples, and matching HTML and Markdown output. A validation and generation pipeline prepares the reference data for Hugo and runs as part of Docker and Netlify builds. Migrates the three specifications to OpenAPI 3.2, correcting response shapes, nullable fields, and authentication and token examples. The Hub migration also corrects SCIM contracts and CSV exports; DVP gains complete report response schemas and examples. Registry keeps its documented Hub-specific subset, with authentication and media negotiation expressed through OpenAPI security and content fields. Validation is strict for both checks and generation, with no exception baseline or bypass flag. The build uses the migrated sources directly, without migration scripts or records. Page and specification URLs remain stable, including the DVP alias. Operation and schema anchors change. Engine and Governance retain their existing references. Validated locally with Go tests, strict validation of all three specifications (zero diagnostics), scoped formatting and lint, and a full Hugo build checking all 176 HTML/Markdown page pairs, example parity, reference links, and byte-identical published specifications. A browser check confirmed raw CSV rendering and the generated request header. No live API requests were made.
900 lines
28 KiB
YAML
900 lines
28 KiB
YAML
openapi: 3.2.0
|
|
info:
|
|
title: DVP Data API
|
|
version: 1.0.0
|
|
x-logo:
|
|
url: https://docs.docker.com/assets/images/logo-docker-main.png
|
|
href: /reference
|
|
description: |
|
|
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. Analytics data can be retrieved in a CSV as raw data, or in a summary format.
|
|
|
|
#### Summary data
|
|
|
|
In your summary data CSV, you will have access to the data points listed below. You can request summary data for a complete week (Monday through Sunday) or for a complete month (available on the first day of the following month).
|
|
|
|
There are two levels of summary data:
|
|
|
|
- Repository-level, a summary of every namespace and repository
|
|
- Tag- or digest-level, a summary of every namespace, repository, and reference
|
|
(tag or digest)
|
|
|
|
The summary data formats contain the following data points:
|
|
|
|
- Unique IP address count
|
|
- Pulls by tag count
|
|
- Pulls by digest count
|
|
- Version check count
|
|
|
|
#### Raw data
|
|
|
|
In your raw data CSV you will have access to the data points listed below. You can request raw data for a complete week (Monday through Sunday) or for a complete month (available on the first day of the following month). **Note:** each action is represented as a single row.
|
|
|
|
- Type (industry)
|
|
- Host (cloud provider)
|
|
- Country (geolocation)
|
|
- Timestamp
|
|
- Namespace
|
|
- Repository
|
|
- Reference (digest is always included, tag is provided when available)
|
|
- HTTP request method
|
|
- Action, one of the following:
|
|
- Pull by tag
|
|
- Pull by digest
|
|
- Version check
|
|
- User-Agent
|
|
servers:
|
|
- url: https://hub.docker.com/api/publisher/analytics/v1
|
|
security:
|
|
- HubAuth: []
|
|
tags:
|
|
- name: authentication
|
|
summary: Authentication Endpoints
|
|
kind: nav
|
|
description: Authentication Endpoints reference.
|
|
- name: namespaces
|
|
summary: Namespace data
|
|
kind: nav
|
|
description: Namespace data reference.
|
|
- name: discovery
|
|
summary: Discovery
|
|
kind: nav
|
|
description: Discovery reference.
|
|
- name: responseDataFile
|
|
description: |
|
|
[ResponseDataFile](#schema-ResponseDataFile)
|
|
summary: ResponseDataFile
|
|
kind: info
|
|
- name: yearModel
|
|
description: |
|
|
[YearModel](#schema-YearModel)
|
|
summary: Year Data Model
|
|
kind: info
|
|
- name: monthModel
|
|
description: |
|
|
[MonthModel](#schema-MonthModel)
|
|
summary: Month Data Model
|
|
kind: info
|
|
- name: weekModel
|
|
description: |
|
|
[WeekModel](#schema-WeekModel)
|
|
summary: Week Data Model
|
|
kind: info
|
|
x-tagGroups:
|
|
- name: API
|
|
tags:
|
|
- authentication
|
|
- discovery
|
|
- namespaces
|
|
- name: Models
|
|
tags:
|
|
- responseDataFile
|
|
- yearModel
|
|
- monthModel
|
|
- weekModel
|
|
paths:
|
|
/v2/users/login:
|
|
servers:
|
|
- url: https://hub.docker.com
|
|
post:
|
|
security: []
|
|
tags:
|
|
- authentication
|
|
summary: Create an authentication token
|
|
operationId: PostUsersLogin
|
|
description: |
|
|
Creates and returns a bearer token in JWT format that you can use to
|
|
authenticate with Docker Hub APIs.
|
|
|
|
The returned token is used in the HTTP Authorization header like `Authorization: Bearer {TOKEN}`.
|
|
|
|
Most Docker Hub APIs require this token either to consume or to get detailed information. For example, to list images in a private repository.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UsersLoginRequest"
|
|
description: Login details.
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Authentication successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostUsersLoginSuccessResponse"
|
|
"401":
|
|
description: Authentication failed or second factor required
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostUsersLoginErrorResponse"
|
|
/v2/users/2fa-login:
|
|
servers:
|
|
- url: https://hub.docker.com
|
|
post:
|
|
security: []
|
|
tags:
|
|
- authentication
|
|
summary: Second factor authentication
|
|
operationId: PostUsers2FALogin
|
|
description: |
|
|
When a user has 2FA enabled, this is the second call to perform after
|
|
`/v2/users/login` call.
|
|
|
|
Creates and returns a bearer token in JWT format that you can use to authenticate with Docker Hub APIs.
|
|
|
|
The returned token is used in the HTTP Authorization header like `Authorization: Bearer {TOKEN}`.
|
|
|
|
Most Docker Hub APIs require this token either to consume or to get detailed information. For example, to list images in a private repository.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Users2FALoginRequest"
|
|
description: Login details.
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Authentication successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostUsersLoginSuccessResponse"
|
|
"401":
|
|
description: Authentication failed or second factor required
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostUsers2FALoginErrorResponse"
|
|
/:
|
|
get:
|
|
tags:
|
|
- discovery
|
|
summary: Get namespaces and repos
|
|
description: Gets a list of your namespaces and repos which have data available.
|
|
operationId: getNamespaces
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/NamespaceData"
|
|
/namespaces:
|
|
get:
|
|
tags:
|
|
- discovery
|
|
summary: Get user's namespaces
|
|
description: Get metadata associated with the namespaces the user has access to, including extra repos associated with the namespaces.
|
|
operationId: getUserNamespaces
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/NamespaceMetadata"
|
|
examples:
|
|
publishers:
|
|
summary: Namespace metadata
|
|
value:
|
|
- datasets:
|
|
- name: pulls
|
|
timespans:
|
|
- months
|
|
- weeks
|
|
views:
|
|
- raw
|
|
- summary
|
|
- repo-summary
|
|
- namespace-summary
|
|
- geo-repo-summary
|
|
extraRepos: null
|
|
namespace: org1
|
|
publisherType: DVP
|
|
extensionPublisher: false
|
|
"401":
|
|
description: Authentication failed or second factor required
|
|
/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"
|
|
/namespaces/{namespace}/pulls:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get pull data
|
|
description: Gets pulls for the given namespace.
|
|
operationId: getNamespacePulls
|
|
parameters:
|
|
- in: path
|
|
name: namespace
|
|
schema:
|
|
type: string
|
|
required: true
|
|
description: Namespace to fetch data for
|
|
- in: query
|
|
name: timespan
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: false
|
|
description: Timespan type for fetching data
|
|
- in: query
|
|
name: period
|
|
schema:
|
|
$ref: "#/components/schemas/PeriodType"
|
|
required: false
|
|
description: Relative period of the period to fetch data
|
|
- in: query
|
|
name: group
|
|
schema:
|
|
$ref: "#/components/schemas/GroupType"
|
|
required: false
|
|
description: Field to group the data by
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PullData"
|
|
"404":
|
|
description: Not found - namespace doesn't exist or user does not have permission to access it
|
|
/namespaces/{namespace}/repos/{repo}/pulls:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get pull data
|
|
description: Gets pulls for the given repo.
|
|
operationId: getRepoPulls
|
|
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: Repository to fetch data for
|
|
- in: query
|
|
name: timespan
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: false
|
|
description: Timespan type for fetching data
|
|
- in: query
|
|
name: period
|
|
schema:
|
|
$ref: "#/components/schemas/PeriodType"
|
|
required: false
|
|
description: Relative period of the period to fetch data
|
|
- in: query
|
|
name: group
|
|
schema:
|
|
$ref: "#/components/schemas/GroupType"
|
|
required: false
|
|
description: Field to group the data by
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PullData"
|
|
"404":
|
|
description: Not found - repo doesn't exist or user does not have permission to access it
|
|
/namespaces/{namespace}/pulls/exports/years:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get years with data
|
|
description: Gets a list of years that have data for the given namespace.
|
|
operationId: getNamespaceYears
|
|
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/YearData"
|
|
/namespaces/{namespace}/pulls/exports/years/{year}/{timespantype}:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get timespans with data
|
|
description: Gets a list of timespans of the given type that have data for the given namespace and year.
|
|
operationId: getNamespaceTimespans
|
|
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: timespantype
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: true
|
|
description: Type of timespan to fetch data for
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanData"
|
|
/namespaces/{namespace}/pulls/exports/years/{year}/{timespantype}/{timespan}:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get namespace metadata for timespan
|
|
description: Gets info about data for the given namespace and timespan.
|
|
operationId: getNamespaceTimespanMetadata
|
|
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: timespantype
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: true
|
|
description: Type of timespan to fetch data for
|
|
- in: path
|
|
name: timespan
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
description: Timespan to fetch data for
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanModel"
|
|
"404":
|
|
description: Not Found
|
|
/namespaces/{namespace}/pulls/exports/years/{year}/{timespantype}/{timespan}/{dataview}:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get namespace data for timespan
|
|
description: Gets a list of URLs that can be used to download the pull data for the given namespace and timespan.
|
|
operationId: getNamespaceDataByTimespan
|
|
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: timespantype
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: true
|
|
description: Type of timespan to fetch data for
|
|
- in: path
|
|
name: timespan
|
|
schema:
|
|
type: integer
|
|
required: true
|
|
description: Timespan to fetch data for
|
|
- in: path
|
|
name: dataview
|
|
schema:
|
|
$ref: "#/components/schemas/DataviewType"
|
|
required: true
|
|
description: Type of data to fetch
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ResponseData"
|
|
examples:
|
|
download:
|
|
summary: Illustrative download location
|
|
description: Use the signed URL returned by the API. The URL and file size in this example are illustrative.
|
|
value:
|
|
data:
|
|
- url: https://example.invalid/exports/pulls.csv.gz?X-Amz-Expires=21600&X-Amz-Signature=EXAMPLE
|
|
size: 1024
|
|
/repos/pulls:
|
|
get:
|
|
tags:
|
|
- namespaces
|
|
summary: Get pull data for multiple repos
|
|
description: Gets pull for the given repos.
|
|
operationId: getManyReposPulls
|
|
parameters:
|
|
- in: query
|
|
name: repos
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required: true
|
|
description: Repositories to fetch data for (maximum of 50 repositories per request).
|
|
- in: query
|
|
name: timespan
|
|
schema:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
required: false
|
|
description: Timespan type for fetching data
|
|
- in: query
|
|
name: period
|
|
schema:
|
|
$ref: "#/components/schemas/PeriodType"
|
|
required: false
|
|
description: Relative period of the period to fetch data
|
|
- in: query
|
|
name: group
|
|
schema:
|
|
$ref: "#/components/schemas/GroupType"
|
|
required: false
|
|
description: Field to group the data by
|
|
responses:
|
|
"200":
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReposPullData"
|
|
components:
|
|
schemas:
|
|
UsersLoginRequest:
|
|
examples:
|
|
- username: myusername
|
|
password: hunter2
|
|
description: User login details
|
|
type: object
|
|
required:
|
|
- username
|
|
- password
|
|
properties:
|
|
username:
|
|
description: The username of the Docker Hub account to authenticate with.
|
|
type: string
|
|
example: myusername
|
|
password:
|
|
description: The password or personal access token (PAT) of the Docker Hub account to authenticate with.
|
|
type: string
|
|
example: hunter2
|
|
PostUsersLoginSuccessResponse:
|
|
examples:
|
|
- token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: successful user login response
|
|
type: object
|
|
properties:
|
|
token:
|
|
description: |
|
|
Created authentication token.
|
|
|
|
This token can be used in the HTTP Authorization header as a JWT to authenticate with the Docker Hub APIs.
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
PostUsersLoginErrorResponse:
|
|
examples:
|
|
- detail: Incorrect authentication credentials
|
|
description: failed user login response or second factor required
|
|
type: object
|
|
required:
|
|
- detail
|
|
properties:
|
|
detail:
|
|
description: Description of the error.
|
|
type: string
|
|
example: Incorrect authentication credentials
|
|
login_2fa_token:
|
|
description: Short-lived token to be used on `/v2/users/2fa-login` to complete the authentication. This field is present only if 2FA is enabled.
|
|
type:
|
|
- string
|
|
- "null"
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
Users2FALoginRequest:
|
|
examples:
|
|
- login_2fa_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
code: "123456"
|
|
description: Second factor user login details
|
|
type: object
|
|
required:
|
|
- login_2fa_token
|
|
- code
|
|
properties:
|
|
login_2fa_token:
|
|
description: The intermediate 2FA token returned from `/v2/users/login` API.
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
code:
|
|
description: The Time-based One-Time Password of the Docker Hub account to authenticate with.
|
|
type: string
|
|
example: "123456"
|
|
PostUsers2FALoginErrorResponse:
|
|
examples:
|
|
- detail: Incorrect authentication credentials
|
|
description: failed second factor login response.
|
|
type: object
|
|
properties:
|
|
detail:
|
|
description: Description of the error.
|
|
type: string
|
|
example: Incorrect authentication credentials
|
|
ResponseData:
|
|
properties:
|
|
data:
|
|
type: array
|
|
description: Download URLs and file sizes for the export.
|
|
items:
|
|
$ref: "#/components/schemas/ResponseDataFile"
|
|
type: object
|
|
description: Download locations for the selected export. Large exports can span multiple files.
|
|
ResponseDataFile:
|
|
properties:
|
|
url:
|
|
type: string
|
|
format: uri
|
|
description: Signed download URL. URLs expire six hours after generation.
|
|
size:
|
|
type: integer
|
|
format: int64
|
|
description: Size of the file in bytes.
|
|
type: object
|
|
NamespaceData:
|
|
examples:
|
|
- namespaces:
|
|
- myorganization
|
|
properties:
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
type: object
|
|
NamespaceMetadata:
|
|
properties:
|
|
namespace:
|
|
type: string
|
|
extraRepos:
|
|
type:
|
|
- array
|
|
- "null"
|
|
items:
|
|
type: string
|
|
description: Additional repositories associated with the namespace. Null when none are configured.
|
|
datasets:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DatasetModel"
|
|
publisherType:
|
|
type: string
|
|
description: Publisher program associated with the namespace.
|
|
extensionPublisher:
|
|
type: boolean
|
|
description: Whether the namespace is an extension publisher.
|
|
type: object
|
|
examples:
|
|
- datasets:
|
|
- name: pulls
|
|
timespans:
|
|
- months
|
|
- weeks
|
|
views:
|
|
- raw
|
|
- summary
|
|
- repo-summary
|
|
- namespace-summary
|
|
- geo-repo-summary
|
|
extraRepos: null
|
|
namespace: org1
|
|
publisherType: DVP
|
|
extensionPublisher: false
|
|
- datasets:
|
|
- name: pulls
|
|
timespans:
|
|
- months
|
|
- weeks
|
|
views:
|
|
- repo-summary
|
|
- namespace-summary
|
|
- name: extensions
|
|
timespans:
|
|
- months
|
|
- weeks
|
|
views:
|
|
- ext-summary
|
|
extraRepos: null
|
|
namespace: org4
|
|
publisherType: DVP
|
|
extensionPublisher: true
|
|
DatasetModel:
|
|
properties:
|
|
name:
|
|
$ref: "#/components/schemas/DatasetType"
|
|
views:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/DataviewType"
|
|
timespans:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TimespanType"
|
|
type: object
|
|
description: Datasets and views available to the publisher, based on its entitlements.
|
|
PullData:
|
|
properties:
|
|
pulls:
|
|
type:
|
|
- array
|
|
- "null"
|
|
items:
|
|
$ref: "#/components/schemas/PullModel"
|
|
description: Pull statistics for the selected interval. Null when no records are returned.
|
|
type: object
|
|
examples:
|
|
- pulls:
|
|
- end: "2022-08-07T00:00:00Z"
|
|
pullCount: 11
|
|
repo: neo4j-admin
|
|
start: "2022-08-01T00:00:00Z"
|
|
ipCount: 10
|
|
- end: "2022-08-14T00:00:00Z"
|
|
pullCount: 11
|
|
repo: neo4j-admin
|
|
start: "2022-08-08T00:00:00Z"
|
|
ipCount: 10
|
|
- pulls: null
|
|
ReposPullData:
|
|
properties:
|
|
repos:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/PullData"
|
|
type: object
|
|
examples:
|
|
- repos:
|
|
org2/neo4j-admin:
|
|
pulls:
|
|
- end: "2022-08-07T00:00:00Z"
|
|
pullCount: 11
|
|
repo: neo4j-admin
|
|
start: "2022-08-01T00:00:00Z"
|
|
ipCount: 10
|
|
- end: "2022-08-14T00:00:00Z"
|
|
pullCount: 11
|
|
repo: neo4j-admin
|
|
start: "2022-08-08T00:00:00Z"
|
|
ipCount: 10
|
|
org2/neo4j:
|
|
pulls:
|
|
- end: "2022-08-07T00:00:00Z"
|
|
pullCount: 272407
|
|
repo: neo4j
|
|
start: "2022-08-01T00:00:00Z"
|
|
ipCount: 41490
|
|
- end: "2022-08-14T00:00:00Z"
|
|
pullCount: 272407
|
|
repo: neo4j
|
|
start: "2022-08-08T00:00:00Z"
|
|
ipCount: 41490
|
|
PullModel:
|
|
properties:
|
|
start:
|
|
type: string
|
|
format: date-time
|
|
description: Start of the reporting interval in RFC 3339 format.
|
|
end:
|
|
type: string
|
|
format: date-time
|
|
description: End of the reporting interval in RFC 3339 format.
|
|
repo:
|
|
type: string
|
|
description: Repository name. Present for results grouped by repository.
|
|
namespace:
|
|
type: string
|
|
description: Namespace name. Present for results grouped by namespace.
|
|
pullCount:
|
|
type: integer
|
|
ipCount:
|
|
type: integer
|
|
country:
|
|
type: string
|
|
description: Country. Present for results grouped by geography and repository.
|
|
type: object
|
|
YearData:
|
|
examples:
|
|
- years:
|
|
- year: 2025
|
|
properties:
|
|
years:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/YearModel"
|
|
type: object
|
|
YearModel:
|
|
properties:
|
|
year:
|
|
type: integer
|
|
type: object
|
|
MonthData:
|
|
properties:
|
|
months:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MonthModel"
|
|
type: object
|
|
required:
|
|
- months
|
|
examples:
|
|
- months:
|
|
- month: 5
|
|
- month: 7
|
|
MonthModel:
|
|
properties:
|
|
month:
|
|
type: integer
|
|
type: object
|
|
required:
|
|
- month
|
|
examples:
|
|
- month: 7
|
|
WeekData:
|
|
properties:
|
|
weeks:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/WeekModel"
|
|
type: object
|
|
required:
|
|
- weeks
|
|
examples:
|
|
- weeks:
|
|
- week: 31
|
|
- week: 32
|
|
WeekModel:
|
|
properties:
|
|
week:
|
|
type: integer
|
|
type: object
|
|
required:
|
|
- week
|
|
examples:
|
|
- week: 31
|
|
TimespanType:
|
|
type: string
|
|
enum:
|
|
- months
|
|
- weeks
|
|
PeriodType:
|
|
type: string
|
|
enum:
|
|
- last-2-months
|
|
- last-3-months
|
|
- last-6-months
|
|
- last-12-months
|
|
DataviewType:
|
|
type: string
|
|
enum:
|
|
- raw
|
|
- summary
|
|
- repo-summary
|
|
- namespace-summary
|
|
- geo-repo-summary
|
|
- ext-summary
|
|
- ext-premium-summary
|
|
- ext-premium-geo
|
|
DatasetType:
|
|
type: string
|
|
enum:
|
|
- pulls
|
|
- extensions
|
|
TimespanModel:
|
|
oneOf:
|
|
- $ref: "#/components/schemas/MonthModel"
|
|
- $ref: "#/components/schemas/WeekModel"
|
|
examples:
|
|
- month: 7
|
|
- week: 31
|
|
TimespanData:
|
|
oneOf:
|
|
- $ref: "#/components/schemas/MonthData"
|
|
- $ref: "#/components/schemas/WeekData"
|
|
examples:
|
|
- months:
|
|
- month: 5
|
|
- month: 7
|
|
- weeks:
|
|
- week: 31
|
|
- week: 32
|
|
GroupType:
|
|
type: string
|
|
enum:
|
|
- repo
|
|
- namespace
|
|
securitySchemes:
|
|
HubAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
description: |
|
|
JWT Bearer Authentication is required to access the Docker DVP Data API.
|
|
|
|
This authentication documentation is duplicated from the [Hub API Authentication docs](https://docs.docker.com/reference/api/hub/latest/#authentication)
|
|
x-displayName: Docker Hub Authentication
|
|
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base
|
|
x-features-openapi:
|
|
schemaDefinitionsTagName: Schemas
|