Check a change of one kind and sign a plan for it, without writing anything.
The caller's AI writes a change of one kind; the server validates it
against that kind's schema and against what exists now (CRM, modules,
saved customization) and answers what applying it would do. Nothing is
written and no model is called. planId is a signed token over
{projectId, locationId, kind, changeHash} that expires at expiresAt;
it is null when ok is false. The location is the session's, never
the body's. Kinds: records, modules, appearance, mobile,
assets, domain; any other kind is 400 unsupported_change_kind
naming the supported ones. assets plans also return upload: PUT the
image bytes to upload.url with upload.headers, then apply (apply is
409 customizer_image_not_uploaded until they land, and the plan stays
open). domain apply returns the DNS records to add in
result.dnsRecords; GET /custom-domains reports when it is active.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your access token.
clientportal-ai. writeOAuthPrivate IntegrationSub-Account TokenRequest
Headers
The API version.
v3v3Path Parameters
The project's id.
Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$
prj_5f0c2a3eBody
records, modules, appearance, mobile, assets or domain.
Possible values: Value must match regular expression ^[a-z][a-z_]{0,39}$
modulesThe change, in the shape GET /changes/schema gives for kind.
Response
The checked plan, or the problems to fix first.
Signed, expiring plan id; null when ok is false.
cp1.eyJwIjoicHJqXzVmMGMyYTNlIn0.c2lnbmF0dXJlTrue when the change is valid and can be applied.
trueThe change, in one line.
Turns off CommunitiesWhat apply would do, one line per step, in order.
["Turn off the Communities module"]Why the change cannot be applied, when ok is false.
Things to know before applying; they do not block it.
["Members lose access to their community posts"]When planId stops working; null when ok is false.
2026-10-15T10:30:00.000ZWhere to upload the file the change needs, for a change that needs one.