Skip to main content
The GraphQL API is mounted at /graphql on the admin server. It provides full CRUD for every runtime entity — targets, IP pools, and providers — and propagates changes live without a restart. Access the interactive playground at GET http://localhost:8081/graphql.

Cascade behaviour

Changes to a provider’s IP list cascade automatically:
This means you can add or remove an IP from a provider and every target that uses that provider’s IPs through a pool will see the change immediately.

Queries

targets

List all targets stored in the repository.

target(name: String!)

Fetch a single target by name.

pools

List all IP pools.

pool(name: String!)

Fetch a single pool by name.

providers

List all proxy providers.

provider(name: String!)

Fetch a single provider by name.

status

Current auth state and caller identity.

targetMetrics(name: String!)

Aggregate request metrics for one target — total/success/failed request counts, average latency, and (in-process source only) the last request timestamp. Backs the admin UI’s per-target metrics panel.
Returns null if neither metrics source is available for this deployment (see Admin UI metrics panel for when that happens and how to fix it).

Mutations

All mutations require the write permission.

Target mutations

addTarget

Add a new target. The pool referenced by poolName must already exist in the repository.

updateTarget

Update an existing mutable target. Replaces the full target definition.

removeTarget

Remove a target from the repository.

Pool mutations

addPool

Add a new IP pool.

updatePool

Update an existing mutable pool. Triggers a cascade to all targets referencing this pool.

removePool

Remove a pool from the repository.

Provider mutations

addProvider

Add a new proxy provider.

updateProvider

Update an existing mutable provider. Cascades the updated IP list through all pools and targets that reference this provider.

removeProvider

Remove a provider from the repository.

addIpToProvider

Append an IP to a provider’s list and cascade the change through all pools and targets that reference this provider.

removeIpFromProvider

Remove an IP from a provider’s list and cascade the change. The IP drains naturally from live pool queues — it is not forcibly evicted mid-request.

Input types

TargetInput

IpPoolInput

IpRequestInput

ProviderInput

BasicAuthInput