API · site

Operaciones de site del contrato OpenAPI que aceptan una clave de API.

Actualizado:

«Mi web» (F3-622), la web propia del negocio en su subdominio, apagada hasta que se publica.

GET /site

Leer «Mi web» (site:read; API key config:read)

La web propia del negocio (F3-622, plan web-del-negocio): plantilla, secciones opcionales marcadas, textos del dueño, subdominio y si está publicada. Sin guardar todavía (exists false) devuelve la propuesta: subdominio sugerido desde el nombre del negocio y libre, plantilla booking, apagada y version 0. Lo que la web muestra del catálogo no se elige acá: es lo que ofrece el bot (ADR 0047, GET /bot/offer).

  • Autenticación: Clave de API o sesión del panel
  • Scopes: site:read, config:read

Respuestas

EstadoDescripción
200«Mi web» (SiteOut)
defaultError (RFC 9457) (Problem)

PATCH /site

Cambiar «Mi web» (site:edit; API key config:write)

Cambia solo los campos enviados; crea la web (apagada) si todavía no existía. subdomain: de 3 a 40 caracteres a-z, 0-9 y guiones interiores simples, sin nombres reservados (422 site_subdomain_invalid con reason: too_short, too_long, invalid_chars, edge_hyphen, double_hyphen o reserved); si lo usa otro proyecto, 409 site_subdomain_taken. Cambiar el subdominio de una web publicada deja de servir el anterior al instante (sin redirección, ADR 0050 §7). Textos vacíos quedan sin texto (la web usa los datos del negocio). made_with_fiuit: false quita «Hecho con Fiuit» solo si el plan del proyecto lo permite (si no, 409 site_branding_plan_required). Con version distinta de la vigente: 409 site_version_conflict. Audita site.created o site.updated.

  • Autenticación: Clave de API o sesión del panel
  • Scopes: config:write

Cuerpo de la solicitud (obligatorio)

  • application/json: SitePatch

Respuestas

EstadoDescripción
200«Mi web» después del cambio (SiteOut)
defaultError (RFC 9457) (Problem)

POST /site/publish

Publicar la web (site:publish; API key config:write)

Enciende la web en su subdominio. Idempotente: si ya estaba publicada devuelve lo mismo. Crea la web con la propuesta si todavía no existía. Audita site.published. Con version distinta de la vigente: 409 site_version_conflict.

  • Autenticación: Clave de API o sesión del panel
  • Scopes: config:write

Cuerpo de la solicitud (opcional)

  • application/json: SitePublishIn

Respuestas

EstadoDescripción
200«Mi web» publicada (SiteOut)
defaultError (RFC 9457) (Problem)

POST /site/unpublish

Despublicar la web (site:publish; API key config:write)

Apaga la web: su subdominio responde 404 enseguida, igual que uno inexistente. Idempotente. Audita site.unpublished.

  • Autenticación: Clave de API o sesión del panel
  • Scopes: config:write

Cuerpo de la solicitud (opcional)

  • application/json: SitePublishIn

Respuestas

EstadoDescripción
200«Mi web» apagada (SiteOut)
defaultError (RFC 9457) (Problem)