Aveiro API
Authentication
Sites
List Sites
List Templates
Create Site
Pages
Create a Page
Delete a Page
List Pages
Reorder Pages
Update a Page
Audience
Newsletter API Overview
Newsletter Campaigns
Social
Social API Overview
Social Accounts
Social Media
Social Posts
TrademarkTrademark
Ctrl k
Search...
Sign up
Aveiro API
Authentication
Sites
List Sites
List Templates
Create Site
Pages
Create a Page
Delete a Page
List Pages
Reorder Pages
Update a Page
Audience
Newsletter API Overview
Newsletter Campaigns
Social
Social API Overview
Social Accounts
Social Media
Social Posts
TrademarkTrademark
AveiroBlogContact
© Aveiro. All rights reserved.
Built with Aveiro
Sites

Create Site

POST /api/v1/sites — create a site, optionally cloning a marketplace template by slug.
Updated 5d ago
List Templates
In short
POST /api/v1/sites creates a site in your organization. Pass an optional template slug from GET /api/v1/templates to clone marketplace pages, layout, and styles. Without template, the site starts with a welcome page and default layout.

Request

POST /api/v1/sites
Authorization: Bearer av_live_…
Content-Type: application/json

{
  "name": "Client Docs",
  "slug": "client-docs",
  "template": "once-ui-docs"
}
Required scope: sites:write The token creator must also have permission to manage sites in the organization.

Body fields

Field
Required
Description
nameyesHuman-readable site name (max 100 characters)
slugyesPreview subdomain slug → slug.aveiro.page (lowercase letters, numbers, hyphens)
templatenoMarketplace template slug from GET /api/v1/templates. Clones pages, layout, and styles from the live template host.
Template resolution runs before any database writes — invalid or unavailable templates return an error without creating a site. Cloning copies content from the live template host site, so edits to the gallery template apply to future clones immediately. Large templates may take several minutes to copy. The route allows up to 300 seconds.

Example (curl)

curl -s -X POST 'https://help.aveiro.app/api/v1/sites' \
  -H 'Authorization: Bearer av_live_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Client Docs",
    "slug": "client-docs",
    "template": "once-ui-docs"
  }'
Blank site (no template):
curl -s -X POST 'https://help.aveiro.app/api/v1/sites' \
  -H 'Authorization: Bearer av_live_…' \
  -H 'Content-Type: application/json' \
  -d '{"name": "Scratch Pad", "slug": "scratch-pad"}'

Response

201 Created
{
  "site": {
    "id": "new-site-uuid",
    "name": "Client Docs",
    "slug": "client-docs",
    "public_content_live": false,
    "updated_at": "2026-08-01T12:00:00.000000+00:00"
  }
}
New sites start in coming soon mode with draft content. Use page endpoints on the returned id to edit, then publish when ready.

Errors

HTTP
Code
When
400VALIDATION_ERRORMissing or invalid name or slug
400INVALID_SLUGSlug format invalid
400RESERVED_SLUGSlug is reserved
401UNAUTHORIZEDToken missing or invalid
403FORBIDDENToken lacks sites:write or site management permission
403LIMIT_EXCEEDEDOrganization site create limit reached
404TEMPLATE_NOT_FOUNDtemplate slug not in marketplace gallery
409SLUG_TAKENSlug already used globally or in your org
410TEMPLATE_UNAVAILABLETemplate submission no longer approved
422TEMPLATE_SNAPSHOT_EMPTYTemplate host has no pages to copy
500TEMPLATE_CLONE_FAILEDSnapshot copy failed — site row is rolled back

MCP

aveiro_list_templates and aveiro_create_site wrap these routes. Pass the template parameter when calling aveiro_create_site — cloned sites start with consistent layout and sample content.
Platform guide: Aveiro MCP server.

Related

  • List templates
  • List sites
  • Create a page