{"openapi":"3.1.0","info":{"title":"Crea 10x API","version":"1.0.0","description":"API para clientes, campañas, actividad outbound, reuniones, métricas y webhooks. Todas las fechas usan UTC ISO-8601."},"servers":[{"url":"https://crea10x.com/api/v1","description":"Producción"},{"url":"/api/v1","description":"Instancia actual"}],"tags":[{"name":"Leads"},{"name":"Customers"},{"name":"Campaigns"},{"name":"Webhooks"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key con permisos por scope"}},"schemas":{"ApiError":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}}}}}},"paths":{"/leads":{"post":{"summary":"Crear y calificar lead","tags":["Leads"],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"Lead evaluado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/customers":{"get":{"summary":"Listar clientes","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Customers"],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":100}}]},"post":{"summary":"Crear cliente","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}":{"get":{"summary":"Obtener cliente","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Customers"]},"patch":{"summary":"Actualizar cliente","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}/contacts":{"get":{"summary":"Listar contactos","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Customers"]},"post":{"summary":"Crear contacto","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}/contacts/{contactId}":{"patch":{"summary":"Actualizar contacto","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"contactId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}/engagements":{"get":{"summary":"Listar contratos","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Customers"]},"post":{"summary":"Crear contrato","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}/engagements/{engagementId}":{"patch":{"summary":"Actualizar contrato","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"engagementId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Customers"]}},"/customers/{id}/campaigns":{"get":{"summary":"Listar campañas","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Campaigns"]},"post":{"summary":"Crear campaña","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Campaigns"]}},"/customers/{id}/campaigns/{campaignId}":{"patch":{"summary":"Actualizar campaña","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Campaigns"]}},"/customers/{id}/metrics":{"get":{"summary":"Métricas del cliente","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Customers"]}},"/customers/{id}/milestones":{"get":{"summary":"Hitos del cliente","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `customers:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Customers"]}},"/campaigns/{id}/activities":{"get":{"summary":"Listar actividad","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"},{"name":"channel","in":"query","schema":{"enum":["email","linkedin","call","other"]}}],"tags":["Campaigns"]}},"/campaigns/{id}/activities/batch":{"post":{"summary":"Ingerir actividad","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `activities:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Campaigns"]}},"/campaigns/{id}/meetings":{"get":{"summary":"Listar reuniones","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"}],"tags":["Campaigns"]},"post":{"summary":"Crear reunión","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `meetings:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Campaigns"]}},"/campaigns/{id}/meetings/{meetingId}":{"patch":{"summary":"Actualizar reunión","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `meetings:write`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"},{"name":"meetingId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Campaigns"]}},"/campaigns/{id}/metrics":{"get":{"summary":"Métricas de campaña","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `campaigns:read`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID de campaña"}],"tags":["Campaigns"]}},"/webhook-subscriptions":{"post":{"summary":"Registrar webhook","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `webhooks:manage`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"tags":["Webhooks"]}},"/webhook-deliveries":{"get":{"summary":"Listar entregas","security":[{"bearerAuth":[]}],"description":"Permiso requerido: `webhooks:manage`.","responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Recurso creado","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Error estructurado","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Webhooks"]}}}}