APIHub
Back to Explore

Docker Hub

The Docker Hub API enables programmatic management of Docker Hub accounts and organizations, covering authentication, personal and organization access tokens, audit logs, repository and tag operations, team/group permissions, and SCIM‑based user provisioning.

Development
bearer
HTTPS
CORS: Yes
Description enriched
Visit official documentation

Latency

309ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
POST

/v2/users/login

Create an authentication token

POST

/v2/users/2fa-login

Second factor authentication

POST

/v2/auth/token

Create access token

PUT

/v2/scim/2.0/Users/{id}

Update a user

GET

/v2/access-tokens

List personal access tokens

  • page (query, page) — Page number to return.
  • page_size (query, limit) — Number of results per page.
POST

/v2/access-tokens

Create personal access token

GET

/v2/access-tokens/{uuid}

Get personal access token

PATCH

/v2/access-tokens/{uuid}

Update personal access token

DELETE

/v2/access-tokens/{uuid}

Delete personal access token

GET

/v2/auditlogs/{account}/actions

List audit log actions

  • account (path, required) — Namespace to query audit log actions for.
GET

/v2/auditlogs/{account}

List audit log events

  • account (path, required) — Namespace to query audit logs for.
  • action (query) — action name one of ["repo.tag.push", ...]. Optional parameter to filter specific audit log actions.
  • name (query) — name. Optional parameter to filter audit log events to a specific name. For repository events, this is the name of the repository. For organization events, this is the name of the organization. For team member events, this is the username of the team member.
  • actor (query) — actor name. Optional parameter to filter audit log events to the specific user who triggered the event.
  • from (query) — Start of the time window you wish to query audit events for.
  • to (query) — End of the time window you wish to query audit events for.
  • page (query, page) — page - specify page number. Page number to get.
  • page_size (query, limit) — page_size - specify page size. Number of events to return per page.
GET

/v2/orgs/{name}/settings

Get organization settings

PUT

/v2/orgs/{name}/settings

Update organization settings

GET

/v2/orgs/{name}/access-tokens

List access tokens

  • page (query, page) — Page number to return.
  • page_size (query, limit) — Number of results per page.
POST

/v2/orgs/{name}/access-tokens

Create access token

GET

/v2/orgs/{org_name}/access-tokens/{access_token_id}

Get access token

PATCH

/v2/orgs/{org_name}/access-tokens/{access_token_id}

Update access token

DELETE

/v2/orgs/{org_name}/access-tokens/{access_token_id}

Delete access token

GET

/v2/namespaces/{namespace}/repositories/{repository}/tags

List repository tags

  • page (query, page) — Page number to get. Defaults to 1.
  • page_size (query, limit) — Number of items to get per page. Defaults to 10. Max of 100.
GET

/v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}

Read repository tag

PATCH

/v2/namespaces/{namespace}/repositories/{repository}/immutabletags

Update repository immutable tags

POST

/v2/namespaces/{namespace}/repositories/{repository}/immutabletags/verify

Verify repository immutable tags

POST

/v2/repositories/{namespace}/{repository}/groups

Assign a group (Team) to a repository for access

GET

/v2/namespaces/{namespace}/repositories

List repositories in a namespace

  • page (query, page) — Page number to get. Defaults to 1.
  • page_size (query, limit) — Number of repositories to get per page. Defaults to 10. Max of 100.
  • name (query) — Filter repositories by name (partial match).
  • ordering (query) — Order repositories by the specified field. Prefix with '-' for descending order. Available options: - `name` / `-name`: Repository name (ascending/descending) - `last_updated` / `-last_updated`: Last update time (ascending/descending) - `pull_count` / `-pull_count`: Number of pulls (ascending/descending)
POST

/v2/namespaces/{namespace}/repositories

Create a new repository

GET

/v2/namespaces/{namespace}/repositories/{repository}

Get repository in a namespace

GET

/v2/orgs/{org_name}/members

List org members

GET

/v2/orgs/{org_name}/members/export

Export org members CSV

PUT

/v2/orgs/{org_name}/members/{username}

Update org member (role)

DELETE

/v2/orgs/{org_name}/members/{username}

Remove member from org

GET

/v2/orgs/{org_name}/invites

List org invites

GET

/v2/orgs/{org_name}/groups

Get groups of an organization

  • username (query) — Get groups for the specified username in the organization.
  • search (query) — Get groups for the specified group in the organization.
POST

/v2/orgs/{org_name}/groups

Create a new group

GET

/v2/orgs/{org_name}/groups/{group_name}

Get a group of an organization

PUT

/v2/orgs/{org_name}/groups/{group_name}

Update the details for an organization group

PATCH

/v2/orgs/{org_name}/groups/{group_name}

Update some details for an organization group

DELETE

/v2/orgs/{org_name}/groups/{group_name}

Delete an organization group

GET

/v2/orgs/{org_name}/groups/{group_name}/members

List members of a group

  • search (query) — Search members by username, full_name or email.
POST

/v2/orgs/{org_name}/groups/{group_name}/members

Add a member to a group

DELETE

/v2/orgs/{org_name}/groups/{group_name}/members/{username}

Remove a user from a group

DELETE

/v2/invites/{id}

Cancel an invite

PATCH

/v2/invites/{id}/resend

Resend an invite

POST

/v2/invites/bulk

Bulk create invites

GET

/v2/scim/2.0/ServiceProviderConfig

Get service provider config

GET

/v2/scim/2.0/ResourceTypes

List resource types

GET

/v2/scim/2.0/ResourceTypes/{name}

Get a resource type

  • name (path, required) — Name of the SCIM resource type.
GET

/v2/scim/2.0/Schemas

List schemas

GET

/v2/scim/2.0/Schemas/{id}

Get a schema

  • id (path, required) — URN identifying the SCIM schema.
GET

/v2/scim/2.0/Users

List users

  • startIndex (query) — One-based index of the first result to return.
  • count (query, limit) — Maximum number of results to return.
  • filter (query) — SCIM filter expression used to select users.
  • sortOrder (query) — Sort direction applied to the attribute specified by sortBy.
  • sortBy (query) — User attribute to sort by.
POST

/v2/scim/2.0/Users

Create user

GET

/v2/scim/2.0/Users/{id}

Get a user

51 endpoints auto-detected

Authentication

This API uses Bearer token authentication — pass your token in the Authorization header.

curl -X POST \
  "https://docs.docker.com/docker-hub/api/latest//v2/users/login" \
  -H "Authorization: Bearer YOUR_TOKEN"

docs.docker.com · HTTPS only