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

# Start import

> Starts filling a lead list from a source, such as an account's followers, a post's likes or a LinkedIn search. The import runs in the background.



## OpenAPI

````yaml /openapi.json post /leads/{leadListId}/import
openapi: 3.1.0
info:
  title: ReachHunt API
  version: 1.0.0
  description: >-
    The ReachHunt API gives your own apps and scripts programmatic access to
    your workspace: accounts, campaigns, lead lists, conversations, messages,
    tags and statuses.


    Send your API key in the `Authorization` header: `Authorization: Bearer
    YOUR_API_KEY`. The key decides the workspace, so no path or parameter names
    one.


    Every response has the same envelope: `{ "status": true, "data": ...,
    "error": null }`.
servers:
  - url: https://api.reachhunt.ai/api/v1
    description: Production
security: []
tags:
  - name: Workspaces
    description: Your workspace and the people in it.
  - name: Accounts
    description: The X and LinkedIn accounts you connected.
  - name: Analytics
    description: Activity over time.
  - name: Credits
    description: AI credits and how they were used.
  - name: Campaigns
    description: Outreach that messages your leads step by step.
  - name: Agents
    description: AI agents that reply to your leads.
  - name: Tags
    description: Labels you put on conversations.
  - name: Statuses
    description: Pipeline stages you put conversations in.
  - name: Leads
    description: The people in your lead lists.
  - name: Lead lists
    description: Lists of people you collect to message.
  - name: Conversations
    description: The conversations in your inbox.
  - name: Messages
    description: The messages in a conversation.
  - name: Conversation details
    description: Your team's record of the person in a conversation.
  - name: Internal notes
    description: Notes only your team sees.
  - name: Scheduled messages
    description: Messages set to send later.
  - name: Templates
    description: Saved messages you can reuse.
  - name: Webhook events
    description: What each event sends.
