> ## Documentation Index
> Fetch the complete documentation index at: https://alpha.developer.tomorro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List audit logs

> Returns audit log entries for your organization within an optional date range. Supports cursor-based pagination (`limit`, `after`, `before`) and optional filters on actors and categories.



## OpenAPI

````yaml /openapi-2025-01-29.alpha.json get /audit-logs
openapi: 3.0.0
info:
  title: Tomorro API
  description: >
    The Tomorro Public API enables you to programmatically manage contracts,
    members, and counterparties. Build powerful integrations that automate your
    contract management workflows.


    ## API Version: 2025-01-29.alpha


    This documentation is for API version `2025-01-29.alpha`.


    ### Using this version

    ```

    curl -X GET https://api.tomorro.com/members \
      -H "x-api-key: YOUR_API_KEY" \
      -H "tomorro-version: 2025-01-29.alpha"
    ```
  version: 2025-01-29.alpha
  contact: {}
servers:
  - url: https://api.tomorro.com/v2
    description: Production
  - url: https://api.demo.tomorro.com/v2
    description: Demo
  - url: http://localhost:3015
    description: Local Development
security: []
tags: []
paths:
  /audit-logs:
    get:
      tags:
        - Audit Logs
      summary: List audit logs
      description: >-
        Returns audit log entries for your organization within an optional date
        range. Supports cursor-based pagination (`limit`, `after`, `before`) and
        optional filters on actors and categories.
      operationId: AuditLogController_listAuditLogs
      parameters:
        - name: limit
          required: false
          in: query
          description: Number of items per page (1-50)
          schema:
            minimum: 1
            maximum: 50
            default: 20
            example: 20
            type: number
        - name: after
          required: false
          in: query
          description: >-
            Cursor for forward pagination. Use the `next_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEyMyJ9
            type: string
        - name: before
          required: false
          in: query
          description: >-
            Cursor for backward pagination. Use the `prev_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEwMCJ9
            type: string
        - name: startDate
          required: false
          in: query
          description: Inclusive lower bound on `createdAt` (ISO 8601 date-time).
          schema:
            example: '2026-01-01T00:00:00.000Z'
            type: string
        - name: endDate
          required: false
          in: query
          description: Inclusive upper bound on `createdAt` (ISO 8601 date-time).
          schema:
            example: '2026-06-01T23:59:59.999Z'
            type: string
        - name: actorIds
          required: false
          in: query
          description: >-
            Filter by actor member IDs. Formats: `actorIds=uuid` (single),
            `actorIds=in:uuid1,uuid2` (multiple)
          schema:
            example: >-
              in:11111111-1111-4111-8111-111111111111,22222222-2222-4222-8222-222222222222
            type: string
        - name: categories
          required: false
          in: query
          description: >-
            Filter by event categories. Formats: `categories=AUTH` (single),
            `categories=in:AUTH,CONTRACT_MANAGEMENT` (multiple)
          schema:
            example: in:AUTH,CONTRACT_MANAGEMENT
            type: string
      responses:
        '200':
          description: Audit logs for the organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogListResponseDto'
        '401':
          description: Unauthorized - Invalid or missing API key
        '403':
          description: Forbidden - Insufficient permissions
        '429':
          description: Too Many Requests - Rate limit exceeded
      security:
        - X-API-KEY: []
