---
title: "Crea o completa un lead del sitio directamente en el CRM interno."
method: POST
path: "/contacts/web-leads"
tags: ["Contacts"]
---

# Crea o completa un lead del sitio directamente en el CRM interno.

`POST /contacts/web-leads`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/contacts/web-leads`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

No llama a uChat. Deduplica por teléfono, conserva datos existentes y registra las etiquetas s.a.p / website-demo más el origen del lead.

## Request body

- CreateWebLeadDto
  - `email` string, email: Correo, validado si viene.
  - `lead_source` string: Valor del campo `lead_source` del contacto. Sirve para separar por origen los leads de varios formularios.
  - `name` string, required: Nombre de quien deja el lead.
  - `phone` string, required: Teléfono. Es la llave de deduplicación: si ya existe un contacto con este teléfono se completa en vez de crear otro.
  - `summary` string: Resumen que queda en el contacto. Si lo omites se escribe el del formulario de demostración de Meteor, que probablemente no es lo que quieres para un lead tuyo.
  - `tags` string[]: Etiquetas a poner en el contacto. Si lo omites se usan las del sitio de Meteor (`s.a.p`, `website-demo`); manda las tuyas si el lead no viene de ahí. Máximo 10, de 1 a 64 caracteres cada una.

## Response `201`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` CreateWebLeadResultDto, required
    - `contact_id` number, required: ID del contacto creado o reutilizado.
    - `created` boolean, required: Indica si se creó un contacto nuevo.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `409`: La operación entra en conflicto con el estado actual o con un Idempotency-Key en uso. No reintentes con el mismo key y un body distinto.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
