Appearance
Sandbox
0 reads and 1 write, on train 2026-11. Scopes: sandbox:write.
| Operation | Method | Scope | Path |
|---|---|---|---|
| Fill this sandbox with a starter catalogue so every other operation has something to answer | POST | sandbox:write | /api/v1/sandbox/seed |
Fill this sandbox with a starter catalogue so every other operation has something to answer
POST /api/v1/sandbox/seed
Scopes: sandbox:write
Writes a small starter set into the sandbox the key belongs to: two locations, two sales channels, two suppliers, three products with two variants each, and a stock level for every variant at both locations. Enough that every published read answers rows and every published write has a real channel, location and variant to name.
| Optional | In | What it is |
|---|---|---|
Tightly-Version | header | The date train to answer on. |
Idempotency-Key | header | A string of your own, up to 255 characters, that makes this write safe to retry. |
bash
curl -X POST "https://api.app.tightly.io/api/v1/sandbox/seed" \
-H "Authorization: Bearer $TIGHTLY_API_KEY" \
-H "Content-Type: application/json" \
-d @body.jsonWhat it answers
json
{
"data": {
"already_seeded": false,
"read_next": "GET /api/v1/variants/table?limit=5",
"seeded": true,
"written": {
"inventory_levels": 12,
"locations": 2,
"product_categories": 1,
"product_variants": 6,
"products": 3,
"sales_channels": 2,
"suppliers": 2,
"variant_sales_channels": 6,
"variant_suppliers": 6
}
},
"message": {
"desc": "",
"service": "sandbox",
"severity": "SUCCESS"
}
}What it refuses
- 401
key_invalid: "The API key is not valid." No usable key: malformed, unknown, revoked, expired or stopped. One refusal covers all five, because telling a caller which is which maps the surface for them. A request with no Authorization header at all is refused 400 before any key is looked for. - 403
scope_missing: "This key cannot write Sandbox." The key may not reach this operation.scope_missingwhen the key does not hold Sandbox for writing;plan_excludeswhen the organisation's plan does not include the public API;ip_not_allowedwhen the caller's address is outside the key's allowlist. - 409 "This is not a sandbox organisation, so it cannot be seeded. Make a sandbox with POST /api/v1/developer/sandbox, mint a test key in it, and send this with that key." This organisation is not a sandbox, so it cannot be seeded, and nothing was written. The sentence names the way out: make a sandbox with POST /api/v1/developer/sandbox, mint a test key in it, and send this with that key.
- 429