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

# Quickstart

> Get started with Edges Flows API in minutes

## Get started in three steps

Learn how to execute flows, check their status, and retrieve results using the Edges Flows API.

### Step 1: Set up your API key

Before making API calls, you need to get your API key:

1. Log in to your Edges account
2. Navigate to Developer Settings
3. Copy your personal API key

<Warning>
  Keep your API key secure—treat it like a password. Each API key is tied to your specific account.
</Warning>

### Step 2: Run your first flow

The easiest way to get started is using **managed mode**, which uses Edges's pre-configured accounts:

<CodeGroup>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.edges.run/v1/flows/salesnavigator-search-people/run \
    --header 'Content-Type: application/json' \
    --header 'X-API-Key: <your-api-key>' \
    --data '{
    "inputs": [
      {
        "sales_navigator_profile_search_url": "https://www.linkedin.com/sales/search/people?keywords=software%20engineer"
      }
    ],
    "identity_mode": "managed"
  }'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.edges.run/v1/flows/salesnavigator-search-people/run"
  headers = {
      "Content-Type": "application/json",
      "X-API-Key": "<your-api-key>"
  }
  data = {
      "inputs": [
          {
              "sales_navigator_profile_search_url": "https://www.linkedin.com/sales/search/people?keywords=software%20engineer"
          }
      ],
      "identity_mode": "managed"
  }

  response = requests.post(url, json=data, headers=headers)
  print(response.json())
  ```
</CodeGroup>

**Managed mode cost:** Using `identity_mode: "managed"` costs 1.5× the standard credit cost but requires no setup.

The response will include a `uid` that you can use to track the flow run:

```json theme={null}
{
  "id": 12345,
  "uid": "550e8400-e29b-41d4-a716-446655440000",
  "workflow": {
    "uid": "workflow-uid",
    "metadata": {
      "account_rotation": true
    }
  }
}
```

### Step 3: Check flow status and retrieve results

Once you've started a flow, you can check its status and retrieve outputs:

<AccordionGroup>
  <Accordion icon="list" title="Check flow run status">
    Use the flow run UID to check the current status:

    ```bash theme={null}
    curl --request GET \
      --url https://api.edges.run/v1/flows/runs/{flow_run_uid} \
      --header 'X-API-Key: <your-api-key>'
    ```

    The response includes the status which can be:

    * `CREATED` - Flow run has been created
    * `QUEUED` - Flow run is queued for execution
    * `RUNNING` - Flow run is currently executing
    * `SUCCEEDED` - Flow run completed successfully
    * `FAILED` - Flow run failed
    * `PARTIAL_SUCCEEDED` - Flow run partially succeeded
  </Accordion>

  <Accordion icon="database" title="Retrieve flow outputs">
    Once the flow is running or completed, retrieve the outputs:

    ```bash theme={null}
    curl --request GET \
      --url https://api.edges.run/v1/flows/runs/{flow_run_uid}/outputs \
      --header 'X-API-Key: <your-api-key>'
    ```

    You can paginate through results using `limit` and `offset` parameters, and filter by step using `step_uid`.
  </Accordion>

  <Accordion icon="list" title="List all flow runs">
    List all your flow runs with filtering options:

    ```bash theme={null}
    curl --request GET \
      --url 'https://api.edges.run/v1/flows/runs?status=SUCCEEDED&limit=10' \
      --header 'X-API-Key: <your-api-key>'
    ```

    You can filter by:

    * `status` - Filter by flow run status
    * `uid` - Filter by specific flow run UIDs
    * `workspace_uid` - Filter by workspace
    * `user_uid` - Filter by user
  </Accordion>
</AccordionGroup>

## Using webhooks

For long-running flows, you can set up a webhook callback to receive results automatically:

```json theme={null}
{
  "inputs": [...],
  "callback": {
    "url": "https://your-app.com/webhook",
    "headers": {
      "Authorization": "Bearer your-token"
    }
  }
}
```

When the flow completes (or reaches certain milestones), Edges will send a POST request to your callback URL with the results.

## Next steps

Now that you've run your first flow, explore:

* [Available Flow Presets](/api/flows/salesnavigator-search-people) - See what flows are available
* [API Reference](/api/introduction) - Detailed API documentation
* [Main Edges Docs](https://docs.edges.run/) - Learn about identities, actions, and more

<Tip>
  You can also use the [Flows UI](https://flows.edges.run) to visually browse and launch flows without writing code!
</Tip>