components:
  schemas:
    AuditLogListResponseDto:
      type: object
      properties:
        data:
          description: Audit log entries for the current page.
          example:
            - id: 550e8400-e29b-41d4-a716-446655440000
              category: AUTH
              actorId: 550e8400-e29b-41d4-a716-446655440001
              actor:
                id: 550e8400-e29b-41d4-a716-446655440001
                actorType: MEMBER
                username: jane.doe@example.com
                firstName: Jane
                lastName: Doe
                avatar: null
              actorType: MEMBER
              actorEmail: jane.doe@example.com
              sourceType: API
              userAgent: Mozilla/5.0
              ipAddress: 203.0.113.10
              host: app.tomorro.com
              organizationId: 550e8400-e29b-41d4-a716-446655440002
              event: LOGIN
              status: SUCCESS
              entityType: MEMBER
              entityId: 550e8400-e29b-41d4-a716-446655440003
              meta:
                name: NDA Template
              createdAt: '2026-06-02T10:15:30.000Z'
          type: array
          items:
            $ref: '#/components/schemas/AuditLogResponseDto'
        pagination:
          description: Pagination metadata including cursors and navigation flags.
          example:
            limit: 20
            next_cursor: eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9
            prev_cursor: null
            has_next: true
            has_previous: false
          allOf:
            - $ref: '#/components/schemas/PaginationMetaDto'
        links:
          description: HATEOAS navigation links for pagination.
          example:
            self: /audit-logs?limit=20
            next: /audit-logs?limit=20&after=eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9
            prev: null
          allOf:
            - $ref: '#/components/schemas/PaginationLinksDto'
      required:
        - data
        - pagination
        - links
    AuditLogResponseDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the audit log entry.
          example: 550e8400-e29b-41d4-a716-446655440000
        category:
          type: string
          enum:
            - AUTH
            - MEMBER_MANAGEMENT
            - SMART_FIELD_MANAGEMENT
            - CONDITION_MANAGEMENT
            - CONTRACT_MANAGEMENT
            - EXTERNAL_COMPANY_MANAGEMENT
            - TEMPLATE_MANAGEMENT
            - CLAUSE_MANAGEMENT
            - FOLDER_MANAGEMENT
            - CUSTOM_OBJECT_MANAGEMENT
            - SCIM_PROVISIONING
            - AUDIT_LOG_MANAGEMENT
          description: High-level category grouping related events.
          example: AUTH
        actorId:
          type: string
          format: uuid
          description: Identifier of the actor that performed the action.
          example: 550e8400-e29b-41d4-a716-446655440001
        actor:
          nullable: true
          description: Resolved actor details when available.
          example:
            id: 550e8400-e29b-41d4-a716-446655440001
            actorType: MEMBER
            username: jane.doe@example.com
            firstName: Jane
            lastName: Doe
            avatar: null
          type: object
          allOf:
            - $ref: '#/components/schemas/AuditLogActorResponseDto'
        actorType:
          type: string
          enum:
            - MEMBER
            - GUEST
            - ORGANIZATION_SYSTEM
            - SYSTEM_USER
            - ORGANIZATION
          description: Type of actor stored on the audit log entry.
          example: MEMBER
        actorEmail:
          type: string
          nullable: true
          description: Email of the actor when the actor is not a member record.
          example: jane.doe@example.com
        sourceType:
          type: string
          enum:
            - API
            - APP
            - SALESFORCE
            - ZAPIER
            - EMAIL
            - SCIM
            - JOB
          description: Channel through which the action was performed.
          example: API
        userAgent:
          type: string
          description: User agent of the client that triggered the event.
          example: Mozilla/5.0
        ipAddress:
          type: string
          description: IP address of the client that triggered the event.
          example: 203.0.113.10
        host:
          type: string
          description: Host name reported for the request.
          example: app.tomorro.com
        organizationId:
          type: string
          format: uuid
          description: Organization the audit log entry belongs to.
          example: 550e8400-e29b-41d4-a716-446655440002
        event:
          type: string
          enum:
            - LOGIN
            - LOGOUT
            - PASSWORD_UPDATED
            - NAME_UPDATED
            - MEMBER_INVITED
            - MEMBER_JOINED
            - MEMBER_DELETED
            - MEMBER_ROLE_UPDATED
            - MEMBER_ADDED_TO_GROUP
            - MEMBER_REMOVED_FROM_GROUP
            - MEMBER_NOTIFICATION_SETTINGS_UPDATED
            - ATTRIBUTE_DEFINITION_CREATED
            - ATTRIBUTE_DEFINITION_DELETED
            - ATTRIBUTE_DEFINITION_UPDATED
            - ATTRIBUTE_DEFINITION_OPTION_CREATED
            - ATTRIBUTE_DEFINITION_OPTION_UPDATED
            - ATTRIBUTE_DEFINITION_OPTION_ARCHIVED
            - ATTRIBUTE_DEFINITION_CONVERTED
            - CONDITION_CREATED
            - CONDITION_UPDATED
            - CONDITION_DELETED
            - CONTRACT_DELETED
            - CONTRACT_RESTORED
            - CONTRACT_EXPORTED
            - CONTRACT_FILES_EXPORTED
            - CONTRACT_PARTICIPANT_ADDED
            - CONTRACT_PARTICIPANT_REMOVED
            - CONTRACT_SIGNATORY_ADDED
            - CONTRACT_SIGNATORY_REMOVED
            - CONTRACT_SHARED_WITH_COUNTERPARTY
            - CONTRACT_VIEWED
            - EXTERNAL_COMPANY_MERGED
            - TYPE_DELETED
            - TYPE_RESTORED
            - TEMPLATE_CREATED
            - TEMPLATE_DELETED
            - CLAUSE_DELETED
            - FOLDER_DELETED
            - FOLDER_MOVED
            - FOLDER_RENAMED
            - FOLDER_SHARED
            - FOLDER_ACCESS_REVOKED
            - FOLDER_OWNERSHIP_TRANSFERRED
            - CUSTOM_OBJECT_CREATED
            - CUSTOM_OBJECT_UPDATED
            - CUSTOM_OBJECT_DELETED
            - SMART_FIELD_CREATED
            - SMART_FIELD_UPDATED
            - SMART_FIELD_DELETED
            - CATALOG_UPDATED
            - CATALOG_EXPORTED
            - SCIM_USER_CREATED
            - SCIM_USER_UPDATED
            - SCIM_USER_DELETED
            - AUDIT_LOGS_EXPORTED
          description: Specific event that was recorded.
          example: LOGIN
        status:
          type: string
          enum:
            - SUCCESS
            - FAILURE
          description: Outcome of the recorded action.
          example: SUCCESS
        entityType:
          type: string
          enum:
            - CLAUSE
            - CONTRACT
            - EXTERNAL_COMPANY
            - EXPORT
            - FOLDER
            - GROUP
            - MEMBER
            - SMART_FIELD
            - CONDITION
            - TYPE
            - CUSTOM_OBJECT
          nullable: true
          description: Type of entity affected by the event, when applicable.
          example: MEMBER
        entityId:
          type: string
          nullable: true
          format: uuid
          description: Identifier of the entity affected by the event, when applicable.
          example: 550e8400-e29b-41d4-a716-446655440003
        meta:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional event metadata.
          example:
            name: NDA Template
        createdAt:
          type: string
          description: Timestamp when the event was recorded (ISO 8601).
          example: '2026-06-02T10:15:30.000Z'
      required:
        - id
        - category
        - actorId
        - actor
        - actorType
        - actorEmail
        - sourceType
        - userAgent
        - ipAddress
        - host
        - organizationId
        - event
        - status
        - entityType
        - entityId
        - meta
        - createdAt
    PaginationMetaDto:
      type: object
      properties:
        limit:
          type: number
          description: The number of items per page.
          example: 20
        next_cursor:
          type: string
          description: >-
            Cursor for fetching the next page. Use with the `after` query
            parameter.
          nullable: true
          example: eyJpZCI6IjEyMyJ9
        prev_cursor:
          type: string
          description: >-
            Cursor for fetching the previous page. Use with the `before` query
            parameter.
          nullable: true
          example: eyJpZCI6IjEwMCJ9
        has_next:
          type: boolean
          description: Whether there are more items available after this page.
          example: true
        has_previous:
          type: boolean
          description: Whether there are items available before this page.
          example: false
      required:
        - limit
        - next_cursor
        - prev_cursor
        - has_next
        - has_previous
    PaginationLinksDto:
      type: object
      properties:
        self:
          type: string
          description: URL of the current page.
          example: /members?limit=20
        next:
          type: string
          description: URL to fetch the next page. Null if there is no next page.
          nullable: true
          example: /members?limit=20&after=eyJpZCI6IjEyMyJ9
        prev:
          type: string
          description: URL to fetch the previous page. Null if there is no previous page.
          nullable: true
          example: /members?limit=20&before=eyJpZCI6IjEwMCJ9
      required:
        - self
        - next
        - prev
    AuditLogActorResponseDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the actor.
          example: 550e8400-e29b-41d4-a716-446655440000
        actorType:
          type: string
          enum:
            - MEMBER
            - GUEST
            - ORGANIZATION_SYSTEM
            - SYSTEM_USER
            - ORGANIZATION
          description: Type of actor that performed the action.
          example: MEMBER
        username:
          type: string
          description: Login or email used to identify the actor.
          example: jane.doe@example.com
        firstName:
          type: string
          nullable: true
          description: First name of the actor when available.
          example: Jane
        lastName:
          type: string
          nullable: true
          description: Last name of the actor when available.
          example: Doe
        avatar:
          nullable: true
          description: Avatar image of the actor when available.
          example:
            id: 550e8400-e29b-41d4-a716-446655440010
            name: avatar.png
            contentType: image/png
            key: organizations/abc/avatar.png
            url: https://cdn.example.com/avatar.png
          type: object
          allOf:
            - $ref: '#/components/schemas/AuditLogMediaResponseDto'
      required:
        - id
        - actorType
        - username
        - firstName
        - lastName
        - avatar
    AuditLogMediaResponseDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the media file.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: Original file name.
          example: avatar.png
        contentType:
          type: string
          description: MIME type of the file.
          example: image/png
        key:
          type: string
          description: Storage key of the file.
          example: organizations/abc/avatar.png
        url:
          type: string
          description: Public URL to access the file.
          example: https://cdn.example.com/avatar.png
      required:
        - id
        - name
        - contentType
        - key
        - url
  securitySchemes:
    X-API-KEY:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Get your key at
        https://app.tomorro.com/settings/integrations?integration=api-key

````