Sandbox

Build the whole integration before anything goes live

Point your code at a sandbox key and every call behaves like production, with real response shapes and real webhooks, but nothing reaches a real account and nothing touches your quota.

Sandbox

A full test environment,
one key away

Same API, simulated everywhere it counts. Build, test, and break things safely.

Same API, just a different key

Swap your live token for a sandbox key and nothing else changes. Same base URL, same endpoints, same payloads. Sandbox keys are prefixed t_, and the environment is inferred from the key.

Simulate real inbound events

Fire incoming comments, reviews, DMs, reactions, and referrals from the Sandbox page. They arrive through the same ingestion as a live webhook, with a sandbox: true flag on every payload.

Connect fabricated profiles

Connect any network and get a disposable sandbox profile with a fake brand, handle, and IDs. Sandbox data is isolated from live and safe to throw away between runs.

Nothing goes live, nothing is spent

Publishing is simulated end to end. You get a production-shaped response with a fake external_id and status published, but no post reaches a real account and no engagement quota is used.

The API

The same calls, a sandbox key

Authenticate with a t_ key against the same endpoints. Publishing is faked, webhooks fire to your sandbox endpoints, and your quota is untouched.

api.postproxy.dev
POST /api/posts
$ curl -X POST "https://api.postproxy.dev/api/posts" \
     -H "Authorization: Bearer t_8f2c1e9a7b3d" \
     -H "Content-Type: application/json" \
     -d '{
       "post": {
         "body": "Hello from the sandbox"
       },
       "profiles": ["prof_sandbox_ig"]
     }'
200 OK application/json
{
  "id": "post_sb_abc123",
  "body": "Hello from the sandbox",
  "status": "published",
  "source": "postproxy",
  "sandbox": true,
  "created_at": "2026-11-13T11:00:00.100Z",
  "platforms": [
    {
      "platform": "instagram",
      "status": "published",
      "external_id": "sb_ig_8f2c1e9a",
      "permalink": "https://sandbox.postproxy.dev/p/sb_ig_8f2c1e9a",
      "error": null,
      "attempted_at": "2026-11-13T11:00:00.300Z"
    }
  ]
}

View the full Sandbox and API-keys reference

View documentation
In the app

Or do it all by clicking

Flip on Sandbox mode in the dashboard and run the whole sandbox by hand. Connect fabricated profiles, simulate incoming comments, DMs, and reviews, and watch them hit your webhooks. No API calls required.

The Postproxy dashboard in Sandbox mode, simulating an incoming message
More of the product

What you will ship once it is green

Sandbox questions

How it switches on, what it mocks, coverage, and how inbound events work.

01 How do I turn sandbox on?

Use a sandbox API key. Its token is prefixed t_ and it is scoped to a sandbox profile group. You authenticate the same way against the same base URL and endpoints, and the environment is inferred from the key. There is no header, query parameter, or separate URL.

02 Can I use sandbox without writing code?

Yes. Flip on Sandbox mode in the dashboard and do it all by clicking: connect fabricated profiles, and simulate incoming comments, DMs, reviews, reactions, and referrals from the Sandbox page. Each one runs through the same ingestion and fires the same webhooks as the API.

03 Does it post to real accounts or use my quota?

No. Publishing is simulated with a production-shaped response and a fake external_id, nothing reaches a real platform, and no engagement quota is consumed.

04 Which features and platforms does it cover?

Posts, comments, reviews, and direct messages across Instagram, Facebook, Threads, YouTube, TikTok, Bluesky, Telegram, Google Business, and WhatsApp.

05 How do I test incoming events?

From the Sandbox page you can simulate incoming comments, reviews, DMs, reactions, and referrals. They run through the same ingestion as a real platform webhook and fire to your sandbox webhook endpoints, each payload carrying a sandbox: true flag.

06 Is sandbox data separate from live?

Yes. A sandbox key only ever sees sandbox data, it is isolated from live and disposable, and moving profiles or placements across environments is rejected.

Test everything, break nothing

Spin up a sandbox key and run your whole integration before a single post goes live.