{"openapi":"3.1.0","info":{"title":"Hub Fiscal MX Public API","version":"1.0.0","description":"Read-only public API for Mexican fiscal data: ISR/IMSS/UMA/INPC, FIX Banxico, CFDI 4.0 catalogs, fiscal calendar, RFC validator. CORS open, no auth, 60 req/min/IP. Data licensed CC-BY-4.0 with attribution to Hub Fiscal MX.","contact":{"name":"Hub Fiscal MX","url":"https://hubfiscal.mx","email":"hola@hubfiscal.mx"},"license":{"name":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://hubfiscal.mx/api/v1/public","description":"Production"},{"url":"/api/v1/public","description":"Same-origin"}],"paths":{"/fx/today":{"get":{"summary":"Latest USD/MXN FIX rate","responses":{"200":{"description":"Latest FIX rate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxRate"}}}}}}},"/fx/history":{"get":{"summary":"USD/MXN FIX history","parameters":[{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":365,"default":30}}],"responses":{"200":{"description":"Array of FIX rates","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FxRate"}}}}}}}},"/uma":{"get":{"summary":"Latest UMA & SBC factors","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Uma"}}}}}}},"/uma/{year}":{"get":{"summary":"UMA & SBC factors for a year","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Uma"}}}},"404":{"description":"Not found"}}}},"/inpc":{"get":{"summary":"INPC series — recent months (default 24, max 120)","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":120,"default":24}}],"responses":{"200":{"description":"Array of INPC records ordered by period asc","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"value":{"type":"number"}}}}}}}}}},"/inpc/{period}":{"get":{"summary":"INPC value for a YYYY-MM period","parameters":[{"name":"period","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"string"},"value":{"type":"number"}}}}}},"404":{"description":"Not found"}}}},"/calendario/proximos":{"get":{"summary":"Upcoming Mexican fiscal deadlines (next 10)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CalendarEvent"}}}}}}}},"/cfdi/uso/{code}":{"get":{"summary":"Lookup Uso del CFDI","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/forma-pago/{code}":{"get":{"summary":"Lookup Forma de pago","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/metodo-pago/{code}":{"get":{"summary":"Lookup Método de pago","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/regimen/{code}":{"get":{"summary":"Lookup Régimen fiscal","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/tipo-comprobante/{code}":{"get":{"summary":"Lookup Tipo de comprobante","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/moneda/{code}":{"get":{"summary":"Lookup Moneda","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/cfdi/clave-prod-serv":{"get":{"summary":"c_ClaveProdServ catalog — paginated list (default 100, max 500)","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Array of ClaveProdServ entries ordered by code","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}}}}}},"/cfdi/clave-prod-serv/{code}":{"get":{"summary":"Lookup Clave de producto/servicio","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CfdiCatalogEntry"}}}},"404":{"description":"Not found"}}}},"/rfc/validar/{rfc}":{"get":{"summary":"Validate the structure of a Mexican RFC","parameters":[{"name":"rfc","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Validation result","content":{"application/json":{"schema":{"type":"object","properties":{"rfc":{"type":"string"},"valid":{"type":"boolean"},"type":{"type":"string","nullable":true,"enum":["fisica","moral",null]},"message":{"type":"string"}}}}}}}}},"/tarifa/isr/mensual":{"get":{"summary":"Latest monthly ISR tariff (Art. 96 LISR)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsrTariff"}}}}}}},"/tarifa/isr/{year}/{period}":{"get":{"summary":"ISR tariff for a year and period","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}},{"name":"period","in":"path","required":true,"schema":{"type":"string","enum":["mensual","anual","quincenal","semanal","diaria"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsrTariff"}}}},"404":{"description":"Not found"}}}},"/tools":{"get":{"summary":"List calculators","responses":{"200":{"description":"OK"}}}},"/articles":{"get":{"summary":"List articles","responses":{"200":{"description":"OK"}}}},"/glossary":{"get":{"summary":"List glossary terms","responses":{"200":{"description":"OK"}}}},"/suggest":{"get":{"summary":"Smart 404 suggestions","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"FxRate":{"type":"object","properties":{"date":{"type":"string","format":"date"},"rate":{"type":"number"},"source":{"type":"string"}},"required":["date","rate","source"]},"Uma":{"type":"object","properties":{"year":{"type":"integer"},"uma":{"type":"number"},"salarioMinimo":{"type":"number"},"employeeRate":{"type":"number"},"employerRate":{"type":"number"}}},"CalendarEvent":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"date":{"type":"string","format":"date"},"category":{"type":"string"},"summary":{"type":"string"}}},"CfdiCatalogEntry":{"type":"object","properties":{"code":{"type":"string"},"description":{"type":"string"},"plain":{"type":"string","nullable":true}}},"IsrTariff":{"type":"object","properties":{"year":{"type":"integer"},"period":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"lowerLimit":{"type":"number"},"upperLimit":{"type":"number"},"fixedQuota":{"type":"number"},"marginalRate":{"type":"number"}}}}}}}}}