Guest

Start a draft site without an account

Creates a draft-only site and a guest token, with no sign-in and no API key. This is the one call that needs no credentials.

The response carries a guest token (pgg_…). Send it as Authorization: Bearer <guestToken> and it authenticates as GuestBearerAuth for that one site: you can read and edit its content, routes and brief, but only the operations that list GuestBearerAuth in their security accept it. Publishing, renaming, deleting, custom domains, imports, asset writes, creating other sites and managing API keys answer 403 guest_requires_account, and any other site answers 403 forbidden_site_scope.

The site is deleted 72 hours after creation (expiresAt) unless you claim it with POST /api/v1/anon/claim from a signed-in account.

Guest creation is rate limited across the whole platform. Over the limit you get 429 rate_limited with a Retry-After header.

post/api/v1/anon/sites

Request

  • Base URL: https://api.dotsy.ai
  • URL: https://api.dotsy.ai/api/v1/anon/sites
  • Auth: none required

Request body

titlestring

Site title, up to 200 characters.

purposestring

What the site is for, up to 2,000 characters. It seeds the site brief. When you leave it out, Dotsy infers a placeholder from the title.

Example request

{
  "title": "Maple Street Bakery",
  "purpose": "A one-page site for a neighbourhood bakery: opening hours, the menu and a contact form."
}

Response

The guest site exists. Keep guestToken: it is not shown again.

slugstring required

The new site's slug: anon followed by ten letters and digits.

guestTokenstring required

The guest token (pgg_…). It is returned only here, so store it. Send it as Authorization: Bearer <guestToken>; it authenticates as GuestBearerAuth on this one site.

expiresAtnumber required

When the guest site is deleted if nobody claims it, Unix ms. 72 hours after creation.

draftOnlytrue required

Always true: a guest site can be edited as a draft but cannot be published until it is claimed.

Example response

{
  "slug": "anon3f9c1b27a4",
  "guestToken": "pgg_Zk3qR1m7vT0aXc9LwYb2NfHj5uPdE8sGiO4tAx6VnMo",
  "expiresAt": 1790000000000
}

Changes

No recorded changes to this operation across all 1 revision of this API.