gscms SDK, and visitors can submit records if you allow it. Developer plan and above.
Manage it under Site settings → CMS & Files.
Collections
Add collection with a name. The slug is derived from it and used in the SDK. Each collection has three switches:
Deleting a collection deletes its records.
Records
A record is a JSON object. Add record offers a form mode (name and value rows, with a JSON toggle for numbers, booleans and lists) or raw JSON. Records you add are approved immediately. Visitor submissions are Pending until you Approve or Reject them, unless auto-approve is on. Filter by All, Pending, Approved, Rejected.Use it on a page
Once a site has at least one collection, every published page getswindow.gscms. It is defined in <head> before your own scripts run, so call it directly:
Error whose .status is 404 when the collection does not exist or Read is off, 403 when Write is off, 400 for invalid data and 429 when rate-limited or the collection is full.
To have the AI Developer render a collection, give it the call and the record shape: fetch gscms.list('testimonials') and render each record’s data as a card.
To cut spam on public submissions, add a hidden honeypot field to the form; the SDK sends it and the server drops submissions that fill it in:
Limits
Keys cannot start with
$ or contain .; __proto__, prototype and constructor are rejected; top-level keys starting with _gs_ are reserved and dropped. The SDK is not injected into drafts or previews.