CloudQuery audit-logs API
The audit-logs API from CloudQuery — 2 operation(s) for audit-logs.
The audit-logs API from CloudQuery — 2 operation(s) for audit-logs.
openapi: 3.1.0
info:
contact:
email: support@cloudquery.io
name: CloudQuery Support Team
url: https://cloudquery.io
description: 'Welcome to the CloudQuery Platform API documentation! This API can be used to interact with the CloudQuery platform. As a user, the API allows you to search the CloudQuery asset inventory, run SQL queries against the data warehouse, save and load searches, and much more. As an administrator, it allows you to manage your teams, syncs, and other objects.
### Authentication
The API is secured using bearer tokens. To get started, you can generate an API key for your Platform deployment from your platform dashboard. For a step-by-step guide, see: https://www.cloudquery.io/docs/cli/managing-cloudquery/deployments/generate-api-key.
The base URL for the API depends on where your CloudQuery Platform is hosted. If running locally, this is usually http://localhost:3000/api. In a production deployment it should be an HTTPS URL. For purposes of illustration, we will assume the platform instance is available at https://cloudquery.mycompany.com. In this case, the base API endpoint will be https://cloudquery.mycompany.com/api.
### Example Request
To test your connection to the API, we can use the `/plugins` endpoint. For example:
`curl -v -H "Authorization: Bearer $CLOUDQUERY_API_KEY" \ https://cloudquery.mycompany.com/api/plugins`
'
license:
name: MIT
url: https://spdx.org/licenses/MIT
termsOfService: https://www.cloudquery.io/terms
title: CloudQuery Platform OpenAPI Spec admin audit-logs API
version: 1.0.0
security:
- bearerAuth: []
- cookieAuth: []
tags:
- name: audit-logs
paths:
/audit-logs:
get:
description: List audit log events with pagination and filtering
operationId: PlatformListAuditLogs
parameters:
- $ref: '#/components/parameters/platform_per_page'
- $ref: '#/components/parameters/platform_page'
- name: user_id
in: query
description: Filter by user ID
schema:
type: string
format: uuid
- name: event_type
in: query
description: Filter by event type
schema:
type: string
- name: entity_display_name
in: query
description: Filter by entity display name
schema:
type: string
- name: user_ip_address
in: query
description: Filter by user IP address
schema:
type: string
- name: start_time
in: query
description: Filter by start time (inclusive)
schema:
type: string
format: date-time
- name: end_time
in: query
description: Filter by end time (inclusive)
schema:
type: string
format: date-time
- name: search
in: query
description: Search across user name, event type, entity display name, and user IP address
schema:
type: string
responses:
'200':
description: Response
content:
application/json:
schema:
required:
- items
- metadata
properties:
items:
items:
$ref: '#/components/schemas/PlatformAuditLogEvent'
type: array
metadata:
$ref: '#/components/schemas/PlatformListMetadata'
'401':
$ref: '#/components/responses/PlatformRequiresAuthentication'
'403':
$ref: '#/components/responses/PlatformForbidden'
'500':
$ref: '#/components/responses/PlatformInternalError'
tags:
- audit-logs
/audit-logs/{id}:
get:
description: Get a specific audit log event by ID
operationId: PlatformGetAuditLog
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Response
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformAuditLogEvent'
'401':
$ref: '#/components/responses/PlatformRequiresAuthentication'
'403':
$ref: '#/components/responses/PlatformForbidden'
'404':
$ref: '#/components/responses/PlatformNotFound'
'500':
$ref: '#/components/responses/PlatformInternalError'
tags:
- audit-logs
components:
schemas:
PlatformListMetadata:
required:
- page_size
properties:
total_count:
type: integer
last_page:
type: integer
page_size:
type: integer
time_ms:
type: integer
PlatformFieldError:
allOf:
- $ref: '#/components/schemas/PlatformBasicError'
- properties:
errors:
items:
type: string
type: array
field_errors:
additionalProperties:
type: string
type: object
type: object
PlatformRole:
type: object
description: Role
required:
- id
- name
- description
- permissions
- created_by
- created_at
- updated_at
- type
properties:
id:
description: The unique ID for the role.
type: string
format: uuid
x-go-name: ID
name:
type: string
description:
type: string
permissions:
type: array
items:
$ref: '#/components/schemas/PlatformRBACPermission'
created_by:
$ref: '#/components/schemas/PlatformCreatedBy'
created_at:
example: '2017-07-14T16:53:42Z'
format: date-time
type: string
updated_at:
example: '2017-07-14T16:53:42Z'
format: date-time
type: string
type:
$ref: '#/components/schemas/PlatformRoleType'
PlatformRBACPermissionID:
description: The unique ID for the data permission.
type: string
format: uuid
x-go-name: RBACPermissionID
PlatformAuditLogEvent:
type: object
required:
- id
- user
- event_type
- created_at
- user_ip_address
properties:
id:
type: string
format: uuid
description: The unique identifier of the audit log event
user:
$ref: '#/components/schemas/PlatformUser'
description: The user who performed the action
user_ip_address:
type: string
description: The IP address of the user who performed the action
event_type:
type: string
description: The type of event that was logged
entity_display_name:
type: string
description: The display name of the entity that was affected
nullable: true
event_details:
type: object
description: Additional details about the event
additionalProperties: true
is_success:
type: boolean
description: Whether the event was successful
created_at:
type: string
format: date-time
description: The timestamp when the event was created
PlatformUser:
additionalProperties: false
description: User
properties:
created_at:
example: '2017-07-14T16:53:42Z'
format: date-time
type: string
id:
description: ID of the User
type: string
format: uuid
example: 12345678-1234-1234-1234-1234567890ab
x-go-name: ID
email:
type: string
example: user@example.com
name:
$ref: '#/components/schemas/PlatformUserName'
updated_at:
example: '2017-07-14T16:53:42Z'
type: string
format: date-time
profile_image_url:
type: string
description: Profile image URL of user
x-go-name: ProfileImageURL
last_login_at:
type: string
format: date-time
provider:
$ref: '#/components/schemas/PlatformUserProvider'
tracking_opted_in:
type: boolean
description: Whether anonymous user tracking was opted into
mfa_configured:
type: boolean
description: Whether the user has MFA configured
x-go-name: MFAConfigured
roles:
type: array
items:
$ref: '#/components/schemas/PlatformRole'
enabled:
type: boolean
description: Whether the user is enabled
required:
- id
- email
- enabled
- provider
- mfa_configured
- roles
title: User
type: object
PlatformUserName:
description: The unique name for the user.
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z\p{L}][a-zA-Z\p{L} \-']*$
x-pattern-message: can contain only letters, spaces, hyphens, and apostrophes, starting with a letter
type: string
example: Sarah O'Connor
PlatformRBACPermission:
type: object
required:
- id
- name
- description
- query
- created_by
- created_at
- updated_at
- number_of_affected_roles
- number_of_affected_users
properties:
id:
$ref: '#/components/schemas/PlatformRBACPermissionID'
name:
type: string
description:
type: string
query:
type: string
created_by:
$ref: '#/components/schemas/PlatformCreatedBy'
created_at:
example: '2017-07-14T16:53:42Z'
format: date-time
type: string
updated_at:
example: '2017-07-14T16:53:42Z'
format: date-time
type: string
number_of_affected_roles:
type: integer
number_of_affected_users:
type: integer
PlatformRoleType:
type: string
enum:
- admin:write
- admin:read
- general:read
- general:write
- ci
- schema-only
- custom
x-enum-varnames:
- AdminWrite
- AdminRead
- GeneralRead
- GeneralWrite
- CI
- SchemaOnly
- Custom
PlatformUserProvider:
title: LocalUserProvider
type: string
enum:
- local
- saml
default: local
PlatformBasicError:
additionalProperties: false
description: Basic Error
required:
- message
- status
properties:
message:
type: string
status:
type: integer
title: Basic Error
type: object
PlatformUserID:
description: ID of the User
type: string
format: uuid
example: 12345678-1234-1234-1234-1234567890ab
x-go-name: UserID
PlatformCreatedBy:
type: object
required:
- id
- name
- email
properties:
id:
$ref: '#/components/schemas/PlatformUserID'
name:
$ref: '#/components/schemas/PlatformUserName'
email:
type: string
responses:
PlatformInternalError:
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformBasicError'
description: Internal Error
PlatformNotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformBasicError'
description: Resource not found
PlatformForbidden:
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformFieldError'
description: Forbidden
PlatformRequiresAuthentication:
content:
application/json:
schema:
$ref: '#/components/schemas/PlatformBasicError'
description: Requires authentication
parameters:
platform_page:
description: Page number of the results to fetch
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: integer
format: int64
platform_per_page:
description: The number of results per page (max 1000).
in: query
name: per_page
required: false
schema:
default: 100
maximum: 1000
minimum: 1
type: integer
format: int64
securitySchemes:
bearerAuth:
scheme: bearer
type: http
basicAuth:
scheme: basic
type: http
cookieAuth:
scheme: cookie
type: http