Saltar al contenidoleitvik

Documentación

API REST v1

La API REST da a scripts e integraciones el mismo acceso por permisos que el conector. Solo acepta tokens de API; los tokens OAuth sirven únicamente en el endpoint MCP.

Lo básico

  • URL base: https://app.leitvik.com/api/v1
  • Cabecera: Authorization: Bearer qre_…. Peticiones y respuestas en JSON.
  • Límite: el del propio token por minuto (60 por defecto, de 1 a 600), compartido con el conector. Si se supera, la respuesta es 429 con Retry-After.
  • Las listas devuelven 50 elementos por defecto y 100 como máximo, con limit y offset; la respuesta incluye hasMore.
  • Las fechas van en la zona horaria del espacio.

Primera petición

curl
curl -s "https://app.leitvik.com/api/v1/context" \
  -H "authorization: Bearer $LEITVIK_TOKEN"

Escrituras idempotentes

Las escrituras de registros aceptan un requestId (UUID) en el cuerpo o una cabecera Idempotency-Key. Durante 24 horas, si repites la petición con la misma clave y el mismo contenido recibes el primer resultado sin que se escriba otra vez; la misma clave con otro contenido da 409. Las escrituras de tareas, oportunidades y capturas exigen su propio requestId.

Versiones

Las tareas y las oportunidades llevan una version. Envía la actual con cada cambio; si está desfasada recibes 409: vuelve a leer y decide otra vez.

Endpoints

MétodoRutaPermiso
GET/api/v1/contextCualquier permiso
GET/api/v1/companies?q=&limit=&offset=companies:read
GET/api/v1/companies/{id}companies:read
PUT/api/v1/companiescompanies:write
GET/api/v1/companies/{id}/briefcompanies:readleads:readtouches:readsignals:read
GET/api/v1/contacts?companyId=contacts:read
PUT/api/v1/contactscontacts:write
GET/api/v1/leads?q=&status=leads:read
PATCH/api/v1/leads/{id}leads:write
GET/api/v1/touches?companyId=touches:read
POST/api/v1/touchestouches:write
GET/api/v1/signals?companyId=signals:read
POST/api/v1/signalssignals:write
GET/api/v1/dossiers?companyId=dossiers:read
PUT/api/v1/dossiersdossiers:write
GET/api/v1/today?limit=&offset=leads:read
GET/api/v1/tasks?status=&due=&owner=&companyId=tasks:read
POST/api/v1/taskstasks:write
PATCH/api/v1/tasks/{id}tasks:write
GET/api/v1/opportunities?companyId=&stage=opportunities:read
POST/api/v1/opportunitiesopportunities:write
PATCH/api/v1/opportunities/{id}opportunities:write
POST/api/v1/capturescaptures:write
POST/api/v1/captures/{id}/applycaptures:write
POST/api/v1/captures/{id}/undocaptures:write

Errores

Los errores llegan como { "error": código }. Nunca incluyen trazas, SQL ni lo que enviaste.

EstadoCódigoQué significa
400validationDatos no válidos.
401unauthorizedFalta el token, ha caducado, está revocado o no tiene el permiso.
403forbiddenEl token no puede hacerlo.
404not_foundNo existe en este espacio.
409conflictVersión desfasada, cambio de estado no permitido o clave repetida con otro contenido.
413too_largeEl cuerpo supera el límite.
429rate_limitedDemasiadas peticiones; espera los segundos de Retry-After.