Skip to main content
POST
/
api
/
forms
/
{formId}
/
publish
curl -X POST https://app.horneross.com/api/forms/form_abc123/publish \
  -H "Authorization: Bearer sk_live_xxx"
{
  "id": "form_abc123",
  "name": "Formulario de Contacto",
  "draftConfig": {
    "fields": [
      {"name": "email", "type": "email", "label": "Email", "required": true}
    ]
  },
  "publishedConfig": {
    "fields": [
      {"name": "email", "type": "email", "label": "Email", "required": true}
    ]
  },
  "updatedAt": "2024-01-21T17:30:00Z"
}

Endpoint

POST /api/forms/{formId}/publish
Este endpoint copia la configuración de draftConfig a publishedConfig, haciendo los cambios visibles para los usuarios.

Path Parameters

formId
string
required
ID del formulario a publicar

Headers

Authorization
string
required
Bearer token con tu API key. Formato: Bearer sk_live_xxx
curl -X POST https://app.horneross.com/api/forms/form_abc123/publish \
  -H "Authorization: Bearer sk_live_xxx"

Response

id
string
required
ID del formulario
publishedConfig
object
required
Configuración publicada (copia del draftConfig)
updatedAt
string
required
Fecha de publicación (ISO 8601)
{
  "id": "form_abc123",
  "name": "Formulario de Contacto",
  "draftConfig": {
    "fields": [
      {"name": "email", "type": "email", "label": "Email", "required": true}
    ]
  },
  "publishedConfig": {
    "fields": [
      {"name": "email", "type": "email", "label": "Email", "required": true}
    ]
  },
  "updatedAt": "2024-01-21T17:30:00Z"
}

Flujo de publicación

┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│  Crear/Editar   │ ──▶  │   Draft Config  │ ──▶  │  Published      │
│  (PATCH /admin) │      │   (no visible)  │      │  (visible)      │
└─────────────────┘      └─────────────────┘      └─────────────────┘


                           POST /publish
El formulario debe tener al menos un campo definido en draftConfig.fields antes de poder publicarlo.