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

# Quick Connect

> Build SOAX connection strings without memorising the rules format. Quick Connect is the dashboard's connection-string builder for residential and mobile proxies.

Quick Connect is the dashboard's connection-string builder. You pick what you want — country, session type, rotation, error handling — and the dashboard generates the connection string you paste into your code or HTTP client.

It's also the name of the underlying mode. Putting rules directly into the connection string (`country-us-session-job1-rotate-timed_300:pk_abc123@proxy.soax.com:1337`) is "Quick Connect" no matter where you typed the string. The dashboard tool just makes building one easier.

## When to use Quick Connect

Quick Connect covers everything most integrations need:

* Rotating proxies (no session) and ephemeral sessions
* Full filtering (country, region, city, ISP, ASN, zip, network)
* Rotation (`rotate-timed_N`, `rotate-requests_N`)
* Error handling (`onerror-replace`, `onerror-retry_N`, `onerror-fail`)
* Routing preferences (`prefer-lookalike`)
* Node binding (`bind-node`)
* Unlimited concurrent sessions

## Opening Quick Connect

In the dashboard, click [**Packages**](https://platform.soax.com/packages) in the sidebar and open the package you want to use. The Quick Connect panel is on the package page.

## Building a connection string

Quick Connect walks you through four groups of options, which match the four categories of rules under the hood:

### 1. Filtering — which nodes are eligible

| Setting               | What it does                                                                                                         |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Country**           | Limit to one country (lowercase ISO 3166-1 alpha-2, e.g. `us`, `gb`, `de`). Pick "any" for the full global pool.     |
| **Region / state**    | Narrow to a region within the chosen country.                                                                        |
| **City**              | Narrow further to a specific city.                                                                                   |
| **ISP / Carrier**     | Pick a specific ISP (residential) or mobile carrier. Available ISP/carrier names are listed in the package settings. |
| **ASN**               | Target a specific autonomous system number.                                                                          |
| **Zip / postal code** | Target a postal code (available on Scale and Enterprise plans).                                                      |
| **Network**           | Residential (`res`), mobile (`mob`), or a combination. Defaults to `res`.                                            |

The more specific your filter combination, the smaller the eligible pool. If you target a small city and a specific ISP, you may see slower allocation or `NODE_NOT_FOUND` errors. Start broad and narrow only when you need to.

### 2. Session — rotating or held

| Setting      | What it does                                                                |
| ------------ | --------------------------------------------------------------------------- |
| **Rotating** | No `session` parameter. Every request gets a new node.                      |
| **Session**  | Adds `session-{id}`. All requests with that session ID reuse the same node. |

Session IDs are letters, digits, and underscores, up to 32 characters. Ephemeral sessions expire after **60 seconds of inactivity**. Rules are locked on the first request — sending the same session ID with different rules returns `409 SESSION_PARAMS_MISMATCH`. To change rules, use a new session ID.

### 3. Rotation — when the node is allowed to change

Only meaningful with a session.

| Setting           | What it does                                                        |
| ----------------- | ------------------------------------------------------------------- |
| **Timed**         | Rotate after N seconds. Accepts `s`, `m`, `h` suffixes. Max 1 week. |
| **Request count** | Rotate after N requests. Max 1,000,000.                             |
| **None**          | Keep the same node until error, filter mismatch, or expiry.         |

### 4. Error handling — what happens on node failure

| Setting                 | What it does                                                                            |
| ----------------------- | --------------------------------------------------------------------------------------- |
| **Replace** *(default)* | Get a new eligible node and continue.                                                   |
| **Retry on same node**  | `onerror-retry_N`, retries up to N times (max 10) on the current node before replacing. |
| **Fail**                | Return the error to your client. No retry, no replacement.                              |

SOAX can only see infrastructure failures (node offline, connection refused, timeout). HTTP status codes from the target — 403, 429, CAPTCHA pages — are inside the HTTPS tunnel and aren't visible to SOAX. Detecting and responding to those is your application's job. See [CAPTCHA & ban rates](/troubleshooting/captcha-ban-rates).

### Routing and binding (optional)

| Setting              | What it does                                                                                                                                                             |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Prefer lookalike** | `prefer-lookalike`. On any node selection (allocation, rotation, replacement), prefer a node similar to the previous one.                                                |
| **Bind node**        | `bind-node`. Lock the session to one node. Rotation is disabled; if the node fails, the request fails with `503 BOUND_NODE_FAILED` unless paired with `onerror-retry_N`. |

`bind-node` requires a session and is incompatible with `rotate-timed_N`, `rotate-requests_N`, `onerror-replace`, and `prefer-lookalike`.

## Copy and test

When your settings produce the connection string you want, click **Copy** to grab it. The format is:

```
{rules}:{package_key}@proxy.soax.com:1337
```

Test it with one request:

```bash theme={null}
curl -x proxy.soax.com:1337 -U "country-us-session-job1:pk_abc123" https://checker.soax.com/api/ipinfo
```

A successful response includes a JSON body with the exit IP and its geolocation. If you targeted a country, the `country_code` should match.

## Worked examples

**Rotating US residential, no session:**

```
country-us:pk_abc123@proxy.soax.com:1337
```

**Session in the UK, rotate IP every 5 minutes:**

```
country-gb-session-uk1-rotate-timed_300:pk_abc123@proxy.soax.com:1337
```

**Mobile in New York, retry 3 times on error, prefer a similar replacement:**

```
network-mob-country-us-city-new_york-session-m1-onerror-retry_3-prefer-lookalike:pk_abc123@proxy.soax.com:1337
```

**Lock to a single node:**

```
country-us-session-locked1-bind-node:pk_abc123@proxy.soax.com:1337
```

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/getting-started/authentication">
    Username/password and IP Auth, end-to-end.
  </Card>

  <Card title="Residential proxies" icon="wifi" href="/proxies/residential">
    Full rule reference for residential configuration.
  </Card>

  <Card title="Mobile proxies" icon="mobile" href="/proxies/mobile">
    Full rule reference for mobile configuration.
  </Card>

  <Card title="Error codes" icon="triangle-exclamation" href="/troubleshooting/error-codes">
    What each SOAX-level error means and how to fix it.
  </Card>
</CardGroup>
