> For the complete documentation index, see [llms.txt](https://docs.goproxies.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.goproxies.com/proxies/resellers-api-v3/getting-started.md).

# Getting started

The typical flow once you have bought one or more subscriptions.

All requests go to `https://api.goproxies.com`. The examples use the shell variables `TOKEN`, `SUBSCRIPTION_ID` and `SUBUSER_ID`; each step shows where their values come from.

{% stepper %}
{% step %}

### Log in

Exchange your dashboard email and password for an API token.

```bash
curl -X POST https://api.goproxies.com/api/v1/login \
  -H "Content-Type: application/json" \
  -d '{"username": "you@example.com", "password": "YOUR_PASSWORD"}'
```

```json
{
  "token": "eyJhbGciOiJSUzI1NiIs..."
}
```

Store it as `TOKEN` and send it as `Authorization: Bearer $TOKEN` on every other request.
{% endstep %}

{% step %}

### List your subscriptions

Every product you bought is a separate subscription with its own quota and sub-user limit.

```bash
curl https://api.goproxies.com/api/v3/reseller/subscriptions \
  -H "Authorization: Bearer $TOKEN"
```

```json
[
  {
    "id": "3f6c2a1e-8b7d-4c5e-9a0f-1d2e3f4a5b6c",
    "plan_id": "static_custom",
    "active": true,
    "recurring": false,
    "quota_gb": 150,
    "quota_used_gb": 12.4,
    "quota_remaining_gb": 137.6,
    "quota_period_start": "2026-10-06T07:42:36Z",
    "quota_period_end": "2026-11-05T07:42:36Z",
    "sub_user_limit": 13,
    "sub_users_count": 2,
    "sub_users_available": 11
  }
]
```

Pick the subscription the new sub-user should draw traffic from and store its `id` as `SUBSCRIPTION_ID`.
{% endstep %}

{% step %}

### Create a sub-user

A sub-user is a proxy user. Create one per client, team or use case.

```bash
curl -X POST https://api.goproxies.com/api/v3/reseller/subscriptions/$SUBSCRIPTION_ID/subusers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "client-42"}'
```

```json
{
  "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "username": "client-42",
  "subscription_id": "3f6c2a1e-8b7d-4c5e-9a0f-1d2e3f4a5b6c",
  "enabled": true,
  "blocked": false,
  "quota_used_gb": 0,
  "created_at": "2026-10-07T06:20:19Z",
  "secret": "0123456789abcdef0123456789abcdef"
}
```

Store `id` as `SUBUSER_ID`.

{% hint style="warning" %}
`secret` is the sub-user's proxy password. It is returned only here and by reset-secret, so save it now.
{% endhint %}
{% endstep %}

{% step %}

### Connect through the proxy

Use the sub-user's username with the `customer-` prefix and its secret as the password.

```bash
curl --proxytunnel \
  --proxy "https://customer-client-42:0123456789abcdef0123456789abcdef@proxy.goproxies.com:1080" \
  https://ip.goproxies.com
```

The response is the IP address your request exited from. Endpoints for other products and targeting parameters (country, city, session) are in each product's quick start.
{% endstep %}

{% step %}

### Give the sub-user its own quota (optional)

Cap one sub-user on top of the subscription quota, here 5 GB per day, renewed automatically.

```bash
curl -X POST https://api.goproxies.com/api/v3/reseller/subuser-quotas \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"subuser_id": "'$SUBUSER_ID'", "quota_gb": 5, "period_seconds": 86400, "recurring": true}'
```

```json
{
  "subuser_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "username": "client-42",
  "quota_gb": 5,
  "used_gb": 0,
  "period_start_at": "2026-10-07T06:20:22Z",
  "period_seconds": 86400,
  "recurring": true,
  "created_at": "2026-10-07T06:20:22Z",
  "updated_at": "2026-10-07T06:20:22Z"
}
```

Modes and rules: [How it works → Sub-user quotas](/proxies/resellers-api-v3/how-it-works.md#sub-user-quotas).
{% endstep %}

{% step %}

### Check a sub-user

Look up a sub-user by username across all subscriptions to see its usage and whether it is blocked.

```bash
curl "https://api.goproxies.com/api/v3/reseller/subusers?username=client-42" \
  -H "Authorization: Bearer $TOKEN"
```

```json
{
  "items": [
    {
      "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
      "username": "client-42",
      "subscription_id": "3f6c2a1e-8b7d-4c5e-9a0f-1d2e3f4a5b6c",
      "enabled": true,
      "blocked": false,
      "quota_used_gb": 1.73,
      "quota": {
        "quota_gb": 5,
        "period_start_at": "2026-10-07T06:20:22Z",
        "period_seconds": 86400,
        "recurring": true,
        "created_at": "2026-10-07T06:20:22Z",
        "updated_at": "2026-10-07T06:20:22Z"
      },
      "created_at": "2026-10-07T06:20:19Z"
    }
  ]
}
```

`quota_used_gb` is the traffic in the current period. When `blocked` is `true`, `blocked_reason` says why; see [Blocked reasons](/proxies/resellers-api-v3/how-it-works.md#blocked-reasons).
{% endstep %}

{% step %}

### Read traffic statistics

Get traffic for a date range, bucketed per day and broken down per sub-user.

```bash
curl "https://api.goproxies.com/api/v3/stats/traffic?from=2026-10-01&to=2026-10-07&interval=day&group_by=subuser" \
  -H "Authorization: Bearer $TOKEN"
```

```json
{
  "filter": {
    "from": "2026-10-01T00:00:00Z",
    "to": "2026-10-08T00:00:00Z",
    "interval": "day"
  },
  "bytes": 5368709120,
  "buckets": [
    {
      "start": "2026-10-01T00:00:00Z",
      "end": "2026-10-02T00:00:00Z",
      "bytes": 734003200,
      "partial": false
    },
    "..."
  ],
  "subusers": [
    {
      "username": "client-42",
      "bytes": 1857573355,
      "buckets": [
        "..."
      ]
    }
  ]
}
```

`from`/`to` accept dates or date-times (UTC, up to 100 days). Requests, domains and countries work the same way; see [Statistics](/proxies/resellers-api-v3/reference/statistics.md).
{% endstep %}

{% step %}

### Disable or enable the sub-user

A disabled sub-user can't use the proxy. Send `true` to enable it again.

```bash
curl -X PATCH https://api.goproxies.com/api/v3/reseller/subscriptions/$SUBSCRIPTION_ID/subusers/$SUBUSER_ID \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'
```

```json
{
  "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "username": "client-42",
  "subscription_id": "3f6c2a1e-8b7d-4c5e-9a0f-1d2e3f4a5b6c",
  "quota_used_gb": 1.73,
  "created_at": "2026-10-07T06:20:19Z",
  "enabled": false,
  "blocked": true,
  "blocked_reason": "USER_DISABLED"
}
```

{% endstep %}

{% step %}

### Reset the secret

Issue a new proxy password, e.g. when it leaked. The old one stops working.

```bash
curl -X POST https://api.goproxies.com/api/v3/reseller/subscriptions/$SUBSCRIPTION_ID/subusers/$SUBUSER_ID/reset-secret \
  -H "Authorization: Bearer $TOKEN"
```

```json
{
  "id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "username": "client-42",
  "subscription_id": "3f6c2a1e-8b7d-4c5e-9a0f-1d2e3f4a5b6c",
  "quota_used_gb": 1.73,
  "created_at": "2026-10-07T06:20:19Z",
  "enabled": true,
  "blocked": false,
  "secret": "fedcba9876543210fedcba9876543210"
}
```

{% endstep %}

{% step %}

### Delete the sub-user

Removes the sub-user and its quota. This can't be undone.

```bash
curl -X DELETE https://api.goproxies.com/api/v3/reseller/subscriptions/$SUBSCRIPTION_ID/subusers/$SUBUSER_ID \
  -H "Authorization: Bearer $TOKEN"
```

Returns an empty `200`.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.goproxies.com/proxies/resellers-api-v3/getting-started.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
