> ## 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 AI Sales Agent lead activity

> Get per-lead event history (emails sent, opens, replies, clicks, bounces, opportunity status) for all campaigns of the AI Sales Agent. Leads are ordered by email ascending and paginated with a cursor. When `start_date` and `end_date` are omitted, the response covers all-time data.


Requires one of the following scopes: `ai_sdr:read`, `ai_sdr:all`, `all:read`, `all:all`



## OpenAPI

````yaml https://api.instantly.ai/openapi/api_v2.json get /api/v2/ai-agents/sales/{id}/leads/activity
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-group: Analytics
  - name: OAuth
    description: >-
      OAuth authentication endpoints for connecting Google and Microsoft email
      accounts
    x-group: OAuth
  - name: Account
    description: An email account that can be used to send campaigns
    x-group: Account
  - name: Campaign
    description: A campaign that can be sent to a list of recipients
    x-group: Campaign
  - name: Email
    description: >-
      A campaign email, a reply, a manually sent email, or any other email
      that's visible in the Unibox
    x-group: Email
  - name: EmailVerification
    description: A single email verification
    x-group: Email Verification
  - name: LeadList
    description: A list used to store leads
    x-group: Lead List
  - name: InboxPlacementTest
    description: An inbox placement test
    x-group: Inbox Placement Test
  - name: InboxPlacementAnalytics
    description: Analytics data for individual emails in inbox placement tests
    x-group: Inbox Placement Analytics
  - name: InboxPlacementBlacklistAndSpamAssassinReport
    description: Report data for an inbox placement test
    x-group: Inbox Placement Blacklist And SpamAssassin Report
  - name: AIAgent
    description: An AI agent
    x-group: AI Agent
  - name: AIInboxManager
    description: An AI Inbox Manager agent
    x-group: AI Inbox Manager
  - name: AIDeliverabilityAgent
    description: An AI Deliverability Agent
    x-group: AI Deliverability Agent
  - name: AILeadFinderAgent
    description: An AI Lead Finder Agent
    x-group: AI Lead Finder Agent
  - name: APIKey
    description: API Key
    x-group: API Key
  - name: AccountCampaignMapping
    description: Account Campaign Mapping
    x-group: Account Campaign Mapping
  - name: Lead
    description: A lead entity representing an individual lead
    x-group: Lead
  - name: BackgroundJob
    description: A background job that can be used to perform long-running tasks
    x-group: 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-group: 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-group: Custom Tag Mapping
  - name: BlockListEntry
    description: A blocked email or domain
    x-group: Block List Entry
  - name: LeadLabel
    description: A custom label for categorizing and managing leads
    x-group: Lead Label
  - name: Workspace
    description: A workspace entity representing a workspace
    x-group: 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-group: 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-group: Workspace Group Member
  - name: WorkspaceMember
    description: A member of a workspace with associated user details
    x-group: Workspace Member
  - name: CampaignSubsequence
    description: A subsequence entity representing a follow-up sequence
    x-group: Campaign Subsequence
  - name: AuditLog
    description: Audit log records for tracking system activities
    x-group: Audit Log
  - name: AISalesAgent
    description: >-
      An AI Sales Development Representative that autonomously manages outreach
      campaigns
    x-group: AI Sales Agent
  - name: AISalesAgentActivity
    description: An activity performed by an AI Sales Agent
    x-group: AI Sales Agent
  - name: Webhook
    description: A webhook subscription for receiving event notifications
    x-group: Webhook
  - name: WebhookEvent
    description: A webhook event that was sent or attempted to be sent
    x-group: Webhook Event
  - name: DFYEmailAccountOrder
    description: A Done-For-You email account order
    x-group: DFY Email Account Order
  - name: DomainForwarding
    description: Web forwarding configuration for a domain ordered through Instantly
    x-group: Domain Forwarding
  - name: CustomPromptTemplate
    description: Custom prompt templates for creating custom prompts
    x-group: Custom Prompt Template
  - name: SalesFlow
    description: >-
      Manages how sales users view and interact with campaign and lead lists
      within the sales flow.
    x-group: Sales Flow
  - name: EmailTemplate
    description: A campaign email template
    x-group: Email Template
  - name: WorkspaceBilling
    description: Workspace Billing
    x-group: Workspace Billing
  - name: CRMActions
    description: CRM related actions
    x-group: CRM Actions
