Publish App Schema Version
POST /apps/{app_id}/schema-versions
Publish a declared object schema and materialize it across consented tenants.
422 with every validation problem at once, so a builder fixes their whole schema in one round trip rather than one error per attempt.
A publish that resolves to an EXISTING version still returns 201 with
created: false — the resource named by the response exists either way, and
the flag is what tells a caller nothing changed.
Authorizations
Parameters
Path Parameters
Header Parameters
Request Body required
A schema publish carries ONLY declared objects.
Not a whole graph8.app.yaml: frontend/backend are deploy-time build
config (M6-5) and have no bearing on what a tenant’s cb_* tables receive.
Accepting them here would let a Dockerfile edit re-materialize every tenant.
object
Declared custom objects, in graph8.app.yaml objects: shape.
Responses
201
Successful Response
object
The version, plus whether it was newly created and how the fan-out went.
object
False when an identical schema was already published — the retry no-op.
How the fan-out went, as counts. Never tenant ids — see module docstring.
object
Tenants already materialized on this exact digest.
One published (or draft) object-schema version.
object
SHA-256 of the canonical schema. Re-publishing the same schema resolves here.
The stored canonical schema. Self-describing, so the version needs no other source.
object
Human-facing ordinal. Nothing keys on it; the digest is the identity.
422
Validation Error