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

# List activity

> Recent changes and events in your organization, newest first: keyword approvals, checks, exports, lane edits, company-list uploads, plan changes, keys, invites and team changes.

`action` is a stable dotted code, such as `lane.created`, `lane.filters_changed`, `lane.strength_changed`, `lane.list_mode_changed`, `lane.check_queued`, `lanes.check_queued`, `lane.check_completed`, `keyword.added`, `keyword.removed`, `keyword.approved`, `keyword.rejected`, `company_list.uploaded`, `export.started`, `export.completed`, `api_key.created`, `api_key.updated`, `api_key.rotated`, `api_key.revoked`, `invite.created`, `invite.accepted`, `invite.revoked`, `member.role_changed`, `member.removed`, `plan.started`, `plan.upgraded`, `plan.change_requested`, `plan.canceled`, `suppression.applied` and `terms.accepted`. `text` is one plain-English sentence.

**Free.** This doesn't use any contacts from your plan.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/activity
openapi: 3.1.0
info:
  title: Intent Leads API
  version: '1.0'
  description: >-
    The Intent Leads API finds B2B people actively researching the topics you
    sell into, and exports them with contact details into your own tools.


    **Authentication.** Send an API key as a bearer token: `Authorization:
    Bearer il_live_…`. Keys belong to one organization. Standard keys work with
    everything except billing, team and key management, which need an admin key.


    **What costs contacts.** Only `POST /api/v1/exports` with `"dry_run": false`
    uses contacts from your plan. Quotes, counts, checks, samples and
    re-downloads are free.


    **Errors.** Every error is JSON: `{"error": "code", "message":
    "Plain-English explanation"}`. Codes are stable; messages may change.


    **Conventions.** JSON by default. Dates are `YYYY-MM-DD` and timestamps ISO
    8601, all in UTC. Lane codes (`L1`) are case-insensitive.
servers:
  - url: https://intentleads.si
security:
  - bearerAuth: []
tags:
  - name: Exports
    description: Quote (free) and buy new people from your lanes, then download them.
  - name: Leads
    description: Pull and re-download the leads you've exported, and list deliveries.
  - name: Lanes
    description: >-
      Create, inspect and tune lanes: keywords plus the companies and roles you
      want.
  - name: Keywords
    description: Add and remove a lane's keywords; each one is approved as its own topic.
  - name: Checks
    description: >-
      Free lane checks that size every filter step over 14 days, plus quick
      topic signals.
  - name: Company list
    description: >-
      The target-company list your lanes can narrow to or use instead of
      industries.
  - name: Suppressions
    description: People you exported who later asked to be removed.
  - name: Usage
    description: Contacts used and left this billing period.
  - name: Billing
    description: Plan, invoices and plan changes. Admin keys only.
  - name: Team
    description: Members and invite links. Admin keys only.
  - name: API keys
    description: Create, rename, rotate and revoke API keys. Admin keys only.
  - name: Account
    description: Check which organization a key belongs to and its role.
  - name: Reference
    description: Valid values for lane filters.
  - name: Activity
    description: A feed of changes and events in your organization.
paths:
  /api/v1/activity:
    get:
      tags:
        - Activity
      summary: List activity
      description: >-
        Recent changes and events in your organization, newest first: keyword
        approvals, checks, exports, lane edits, company-list uploads, plan
        changes, keys, invites and team changes.


        `action` is a stable dotted code, such as `lane.created`,
        `lane.filters_changed`, `lane.strength_changed`,
        `lane.list_mode_changed`, `lane.check_queued`, `lanes.check_queued`,
        `lane.check_completed`, `keyword.added`, `keyword.removed`,
        `keyword.approved`, `keyword.rejected`, `company_list.uploaded`,
        `export.started`, `export.completed`, `api_key.created`,
        `api_key.updated`, `api_key.rotated`, `api_key.revoked`,
        `invite.created`, `invite.accepted`, `invite.revoked`,
        `member.role_changed`, `member.removed`, `plan.started`,
        `plan.upgraded`, `plan.change_requested`, `plan.canceled`,
        `suppression.applied` and `terms.accepted`. `text` is one plain-English
        sentence.


        **Free.** This doesn't use any contacts from your plan.
      operationId: listActivity
      parameters:
        - name: limit
          in: query
          required: false
          description: How many items, 1 to 500. Out-of-range values are clamped.
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          example: 50
      responses:
        '200':
          description: Activity, newest first.
          content:
            application/json:
              schema:
                type: object
                properties:
                  activity:
                    type: array
                    items:
                      $ref: '#/components/schemas/ActivityItem'
                required:
                  - activity
              example:
                activity:
                  - at: '2026-10-14T09:41:56.020871+00:00'
                    action: export.completed
                    text: Exported 250 new people from L1, L2
                    by: intent_leads_or_api
                  - at: '2026-10-14T09:30:02.201563+00:00'
                    action: export.started
                    text: Started an export of up to 250 new people from L1, L2
                    by: intent_leads_or_api
                  - at: '2026-10-13T16:05:12.774390+00:00'
                    action: keyword.approved
                    text: >-
                      "selling to group purchasing organizations" in L1 was
                      approved and is live; people start showing up in 2–4 days
                    by: intent_leads_or_api
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    ActivityItem:
      type: object
      properties:
        at:
          type: string
          format: date-time
        action:
          type: string
          example: export.completed
          description: >-
            Stable dotted code, e.g. `export.completed`, `keyword.approved`,
            `lane.filters_changed`.
        text:
          type: string
          description: One plain-English sentence.
        by:
          type: string
          enum:
            - team_member
            - intent_leads_or_api
          description: >-
            `team_member`: a person in the dashboard. `intent_leads_or_api`: an
            API key, the CLI, MCP or an automatic event.
      required:
        - at
        - action
        - text
        - by
    Error:
      type: object
      properties:
        error:
          type: string
          example: lane_not_found
          description: Stable machine-readable code, e.g. `lane_not_found`.
        message:
          type: string
          example: No lane L9.
          description: Plain-English explanation you can show to a person.
      required:
        - error
        - message
      description: Every error has this shape.
  responses:
    Unauthorized:
      description: Missing, malformed, unknown or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            unauthorized:
              value:
                error: unauthorized
                message: 'Send a valid API key as: Authorization: Bearer il_live_…'
    InternalError:
      description: >-
        Unexpected server error. Safe to retry reads; retry an export only with
        the same `idempotency_key`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            internal_error:
              value:
                error: internal_error
                message: Something went wrong. Try again.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: il_live_…
      description: >-
        An Intent Leads API key, e.g. `il_live_` followed by 32 letters and
        digits. Create one on the API and CLI page of the dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.