Download OpenAPI specification:Download
The Docker DVP Data API allows Docker Verified Publishers to view image pull analytics data for their namespaces. Analytics data can be retrieved as raw data, or in a summary format.
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:
The summary data formats contain the following data points:
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.
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.
Login details.
username required | string The username of the Docker Hub account to authenticate with. |
password required | string The password or personal access token (PAT) of the Docker Hub account to authenticate with. |
{- "username": "myusername",
- "password": "hunter2"
}
{- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
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.
Login details.
login_2fa_token required | string The intermediate 2FA token returned from |
code required | string The Time-based One-Time Password of the Docker Hub account to authenticate with. |
{- "login_2fa_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "code": 123456
}
{- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
Get metadata associated with the namespaces the user has access to, including extra repos associated with the namespaces.
[- {
- "namespace": "string",
- "extraRepos": [
- "string"
], - "datasets": [
- {
- "name": "pulls",
- "views": [
- "raw"
], - "timespans": [
- "months"
]
}
]
}
]
Gets metadata associated with specified namespace, including extra repos associated with the namespace.
namespace required | string Namespace to fetch data for |
{- "namespace": "string",
- "extraRepos": [
- "string"
], - "datasets": [
- {
- "name": "pulls",
- "views": [
- "raw"
], - "timespans": [
- "months"
]
}
]
}
Gets pulls for the given namespace.
namespace required | string Namespace to fetch data for |
timespan | string (TimespanType) Enum: "months" "weeks" Timespan type for fetching data |
period | string (PeriodType) Enum: "last-2-months" "last-3-months" "last-6-months" "last-12-months" Relative period of the period to fetch data |
group | string (GroupType) Enum: "repo" "namespace" Field to group the data by |
{- "pulls": [
- {
- "start": "string",
- "end": "string",
- "repo": "string",
- "namespace": "string",
- "pullCount": 0,
- "ipCount": 0,
- "country": "string"
}
]
}
Gets pulls for the given repo.
namespace required | string Namespace to fetch data for |
repo required | string Repository to fetch data for |
timespan | string (TimespanType) Enum: "months" "weeks" Timespan type for fetching data |
period | string (PeriodType) Enum: "last-2-months" "last-3-months" "last-6-months" "last-12-months" Relative period of the period to fetch data |
group | string (GroupType) Enum: "repo" "namespace" Field to group the data by |
{- "pulls": [
- {
- "start": "string",
- "end": "string",
- "repo": "string",
- "namespace": "string",
- "pullCount": 0,
- "ipCount": 0,
- "country": "string"
}
]
}
Gets a list of timespans of the given type that have data for the given namespace and year.
namespace required | string Namespace to fetch data for |
year required | integer Year to fetch data for |
timespantype required | string (TimespanType) Enum: "months" "weeks" Type of timespan to fetch data for |
{- "months": [
- {
- "month": 0
}
]
}
Gets info about data for the given namespace and timespan.
namespace required | string Namespace to fetch data for |
year required | integer Year to fetch data for |
timespantype required | string (TimespanType) Enum: "months" "weeks" Type of timespan to fetch data for |
timespan required | integer Timespan to fetch data for |
{- "month": 0
}
Gets a list of URLs that can be used to download the pull data for the given namespace and timespan.
namespace required | string Namespace to fetch data for |
year required | integer Year to fetch data for |
timespantype required | string (TimespanType) Enum: "months" "weeks" Type of timespan to fetch data for |
timespan required | integer Timespan to fetch data for |
dataview required | string (DataviewType) Enum: "raw" "summary" "repo-summary" "namespace-summary" Type of data to fetch |
{- "data": [
- {
- "url": "string",
- "size": 0
}
]
}
Gets pull for the given repos.
repos required | Array of strings Repositories to fetch data for (maximum of 50 repositories per request). |
timespan | string (TimespanType) Enum: "months" "weeks" Timespan type for fetching data |
period | string (PeriodType) Enum: "last-2-months" "last-3-months" "last-6-months" "last-12-months" Relative period of the period to fetch data |
group | string (GroupType) Enum: "repo" "namespace" Field to group the data by |
{- "repos": {
- "property1": {
- "pulls": [
- {
- "start": "string",
- "end": "string",
- "repo": "string",
- "namespace": "string",
- "pullCount": 0,
- "ipCount": 0,
- "country": "string"
}
]
}, - "property2": {
- "pulls": [
- {
- "start": "string",
- "end": "string",
- "repo": "string",
- "namespace": "string",
- "pullCount": 0,
- "ipCount": 0,
- "country": "string"
}
]
}
}
}