Collate Audit Logs API
APIs for listing user initiated change events persisted for auditing
APIs for listing user initiated change events persisted for auditing
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/collate:collate-audit-logs-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: OpenMetadata Audit Logs API
description: Common types and API definition for OpenMetadata
contact:
name: OpenMetadata
url: https://open-metadata.org
email: openmetadata-dev@googlegroups.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 2.0.5
servers:
- url: /api
description: Current Host
- url: http://localhost:8585/api
description: Endpoint URL
security:
- BearerAuth: []
tags:
- name: Audit Logs
description: APIs for listing user initiated change events persisted for auditing
paths:
/v1/audit/logs/export/{jobId}/result:
get:
tags:
- Audit Logs
summary: Download a completed audit log export
description: Streams the result of a completed audit-log export job. The payload is stored on the background job row, so any server in the cluster can serve the download. Clients call this after receiving the COMPLETED event on the csvExportChannel websocket.
operationId: downloadAuditExportResult
parameters:
- name: jobId
in: path
required: true
schema:
type: string
responses:
'200':
description: Export result stream
'403':
description: Export belongs to another user
'404':
description: Export result not found or expired
/v1/audit/logs/export:
get:
tags:
- Audit Logs
summary: Export audit log events as JSON (async)
description: Initiates an asynchronous export of audit log events. Returns a job ID immediately. When the export is complete, the data will be sent via WebSocket on the csvExportChannel.
operationId: exportAuditLogs
parameters:
- name: startTs
in: query
description: Start timestamp in milliseconds (required)
required: true
schema:
type: integer
format: int64
- name: endTs
in: query
description: End timestamp in milliseconds (required)
required: true
schema:
type: integer
format: int64
- name: limit
in: query
description: Maximum number of records to export (default 10000, max 100000)
schema:
maximum: 100000
minimum: 1
type: integer
format: int64
default: 10000
- name: userName
in: query
description: Filter by username
schema:
type: string
- name: actorType
in: query
description: Filter by actor type (USER, BOT, AGENT)
schema:
type: string
- name: serviceName
in: query
description: Filter by service name
schema:
type: string
- name: entityType
in: query
description: Filter by entity type
schema:
type: string
- name: eventType
in: query
description: Filter by event type
schema:
type: string
- name: q
in: query
description: Search term to filter audit logs (searches across user_name, entity_fqn, service_name, entity_type)
schema:
type: string
responses:
'202':
description: Export job initiated
content:
application/json:
schema:
$ref: '#/components/schemas/CSVExportResponse'
'400':
description: Invalid parameters
/v1/audit/logs/export/{jobId}:
get:
tags:
- Audit Logs
summary: Get the status of an audit log export job
description: Reports progress and terminal state for an export. Clients poll this when the completion event does not arrive on the websocket, which happens whenever the job ran on a different server than the one holding the client's socket.
operationId: getAuditExportJob
parameters:
- name: jobId
in: path
required: true
schema:
type: string
responses:
'200':
description: Export job status
'403':
description: Export belongs to another user
'404':
description: Export job not found
/v1/audit/logs:
get:
tags:
- Audit Logs
summary: List audit log events
operationId: listAuditLogs
parameters:
- name: limit
in: query
description: Limit the number of results returned. (1 to 200)
schema:
maximum: 200
minimum: 1
type: integer
format: int64
default: 25
- name: after
in: query
description: Returns results after this cursor (for forward pagination)
schema:
type: string
- name: before
in: query
description: Returns results before this cursor (for backward pagination)
schema:
type: string
- name: userName
in: query
description: Filter by username
schema:
type: string
- name: actorType
in: query
description: Filter by actor type (USER, BOT, AGENT)
schema:
type: string
- name: serviceName
in: query
description: Filter by service name
schema:
type: string
- name: entityType
in: query
description: Filter by entity type
schema:
type: string
- name: entityFQN
in: query
description: Filter by entity fully qualified name
schema:
type: string
- name: eventType
in: query
description: Filter by event type
schema:
type: string
- name: startTs
in: query
description: Filter events after this timestamp (ms)
schema:
type: integer
format: int64
- name: endTs
in: query
description: Filter events before this timestamp (ms)
schema:
type: integer
format: int64
- name: q
in: query
description: Search term to filter audit logs (searches across user_name, entity_fqn, service_name, entity_type)
schema:
type: string
responses:
'200':
description: List of audit log events
content:
application/json:
schema:
$ref: '#/components/schemas/ResultList'
components:
schemas:
Paging:
required:
- total
type: object
properties:
before:
type: string
after:
type: string
offset:
type: integer
format: int32
limit:
type: integer
format: int32
total:
type: integer
format: int32
EntityError:
type: object
properties:
message:
type: string
entity:
type: object
ResultList:
required:
- data
type: object
properties:
data:
type: array
items:
type: object
paging:
$ref: '#/components/schemas/Paging'
errors:
type: array
items:
$ref: '#/components/schemas/EntityError'
warningsCount:
type: integer
format: int32
warnings:
type: array
items:
$ref: '#/components/schemas/EntityError'
CSVExportResponse:
type: object
properties:
jobId:
type: string
message:
type: string
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-provenance:
method: harvested
publisher: Collate
source: https://sandbox.open-metadata.org/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)