# List audit log events


[API catalog](/reference/api/) · [Docker Hub overview](/reference/api/hub/latest/) · [Product manual](https://docs.docker.com/docker-hub/) · [OpenAPI specification](/reference/api/hub/latest.yaml)

API version: 2-beta



`GET /v2/auditlogs/{account}`

List audit log events for a given namespace.

This operation accepts bearer tokens issued from organization access tokens (OATs). The token must have the required resource access and scopes.


## Connection and access

[API connection and authentication guidance](/reference/api/hub/latest/#authentication)


Server: `https://hub.docker.com`

Effective security: alternatives are OR; schemes within an alternative are AND. An empty array declares no HTTP authentication requirement.

```json
[
  {
    "bearerAuth": []
  }
]
```
## Example request

Replace placeholders and provide the required credentials or request body.

```console
curl \
  --request GET \
  --header "Authorization: Bearer ${TOKEN}" \
  --header 'Accept: application/json' \
  'https://hub.docker.com/v2/auditlogs/<ACCOUNT>'
```

## Parameters

### account

Location: path. Required: yes.

Namespace to query audit logs for.

```json
{
  "description": "Namespace to query audit logs for.",
  "in": "path",
  "name": "account",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/0",
  "required": true,
  "schema": {
    "type": "string"
  }
}
```

### action

Location: query. Required: no.

action name one of ["repo.tag.push", ...]. Optional parameter to filter specific audit log actions.


```json
{
  "description": "action name one of [\"repo.tag.push\", ...]. Optional parameter to filter specific audit log actions.\n",
  "in": "query",
  "name": "action",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/1",
  "required": false,
  "schema": {
    "type": "string"
  }
}
```

### name

Location: query. Required: no.

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.


```json
{
  "description": "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.\n",
  "in": "query",
  "name": "name",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/2",
  "required": false,
  "schema": {
    "type": "string"
  }
}
```

### actor

Location: query. Required: no.

actor name. Optional parameter to filter audit log events to the specific user who triggered the event.


```json
{
  "description": "actor name. Optional parameter to filter audit log events to the specific user who triggered the event.\n",
  "in": "query",
  "name": "actor",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/3",
  "required": false,
  "schema": {
    "type": "string"
  }
}
```

### from

Location: query. Required: no.

Start of the time window you wish to query audit events for.

```json
{
  "description": "Start of the time window you wish to query audit events for.",
  "in": "query",
  "name": "from",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/4",
  "required": false,
  "schema": {
    "format": "date-time",
    "type": "string"
  }
}
```

### to

Location: query. Required: no.

End of the time window you wish to query audit events for.

```json
{
  "description": "End of the time window you wish to query audit events for.",
  "in": "query",
  "name": "to",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/5",
  "required": false,
  "schema": {
    "format": "date-time",
    "type": "string"
  }
}
```

### page

Location: query. Required: no.

page - specify page number. Page number to get.

```json
{
  "description": "page - specify page number. Page number to get.",
  "in": "query",
  "name": "page",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/6",
  "required": false,
  "schema": {
    "default": 1,
    "format": "int32",
    "type": "integer"
  }
}
```

### page_size

Location: query. Required: no.

page_size - specify page size. Number of events to return per page.

```json
{
  "description": "page_size - specify page size. Number of events to return per page.",
  "in": "query",
  "name": "page_size",
  "pointer": "/paths/~1v2~1auditlogs~1{account}/get/parameters/7",
  "required": false,
  "schema": {
    "default": 25,
    "format": "int32",
    "type": "integer"
  }
}
```

## Request and responses

### Response 200 application/json

A successful response.


Schema:

```json
{
  "$ref": "#/components/schemas/GetAuditLogsResponse"
}
```




response:
```json
{
  "logs": [
    {
      "account": "docker",
      "action": "repo.tag.push",
      "action_description": "pushed the tag latest with the digest sha256:c1ae9c435032a to the repository docker/example\n",
      "actor": "docker",
      "data": {
        "digest": "sha256:c1ae9c435032a276f80220c7d9b40f76266bbe79243d34f9cda30b76fe114dfa",
        "tag": "latest"
      },
      "name": "docker/example",
      "timestamp": "2021-02-19T01:34:35Z"
    },
    {
      "account": "docker",
      "action": "offload.lease.end",
      "action_description": "offload lease 'l_3EgPuRCjtUqT279CFPOQWcO8zOf' ended, ran for '12m22s'",
      "actor": "docker",
      "data": {
        "lease_id": "l_3EgPuRCjtUqT279CFPOQWcO8zOf",
        "org_id": "b908ca6e-b9a9-4a53-a9a5-6bec96f72432",
        "resource_type": "run_4cpu_8mem",
        "started_at": "2026-06-04T18:24:21Z",
        "updated_at": "2026-06-04T18:36:43Z",
        "user_id": "ecae6747-e42c-43cb-925d-cfce1ab32b02"
      },
      "name": "docker",
      "timestamp": "2026-06-04T18:36:43Z"
    }
  ]
}
```


### Response 429 application/json




Schema:

```json
{}
```




response:
```json
{
  "detail": "Rate limit exceeded",
  "error": false
}
```


### Response 500 application/json




Schema:

```json
{
  "$ref": "#/components/schemas/error"
}
```




error:
```json
{
  "errinfo": null,
  "message": "internal error"
}
```


### Response default application/json

An unexpected error response.


Schema:

```json
{
  "$ref": "#/components/schemas/error"
}
```




error:
```json
{
  "errinfo": null,
  "message": "internal error"
}
```


## Complete operation contract

```json
{
  "description": "List audit log events for a given namespace.\n\nThis operation accepts bearer tokens issued from organization access tokens (OATs). The token must have the required resource access and scopes.\n",
  "operationId": "AuditLogs_ListAuditLogs",
  "parameters": [
    {
      "description": "Namespace to query audit logs for.",
      "in": "path",
      "name": "account",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "action name one of [\"repo.tag.push\", ...]. Optional parameter to filter specific audit log actions.\n",
      "in": "query",
      "name": "action",
      "required": false,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "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.\n",
      "in": "query",
      "name": "name",
      "required": false,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "actor name. Optional parameter to filter audit log events to the specific user who triggered the event.\n",
      "in": "query",
      "name": "actor",
      "required": false,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "Start of the time window you wish to query audit events for.",
      "in": "query",
      "name": "from",
      "required": false,
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "End of the time window you wish to query audit events for.",
      "in": "query",
      "name": "to",
      "required": false,
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "page - specify page number. Page number to get.",
      "in": "query",
      "name": "page",
      "required": false,
      "schema": {
        "default": 1,
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "page_size - specify page size. Number of events to return per page.",
      "in": "query",
      "name": "page_size",
      "required": false,
      "schema": {
        "default": 25,
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "examples": {
            "response": {
              "value": {
                "logs": [
                  {
                    "account": "docker",
                    "action": "repo.tag.push",
                    "action_description": "pushed the tag latest with the digest sha256:c1ae9c435032a to the repository docker/example\n",
                    "actor": "docker",
                    "data": {
                      "digest": "sha256:c1ae9c435032a276f80220c7d9b40f76266bbe79243d34f9cda30b76fe114dfa",
                      "tag": "latest"
                    },
                    "name": "docker/example",
                    "timestamp": "2021-02-19T01:34:35Z"
                  },
                  {
                    "account": "docker",
                    "action": "offload.lease.end",
                    "action_description": "offload lease 'l_3EgPuRCjtUqT279CFPOQWcO8zOf' ended, ran for '12m22s'",
                    "actor": "docker",
                    "data": {
                      "lease_id": "l_3EgPuRCjtUqT279CFPOQWcO8zOf",
                      "org_id": "b908ca6e-b9a9-4a53-a9a5-6bec96f72432",
                      "resource_type": "run_4cpu_8mem",
                      "started_at": "2026-06-04T18:24:21Z",
                      "updated_at": "2026-06-04T18:36:43Z",
                      "user_id": "ecae6747-e42c-43cb-925d-cfce1ab32b02"
                    },
                    "name": "docker",
                    "timestamp": "2026-06-04T18:36:43Z"
                  }
                ]
              }
            }
          },
          "schema": {
            "$ref": "#/components/schemas/GetAuditLogsResponse"
          }
        }
      },
      "description": "A successful response."
    },
    "429": {
      "content": {
        "application/json": {
          "examples": {
            "response": {
              "value": {
                "detail": "Rate limit exceeded",
                "error": false
              }
            }
          },
          "schema": {}
        }
      },
      "description": ""
    },
    "500": {
      "content": {
        "application/json": {
          "examples": {
            "error": {
              "summary": "Example error response",
              "value": {
                "errinfo": null,
                "message": "internal error"
              }
            }
          },
          "schema": {
            "$ref": "#/components/schemas/error"
          }
        }
      },
      "description": ""
    },
    "default": {
      "content": {
        "application/json": {
          "examples": {
            "error": {
              "summary": "Example error response",
              "value": {
                "errinfo": null,
                "message": "internal error"
              }
            }
          },
          "schema": {
            "$ref": "#/components/schemas/error"
          }
        }
      },
      "description": "An unexpected error response."
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "summary": "List audit log events",
  "tags": [
    "audit-logs"
  ]
}
```

## Referenced schemas

- [#/components/schemas/GetAuditLogsResponse](/reference/api/hub/latest/schemas/GetAuditLogsResponse/)

- [#/components/schemas/error](/reference/api/hub/latest/schemas/error/)




