{"openapi":"3.1.0","info":{"title":"API de Lic","version":"1.0.0","description":"Leyes, artículos, tesis y sentencias de México por API. Autenticación con `Authorization: Bearer lic_live_…`. Solo de servidor a servidor. Cada respuesta trae RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset y X-Lic-Units-Remaining."},"servers":[{"url":"https://api.soylic.mx/v1"}],"security":[{"apiKey":[]}],"paths":{"/leyes/buscar":{"get":{"summary":"Buscar leyes","description":"Permiso leyes:read.","parameters":[{"name":"q","in":"query","required":true,"description":"Búsqueda (3 a 200 caracteres)","schema":{"type":"string","minLength":3,"maxLength":200}},{"name":"entidad","in":"query","required":false,"description":"«Federal» o el nombre de una entidad federativa","schema":{"type":"string"}},{"name":"pagina","in":"query","required":false,"description":"Página de 20 resultados. Solo se pueden recorrer los primeros resultados que permita tu plan (100 por defecto).","schema":{"type":"integer","minimum":1,"default":1}}],"responses":{"200":{"description":"Leyes que coinciden. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/leyes/{id}":{"get":{"summary":"Una ley: datos e índice","description":"Permiso leyes:read. No incluye el texto completo.","parameters":[{"name":"id","in":"path","required":true,"description":"Id de la ley","schema":{"type":"string"}}],"responses":{"200":{"description":"La ley y su índice. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/leyes/{id}/articulos/{clave}":{"get":{"summary":"Un artículo de una ley","description":"Permiso leyes:read. La clave es la del índice («27», «27-bis», «transitorio-1»).","parameters":[{"name":"id","in":"path","required":true,"description":"Id de la ley","schema":{"type":"string"}},{"name":"clave","in":"path","required":true,"description":"Clave del artículo","schema":{"type":"string"}}],"responses":{"200":{"description":"El artículo con sus notas de reforma. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/articulos/buscar":{"get":{"summary":"Buscar artículos","description":"Permiso leyes:read. Búsqueda por texto y por sentido.","parameters":[{"name":"q","in":"query","required":true,"description":"Búsqueda (3 a 200 caracteres)","schema":{"type":"string","minLength":3,"maxLength":200}},{"name":"entidad","in":"query","required":false,"description":"«Federal» o el nombre de una entidad federativa","schema":{"type":"string"}},{"name":"pagina","in":"query","required":false,"description":"Página de 20 resultados. Solo se pueden recorrer los primeros resultados que permita tu plan (100 por defecto).","schema":{"type":"integer","minimum":1,"default":1}}],"responses":{"200":{"description":"Artículos relevantes. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tesis/buscar":{"get":{"summary":"Buscar tesis","description":"Permiso tesis:read.","parameters":[{"name":"q","in":"query","required":true,"description":"Búsqueda (3 a 200 caracteres)","schema":{"type":"string","minLength":3,"maxLength":200}},{"name":"pagina","in":"query","required":false,"description":"Página de 20 resultados. Solo se pueden recorrer los primeros resultados que permita tu plan (100 por defecto).","schema":{"type":"integer","minimum":1,"default":1}}],"responses":{"200":{"description":"Tesis que coinciden. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tesis/{registro}":{"get":{"summary":"Una tesis","description":"Permiso tesis:read.","parameters":[{"name":"registro","in":"path","required":true,"description":"Registro digital","schema":{"type":"string"}}],"responses":{"200":{"description":"La tesis completa. Cuesta 1 unidad de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/sentencias/buscar":{"get":{"summary":"Buscar sentencias","description":"Permiso sentencias:read (se habilita por cuenta).","parameters":[{"name":"q","in":"query","required":true,"description":"Búsqueda (3 a 200 caracteres)","schema":{"type":"string","minLength":3,"maxLength":200}},{"name":"pagina","in":"query","required":false,"description":"Página de 20 resultados. Solo se pueden recorrer los primeros resultados que permita tu plan (100 por defecto).","schema":{"type":"integer","minimum":1,"default":1}}],"responses":{"200":{"description":"Sentencias que coinciden. Cuesta 2 unidades de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/sentencias/{id}":{"get":{"summary":"Una sentencia","description":"Permiso sentencias:read (se habilita por cuenta).","parameters":[{"name":"id","in":"path","required":true,"description":"Id de la sentencia","schema":{"type":"string"}}],"responses":{"200":{"description":"La sentencia completa. Cuesta 2 unidades de tu cuota."},"400":{"description":"Parámetros no válidos o paginación demasiado profunda","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Falta la API key, no es válida o fue revocada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Tu plan no incluye la API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin el permiso necesario, o la clave está suspendida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe (también cuesta unidades)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Límite por minuto o cuota del día o del mes. Respeta Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/uso":{"get":{"summary":"Uso y límites de tu clave","description":"No cuesta unidades.","responses":{"200":{"description":"Uso de hoy y del mes, y tus límites"}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key lic_live_… (Configuraciones → Desarrolladores)"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","key_revoked","key_suspended","plan_required","forbidden","validation","pagination_too_deep","not_found","rate_limited","quota_exceeded","internal"]},"message":{"type":"string"}}}}}}}}