Skip to main content
POST
/
api
/
forms
curl -X POST https://app.horneross.com/api/forms \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Formulario de Contacto",
    "draftConfig": {
      "overview": "Formulario para capturar leads",
      "fields": [
        {
          "name": "name",
          "type": "text",
          "label": "Nombre completo",
          "required": true
        },
        {
          "name": "email",
          "type": "email",
          "label": "Email",
          "required": true
        },
        {
          "name": "message",
          "type": "textarea",
          "label": "Mensaje",
          "required": false
        }
      ],
      "startScreen": {
        "title": "Contactanos",
        "description": "Completá el formulario y te respondemos en 24hs"
      }
    }
  }'
{
  "id": "form_new123",
  "name": "Formulario de Contacto",
  "type": "traditional",
  "draftConfig": {
    "overview": "Formulario para capturar leads",
    "fields": [
      {"name": "name", "type": "text", "label": "Nombre completo", "required": true},
      {"name": "email", "type": "email", "label": "Email", "required": true},
      {"name": "message", "type": "textarea", "label": "Mensaje"}
    ],
    "schema": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "email": {"type": "string", "format": "email"},
        "message": {"type": "string"}
      },
      "required": ["name", "email"]
    }
  },
  "publishedConfig": null,
  "agentId": "ag_hidden_xyz",
  "createdAt": "2024-01-21T16:00:00Z",
  "updatedAt": "2024-01-21T16:00:00Z"
}

Endpoint

POST /api/forms

Headers

Authorization
string
required
Bearer token con tu API key. Formato: Bearer sk_live_xxx
Content-Type
string
required
Siempre application/json

Request Body

name
string
Nombre del formulario. Si no se proporciona, se genera uno automáticamente.
type
string
default:"traditional"
Tipo de formulario: traditional o conversational
datastoreId
string
ID del datastore a vincular (opcional)
draftConfig
object
required
Configuración inicial del formulario
curl -X POST https://app.horneross.com/api/forms \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Formulario de Contacto",
    "draftConfig": {
      "overview": "Formulario para capturar leads",
      "fields": [
        {
          "name": "name",
          "type": "text",
          "label": "Nombre completo",
          "required": true
        },
        {
          "name": "email",
          "type": "email",
          "label": "Email",
          "required": true
        },
        {
          "name": "message",
          "type": "textarea",
          "label": "Mensaje",
          "required": false
        }
      ],
      "startScreen": {
        "title": "Contactanos",
        "description": "Completá el formulario y te respondemos en 24hs"
      }
    }
  }'

Response

id
string
required
ID único del formulario creado
name
string
required
Nombre del formulario
draftConfig
object
required
Configuración draft incluyendo el schema JSON generado
agentId
string
ID del agente oculto creado automáticamente (usado para chat conversacional)
createdAt
string
required
Fecha de creación (ISO 8601)
{
  "id": "form_new123",
  "name": "Formulario de Contacto",
  "type": "traditional",
  "draftConfig": {
    "overview": "Formulario para capturar leads",
    "fields": [
      {"name": "name", "type": "text", "label": "Nombre completo", "required": true},
      {"name": "email", "type": "email", "label": "Email", "required": true},
      {"name": "message", "type": "textarea", "label": "Mensaje"}
    ],
    "schema": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "email": {"type": "string", "format": "email"},
        "message": {"type": "string"}
      },
      "required": ["name", "email"]
    }
  },
  "publishedConfig": null,
  "agentId": "ag_hidden_xyz",
  "createdAt": "2024-01-21T16:00:00Z",
  "updatedAt": "2024-01-21T16:00:00Z"
}
Al crear un formulario, se genera automáticamente un agente oculto vinculado. Este agente se usa internamente para el modo conversacional del formulario.