Quickstart
Prerequisites
- An nthbouncer account (sign up at nthbouncer.com)
- An upstream API URL you are allowed to call
- A tool that can send HTTP requests (
curlis enough)
Create a pool
- Open the dashboard and select Pools → Create pool.
- Choose a subdomain (this becomes
‹subdomain›.nthpool.cloud). - Add at least one origin (the upstream base URL).
- Pick Pass-through if your client already authenticates to the upstream, or Managed if nthbouncer should attach credentials for you.
- Save. The pool goes live within a few seconds.
Create a pool key
- Open the pool → Access.
- Select Create key, name it, and copy the secret once.
- Store it as an environment variable. It is not shown again.
Send a request
Replace the placeholders and call your pool hostname. The path after the host is forwarded to the selected origin.
export POOL_KEY='nb_live_…'
export POOL_HOST='https://your-pool.nthpool.cloud'
curl -sS "$POOL_HOST/your/api/path" \
-H "X-Nthpool-Key: $POOL_KEY"On a managed pool you may also send Authorization: Bearer $POOL_KEY.
On a pass-through pool, keep the pool key in X-Nthpool-Key and put the
upstream credential in Authorization (or whatever the upstream expects).
If the pool has multiple origins, pick one explicitly:
curl -sS "$POOL_HOST/your/api/path" \
-H "X-Nthpool-Key: $POOL_KEY" \
-H "X-Nthpool-Origin: https://api.example.com"Confirm admission
A successful response includes headers such as
x-nthpool-remaining-slots and x-nthpool-effective-limit. Open the pool's
Logs page to see the request in access logs, or Metrics for
admit/queue/reject proof (not the same as Billing allowance).
Next steps
- Access (HMAC, JWT, Cloudflare Access)
- Concurrency (concurrency limits, adaptive mode)
- Agents (
https://nthbouncer.com/mcp) - Concurrency locks API (same concurrency limit without proxying)
- Knowledge base: NetSuite