Create a new sandbox.
Pass owner_id as the identifier of the end-user (or organization) in
your system that this sandbox belongs to — for example your internal
users.id. Copass stores it as an opaque key and echoes it back on every
sandbox response, giving you a stable mapping between your user model
and the Copass sandbox_id. If one of your users should have multiple
sandboxes, reuse the same owner_id with different name values; the
unique constraint is (owner_id, name) per Copass account.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Sandbox name
1 - 255Opaque UUID you supply to identify which end-user in your own system owns this sandbox. Copass does not interpret this value — it's your mapping key back to your database (e.g., your users.id, customers.id, or organizations.id). Store it on your side next to the returned sandbox_id so you can resolve 'which of my users does this Copass sandbox belong to?'. Combined with name, (owner_id, name) is unique per Copass account — so the same owner can have multiple named sandboxes, and you can pass owner_id as a query filter on GET /sandboxes to list everything belonging to one of your users.
Sandbox tier: free, pro, enterprise
Flexible metadata
Successful Response
The Copass platform account that holds this sandbox (derived from the authenticated API key / JWT). This is the Copass-side tenant ID and is also the Vitess shard-routing key — it is NOT the identifier of your end-user. Use owner_id for that.
The same opaque identifier you passed on create — echoed back so you can map this sandbox to the end-user in your system (e.g., your users.id). Copass stores but never interprets it. Two common patterns: (1) set owner_id to your internal user UUID so one Copass account can host many of your users, each with isolated sandboxes; (2) call GET /sandboxes?owner_id=... to list every sandbox that belongs to a given user on your side.
platform_s3 or custom_s3
Tier-derived quotas
Caller's access level on this sandbox: 'owner', 'editor', or 'viewer'. Omitted in legacy owner-only listings; populated by GET /sandboxes once connection-union is wired.
True if the authenticated caller accesses this sandbox via a sandbox_connections grant rather than direct ownership.