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

# List audit log

> Requires one of the following scopes: `audit_logs:read`, `audit_logs:all`, `all:read`, `all:all`



## OpenAPI

````yaml https://api.instantly.ai/openapi/api_v2.json get /api/v2/audit-logs
openapi: 3.1.0
info:
  title: API Explorer
  description: >-
    The entire API V2 documentation is interactive and can be tested here. To
    the right side of every endpoint you will see a box with an example request.
    You can click on the "Try it" button to send a request to the server right
    from the docs. You will need to provide an API key by clicking the
    `ApiKeyAuth_token` blue text.
  version: 2.0.0
servers:
  - url: https://api.instantly.ai
    description: Instantly API Server
security:
  - ApiKeyAuth: []
tags:
  - name: Analytics
    description: Endpoints related to analytics
    x-displayName: Analytics
  - name: OAuth
    description: >-
      OAuth authentication endpoints for connecting Google and Microsoft email
      accounts
    x-displayName: OAuth
  - name: Account
    description: An email account that can be used to send campaigns
    x-displayName: Account
  - name: Campaign
    description: A campaign that can be sent to a list of recipients
    x-displayName: Campaign
  - name: Email
    description: >-
      A campaign email, a reply, a manually sent email, or any other email
      that's visible in the Unibox
    x-displayName: Email
  - name: EmailVerification
    description: A single email verification
    x-displayName: Email Verification
  - name: LeadList
    description: A list used to store leads
    x-displayName: Lead List
  - name: InboxPlacementTest
    description: An inbox placement test
    x-displayName: Inbox Placement Test
  - name: InboxPlacementAnalytics
    description: Analytics data for individual emails in inbox placement tests
    x-displayName: Inbox Placement Analytics
  - name: InboxPlacementBlacklist&SpamAssassinReport
    description: Report data for an inbox placement test
    x-displayName: Inbox Placement Blacklist & SpamAssassin Report
  - name: APIKey
    description: API Key
    x-displayName: API Key
  - name: AccountCampaignMapping
    description: Account Campaign Mapping
    x-displayName: Account Campaign Mapping
  - name: Lead
    description: A lead entity representing an individual lead
    x-displayName: Lead
  - name: BackgroundJob
    description: A background job that can be used to perform long-running tasks
    x-displayName: Background Job
  - name: CustomTag
    description: >-
      A custom tag for organizing and categorizing accounts and campaigns. You
      can use them as filters in apis that list accounts and campaigns.
    x-displayName: Custom Tag
  - name: CustomTagMapping
    description: >-
      This entity represents a tag being assigned to a specific campaign or
      email account. When an email account is assigned a tag, a new custom tag
      mapping entry is created, which connects the tag (`tag_id` field) with the
      email account (`resource_id` field). You can use it to see which tag si
      connected to which resource.
    x-displayName: Custom Tag Mapping
  - name: BlockListEntry
    description: A blocked email or domain
    x-displayName: Block List Entry
  - name: LeadLabel
    description: A custom label for categorizing and managing leads
    x-displayName: Lead Label
  - name: Workspace
    description: A workspace entity representing a workspace
    x-displayName: Workspace
  - name: SuperSearchEnrichment
    description: >-
      An enrichment can take different forms, such as email enrichment or
      LinkedIn enrichment. Leads may be imported from SuperSearch using the
      dedicated endpoint, or enriched directly within a list or campaign by
      attaching an enrichment to it.
    x-displayName: SuperSearch Enrichment
  - name: WorkspaceGroupMember
    description: >-
      A member of a workspace group. You can use the endpoints within this
      entity to manage the members of a workspace group.
    x-displayName: Workspace Group Member
  - name: WorkspaceMember
    description: A member of a workspace with associated user details
    x-displayName: Workspace Member
  - name: CampaignSubsequence
    description: A subsequence entity representing a follow-up sequence
    x-displayName: Campaign Subsequence
  - name: AuditLog
    description: Audit log records for tracking system activities
    x-displayName: Audit Log
  - name: Webhook
    description: A webhook subscription for receiving event notifications
    x-displayName: Webhook
  - name: WebhookEvent
    description: A webhook event that was sent or attempted to be sent
    x-displayName: Webhook Event
  - name: DFYEmailAccountOrder
    description: A Done-For-You email account order
    x-displayName: DFY Email Account Order
  - name: CustomPromptTemplate
    description: Custom prompt templates for creating custom prompts
    x-displayName: Custom Prompt Template
  - name: SalesFlow
    description: >-
      Manages how sales users view and interact with campaign and lead lists
      within the sales flow.
    x-displayName: Sales Flow
  - name: EmailTemplate
    description: A campaign email template
    x-displayName: Email Template
  - name: WorkspaceBilling
    description: Workspace Billing
    x-displayName: Workspace Billing
  - name: CRMActions
    description: CRM related actions
    x-displayName: CRM Actions
