Leena AI Audit Logs API

Retrieve audit log records for the authenticated bot.

Operations 1

GET /external/v1/audit-logs List audit logs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leena-ai-audit-logs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

leena-ai-audit-logs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Leena AI External AOP Analytics Audit Logs API
  version: 1.0-beta
  description: 'Execute an Agent Operating Procedure (AOP) on a Leena AI AI Colleague from an external

    system and poll its execution status, plus a read-only analytics query endpoint for

    AI Colleague run metrics.


    This specification was generated by the API Evangelist enrichment pipeline from

    Leena AI''s published documentation. Leena AI does not publish a machine-readable

    OpenAPI definition; every path, parameter, response field and error below is

    transcribed from the public guide cited in `x-source`.

    '
  contact:
    name: Leena AI
    url: https://docs.leena.ai/
  x-generated: '2026-07-19'
  x-method: generated
  x-source: https://docs.leena.ai/docs/external-aop-api-authentication-usage-guide
servers:
- url: https://us-east-1-aic.leena.ai
  description: AOP / AI Colleague host, us-east-1
- url: https://us-east-1-analytics-api.leena.ai
  description: Analytics host, us-east-1
tags:
- name: Audit Logs
  description: Retrieve audit log records for the authenticated bot.
paths:
  /external/v1/audit-logs:
    get:
      operationId: listAuditLogs
      summary: List audit logs
      description: 'Returns audit log records with `updatedAt` greater than the supplied lower bound,

        sorted ascending by `(updatedAt, _id)`. Supply `updatedAt` on the first call, then

        follow `nextCursor` until `hasMore` is false. Requires the `audit-logs:read` scope.

        '
      tags:
      - Audit Logs
      security:
      - oauth2:
        - audit-logs:read
      parameters:
      - name: updatedAt
        in: query
        required: false
        description: ISO-8601 lower bound. Required when no `cursor` is supplied. Returns records where `updatedAt` is strictly greater than this value.
        schema:
          type: string
          format: date-time
        example: '2026-07-01T00:00:00.000Z'
      - name: cursor
        in: query
        required: false
        description: Opaque base64 cursor taken from the prior response `nextCursor`. When present it overrides `updatedAt`.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Number of records per page.
        schema:
          type: integer
          default: 100
          minimum: 1
          maximum: 1000
      responses:
        '200':
          description: A page of audit log records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogPage'
        '400':
          description: Invalid cursor, or missing/invalid `updatedAt`, or DTO validation failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid Authorization header, invalid or expired token, insufficient OAuth scope, or a token missing the `botId` claim.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded (60 requests per minute per OAuth client).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ExternalAuditLog:
      type: object
      properties:
        _id:
          type: string
          description: 24-character hex identifier.
        auditLogId:
          type: string
          description: Human-readable audit log identifier.
        botId:
          type: string
        componentId:
          type: string
        activity:
          type: string
        priority:
          type: string
          enum:
          - critical
          - high
          - normal
          - low
        status:
          type: string
          enum:
          - success
          - in-progress
          - fail
        message:
          type: string
        generatedAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        actor:
          $ref: '#/components/schemas/Actor'
        targetUser:
          $ref: '#/components/schemas/Actor'
        submoduleId:
          type: string
        resourceId:
          type: string
        ip:
          type: string
        useragent:
          type: string
        metadata:
          type: array
          items:
            type: object
        redirectionLink:
          type: string
      required:
      - _id
      - auditLogId
      - updatedAt
    AuditLogPage:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExternalAuditLog'
        nextCursor:
          type:
          - string
          - 'null'
          description: Opaque base64 cursor for the next page, or null when exhausted.
        hasMore:
          type: boolean
          description: Whether more records remain.
      required:
      - data
      - hasMore
    Actor:
      type: object
      properties:
        userId:
          type: string
        userType:
          type: string
          enum:
          - dashboard
          - bot
          - none
        source:
          type: string
        email:
          type: string
        phone:
          type: string
        employeeId:
          type: string
      required:
      - userId
      - userType
    Error:
      type: object
      properties:
        message:
          type: string
          description: Documented values include "Invalid cursor", "Missing or invalid Authorization header", "Invalid token", "Token expired", "Insufficient OAuth scope", "Token is missing botId" and "Rate limit exceeded. Please retry after some time."
      required:
      - message
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 resource owner password credentials grant. The client authenticates to the token endpoint with HTTP Basic (base64 of `client_id:client_secret`) and posts `username`, `password` and `grant_type=password`. Access tokens are Bearer tokens valid for 3600 seconds and are accompanied by a refresh token.
      flows:
        password:
          tokenUrl: https://us-east-1-acl.leena.ai/api/v1.0/oauth/token
          refreshUrl: https://us-east-1-acl.leena.ai/api/v1.0/oauth/token
          scopes: {}
x-regions:
- us-east-1
- eu-west-1
- eu-central-1
- canadacentral
- ap-southeast-1
- ap-south-1
- qatarcentral
- me-central2