paths:
  /api/v2/ai-agents/sales/{id}/leads/activity:
    get:
      tags:
        - AISalesAgent
      summary: List AI Sales Agent lead activity
      description: >-
        Get per-lead event history (emails sent, opens, replies, clicks,
        bounces, opportunity status) for all campaigns of the AI Sales Agent.
        Leads are ordered by email ascending and paginated with a cursor. When
        `start_date` and `end_date` are omitted, the response covers all-time
        data.



        Requires one of the following scopes: `ai_sdr:read`, `ai_sdr:all`,
        `all:read`, `all:all`
      operationId: listSalesAgentLeadActivity
      parameters:
        - schema:
            type: string
            format: date-time
            example: '2026-08-20T18:29:58.932Z'
          example: '2026-08-20T18:29:58.932Z'
          in: query
          name: start_date
          required: false
          description: >-
            Start date filter (ISO 8601). When omitted, results are not bounded
            by a start date (all-time data up to `end_date`).
        - schema:
            type: string
            format: date-time
            example: '2026-08-20T18:29:58.932Z'
          example: '2026-08-20T18:29:58.932Z'
          in: query
          name: end_date
          required: false
          description: >-
            End date filter (ISO 8601). When omitted, results run up to the
            present.
        - schema:
            type: string
            enum:
              - replied
              - has_opportunity
            x-enumDescriptions:
              replied: Only leads that replied at least once
              has_opportunity: Only leads with a positive opportunity
            example: replied
          example: replied
          in: query
          name: filter
          required: false
          description: Optional filter for the lead set.
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            example: 100
          example: 100
          in: query
          name: limit
          required: false
          description: Number of leads to return (default 100)
        - schema:
            type: string
            example: lead@example.com
          example: lead@example.com
          in: query
          name: starting_after
          required: false
          description: >-
            The email of the last lead in the previous page - used for
            pagination. You can use the value of the `next_starting_after` field
            from the previous response.
        - schema:
            type: string
            format: uuid
            example: 01a0206f-e414-76cf-8ce7-a2439b5bad4c
          example: 01a0206f-e414-76cf-8ce7-a2439b5bad4c
          in: path
          name: id
          required: true
          description: AI Sales Agent ID
      responses:
        '200':
          description: Per-lead activity data with cursor pagination
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    description: The list of leads with activity
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                          description: Lead email address
                          examples:
                            - lead@example.com
                          example: lead@example.com
                        emails_sent:
                          type: integer
                          description: Total emails sent to this lead
                          examples:
                            - 3
                          example: 3
                        open_count:
                          type: integer
                          description: Total email opens
                          examples:
                            - 5
                          example: 5
                        replied:
                          type: boolean
                          description: Whether the lead replied
                          examples:
                            - true
                          example: true
                        reply_count:
                          type: integer
                          description: Total replies received
                          examples:
                            - 1
                          example: 1
                        click_count:
                          type: integer
                          description: Total link clicks
                          examples:
                            - 2
                          example: 2
                        bounced:
                          type: boolean
                          description: Whether the lead bounced
                          examples:
                            - false
                          example: false
                        has_opportunity:
                          type: boolean
                          description: Whether the lead has a positive opportunity
                          examples:
                            - true
                          example: true
                        lt_interest_status:
                          type:
                            - 'null'
                            - integer
                          description: >-
                            Lead interest status from CRM. Static values: 0 =
                            Out of Office, 1 = Interested, 2 = Meeting Booked, 3
                            = Meeting Completed, 4 = Won, -1 = Not Interested,
                            -2 = Wrong Person, -3 = Lost, -4 = No Show. Custom
                            interest status values may also appear. `null` when
                            the lead has no interest status.
                          examples:
                            - 1
                          example: 1
                  total:
                    type: integer
                    description: >-
                      Total number of distinct leads with activity (after the
                      filter is applied)
                    examples:
                      - 250
                    example: 250
                  next_starting_after:
                    type: string
                    description: >-
                      The filter for getting the next leads after this one.
                      Omitted when there are no more leads.
                    examples:
                      - lead@example.com
                    example: lead@example.com
                required:
                  - items
                  - total
        '400':
          description: >-
            The request is invalid (e.g. missing required fields, invalid field
            values, or an invalid state for the operation)
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 400
                    examples:
                      - 400
                    example: 400
                  error:
                    type: string
                    enum:
                      - Bad Request
                    examples:
                      - Bad Request
                    example: Bad Request
                  message:
                    type: string
                    examples:
                      - body must have required property 'name'
                    example: body must have required property 'name'
                required:
                  - statusCode
                  - error
                  - message
        '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
                    examples:
                      - 401
                    example: 401
                  error:
                    type: string
                    enum:
                      - Unauthorized
                    examples:
                      - Unauthorized
                    example: Unauthorized
                  message:
                    type: string
                    examples:
                      - Missing Authorization header
                    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
                    examples:
                      - 402
                    example: 402
                  error:
                    type: string
                    enum:
                      - Payment Required
                    examples:
                      - Payment Required
                    example: Payment Required
                  message:
                    type: string
                    examples:
                      - Workspace does not have an active paid plan
                    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
                    examples:
                      - 404
                    example: 404
                  error:
                    type: string
                    enum:
                      - Not Found
                    examples:
                      - Not Found
                    example: Not Found
                  message:
                    type: string
                    examples:
                      - Resource not found
                    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
                    examples:
                      - 429
                    example: 429
                  error:
                    type: string
                    enum:
                      - Too Many Requests
                    examples:
                      - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    examples:
                      - Rate limit exceeded
                    example: Rate limit exceeded
                required:
                  - statusCode
                  - error
                  - message
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer

````