paths:
  /leads/{leadListId}/import:
    post:
      tags:
        - Lead lists
      summary: Start import
      description: >-
        Starts filling a lead list from a source, such as an account's
        followers, a post's likes or a LinkedIn search. The import runs in the
        background.
      operationId: leadLists.startImport
      parameters:
        - name: leadListId
          in: path
          required: true
          description: The lead list ID.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                sourceType:
                  type: string
                  enum:
                    - followers
                    - following
                    - retweets
                    - tweet_likes
                    - tweet_replies
                    - list_members
                    - list_followers
                    - csv
                    - plain_text
                    - x_database
                    - li_group
                    - li_post_likes
                    - li_post_comments
                    - li_following
                    - li_followers
                    - li_connections
                    - li_search
                    - li_chat
                    - chat
                  description: Where the people come from.
                accountId:
                  type: string
                  description: The account that runs the import.
                targetHandle:
                  type: string
                  description: 'For account sources: the handle to read from.'
                targetTweetId:
                  type: string
                  description: 'For post sources on X: the post ID.'
                postUrl:
                  type: string
                  description: 'For LinkedIn post sources: the post link.'
                search:
                  description: 'For `li_search`: the search to run.'
                content:
                  type: string
                  description: 'For `csv` and `plain_text`: the file content.'
                fileName:
                  type: string
                  description: 'For `csv`: the file name.'
                keyword:
                  type: string
                  description: Optional keyword to keep only matching people.
                filters:
                  type: array
                  items:
                    type: string
                  description: Optional filters for who to keep.
                platform:
                  type: string
                  enum:
                    - x
                    - linkedin
                  description: Optional. Must match the list's network.
              required:
                - sourceType
      responses:
        '200':
          description: 'OK. Check `status`: errors the API handles itself also return 200.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - data
                  - error
                properties:
                  status:
                    type: boolean
                    description: '`true` when the request succeeded.'
                  data:
                    type: object
                    properties:
                      lead:
                        $ref: '#/components/schemas/LeadListWithJobs'
                      job:
                        $ref: '#/components/schemas/ImportJob'
                      skipped:
                        description: People left out, when the source reports them.
                    required:
                      - lead
                      - job
                  error:
                    type: 'null'
                    description: Always `null` on success.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PlanRequired'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    LeadListWithJobs:
      type: object
      description: A list of people you collected to message.
      required:
        - createdAt
        - favorite
        - id
        - name
        - platform
        - profiles
        - reachable
        - status
        - syncBatch
        - syncError
        - totalCount
      properties:
        id:
          type: string
          description: The lead list ID.
          examples:
            - 3f1c2a9e-7b4d-4e2a-9c1f-5d8e6a7b9c0d
        name:
          type: string
          description: The list name.
          examples:
            - SaaS founders
        status:
          type: string
          enum:
            - pending
            - syncing
            - completed
            - paused
            - stopped
            - failed
          description: Where the import that fills the list stands.
          examples:
            - completed
        platform:
          $ref: '#/components/schemas/Platform'
        profiles:
          type: integer
          description: How many profiles are in the list.
          examples:
            - 812
        reachable:
          type: integer
          description: How many of those profiles you can send a direct message to.
          examples:
            - 640
        totalCount:
          type:
            - integer
            - 'null'
          description: >-
            The total at the source when it is known, for example everyone who
            liked a post. This is the source's total, not the size of the list.
            `null` when it is not known.
          examples:
            - 1200
        syncError:
          type:
            - string
            - 'null'
          description: Why the import failed. `null` when it did not.
          examples:
            - null
        favorite:
          type: boolean
          description: Whether the list is marked as a favorite.
          examples:
            - false
        createdAt:
          type: string
          format: date-time
          description: When the list was created, in ISO 8601 UTC.
          examples:
            - '2026-10-05T08:12:00.000Z'
        jobs:
          type: array
          items:
            $ref: '#/components/schemas/ImportJob'
          description: Its imports.
        syncBatch:
          type: integer
          description: How many times the list has been filled.
    ImportJob:
      type: object
      description: One import that fills a lead list.
      additionalProperties: true
      properties:
        id:
          type: string
          description: The import job ID.
        sourceType:
          type: string
          description: Where the people come from, such as `followers` or `li_search`.
        targetHandle:
          type:
            - string
            - 'null'
          description: The account the import reads from.
        targetTweetId:
          type:
            - string
            - 'null'
          description: The post the import reads from.
        status:
          type: string
          enum:
            - pending
            - syncing
            - completed
            - paused
            - stopped
            - failed
          description: Where the import stands.
        syncedCount:
          type: integer
          description: People read so far.
        profiles:
          type: integer
          description: People added to the list.
        reachable:
          type: integer
          description: Of those, people you can message.
        totalCount:
          type:
            - integer
            - 'null'
          description: The total at the source when known.
        error:
          type:
            - string
            - 'null'
          description: Why it failed. `null` when it did not.
        accountId:
          type:
            - string
            - 'null'
          description: The account that runs the import.
        startedAt:
          type:
            - string
            - 'null'
          format: date-time
        completedAt:
          type:
            - string
            - 'null'
          format: date-time
        stoppedAt:
          type:
            - string
            - 'null'
          format: date-time
        targetName:
          type:
            - string
            - 'null'
          description: The display name of the account or post the import reads from.
        targetAvatarUrl:
          type:
            - string
            - 'null'
          description: Link to that account's photo.
        syncBatch:
          type: integer
          description: Which fill of the list this import belongs to.
        scannedCount:
          type: integer
          description: >-
            People looked at. Larger than `profiles` when a filter leaves some
            out.
        isFiltered:
          type: boolean
          description: Whether a filter limits who is added.
    Platform:
      type: string
      enum:
        - x
        - linkedin
      description: The network the item belongs to.
      examples:
        - linkedin
    Failure:
      type: object
      required:
        - status
        - data
        - error
      properties:
        status:
          type: boolean
          description: Always `false` for an error.
        data:
          type: 'null'
          description: Always `null` for an error.
        error:
          type: string
          description: What went wrong, in plain words.
  responses:
    Unauthorized:
      description: The API key is missing or not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Not authenticated
    PlanRequired:
      description: The workspace has no active plan, or its trial has ended.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Your free trial has ended. Pick a plan to continue.
    ServerError:
      description: Something failed on our side. Try again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Something went wrong. Please try again.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: Bearer
      description: >-
        Your API key, sent as `Authorization: Bearer YOUR_API_KEY`. Create one
        in **Settings → API**.
      x-default: Bearer YOUR_API_KEY

````

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