paths:
  /api/v2/audit-logs:
    get:
      tags:
        - AuditLog
      summary: List audit log
      description: >-
        Requires one of the following scopes: `audit_logs:read`,
        `audit_logs:all`, `all:read`, `all:all`
      operationId: listAuditLog
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 1000
            example: 10
          in: query
          name: limit
          required: false
          description: The number of items to return
        - schema:
            type: string
            example: 01956fbd-0eb1-72db-a565-82977a586084
          in: query
          name: starting_after
          required: false
          description: >-
            The ID of the last item in the previous page - used for pagination.
            You can use the value of the `next_starting_after` field from the
            previous response.
        - schema:
            type: number
            example: 1
          in: query
          name: activity_type
          required: false
          description: Filter by activity type
        - schema:
            type: string
            example: login
          in: query
          name: search
          required: false
          description: Search term to filter logs
        - schema:
            type: string
            example: '2024-01-01'
          in: query
          name: start_date
          required: false
          description: Start date to filter logs
        - schema:
            type: string
            example: '2024-01-01'
          in: query
          name: end_date
          required: false
          description: End date to filter logs
      responses:
        '200':
          description: The list of Audit Log
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    description: The list of Audit Log
                    items:
                      $ref: '#/components/schemas/def-32'
                  next_starting_after:
                    type: string
                    description: >-
                      The filter for getting the next items after this one, this
                      could either be a UUID, a timestamp, on an email depending
                      on the specific API
                    example: 019e0e3e-b532-76fa-8b44-241f586509b4
                additionalProperties: false
                required:
                  - items
        '401':
          description: >-
            This request is unauthorized (either the Authorization header is
            missing or invalid, or the API key has been revoked)
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 401
                    example: 401
                  error:
                    type: string
                    enum:
                      - Unauthorized
                    example: Unauthorized
                  message:
                    type: string
                    example: Missing Authorization header
                required:
                  - statusCode
                  - error
                  - message
        '402':
          description: >-
            This request cannot be fulfilled because the workspace does not have
            an active paid plan
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 402
                    example: 402
                  error:
                    type: string
                    enum:
                      - Payment Required
                    example: Payment Required
                  message:
                    type: string
                    example: Workspace does not have an active paid plan
                required:
                  - statusCode
                  - error
                  - message
        '404':
          description: The requested resource was not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 404
                    example: 404
                  error:
                    type: string
                    enum:
                      - Not Found
                    example: Not Found
                  message:
                    type: string
                    example: Resource not found
                required:
                  - statusCode
                  - error
                  - message
        '429':
          description: >-
            You have exceeded the rate limit. Please check the rate limit docs
            for more information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 429
                    example: 429
                  error:
                    type: string
                    enum:
                      - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    example: Rate limit exceeded
                required:
                  - statusCode
                  - error
                  - message
components:
  schemas:
    def-32:
      title: Audit Log
      description: Audit log records for tracking system activities
      x-tags:
        - Schemas
        - AuditLog
      type: object
      properties:
        id:
          type: string
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        timestamp:
          type: string
          description: When the activity occurred
          readOnly: true
          format: date-time
          example: '2026-05-09T19:37:14.399Z'
        organization_id:
          type: string
          description: Organization ID associated with the activity
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        activity_type:
          type: number
          description: Type of activity performed
          readOnly: true
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
            - 31
          x-enumDescriptions:
            '1': User login
            '2': Lead deletion
            '3': Campaign deletion
            '4': Campaign launch
            '5': Campaign pause
            '6': Account addition
            '7': Account deletion
            '8': Lead moved
            '9': Lead added
            '10': Lead merged
            '11': Campaign update
            '12': Subsequence update
            '18': Webhook created
            '19': Webhook updated
            '20': Webhook marked as error
            '21': Webhook resumed
            '22': TOTP enrollment started
            '23': TOTP enabled
            '24': TOTP replacement started
            '25': TOTP replaced
            '26': TOTP disabled
            '27': MFA recovery codes generated
            '28': MFA recovery code used
            '29': MFA login challenge failed
            '30': MFA login challenge failed too many times
            '31': MFA login succeeded
          example: 1
        user_agent:
          type:
            - 'null'
            - string
          description: User agent of the client that performed the activity
          readOnly: true
          example: Mozilla/5.0...
        user_id:
          type:
            - 'null'
            - string
          description: ID of the user who performed the activity
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        ip_address:
          type: string
          description: IP address from which the activity was performed
          readOnly: true
          example: 127.0.0.1
        from_api:
          type: boolean
          description: Whether the activity was performed via API
          readOnly: true
          example: false
        affected_count:
          type:
            - 'null'
            - number
          description: Number of items affected by the activity
          readOnly: true
          example: 1
        campaign_id:
          type:
            - 'null'
            - string
          description: Associated campaign ID if applicable
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        webhook_id:
          type:
            - 'null'
            - string
          description: Associated webhook ID if applicable
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        subsequence_id:
          type:
            - 'null'
            - string
          description: Associated subsequence ID if applicable
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        list_id:
          type:
            - 'null'
            - string
          description: Associated list ID if applicable
          readOnly: true
          format: uuid
          example: 01234567-89ab-cdef-0123-456789abcdef
        audit_metadata:
          type: object
          description: Metadata about the audit log
          readOnly: true
          additionalProperties: true
        user_name:
          type:
            - 'null'
            - string
          description: Name of the user who performed the activity
          readOnly: true
          example: John Doe
      required:
        - id
        - timestamp
        - organization_id
        - activity_type
        - ip_address
        - from_api
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer

````