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

# Quickstart

> From API key to a populated, exported prospect list in five minutes.

This walkthrough takes you through the core loop of the Fuse API: verify your key, search for prospects, save the results into a list, and export that list to CSV.

<Info>
  You will need an API key — create one in **Settings → API Cockpit** ([details](/authentication)). The search-and-save step debits search credits from your workspace; check your balance first if you are unsure.
</Info>

<Steps>
  <Step title="Verify your key">
    ```bash theme={null}
    curl https://api.tryfuse.ai/api/v1/business/me -u "af_YOUR_KEY:"
    ```

    ```json theme={null}
    { "user": { "id": "685409d3287883fbc17c0ced", "email": "you@company.com", "name": "Your Name" } }
    ```

    If you get a `401`, the key is malformed or revoked — see [authentication](/authentication).
  </Step>

  <Step title="Preview a prospect search">
    Search filters are structured fields. Each entry is an object — `{ "status": "include" | "exclude", "value": "..." }` — and `GET /business/prospects/filter-options` returns the accepted values per field, so you never have to guess spellings:

    ```bash theme={null}
    curl -X POST https://api.tryfuse.ai/api/v1/business/prospects/search \
      -u "af_YOUR_KEY:" \
      -H "Content-Type: application/json" \
      -d '{
        "filters": {
          "job_title_levels": [{ "status": "include", "value": "cxo" }],
          "job_title_role": [{ "status": "include", "value": "finance" }],
          "location_country": [{ "status": "include", "value": "united states" }]
        },
        "size": 5
      }'
    ```

    The response is a page of matching profiles, a `scrollToken` for the next page, the true match `total`, and an echo of the `filters` that ran. Previewing is the cheap way to tune filters before you commit to saving.

    Instead of `filters` you can send a natural-language `query` (`"VPs of engineering at mid-size software companies in Germany"`) or a stored search's `savedSearchId` — the response echoes the filters either resolved to, so you can inspect and refine them. See [Build a list from search](/guides/build-a-list-from-search).
  </Step>

  <Step title="Save results into a list">
    When the filters look right, save matches into a list. This runs the search server-side and saves the matches in the background. Add `"enrich": "email"` to also find their work emails.

    ```bash theme={null}
    curl -X POST https://api.tryfuse.ai/api/v1/business/prospects/search/save-to-list \
      -u "af_YOUR_KEY:" \
      -H "Content-Type: application/json" \
      -d '{
        "filters": {
          "job_title_levels": [{ "status": "include", "value": "cxo" }],
          "job_title_role": [{ "status": "include", "value": "finance" }],
          "location_country": [{ "status": "include", "value": "united states" }]
        },
        "listName": "US finance leaders",
        "limit": 100
      }'
    ```

    ```json theme={null}
    { "listIds": ["68a1f20b9c41d20014b3e901"], "enrich": "none" }
    ```

    The `202` means the save started. Contacts appear in the list as they are saved. Poll `GET /business/lists/{listId}` until its `completionStatus` is `complete`, then read the rows in the next step. With an `enrich` mode the response also carries a `jobId`; poll `GET /business/jobs/{jobId}` instead, as [long-running work](/concepts/long-running-work) explains.

    <Note>
      Billing note: this endpoint runs its own search and debits 2 credits for each row it saves. It does not reuse a previous `POST /prospects/search` — so preview to tune filters, then save once. Details in [credits & billing](/concepts/credits).
    </Note>
  </Step>

  <Step title="Read the list">
    ```bash theme={null}
    curl "https://api.tryfuse.ai/api/v1/business/lists/68a1f20b9c41d20014b3e901/rows?limit=25&pageNum=1" \
      -u "af_YOUR_KEY:"
    ```

    Rows carry the contact's identity fields plus `columnValues` for any [custom columns](/guides/custom-columns) on the list, and the response is [paginated](/concepts/pagination).
  </Step>

  <Step title="Export to CSV">
    Exports are asynchronous: start a job, poll it, download the file.

    ```bash theme={null}
    # start
    curl -X POST https://api.tryfuse.ai/api/v1/business/lists/68a1f20b9c41d20014b3e901/export \
      -u "af_YOUR_KEY:" -H "Content-Type: application/json" -d '{}'
    # -> { "jobId": "68a1f5209c41d20014b3eb11" }

    # poll until status is "completed"
    curl https://api.tryfuse.ai/api/v1/business/exports/68a1f5209c41d20014b3eb11 \
      -u "af_YOUR_KEY:"
    # -> { "exportJob": { "status": "completed", "rowCount": 100, "downloadUrl": "https://..." } }
    ```

    The `downloadUrl` is a presigned link valid for 15 minutes, and the file downloads named after your list.
  </Step>
</Steps>

## Where to next

<CardGroup cols={2}>
  <Card title="Workflows" icon="diagram-project" href="/workflows/overview">
    Chain search, enrichment, signal agents and campaigns into end-to-end automations.
  </Card>

  <Card title="AI campaign from a prompt" icon="wand-magic-sparkles" href="/workflows/ai-campaign-from-a-prompt">
    Pick up where this quickstart stops and launch an AI-written campaign on your list.
  </Card>

  <Card title="Campaigns end to end" icon="paper-plane" href="/guides/campaigns">
    Turn a list into an outbound campaign — manual, AI-generated, or from a template.
  </Card>

  <Card title="Upload your own contacts" icon="upload" href="/guides/upload-your-contacts">
    Bring contacts from your CRM instead of searching.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/concepts/errors">
    The one envelope every failure uses, and every code you can receive.
  </Card>

  <Card title="Rate limits" icon="gauge" href="/concepts/rate-limits">
    Per-surface quotas and the headers that tell you where you stand.
  </Card>
</CardGroup>


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