openapi: 3.0.0
info:
title: AI Hub Audit API
version: '0.1'
description: The AI Hub REST API. See https://docs.instabase.com/api-sdk/ for more details.
termsOfService: https://www.instabase.com/terms-of-service/
contact:
name: Instabase Support
url: https://help.instabase.com/
license:
name: MIT
url: https://github.com/instabase/aihub-python/blob/master/LICENSE
servers:
- url: https://aihub.instabase.com/api
security:
- bearerAuth: []
tags:
- name: Audit
paths:
/v1/auditlogs:
post:
operationId: getAuditLogs
x-fern-audiences:
- public
tags:
- Audit
summary: Get audit logs
description: 'Retrieve audit logs based on specified filters. Returns a paginated list of audit log entries.
This API operation is available for Enterprise-tier organizations with single-tenant environments. To use it you must have audit log access permissions. Contact Instabase Support to request access to audit logs for your organization.
This API operation is not supported by the SDK but you can access it from Python by making direct REST calls, as shown in the sample code.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start:
type: integer
description: Number of results to skip for pagination
nullable: true
size:
type: integer
description: Maximum number of results to return
nullable: true
log_type:
type: string
description: 'Type of audit log to filter by. Valid values include:
- `account_v2`: User account creation logs
- `api_v2`: API request logs
- `app_deployment_run_v2`: Deployment run operation logs
- `app_deployment_v2`: Deployment operation logs
- `app_v2`: Automation app operation logs
- `datasource_v2`: Data connection operation logs
- `login_v2`: User login and authentication logs
- `oauth2_v2`: OAuth token operation logs
- `org_v2`: Organization role change logs
- `org_secrets_v2`: Organization secrets operation logs
- `perms_v2`: Membership and role change logs, for the organization, workspaces, and groups
- `projects_v2`: Automation project operation logs
- `review_v2`: Human review operation logs
- `workspace_v2`: Workspace management operation logs
For details about tracked operations, see [Viewing audit logs](/admin/audit-logs/).
'
nullable: true
email:
type: string
description: Filter logs by user email
nullable: true
start_time:
type: string
description: Start time in epoch milliseconds
nullable: true
end_time:
type: string
description: End time in epoch milliseconds
nullable: true
responses:
'200':
description: Successfully retrieved audit logs
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: OK
data:
type: object
properties:
results:
type: array
items:
type: object
properties:
timestamp_millis:
type: string
description: Timestamp in epoch milliseconds
email:
type: string
description: User email associated with the log entry
user_ip:
type: string
description: IP address of the user
log_type:
type: string
description: Type of the audit log
additionalProperties: true
default:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-fern-examples:
- code-samples:
- sdk: curl
code: "curl \"${API_ROOT}/v1/auditlogs\" \\\n -H \"Authorization: Bearer ${API_TOKEN}\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"log_type\": \"org_secret\",\n \"size\": 50,\n \"start_time\": \"1749139277810\",\n \"start\": 200\n }'\n"
- sdk: python
name: without SDK
code: "# SDK does not support this operation, so you\n# must make REST calls using \"requests\" module\nimport requests\n\nurl = \"https://aihub.instabase.com/api/v1/auditlogs\"\n\nheaders = {\n \"Authorization\": \"Bearer abcdefghijklmnopqrst1234567890\",\n \"IB-Context\": \"john.doe_acme.com\"\n}\n\n# create the request payload\ndata = {\n \"log_type\": \"org_secret\",\n \"size\": 50,\n \"start_time\": \"1749139277810\",\n \"start\": 200\n}\n\n# make the POST request\nresponse = requests.post(url, headers=headers, json=data)\n\n# handle the response\nif response.status_code == 200:\n audit_logs = response.json()\n print(f\"Retrieved {len(audit_logs['data']['results'])} audit logs\")\nelse:\n print(f\"Error: {response.status_code} - {response.text}\")\n"
components:
schemas:
error:
type: object
properties:
message:
type: string
securitySchemes:
bearerAuth:
bearerFormat: auth-scheme
description: Bearer HTTP authentication.
scheme: bearer
type: http