Unpublish a surface
Disables public access for the surface while keeping its slug and settings, so republishing later reuses the same URL. Requires full access to the surface and a signed-in session, and is a no-op when the surface was never published.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/workspaces/string/surfaces/string/publish"{ "data": { "surfaceId": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Get a surface's publish settings
Returns the surface's public-site configuration -- slug, SEO indexing, cover image, icon visibility, and theme -- or a disabled config when it has never been published. Requires view access to the surface and a signed-in session; API keys are not accepted. An unknown surface is reported as a not-publishable error.
Publish a surface to the public page site
Turns on public access for a page or note, assigning a slug derived from the request or the title and made unique against every other published surface, database, and view, and stores the SEO, cover, icon, and theme settings alongside it. Requires full access to the surface (`surfaces:write`) and a signed-in session. Surfaces of any other kind are rejected as not publishable. Naturally idempotent: republishing overwrites the settings and keeps the original publish timestamp.