Skip to main content

API endpoint for Audit logs

API endpoint to fetch audit logs

P
Written by Puneet Shetty
Updated over 3 weeks ago

The Audit Logs API provides programmatic access to user and system activity within the Celona platform. Customers can use audit logs to support security monitoring, compliance, troubleshooting, and operational visibility.

Audit records capture who performed an action, what action was taken, when it occurred, and from where.

Use Cases

  • Security and compliance auditing

  • Tracking administrative and user activity

  • Investigating configuration changes or operational events

  • Integrating audit data with SIEM and monitoring tools

Audit records capture who performed an action, what action was taken, when it occurred, and from where.

API Endpoint

GET

https://cso.celona.io/v1/api/audit/records

Authentication

All requests must be authenticated using an API key.

Request Headers

Header

Required

Description

accept

Yes

application/json

x-api-key

Yes

Celona-issued API key

Query Parameters

Parameter

Type

Required

Description

start-time

integer (epoch ms)

Yes

Start of the audit log time range.

end-time

integer (epoch ms)

Yes

End of the audit log time range.

sort-columns

string

No

Field to sort by (recommended: time).

sort-direction

string

No

Sort order: asc or desc.

page-index

integer

No

Page number (1-based).

page-size

integer

No

Number of records per page.

Example Request

curl 'https://cso.celona.io/v1/api/audit/records?start-time=1764027318162&end-time=1764113718162&sort-columns=time&sort-direction=desc&page-index=1&page-size=25' \
-H 'accept: application/json, text/plain, */*' \
-H 'x-api-key: <your-api-key>'

Example Response

{
"code": 200,
"success": true,
"error": "",
"data": {
"total": 2,
"filtered": 2,
"records": [
{
"time": "2025-12-10T21:41:43Z",
"action": "added diagnostic tool request",
"accessType": "UI",
"statusCode": 200,
"userName": "John Doe",
"email": "johndoe@celona.io",
"userRole": "SuperAdmin",
"ip": "xxx.xx.xx.xxx",
"userAgent": "Safari",
"customerId": "99999999",
"details": [
{
"name": "Cluster ID",
"value": "10000xxxx-0-10000xxxx-397485xxx"
},
{
"name": "Script Name",
"value": "Edge - Execute Ping Command"
}
]
},
{
"time": "2025-12-10T15:30:43Z",
"action": "logged in",
"accessType": "UI",
"statusCode": 200,
"userName": "John Doe",
"email": "johndoe@celona.io",
"userRole": "Device Manager (Type - 1)",
"ip": "xxx.xx.xx.xxx",
"userAgent": "Edge",
"customerId": "99999999",
"details": []
}
]
}
}

Response Field Definitions

Top-Level Response

Field

Description

success

Indicates whether the request completed successfully.

code

Response status code.

error

Error message if the request fails.

data

Container for audit log results.

Audit Data Object

Field

Description

total

Total number of audit records matching the query.

filtered

Number of records returned in the current page.

records

List of audit log entries.

Audit Record Fields

Field

Description

time

Timestamp of the event (UTC, ISO 8601).

action

Description of the action performed.

accessType

How the action was initiated (e.g., UI or API).

statusCode

Resulting status of the action.

userName

Name of the user who performed the action.

email

User email address.

userRole

User role at the time of the action.

ip

Source IP address.

userAgent

Client application or browser.

customerId

Customer or tenant identifier.

details

Optional contextual information related to the action.

Pagination

Audit records are paginated using page-index and page-size.

  • Start with page-index=1

  • Increment the page index to retrieve additional records

Time Format

  • Request parameters use Unix epoch time in milliseconds

  • Response timestamps are returned in UTC (ISO 8601)

Notes & Best Practices

  • Use narrow time ranges to improve query performance.

  • For compliance or SIEM integration, poll the API at regular intervals.

  • Store audit logs securely and according to your organization’s retention policies.

Did this answer your question?