Docker Hub Orgs API
The organization endpoints allow you to interact with and manage your organizations. For more information, see [Organization administration overview](https://docs.docker.com/admin/organization/).
The organization endpoints allow you to interact with and manage your organizations. For more information, see [Organization administration overview](https://docs.docker.com/admin/organization/).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/docker-hub-orgs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Docker HUB Orgs API
version: 2-beta
x-logo:
url: https://docs.docker.com/assets/images/logo-docker-main.png
href: /reference
description: 'Docker Hub is a service provided by Docker for finding and sharing container images with your team.
It is the world''s largest library and community for container images.
In addition to the Docker Hub UI and Docker Hub CLI tool (currently experimental), Docker provides an API that allows you to interact with Docker Hub.
Browse through the Docker Hub API documentation to explore the supported endpoints.'
servers:
- description: Docker HUB API
x-audience: public
url: https://hub.docker.com
tags:
- name: Orgs
x-displayName: Organizations
x-audience: public
description: 'The organization endpoints allow you to interact with and manage your organizations.
For more information, see Organization administration overview.'
paths:
/v2/orgs/{org_name}/members:
parameters:
- $ref: '#/components/parameters/org_name'
- $ref: '#/components/parameters/search'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/invites'
- $ref: '#/components/parameters/type'
- $ref: '#/components/parameters/role'
get:
summary: List org members
description: 'Returns a list of members for an organization.
_The following fields are only visible to orgs with insights enabled._
- `last_logged_in_at`
- `last_seen_at`
- `last_desktop_version`
To make visible, please see View Insights for organization users.'
tags:
- Orgs
security:
- bearerAuth: []
responses:
'200':
description: List of members
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/org_member_paginated'
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
operationId: getV2OrgsByOrgNameMembers
x-operation-id-source: derived
/v2/orgs/{org_name}/members/export:
parameters:
- $ref: '#/components/parameters/org_name'
get:
summary: Export org members CSV
description: Export members of an organization as a CSV
tags:
- Orgs
security:
- bearerAuth: []
responses:
'200':
description: Exported members
content:
text/csv:
schema:
type: array
items:
type: object
required:
- Name
- Username
- Email
- Type
- Role
- Date Joined
properties:
Name:
type: string
description: First and last name of the member
Username:
type: string
description: Username of the member
Email:
type: string
description: Email address of the member
Type:
type: string
description: Type of the member
enum:
- Invitee
- User
Permission:
type: string
description: Permission of the member
enum:
- Owner
- Member
Teams:
type: string
description: Comma-separated list of teams the member is part of
example: team-1, team-2
Date Joined:
type: string
description: Date the member joined the organization
example: 2020-01-01 15:00:51.193355 +0000 UTC
headers:
Content-Disposition:
schema:
type: string
example: attachment;filename="{org_name}-members-{timestamp}.csv"
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
operationId: getV2OrgsByOrgNameMembersExport
x-operation-id-source: derived
/v2/orgs/{org_name}/members/{username}:
x-audience: public
parameters:
- $ref: '#/components/parameters/org_name'
- $ref: '#/components/parameters/username'
put:
summary: Update org member (role)
description: 'Updates the role of a member in the organization.
***Only users in the "owners" group of the organization can use this endpoint.***'
tags:
- Orgs
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
required:
- role
properties:
role:
type: string
description: Role of the member
enum:
- owner
- editor
- member
responses:
'200':
description: Member role updated
content:
application/json:
schema:
$ref: '#/components/schemas/org_member'
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
operationId: putV2OrgsByOrgNameMembersByUsername
x-operation-id-source: derived
delete:
summary: Remove member from org
description: Removes the member from the org, ie. all groups in the org, unless they're the last owner
tags:
- Orgs
security:
- bearerAuth: []
responses:
'204':
description: Member removed successfully
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
operationId: deleteV2OrgsByOrgNameMembersByUsername
x-operation-id-source: derived
components:
responses:
forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/error'
bad_request:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
not_found:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
parameters:
role:
in: query
name: role
schema:
type: string
enum:
- owner
- editor
- member
example: owner
org_name:
in: path
name: org_name
description: Name of the organization (namespace).
schema:
type: string
example: myorganization
required: true
type:
in: query
name: type
schema:
type: string
enum:
- all
- invitee
- member
example: all
username:
in: path
name: username
description: Username, identifier for the user (namespace, DockerID).
schema:
type: string
example: jonsnow
required: true
page_size:
in: query
name: page_size
description: Number of items (rows) per page.
schema:
type: integer
invites:
in: query
name: invites
description: Include invites in the response.
schema:
type: boolean
search:
in: query
name: search
schema:
type: integer
description: Search term.
page:
in: query
name: page
description: Page number (starts on 1).
schema:
type: integer
schemas:
user:
type: object
properties:
id:
type: string
example: 0ab70deb065a43fcacd55d48caa945d8
description: The UUID trimmed
company:
type: string
example: Docker Inc
date_joined:
type: string
example: '2021-01-05T21:06:53.506400Z'
full_name:
type: string
example: Jon Snow
gravatar_email:
type: string
gravatar_url:
type: string
location:
type: string
profile_url:
type: string
type:
type: string
enum:
- User
- Org
example: User
username:
type: string
example: dockeruser
error:
type: object
properties:
errinfo:
type: object
items:
type: string
detail:
type: string
message:
type: string
org_member_paginated:
type: object
properties:
count:
type: number
description: The total number of items that match with the search.
example: 120
previous:
type: string
description: The URL or link for the previous page of items.
example: https://hub.docker.com/v2/some/resources/items?page=1&page_size=20
next:
type: string
description: The URL or link for the next page of items.
example: https://hub.docker.com/v2/some/resources/items?page=3&page_size=20
results:
type: array
description: List of accounts.
items:
$ref: '#/components/schemas/org_member'
org_member:
allOf:
- $ref: '#/components/schemas/user'
properties:
email:
type: string
description: User's email address
example: example@docker.com
role:
type: string
description: User's role in the Organization
enum:
- Owner
- Member
- Invitee
example: Owner
groups:
type: array
description: Groups (Teams) that the user is member of
items:
type: string
example:
- developers
- owners
is_guest:
type: boolean
description: If the organization has verified domains, members that have email addresses outside of those domains will be flagged as guests.
example: false
primary_email:
type: string
description: The user's email primary address.
example: example@docker.com
deprecated: true
last_logged_in_at:
type: string
format: date-time
description: "Last time the user logged in. To access this field, you must have insights visible for your organization. See \n[Insights](https://docs.docker.com/admin/insights/#view-insights-for-organization-users).\n"
example: '2021-01-05T21:06:53.506400Z'
last_seen_at:
type: string
format: date-time
description: "Last time the user was seen. To access this field, you must have insights visible for your organization. See \n[Insights](https://docs.docker.com/admin/insights/#view-insights-for-organization-users).\n"
example: '2021-01-05T21:06:53.506400Z'
last_desktop_version:
type: string
description: "Last desktop version the user used. To access this field, you must have insights visible for your organization. See \n[Insights](https://docs.docker.com/admin/insights/#view-insights-for-organization-users).\n"
example: 4.29.0
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
bearerSCIMAuth:
type: http
scheme: bearer
x-tagGroups:
- name: General
tags:
- changelog
- resources
- rate-limiting
- authentication
- name: API
tags:
- authentication-api
- access-tokens
- images
- audit-logs
- org-settings
- repositories
- scim
- orgs
- org-access-tokens
- groups
- invites