diff --git a/content/reference/api/hub/latest-changelog.md b/content/reference/api/hub/latest-changelog.md
index 030cfc991f4f..c1c8d7ed42c1 100644
--- a/content/reference/api/hub/latest-changelog.md
+++ b/content/reference/api/hub/latest-changelog.md
@@ -11,6 +11,12 @@ toc_max: 2
Here you can learn about the latest changes, new features, bug fixes, and known
issues for Docker Service APIs.
+## 2025-03-25
+
+### New
+
+- Add [APIs](/reference/api/hub/latest/#tag/org-access-tokens) for organization access token (OATs) management.
+
## 2025-03-18
### New
diff --git a/content/reference/api/hub/latest.yaml b/content/reference/api/hub/latest.yaml
index 14e787825af7..44f4bab98c76 100644
--- a/content/reference/api/hub/latest.yaml
+++ b/content/reference/api/hub/latest.yaml
@@ -81,7 +81,7 @@ tags:
## Organization Access Token (OAT)
Organization access tokens are scoped to specific resources and scopes
in an organization. They are managed by organization owners.
-
+
These tokens are meant for automation and are not meant to be used by
users.
@@ -154,6 +154,11 @@ tags:
SCIM is a provisioning system that lets you manage users within your identity provider (IdP).
For more information, see [System for Cross-domain Identity management](https://docs.docker.com/security/for-admins/provisioning/scim/).
+ - name: org-access-tokens
+ x-displayName: Organization Access Tokens
+ x-audience: public
+ description: |
+ The organization access token endpoints allow you to manage organization access tokens (OATs). See [Organization access tokens](https://docs.docker.com/security/for-admins/access-tokens/) for more information.
paths:
/v2/users/login:
post:
@@ -169,7 +174,7 @@ paths:
The returned token is used in the HTTP Authorization header like `Authorization: Bearer {TOKEN}`.
_**As of September 16, 2024, this route requires a personal access token (PAT) instead of a password if your organization has SSO enforced.**_
-
+
@@ -177,22 +182,22 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/UsersLoginRequest'
+ $ref: "#/components/schemas/UsersLoginRequest"
description: Login details.
required: true
responses:
- '200':
+ "200":
description: Authentication successful
content:
application/json:
schema:
- $ref: '#/components/schemas/PostUsersLoginSuccessResponse'
- '401':
+ $ref: "#/components/schemas/PostUsersLoginSuccessResponse"
+ "401":
description: Authentication failed or second factor required
content:
application/json:
schema:
- $ref: '#/components/schemas/PostUsersLoginErrorResponse'
+ $ref: "#/components/schemas/PostUsersLoginErrorResponse"
/v2/users/2fa-login:
post:
tags:
@@ -212,22 +217,22 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/Users2FALoginRequest'
+ $ref: "#/components/schemas/Users2FALoginRequest"
description: Login details.
required: true
responses:
- '200':
+ "200":
description: Authentication successful
content:
application/json:
schema:
- $ref: '#/components/schemas/PostUsersLoginSuccessResponse'
- '401':
+ $ref: "#/components/schemas/PostUsersLoginSuccessResponse"
+ "401":
description: Authentication failed
content:
application/json:
schema:
- $ref: '#/components/schemas/PostUsers2FALoginErrorResponse'
+ $ref: "#/components/schemas/PostUsers2FALoginErrorResponse"
/v2/auth/token:
post:
tags:
@@ -237,7 +242,7 @@ paths:
operationId: AuthCreateAccessToken
description: |
Creates and returns a short-lived access token in JWT format for use as a bearer when calling Docker APIs.
-
+
If successful, the access token returned should be used in the HTTP Authorization header like
`Authorization: Bearer {access_token}`.
@@ -265,15 +270,15 @@ paths:
type: string
example: dckr_pat_124509ugsdjga93
responses:
- '200':
+ "200":
description: Token created
content:
application/json:
schema:
- $ref: '#/components/schemas/AuthCreateTokenResponse'
- '401':
+ $ref: "#/components/schemas/AuthCreateTokenResponse"
+ "401":
description: Authentication failed
- $ref: '#/components/responses/unauthorized'
+ $ref: "#/components/responses/unauthorized"
/v2/access-tokens:
post:
summary: Create personal access token
@@ -286,25 +291,25 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/createAccessTokenRequest'
+ $ref: "#/components/schemas/createAccessTokenRequest"
required: true
responses:
- '201':
+ "201":
description: Created
content:
application/json:
schema:
- $ref: '#/components/schemas/createAccessTokensResponse'
- '400':
- $ref: '#/components/responses/BadRequest'
- '401':
- $ref: '#/components/responses/Unauthorized'
+ $ref: "#/components/schemas/createAccessTokensResponse"
+ "400":
+ $ref: "#/components/responses/BadRequest"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
get:
summary: List personal access tokens
description: Returns a paginated list of personal access tokens.
tags:
- access-tokens
- security:
+ security:
- bearerAuth: []
parameters:
- in: query
@@ -318,16 +323,16 @@ paths:
type: number
default: 10
responses:
- '200':
+ "200":
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/getAccessTokensResponse'
- '400':
- $ref: '#/components/responses/BadRequest'
- '401':
- $ref: '#/components/responses/Unauthorized'
+ $ref: "#/components/schemas/getAccessTokensResponse"
+ "400":
+ $ref: "#/components/responses/BadRequest"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
/v2/access-tokens/{uuid}:
parameters:
- in: path
@@ -341,64 +346,64 @@ paths:
Updates a personal access token partially. You can either update the token's label or enable/disable it.
tags:
- access-tokens
- security:
+ security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/patchAccessTokenRequest'
+ $ref: "#/components/schemas/patchAccessTokenRequest"
required: true
responses:
- '200':
+ "200":
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/patchAccessTokenResponse'
- '400':
- $ref: '#/components/responses/BadRequest'
- '401':
- $ref: '#/components/responses/Unauthorized'
+ $ref: "#/components/schemas/patchAccessTokenResponse"
+ "400":
+ $ref: "#/components/responses/BadRequest"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
get:
summary: Get personal access token
description: Returns a personal access token by UUID.
tags:
- access-tokens
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: OK
content:
application/json:
schema:
allOf:
- - $ref: '#/components/schemas/accessToken'
+ - $ref: "#/components/schemas/accessToken"
- type: object
properties:
token:
type: string
- example: ''
- '401':
- $ref: '#/components/responses/Unauthorized'
- '404':
- $ref: '#/components/responses/NotFound'
+ example: ""
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "404":
+ $ref: "#/components/responses/NotFound"
delete:
summary: Delete personal access token
description: |
Deletes a personal access token permanently. This cannot be undone.
tags:
- access-tokens
- security:
+ security:
- bearerAuth: []
responses:
- '204':
+ "204":
description: A successful response.
- '401':
- $ref: '#/components/responses/Unauthorized'
- '404':
- $ref: '#/components/responses/NotFound'
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "404":
+ $ref: "#/components/responses/NotFound"
/v2/auditlogs/{account}/actions:
get:
summary: List audit log actions
@@ -407,15 +412,15 @@ paths:
operationId: AuditLogs_ListAuditActions
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: A successful response.
content:
application/json:
schema:
- $ref: '#/components/schemas/GetAuditActionsResponse'
+ $ref: "#/components/schemas/GetAuditActionsResponse"
examples:
response:
value:
@@ -462,8 +467,8 @@ paths:
description: contains image tag delete events
label: Tag Deleted
label: Repository
- '429':
- description: ''
+ "429":
+ description: ""
content:
application/json:
schema: {}
@@ -472,8 +477,8 @@ paths:
value:
detail: Rate limit exceeded
error: false
- '500':
- description: ''
+ "500":
+ description: ""
content:
application/json:
schema: {}
@@ -482,7 +487,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/rpcStatus'
+ $ref: "#/components/schemas/rpcStatus"
parameters:
- name: account
description: Namespace to query audit log actions for.
@@ -503,12 +508,12 @@ paths:
security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: A successful response.
content:
application/json:
schema:
- $ref: '#/components/schemas/GetAuditLogsResponse'
+ $ref: "#/components/schemas/GetAuditLogsResponse"
examples:
response:
value:
@@ -520,11 +525,11 @@ paths:
data:
digest: sha256:c1ae9c435032a276f80220c7d9b40f76266bbe79243d34f9cda30b76fe114dfa
tag: latest
- timestamp: '2021-02-19T01:34:35Z'
+ timestamp: "2021-02-19T01:34:35Z"
action_description: |
pushed the tag latest with the digest sha256:c1ae9c435032a to the repository docker/example
- '429':
- description: ''
+ "429":
+ description: ""
content:
application/json:
schema: {}
@@ -533,8 +538,8 @@ paths:
value:
detail: Rate limit exceeded
error: false
- '500':
- description: ''
+ "500":
+ description: ""
content:
application/json:
schema: {}
@@ -543,7 +548,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/rpcStatus'
+ $ref: "#/components/schemas/rpcStatus"
parameters:
- name: account
description: Namespace to query audit logs for.
@@ -618,21 +623,21 @@ paths:
Returns organization settings by name.
tags:
- org-settings
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/orgSettings'
- '401':
- $ref: '#/components/responses/Unauthorized'
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ $ref: "#/components/schemas/orgSettings"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
put:
summary: Update organization settings
description: |
@@ -644,7 +649,7 @@ paths:
- `restricted_images`
tags:
- org-settings
- security:
+ security:
- bearerAuth: []
requestBody:
content:
@@ -655,7 +660,7 @@ paths:
properties:
restricted_images:
allOf:
- - $ref: '#/components/schemas/restricted_images'
+ - $ref: "#/components/schemas/restricted_images"
- type: object
required:
- enabled
@@ -663,27 +668,165 @@ paths:
- allow_verified_publishers
required: true
responses:
- '200':
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/orgSettings"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
+ /v2/orgs/{name}/access-tokens:
+ post:
+ summary: Create access token
+ description: |
+ Create an access token for an organization.
+ tags:
+ - org-access-tokens
+ security:
+ - bearerAuth: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/createOrgAccessTokenRequest"
+ required: true
+ responses:
+ "201":
+ description: Created
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/createOrgAccessTokenResponse"
+ "400":
+ $ref: "#/components/responses/BadRequest"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
+ get:
+ summary: List access tokens
+ description: |
+ List access tokens for an organization.
+ tags:
+ - org-access-tokens
+ security:
+ - bearerAuth: []
+ parameters:
+ - in: query
+ name: page
+ schema:
+ type: number
+ default: 1
+ - in: query
+ name: page_size
+ schema:
+ type: number
+ default: 10
+ responses:
+ "200":
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/orgSettings'
- '401':
- $ref: '#/components/responses/Unauthorized'
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ $ref: "#/components/schemas/getOrgAccessTokensResponse"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
+
+ /v2/orgs/{org_name}/access-tokens/{access_token_id}:
+ parameters:
+ - $ref: "#/components/parameters/org_name"
+ - in: path
+ name: access_token_id
+ required: true
+ schema:
+ type: string
+ description: The ID of the access token to retrieve
+ example: "a7a5ef25-8889-43a0-8cc7-f2a94268e861"
+ get:
+ summary: Get access token
+ description: |
+ Get details of a specific access token for an organization.
+ tags:
+ - org-access-tokens
+ security:
+ - bearerAuth: []
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/getOrgAccessTokenResponse"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
+ patch:
+ summary: Update access token
+ description: |
+ Update a specific access token for an organization.
+ tags:
+ - org-access-tokens
+ security:
+ - bearerAuth: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/updateOrgAccessTokenRequest"
+ required: true
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/updateOrgAccessTokenResponse"
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
+ delete:
+ summary: Delete access token
+ description: |
+ Delete a specific access token for an organization. This action cannot be undone.
+ tags:
+ - org-access-tokens
+ security:
+ - bearerAuth: []
+ responses:
+ "204":
+ description: Access token deleted successfully
+ "401":
+ $ref: "#/components/responses/Unauthorized"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
/v2/namespaces/{namespace}/repositories/{repository}/tags:
parameters:
- - $ref: '#/components/parameters/namespace'
- - $ref: '#/components/parameters/repository'
+ - $ref: "#/components/parameters/namespace"
+ - $ref: "#/components/parameters/repository"
get:
summary: List repository tags
tags:
- repositories
- security:
+ security:
- bearerAuth: []
parameters:
- in: query
@@ -699,65 +842,65 @@ paths:
type: integer
description: Number of items to get per page. Defaults to 10. Max of 100.
responses:
- '200':
- $ref: '#/components/responses/list_tags'
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ "200":
+ $ref: "#/components/responses/list_tags"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
head:
summary: Check repository tags
tags:
- repositories
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: Repository contains tags
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
/v2/namespaces/{namespace}/repositories/{repository}/tags/{tag}:
parameters:
- - $ref: '#/components/parameters/namespace'
- - $ref: '#/components/parameters/repository'
- - $ref: '#/components/parameters/tag'
+ - $ref: "#/components/parameters/namespace"
+ - $ref: "#/components/parameters/repository"
+ - $ref: "#/components/parameters/tag"
get:
summary: Read repository tag
tags:
- repositories
- security:
+ security:
- bearerAuth: []
responses:
- '200':
- $ref: '#/components/responses/get_tag'
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ "200":
+ $ref: "#/components/responses/get_tag"
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
head:
summary: Check repository tag
tags:
- repositories
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: Repository tag exists
- '403':
- $ref: '#/components/responses/Forbidden'
- '404':
- $ref: '#/components/responses/NotFound'
+ "403":
+ $ref: "#/components/responses/Forbidden"
+ "404":
+ $ref: "#/components/responses/NotFound"
/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'
+ - $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: |
@@ -774,28 +917,28 @@ paths:
tags:
- orgs
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "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'
+ $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"
/v2/orgs/{org_name}/members/export:
parameters:
- - $ref: '#/components/parameters/org_name'
+ - $ref: "#/components/parameters/org_name"
get:
summary: Export org members CSV
description: |
@@ -804,10 +947,10 @@ paths:
tags:
- orgs
- security:
+ security:
- bearerAuth: []
responses:
- '200':
+ "200":
description: Exported members
content:
text/csv:
@@ -857,19 +1000,19 @@ paths:
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'
+ "400":
+ $ref: "#/components/responses/bad_request"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/orgs/{org_name}/members/{username}:
x-audience: public
parameters:
- - $ref: '#/components/parameters/org_name'
- - $ref: '#/components/parameters/username'
+ - $ref: "#/components/parameters/org_name"
+ - $ref: "#/components/parameters/username"
put:
summary: Update org member (role)
description: |
@@ -879,7 +1022,7 @@ paths:
tags:
- orgs
- security:
+ security:
- bearerAuth: []
requestBody:
required: true
@@ -897,20 +1040,20 @@ paths:
- editor
- member
responses:
- '200':
+ "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'
+ $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"
delete:
summary: Remove member from org
description: |
@@ -919,23 +1062,23 @@ paths:
tags:
- orgs
- security:
+ security:
- bearerAuth: []
responses:
- '204':
+ "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'
+ "400":
+ $ref: "#/components/responses/bad_request"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/orgs/{org_name}/invites:
x-audience: public
parameters:
- - $ref: '#/components/parameters/org_name'
+ - $ref: "#/components/parameters/org_name"
get:
summary: List org invites
description: |
@@ -944,11 +1087,11 @@ paths:
tags:
- invites
- security:
+ security:
- bearerAuth: []
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
@@ -957,28 +1100,28 @@ paths:
data:
type: array
items:
- $ref: '#/components/schemas/invite'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/invite"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/orgs/{org_name}/groups:
x-audience: public
parameters:
- - $ref: '#/components/parameters/org_name'
+ - $ref: "#/components/parameters/org_name"
get:
summary: Get groups of an organization
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
parameters:
- - $ref: '#/components/parameters/page'
- - $ref: '#/components/parameters/page_size'
+ - $ref: "#/components/parameters/page"
+ - $ref: "#/components/parameters/page_size"
- in: query
name: username
schema:
@@ -990,8 +1133,8 @@ paths:
type: string
description: Get groups for the specified group in the organization.
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
@@ -1008,13 +1151,13 @@ paths:
results:
type: array
items:
- $ref: '#/components/schemas/org_group'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/org_group"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
post:
summary: Create a new group
description: |
@@ -1023,7 +1166,7 @@ paths:
tags:
- groups
- security:
+ security:
- bearerAuth: []
requestBody:
content:
@@ -1037,51 +1180,51 @@ paths:
description:
type: string
responses:
- '201':
+ "201":
description: Group created successfully
content:
application/json:
schema:
- $ref: '#/components/schemas/org_group'
- '400':
- $ref: '#/components/responses/bad_request'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
+ $ref: "#/components/schemas/org_group"
+ "400":
+ $ref: "#/components/responses/bad_request"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
/v2/orgs/{org_name}/groups/{group_name}:
x-audience: public
parameters:
- - $ref: '#/components/parameters/org_name'
- - $ref: '#/components/parameters/group_name'
+ - $ref: "#/components/parameters/org_name"
+ - $ref: "#/components/parameters/group_name"
get:
summary: Get a group of an organization
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
- $ref: '#/components/schemas/org_group'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/org_group"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
put:
summary: Update the details for an organization group
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
requestBody:
content:
@@ -1095,25 +1238,25 @@ paths:
description:
type: string
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
- $ref: '#/components/schemas/org_group'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/org_group"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
patch:
summary: Update some details for an organization group
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
requestBody:
content:
@@ -1125,45 +1268,45 @@ paths:
description:
type: string
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
- $ref: '#/components/schemas/org_group'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/org_group"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
delete:
summary: Delete an organization group
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
responses:
- '204':
+ "204":
description: Group deleted successfully
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/orgs/{org_name}/groups/{group_name}/members:
x-audience: public
get:
- security:
+ security:
- bearerAuth: []
parameters:
- - $ref: '#/components/parameters/org_name'
- - $ref: '#/components/parameters/group_name'
- - $ref: '#/components/parameters/page'
- - $ref: '#/components/parameters/page_size'
+ - $ref: "#/components/parameters/org_name"
+ - $ref: "#/components/parameters/group_name"
+ - $ref: "#/components/parameters/page"
+ - $ref: "#/components/parameters/page_size"
- in: query
name: search
schema:
@@ -1178,8 +1321,8 @@ paths:
tags:
- groups
responses:
- '200':
- description: ''
+ "200":
+ description: ""
content:
application/json:
schema:
@@ -1196,60 +1339,60 @@ paths:
results:
type: array
items:
- $ref: '#/components/schemas/group_member'
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ $ref: "#/components/schemas/group_member"
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
post:
parameters:
- - $ref: '#/components/parameters/org_name'
- - $ref: '#/components/parameters/group_name'
+ - $ref: "#/components/parameters/org_name"
+ - $ref: "#/components/parameters/group_name"
summary: Add a member to a group
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
requestBody:
- $ref: '#/components/requestBodies/add_member_to_org_group'
+ $ref: "#/components/requestBodies/add_member_to_org_group"
responses:
- '200':
+ "200":
description: OK
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
- '500':
- $ref: '#/components/responses/internal_error'
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
+ "500":
+ $ref: "#/components/responses/internal_error"
/v2/orgs/{org_name}/groups/{group_name}/members/{username}:
x-audience: public
parameters:
- - $ref: '#/components/parameters/org_name'
- - $ref: '#/components/parameters/group_name'
- - $ref: '#/components/parameters/username'
+ - $ref: "#/components/parameters/org_name"
+ - $ref: "#/components/parameters/group_name"
+ - $ref: "#/components/parameters/username"
delete:
summary: Remove a user from a group
description: |
tags:
- groups
- security:
+ security:
- bearerAuth: []
responses:
- '204':
+ "204":
description: User removed successfully
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/invites/{id}:
x-audience: public
parameters:
@@ -1266,17 +1409,17 @@ paths:
tags:
- invites
- security:
+ security:
- bearerAuth: []
responses:
- '204':
- description: ''
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ "204":
+ description: ""
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/invites/{id}/resend:
x-audience: public
parameters:
@@ -1293,21 +1436,21 @@ paths:
tags:
- invites
- security:
+ security:
- bearerAuth: []
responses:
- '204':
- description: ''
- '401':
- $ref: '#/components/responses/unauthorized'
- '403':
- $ref: '#/components/responses/forbidden'
- '404':
- $ref: '#/components/responses/not_found'
+ "204":
+ description: ""
+ "401":
+ $ref: "#/components/responses/unauthorized"
+ "403":
+ $ref: "#/components/responses/forbidden"
+ "404":
+ $ref: "#/components/responses/not_found"
/v2/invites/bulk:
x-audience: public
parameters:
- - $ref: '#/components/parameters/bulk_invite'
+ - $ref: "#/components/parameters/bulk_invite"
post:
summary: Bulk create invites
description: |
@@ -1317,11 +1460,11 @@ paths:
tags:
- invites
requestBody:
- $ref: '#/components/requestBodies/bulk_invite_request'
- security:
+ $ref: "#/components/requestBodies/bulk_invite_request"
+ security:
- bearerAuth: []
responses:
- '202':
+ "202":
description: Accepted
content:
application/json:
@@ -1329,11 +1472,11 @@ paths:
type: object
properties:
invitees:
- $ref: '#/components/schemas/bulk_invite'
- '400':
- $ref: '#/components/responses/bad_request'
- '409':
- $ref: '#/components/responses/conflict'
+ $ref: "#/components/schemas/bulk_invite"
+ "400":
+ $ref: "#/components/responses/bad_request"
+ "409":
+ $ref: "#/components/responses/conflict"
/v2/scim/2.0/ServiceProviderConfig:
x-audience: public
get:
@@ -1345,12 +1488,12 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_service_provider_config_resp'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_service_provider_config_resp"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/ResourceTypes:
x-audience: public
get:
@@ -1362,12 +1505,12 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_resource_types_resp'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_resource_types_resp"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/ResourceTypes/{name}:
x-audience: public
get:
@@ -1386,14 +1529,14 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_resource_type_resp'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_resource_type_resp"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/Schemas:
x-audience: public
get:
@@ -1405,12 +1548,12 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_schemas_resp'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_schemas_resp"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/Schemas/{id}:
x-audience: public
get:
@@ -1429,14 +1572,14 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_schema_resp'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_schema_resp"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/Users:
x-audience: public
get:
@@ -1474,7 +1617,7 @@ paths:
schema:
type: integer
minimum: 1
- description: ''
+ description: ""
example: 1
- name: count
in: query
@@ -1482,15 +1625,15 @@ paths:
type: integer
minimum: 1
maximum: 200
- description: ''
+ description: ""
example: 10
- name: filter
in: query
schema:
type: string
- description: ''
+ description: ""
example: userName eq "jon.snow@docker.com"
- - $ref: '#/components/parameters/scim_attributes'
+ - $ref: "#/components/parameters/scim_attributes"
- name: sortOrder
in: query
schema:
@@ -1505,18 +1648,18 @@ paths:
description: User attribute to sort by.
example: userName
responses:
- '200':
- $ref: '#/components/responses/scim_get_users_resp'
- '400':
- $ref: '#/components/responses/scim_bad_request'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '403':
- $ref: '#/components/responses/scim_forbidden'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_users_resp"
+ "400":
+ $ref: "#/components/responses/scim_bad_request"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "403":
+ $ref: "#/components/responses/scim_forbidden"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "500":
+ $ref: "#/components/responses/scim_error"
post:
summary: Create user
description: |
@@ -1526,26 +1669,26 @@ paths:
security:
- bearerSCIMAuth: []
requestBody:
- $ref: '#/components/requestBodies/scim_create_user_request'
+ $ref: "#/components/requestBodies/scim_create_user_request"
responses:
- '201':
- $ref: '#/components/responses/scim_create_user_resp'
- '400':
- $ref: '#/components/responses/scim_bad_request'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '403':
- $ref: '#/components/responses/scim_forbidden'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '409':
- $ref: '#/components/responses/scim_conflict'
- '500':
- $ref: '#/components/responses/scim_error'
+ "201":
+ $ref: "#/components/responses/scim_create_user_resp"
+ "400":
+ $ref: "#/components/responses/scim_bad_request"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "403":
+ $ref: "#/components/responses/scim_forbidden"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "409":
+ $ref: "#/components/responses/scim_conflict"
+ "500":
+ $ref: "#/components/responses/scim_error"
/v2/scim/2.0/Users/{id}:
x-audience: public
parameters:
- - $ref: '#/components/parameters/scim_user_id'
+ - $ref: "#/components/parameters/scim_user_id"
get:
summary: Get a user
description: |
@@ -1555,18 +1698,18 @@ paths:
security:
- bearerSCIMAuth: []
responses:
- '200':
- $ref: '#/components/responses/scim_get_user_resp'
- '400':
- $ref: '#/components/responses/scim_bad_request'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '403':
- $ref: '#/components/responses/scim_forbidden'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_get_user_resp"
+ "400":
+ $ref: "#/components/responses/scim_bad_request"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "403":
+ $ref: "#/components/responses/scim_forbidden"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "500":
+ $ref: "#/components/responses/scim_error"
put:
summary: Update a user
description: |
@@ -1576,22 +1719,22 @@ paths:
security:
- bearerSCIMAuth: []
requestBody:
- $ref: '#/components/requestBodies/scim_update_user_request'
+ $ref: "#/components/requestBodies/scim_update_user_request"
responses:
- '200':
- $ref: '#/components/responses/scim_update_user_resp'
- '400':
- $ref: '#/components/responses/scim_bad_request'
- '401':
- $ref: '#/components/responses/scim_unauthorized'
- '403':
- $ref: '#/components/responses/scim_forbidden'
- '404':
- $ref: '#/components/responses/scim_not_found'
- '409':
- $ref: '#/components/responses/scim_conflict'
- '500':
- $ref: '#/components/responses/scim_error'
+ "200":
+ $ref: "#/components/responses/scim_update_user_resp"
+ "400":
+ $ref: "#/components/responses/scim_bad_request"
+ "401":
+ $ref: "#/components/responses/scim_unauthorized"
+ "403":
+ $ref: "#/components/responses/scim_forbidden"
+ "404":
+ $ref: "#/components/responses/scim_not_found"
+ "409":
+ $ref: "#/components/responses/scim_conflict"
+ "500":
+ $ref: "#/components/responses/scim_error"
components:
responses:
BadRequest:
@@ -1599,83 +1742,83 @@ components:
content:
application/json:
schema:
- $ref: '#/components/schemas/ValueError'
+ $ref: "#/components/schemas/ValueError"
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
- $ref: '#/components/schemas/Error'
+ $ref: "#/components/schemas/Error"
Forbidden:
description: Forbidden
content:
application/json:
schema:
- $ref: '#/components/schemas/Error'
+ $ref: "#/components/schemas/Error"
NotFound:
description: Not Found
content:
application/json:
schema:
- $ref: '#/components/schemas/Error'
+ $ref: "#/components/schemas/Error"
list_tags:
description: list repository tags
content:
application/json:
schema:
- $ref: '#/components/schemas/paginated_tags'
+ $ref: "#/components/schemas/paginated_tags"
get_tag:
description: repository tag
content:
application/json:
schema:
- $ref: '#/components/schemas/tag'
+ $ref: "#/components/schemas/tag"
bad_request:
description: Bad Request
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
unauthorized:
description: Unauthorized
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
forbidden:
description: Forbidden
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
not_found:
description: Not Found
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
conflict:
description: Conflict
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
internal_error:
description: Internal
content:
application/json:
schema:
- $ref: '#/components/schemas/error'
+ $ref: "#/components/schemas/error"
scim_bad_request:
description: Bad Request
content:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '400'
+ example: "400"
scimType:
type: string
description: Some types of errors will return this per the specification.
@@ -1685,58 +1828,58 @@ components:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '401'
+ example: "401"
scim_forbidden:
description: Forbidden
content:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '403'
+ example: "403"
scim_not_found:
description: Not Found
content:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '404'
+ example: "404"
scim_conflict:
description: Conflict
content:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '409'
+ example: "409"
scim_error:
description: Internal Error
content:
application/scim+json:
schema:
allOf:
- - $ref: '#/components/schemas/scim_error'
+ - $ref: "#/components/schemas/scim_error"
- properties:
status:
- example: '500'
+ example: "500"
scim_get_service_provider_config_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_service_provider_config'
+ $ref: "#/components/schemas/scim_service_provider_config"
scim_get_resource_types_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
@@ -1753,15 +1896,15 @@ components:
resources:
type: array
items:
- $ref: '#/components/schemas/scim_resource_type'
+ $ref: "#/components/schemas/scim_resource_type"
scim_get_resource_type_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_resource_type'
+ $ref: "#/components/schemas/scim_resource_type"
scim_get_schemas_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
@@ -1778,15 +1921,15 @@ components:
resources:
type: array
items:
- $ref: '#/components/schemas/scim_schema'
+ $ref: "#/components/schemas/scim_schema"
scim_get_schema_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_schema'
+ $ref: "#/components/schemas/scim_schema"
scim_get_users_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
@@ -1810,25 +1953,25 @@ components:
resources:
type: array
items:
- $ref: '#/components/schemas/scim_user'
+ $ref: "#/components/schemas/scim_user"
scim_create_user_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_user'
+ $ref: "#/components/schemas/scim_user"
scim_get_user_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_user'
+ $ref: "#/components/schemas/scim_user"
scim_update_user_resp:
- description: ''
+ description: ""
content:
application/scim+json:
schema:
- $ref: '#/components/schemas/scim_user'
+ $ref: "#/components/schemas/scim_user"
schemas:
UsersLoginRequest:
description: User login details
@@ -1926,7 +2069,7 @@ components:
details:
type: array
items:
- $ref: '#/components/schemas/protobufAny'
+ $ref: "#/components/schemas/protobufAny"
AuditLogAction:
type: object
properties:
@@ -1946,7 +2089,7 @@ components:
actions:
type: array
items:
- $ref: '#/components/schemas/AuditLogAction'
+ $ref: "#/components/schemas/AuditLogAction"
description: List of audit log actions.
label:
type: string
@@ -1957,7 +2100,7 @@ components:
actions:
type: object
additionalProperties:
- $ref: '#/components/schemas/AuditLogActions'
+ $ref: "#/components/schemas/AuditLogActions"
description: Map of audit log actions.
description: GetAuditActions response.
GetAuditLogsResponse:
@@ -1966,7 +2109,7 @@ components:
logs:
type: array
items:
- $ref: '#/components/schemas/AuditLog'
+ $ref: "#/components/schemas/AuditLog"
description: List of audit log events.
description: GetAuditLogs response.
AuditLog:
@@ -2024,7 +2167,7 @@ components:
example: some user agent
created_at:
type: string
- example: '2021-07-20T12:00:00.000000Z'
+ example: "2021-07-20T12:00:00.000000Z"
last_used:
type: string
example: null
@@ -2073,9 +2216,9 @@ components:
Optional expiration date for the token.
If omitted, the token will remain valid indefinitely.
format: date-time
- example: '2021-10-28T18:30:19.520861Z'
+ example: "2021-10-28T18:30:19.520861Z"
createAccessTokensResponse:
- $ref: '#/components/schemas/accessToken'
+ $ref: "#/components/schemas/accessToken"
getAccessTokensResponse:
type: object
properties:
@@ -2095,12 +2238,12 @@ components:
type: array
items:
allOf:
- - $ref: '#/components/schemas/accessToken'
+ - $ref: "#/components/schemas/accessToken"
- type: object
properties:
token:
type: string
- example: ''
+ example: ""
patchAccessTokenRequest:
type: object
properties:
@@ -2113,12 +2256,12 @@ components:
type: boolean
example: false
patchAccessTokenResponse:
- $ref: '#/components/schemas/accessToken'
+ $ref: "#/components/schemas/accessToken"
orgSettings:
type: object
properties:
restricted_images:
- $ref: '#/components/schemas/restricted_images'
+ $ref: "#/components/schemas/restricted_images"
restricted_images:
type: object
properties:
@@ -2166,7 +2309,7 @@ components:
layers:
type: array
items:
- $ref: '#/components/schemas/layer'
+ $ref: "#/components/schemas/layer"
os:
type: string
description: operating system
@@ -2187,12 +2330,12 @@ components:
description: Status of the image
last_pulled:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
description: datetime of last pull
nullable: true
last_pushed:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
description: datetime of last push
nullable: true
tag:
@@ -2203,13 +2346,13 @@ components:
description: tag ID
images:
type: object
- $ref: '#/components/schemas/image'
+ $ref: "#/components/schemas/image"
creator:
type: integer
description: ID of the user that pushed the tag
last_updated:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
description: datetime of last update
nullable: true
last_updater:
@@ -2238,23 +2381,23 @@ components:
description: whether a tag has been pushed to or pulled in the past month
tag_last_pulled:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
description: datetime of last pull
nullable: true
tag_last_pushed:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
description: datetime of last push
nullable: true
paginated_tags:
allOf:
- - $ref: '#/components/schemas/page'
+ - $ref: "#/components/schemas/page"
- type: object
properties:
results:
type: array
items:
- $ref: '#/components/schemas/tag'
+ $ref: "#/components/schemas/tag"
page:
type: object
properties:
@@ -2305,13 +2448,13 @@ components:
example: server
scim_schema_parent_attribute:
allOf:
- - $ref: '#/components/schemas/scim_schema_attribute'
+ - $ref: "#/components/schemas/scim_schema_attribute"
- type: object
properties:
subAttributes:
type: array
items:
- $ref: '#/components/schemas/scim_schema_attribute'
+ $ref: "#/components/schemas/scim_schema_attribute"
invite:
type: object
properties:
@@ -2336,7 +2479,7 @@ components:
example: owners
created_at:
type: string
- example: '2021-10-28T18:30:19.520861Z'
+ example: "2021-10-28T18:30:19.520861Z"
bulk_invite:
type: object
properties:
@@ -2354,7 +2497,7 @@ components:
description: status of the invite or validation error
invite:
description: Invite data if successfully invited
- $ref: '#/components/schemas/invite'
+ $ref: "#/components/schemas/invite"
example:
invitees:
- invitee: invitee@docker.com
@@ -2365,7 +2508,7 @@ components:
invitee: invitee@docker.com
org: docker
team: owners
- created_at: '2021-10-28T18:30:19.520861Z'
+ created_at: "2021-10-28T18:30:19.520861Z"
- invitee: invitee2@docker.com
status: existing_org_member
- invitee: invitee3@docker.com
@@ -2407,7 +2550,7 @@ components:
example: Docker Inc
date_joined:
type: string
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
full_name:
type: string
example: Jon Snow
@@ -2430,7 +2573,7 @@ components:
example: dockeruser
org_member:
allOf:
- - $ref: '#/components/schemas/user'
+ - $ref: "#/components/schemas/user"
properties:
email:
type: string
@@ -2467,21 +2610,21 @@ components:
description: |
Last time the user logged in. To access this field, you must have insights visible for your organization. See
[Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
- example: '2021-01-05T21:06:53.506400Z'
+ 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
[Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
- example: '2021-01-05T21:06:53.506400Z'
+ 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
[Insights](https://docs.docker.com/admin/organization/insights/#view-insights-for-organization-users).
example: 4.29.0
-
+
org_member_paginated:
type: object
properties:
@@ -2501,7 +2644,7 @@ components:
type: array
description: List of accounts.
items:
- $ref: '#/components/schemas/org_member'
+ $ref: "#/components/schemas/org_member"
org_group:
type: object
properties:
@@ -2537,7 +2680,7 @@ components:
date_joined:
type: string
format: date-time
- example: '2021-01-05T21:06:53.506400Z'
+ example: "2021-01-05T21:06:53.506400Z"
full_name:
type: string
example: John Snow
@@ -2577,7 +2720,7 @@ components:
type: boolean
legacy_email_address:
allOf:
- - $ref: '#/components/schemas/email_address'
+ - $ref: "#/components/schemas/email_address"
- type: object
properties:
user:
@@ -2585,7 +2728,7 @@ components:
example: dockeruser
email_with_username:
allOf:
- - $ref: '#/components/schemas/email_address'
+ - $ref: "#/components/schemas/email_address"
- type: object
properties:
username:
@@ -2602,7 +2745,7 @@ components:
- urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
documentationUri:
type: string
- example: ''
+ example: ""
patch:
properties:
supported:
@@ -2706,7 +2849,7 @@ components:
type: array
example: []
items:
- $ref: '#/components/schemas/scim_schema_parent_attribute'
+ $ref: "#/components/schemas/scim_schema_parent_attribute"
scim_email:
type: object
properties:
@@ -2759,26 +2902,26 @@ components:
type: object
properties:
schemas:
- $ref: '#/components/schemas/scim_user_schemas'
+ $ref: "#/components/schemas/scim_user_schemas"
id:
- $ref: '#/components/schemas/scim_user_id'
+ $ref: "#/components/schemas/scim_user_id"
userName:
- $ref: '#/components/schemas/scim_user_username'
+ $ref: "#/components/schemas/scim_user_username"
name:
- $ref: '#/components/schemas/scim_user_name'
+ $ref: "#/components/schemas/scim_user_name"
displayName:
- $ref: '#/components/schemas/scim_user_display_name'
+ $ref: "#/components/schemas/scim_user_display_name"
active:
type: boolean
example: true
emails:
type: array
items:
- $ref: '#/components/schemas/scim_email'
+ $ref: "#/components/schemas/scim_email"
groups:
type: array
items:
- $ref: '#/components/schemas/scim_group'
+ $ref: "#/components/schemas/scim_group"
meta:
type: object
properties:
@@ -2792,12 +2935,158 @@ components:
type: string
format: date-time
description: The creation date for the user as a RFC3339 formatted string.
- example: '2022-05-20T00:54:18Z'
+ example: "2022-05-20T00:54:18Z"
lastModified:
type: string
format: date-time
description: The date the user was last modified as a RFC3339 formatted string.
- example: '2022-05-20T00:54:18Z'
+ example: "2022-05-20T00:54:18Z"
+ orgAccessToken:
+ type: object
+ properties:
+ id:
+ type: string
+ example: "a7a5ef25-8889-43a0-8cc7-f2a94268e861"
+ label:
+ type: string
+ example: "My organization token"
+ created_by:
+ type: string
+ example: "johndoe"
+ is_active:
+ type: boolean
+ example: true
+ created_at:
+ type: string
+ format: date-time
+ example: "2022-05-20T00:54:18Z"
+ expires_at:
+ type: string
+ format: date-time
+ example: "2023-05-20T00:54:18Z"
+ nullable: true
+ last_used_at:
+ type: string
+ format: date-time
+ example: "2022-06-15T12:30:45Z"
+ nullable: true
+ orgAccessTokenResource:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - TYPE_REPO
+ - TYPE_ORG
+ example: "TYPE_REPO"
+ description: The type of resource
+ required: true
+ path:
+ type: string
+ example: "myorg/myrepo"
+ description: The path of the resource. The format of this will change depending on the type of resource.
+ required: true
+ scopes:
+ type: array
+ description: The scopes this token has access to
+ items:
+ type: string
+ example: "repo-pull"
+ required: true
+ getOrgAccessTokensResponse:
+ type: object
+ properties:
+ total:
+ type: number
+ example: 10
+ next:
+ type: string
+ example: https://hub.docker.com/v2/orgs/docker/access-tokens?page=2&page_size=10
+ previous:
+ type: string
+ example: https://hub.docker.com/v2/orgs/docker/access-tokens?page=1&page_size=10
+ results:
+ type: array
+ items:
+ $ref: "#/components/schemas/orgAccessToken"
+ getOrgAccessTokenResponse:
+ allOf:
+ - $ref: "#/components/schemas/orgAccessToken"
+ - type: object
+ properties:
+ resources:
+ type: array
+ description: Resources this token has access to
+ items:
+ $ref: "#/components/schemas/orgAccessTokenResource"
+ createOrgAccessTokenRequest:
+ type: object
+ properties:
+ label:
+ type: string
+ description: Label for the access token
+ example: "My organization token"
+ required: true
+ description:
+ type: string
+ description: Description of the access token
+ example: "Token for CI/CD pipeline"
+ resources:
+ type: array
+ description: Resources this token has access to
+ items:
+ $ref: "#/components/schemas/orgAccessTokenResource"
+ expires_at:
+ type: string
+ format: date-time
+ description: Expiration date for the token
+ example: "2023-05-20T00:54:18Z"
+ nullable: true
+ createOrgAccessTokenResponse:
+ type: object
+ allOf:
+ - $ref: "#/components/schemas/orgAccessToken"
+ - type: object
+ properties:
+ token:
+ type: string
+ description: The actual token value that can be used for authentication
+ example: "dckr_oat_7awgM4jG5SQvxcvmNzhKj8PQjxo"
+ resources:
+ type: array
+ items:
+ $ref: "#/components/schemas/orgAccessTokenResource"
+ updateOrgAccessTokenRequest:
+ type: object
+ properties:
+ label:
+ type: string
+ description: Label for the access token
+ example: "My organization token"
+ description:
+ type: string
+ description: Description of the access token
+ example: "Token for CI/CD pipeline"
+ resources:
+ type: array
+ description: Resources this token has access to
+ items:
+ $ref: "#/components/schemas/orgAccessTokenResource"
+ is_active:
+ type: boolean
+ description: Whether the token is active
+ example: true
+ updateOrgAccessTokenResponse:
+ type: object
+ allOf:
+ - $ref: "#/components/schemas/orgAccessToken"
+ - type: object
+ properties:
+ resources:
+ type: array
+ description: Resources this token has access to
+ items:
+ $ref: "#/components/schemas/orgAccessTokenResource"
parameters:
namespace:
in: path
@@ -2954,11 +3243,11 @@ components:
- userName
properties:
schemas:
- $ref: '#/components/schemas/scim_user_schemas'
+ $ref: "#/components/schemas/scim_user_schemas"
userName:
- $ref: '#/components/schemas/scim_user_username'
+ $ref: "#/components/schemas/scim_user_username"
name:
- $ref: '#/components/schemas/scim_user_name'
+ $ref: "#/components/schemas/scim_user_name"
scim_update_user_request:
required: true
content:
@@ -2969,10 +3258,10 @@ components:
- schemas
properties:
schemas:
- $ref: '#/components/schemas/scim_user_schemas'
+ $ref: "#/components/schemas/scim_user_schemas"
name:
allOf:
- - $ref: '#/components/schemas/scim_user_name'
+ - $ref: "#/components/schemas/scim_user_name"
- description: If this is omitted from the request, the update will skip the update on it. We will only ever change the name, but not clear it.
enabled:
type: boolean
@@ -3014,6 +3303,7 @@ x-tagGroups:
- org-settings
- repositories
- scim
- - orgs
+ - orgs
+ - org-access-tokens
- groups
- invites