/v1/healthLiveness (sin autenticación)
Respuestas
200 | OK |
curl https://api.credikul.com/v1/health \
-H "Authorization: Bearer ck_live_TU_LLAVE"REFERENCIA · v1.0.0
Generada del contrato OpenAPI — el mismo que valida cada solicitud. Descargar openapi.json para importarla en Postman o generar clientes.
/v1/health200 | OK |
curl https://api.credikul.com/v1/health \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/me200 | Identidad de la llave |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/me \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/catalog/didi/cities200 | Ciudades |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/catalog/didi/cities \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/catalog/didi/colors200 | Colores |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/catalog/didi/colors \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehiclesScope: `vehicles:read`. Paginación por cursor (`startingAfter`).
| Campo | Tipo | Requerido |
|---|---|---|
limit | integer | — |
startingAfter | uuid | — |
plate | string | — |
status | "activo" | "mantenimiento" | "inactivo" | "pending_didi" | — |
200 | Página de vehículos |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/vehicles \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehiclesScope: `vehicles:write`. La placa y el VIN son únicos en TODA la flota Credikul (409 si ya existen).
| Campo | Tipo | Requerido |
|---|---|---|
plate | string | Sí |
brand | string | Sí |
model | string | Sí |
year | integer | Sí |
color | string | Sí |
city | string | — |
vin | string | — |
platforms | array<"didi" | "indrive"> | — |
201 | Vehículo creado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/vehicles \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"plate":"<string>","brand":"<string>","model":"<string>","year":"<integer>","color":"<string>"}'/v1/vehicles/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Vehículo |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/vehicles/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehicles/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
| Campo | Tipo | Requerido |
|---|---|---|
city | string | — |
color | string | — |
vin | string | null | — |
status | "activo" | "mantenimiento" | "inactivo" | — |
notes | string | — |
200 | Vehículo actualizado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X PATCH https://api.credikul.com/v1/vehicles/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{}'/v1/vehicles/{id}/registrationsScope: `vehicles:write`. didi: registro asíncrono (queda `pending` y requiere la tarjeta de circulación). indrive: instantáneo (requiere VIN). Idempotente: si ya está registrado responde 200 con el mismo objeto.
| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
| Campo | Tipo | Requerido |
|---|---|---|
platform | "didi" | "indrive" | Sí |
200 | Ya estaba registrado |
201 | Registro iniciado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
422 | La operación no procede (estado del recurso / plataforma) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/vehicles/{id}/registrations \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"platform":"<\"didi\" | \"indrive\">"}'/v1/vehicles/{id}/registrations| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Registros |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/vehicles/{id}/registrations \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehicles/{id}/registrations/{platform}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
platform | "didi" | "indrive" | Sí |
200 | Registro |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/vehicles/{id}/registrations/{platform} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehicles/{id}/registrations/{platform}/refresh| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
platform | "didi" | "indrive" | Sí |
200 | Estado actualizado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/vehicles/{id}/registrations/{platform}/refresh \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/vehicles/{id}/documentsScope: `documents:write`. Multipart: campo `file` (JPEG/PNG, máx 4 MB) + `type=circulation_card_front`. Requiere registro didi previo (409 si falta).
| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
201 | Documento enviado a revisión |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
413 | Archivo demasiado grande (FILE_TOO_LARGE) |
422 | La operación no procede (estado del recurso / plataforma) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/vehicles/{id}/documents \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-F "type=circulation_card_front" \
-F "file=@tarjeta-frente.jpg"/v1/vehicles/{id}/documents| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Documentos |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/vehicles/{id}/documents \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers| Campo | Tipo | Requerido |
|---|---|---|
limit | integer | — |
startingAfter | uuid | — |
whatsapp | string | — |
200 | Página de conductores |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/drivers \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/driversScope: `drivers:write`. El WhatsApp es único en toda la flota Credikul (409). `vehicleId` opcional abre la asignación.
| Campo | Tipo | Requerido |
|---|---|---|
name | string | Sí |
whatsapp | string | Sí |
city | string | Sí |
email | string | — |
license | string | — |
vehicleId | uuid | — |
201 | Conductor creado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/drivers \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"name":"<string>","whatsapp":"<string>","city":"<string>"}'/v1/drivers/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Conductor |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/drivers/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers/{id}El WhatsApp se congela cuando el conductor ya aceptó la invitación (409).
| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
| Campo | Tipo | Requerido |
|---|---|---|
name | string | — |
whatsapp | string | — |
email | string | null | — |
city | string | — |
license | string | null | — |
200 | Conductor actualizado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X PATCH https://api.credikul.com/v1/drivers/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{}'/v1/drivers/{id}/invitationsScope: `drivers:write`. didi: envía la invitación que el conductor acepta en su app (consulta el estado con GET/refresh). indrive: no disponible en v1 (403 PLATFORM_NOT_ENABLED). Idempotente: si ya hay invitación responde 200.
| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
| Campo | Tipo | Requerido |
|---|---|---|
platform | "didi" | "indrive" | Sí |
200 | Ya existía una invitación |
201 | Invitación enviada |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
422 | La operación no procede (estado del recurso / plataforma) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/drivers/{id}/invitations \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"platform":"<\"didi\" | \"indrive\">"}'/v1/drivers/{id}/invitations| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Invitaciones |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/drivers/{id}/invitations \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers/{id}/invitations/{platform}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
platform | "didi" | "indrive" | Sí |
200 | Invitación |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/drivers/{id}/invitations/{platform} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers/{id}/invitations/didi/refresh| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Estado actualizado |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
409 | Conflicto (duplicado, estado incompatible) |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/drivers/{id}/invitations/didi/refresh \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers/{id}/invitations/didi| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Invitación cancelada (status none) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X DELETE https://api.credikul.com/v1/drivers/{id}/invitations/didi \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/assignments| Campo | Tipo | Requerido |
|---|---|---|
limit | integer | — |
startingAfter | uuid | — |
vehicleId | uuid | — |
driverId | uuid | — |
status | "active" | "ended" | — |
200 | Página de asignaciones |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/assignments \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/assignmentsScope: `drivers:write`. Un vehículo y un conductor solo pueden tener UNA asignación activa: crear una nueva desplaza (termina) la anterior en cualquiera de los dos lados. La asignación local gobierna la vinculación en la plataforma.
| Campo | Tipo | Requerido |
|---|---|---|
vehicleId | uuid | Sí |
driverId | uuid | Sí |
201 | Asignación activa |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/assignments \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"vehicleId":"<uuid>","driverId":"<uuid>"}'/v1/assignments/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Asignación |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/assignments/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/assignments/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Asignación terminada |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X DELETE https://api.credikul.com/v1/assignments/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/drivers/invitations/batchScope: `drivers:write`. Responde 202 con `jobId`; consulta el avance en GET /v1/jobs/{id}. `skipped` = conductores no elegibles (ya invitados, inexistentes).
| Campo | Tipo | Requerido |
|---|---|---|
platform | "didi" | "indrive" | Sí |
driverIds | array<uuid> | Sí |
202 | Job aceptado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/drivers/invitations/batch \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"platform":"<\"didi\" | \"indrive\">","driverIds":"<array<uuid>>"}'/v1/vehicles/registrations/batchScope: `vehicles:write`. Responde 202 con `jobId`; consulta el avance en GET /v1/jobs/{id}.
| Campo | Tipo | Requerido |
|---|---|---|
platform | "didi" | "indrive" | Sí |
vehicleIds | array<uuid> | Sí |
202 | Job aceptado |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl -X POST https://api.credikul.com/v1/vehicles/registrations/batch \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"platform":"<\"didi\" | \"indrive\">","vehicleIds":"<array<uuid>>"}'/v1/jobs/{id}| Campo | Tipo | Requerido |
|---|---|---|
id | uuid | Sí |
200 | Estado del job |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
404 | Recurso no encontrado |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/jobs/{id} \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/ridesScope: `rides:read`. `platform` es requerido. Dinero como string decimal MXN; fechas en día calendario CDMX (−06:00 fijo). Las métricas de indrive se asientan hasta 16 días — re-consulta ventanas recientes.
| Campo | Tipo | Requerido |
|---|---|---|
limit | integer | — |
startingAfter | uuid | — |
platform | "didi" | "indrive" | Sí |
from | string | — |
to | string | — |
driverId | uuid | — |
vehicleId | uuid | — |
status | enum (6 valores) | — |
200 | Página de viajes |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/rides \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/earnings/daily| Campo | Tipo | Requerido |
|---|---|---|
limit | integer | — |
startingAfter | uuid | — |
platform | "didi" | "indrive" | Sí |
from | string | — |
to | string | — |
driverId | uuid | — |
200 | Página de días |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/earnings/daily \
-H "Authorization: Bearer ck_live_TU_LLAVE"/v1/earnings/summary| Campo | Tipo | Requerido |
|---|---|---|
platform | "didi" | "indrive" | Sí |
from | string | — |
to | string | — |
driverId | uuid | — |
200 | Totales |
400 | Entrada inválida (VALIDATION) |
401 | Llave API faltante, inválida o revocada (UNAUTHORIZED) |
403 | Scope insuficiente, cuenta en revisión o plataforma no habilitada |
429 | Límite de solicitudes excedido (revisa Retry-After) |
curl https://api.credikul.com/v1/earnings/summary \
-H "Authorization: Bearer ck_live_TU_LLAVE"