Notas de versión

Historial de cambios de la plataforma y la API de Panadata.

31 de agosto de 2026

Ids tipados en los resultados de búsqueda y surface de migración

  • Cambio de formato: en POST /v5/search/{surface}, el campo results[].id devuelve ahora el id público tipado (pa_imp_60023 en vez de 60023) en las surfaces cuyos registros son direccionables: importaciones, exportaciones, marcas, naves, real-estate (pa_finca_ y pa_ph_), real-estate-deeds (pa_relemento_) e immigration (pa_mig_, pa_wp_, pa_visaaut_ y pa_imped_). Ese id se pasa tal cual a GET /v5/entities/{id}, así que encadenar búsqueda y detalle ya no requiere lógica del cliente.
  • Las demás surfaces (licitaciones, avisos, contraloria, expedientes, sanctions, noticias y planillas) conservan el PK entero.
  • Una clave de filtro desconocida en /v5/search/{surface} ahora responde 400 con la lista de claves válidas. Antes se ignoraba en silencio y la búsqueda devolvía resultados sin filtrar.
  • La surface immigration queda disponible también por MCP (herramienta search), con facetas y filtros, la matriz filtro–fuente corregida y advertencias de uso: a la fecha de esta nota los datos de Mitradel estaban congelados al 11 de mayo de 2026 (96,3% de las filas sin movimiento desde antes de esa fecha; hay un re-scrape de puesta al día en curso, así que verifique la frescura de cada fila por su propio fecha_ultimo_movimiento), y se suman los filtros fecha_inicio y fecha_ultimo_movimiento, que existen esté el caso cerrado o no. El detalle migratorio sigue gateado por DAT-LABOR.
  • Deprecado: el filtro estado de POST /v5/search/immigration —y su faceta by_estado— se retirará del contrato: es un veredicto derivado cuya semántica se invierte según la fuente (en un impedimento, «resuelto» significa que el acto se firmó y notificó, o sea que el impedimento probablemente entró en vigor, no que se levantó; en una visa, «resuelto» sin resultado se lee como aprobada). El campo ya no viene en la tarjeta, ni en el summary ni en el detalle; el filtro se sigue aceptando hasta el retiro, y mientras siga vivo distingue mayúsculas y minúsculas (estado=Resuelto devuelve 0, estado=resuelto devuelve el corpus). Para saber si un caso está abierto o cerrado use fecha_fin, que solo existe en casos cerrados, o los filtros nuevos fecha_inicio y fecha_ultimo_movimiento. Ojo: el veredicto sigue viajando en cada resultado como derived_data.estado_actual y arrastra la misma semántica invertida — se retirará de ahí junto con el filtro, así que no construya sobre ese campo.
  • Cambio de comportamiento: en GET /v5/entities/{id}/network el parámetro depth pasa de 1 a 2 por defecto. Quien no manda depth recibe ahora también el grafo plano de dos saltos —con quién está conectada la entidad y a través de quién—, una respuesta bastante más grande que antes; si le alcanza la vista histórica sola, pida ?depth=1 de forma explícita. A cambio se elimina la facturación por nivel: toda profundidad cuesta el mismo SKU plano (DAT-NETWORK), así que depth es una perilla de tamaño y no un escalón de precio. El tercer salto (?depth=3) sigue disponible y es mucho más grande: sobre un sujeto real, 303 nodos contra 72.
  • El servidor MCP lee el catálogo de códigos en vivo desde GET /v5/catalog (26 códigos con sus precios exactos) y se elimina el mirror estático, que podía quedar desactualizado.
  • Documentado GET /v5/entities/{id}/proponente-dossier (DAT-PROPONENTE). Además, GET /v5/entities/{id}/immigration pasa a cubrir cuatro fuentes: a los permisos de trabajo y los movimientos migratorios se suman ahora las visas autorizadas y los impedimentos, en la misma ficha. Con una salvedad: los impedimentos se enlazan a la persona por nombre —la fuente no publica pasaporte ni cédula—, cada elemento de impedimentos[] trae un match {key, score} con la procedencia del enlace, y la cobertura es parcial (hoy alrededor del 5% de los impedimentos de la fuente llegan a una persona). Es una coincidencia de nombre, no una identidad confirmada: verifíquela antes de actuar, y tenga presente que un impedimentos[] vacío significa «no lo enlazamos», no «no tiene impedimento». Para descartar, busque por nombre en POST /v5/search/immigration con source=impedimento.
  • pa_visacons_ se retira de la gramática de ids: la fuente consular no es cosechable.

26 de junio de 2026

Catálogo de Ecuador: 12 niveles para organizaciones

  • El catálogo público de Ecuador se precisa a 12 niveles (antes 13), tras verificar la cobertura real contra la fuente. Se retira entity_events, que no tiene fuente en Ecuador y no devuelve datos.
  • El precio de DAT-ALL en Ecuador ($0.85) no cambia. El alcance sigue siendo solo organizaciones jurídicas.

20 de junio de 2026

Servidor MCP remoto y onboarding instantáneo

  • La API de Panadata ya está disponible como herramientas MCP (Model Context Protocol) para casos de uso con LLM y agentes, con una nueva página de capacidades y una guía rápida "Conéctese por MCP".
  • Al confirmar la cuenta se aprovisiona automáticamente una llave API y se otorgan $10 en créditos de prueba (válidos 30 días, sobre saldo cero).
  • Configuración MCP personalizada lista para copiar desde el panel.
  • El paquete completo DAT-ALL deja de incluir el screening internacional (DAT-SCREEN — sanciones internacionales y coincidencias PEP), que ahora se cobra por separado; su precio queda en $1.41 por entidad en Panamá ($0.85 en Ecuador).

28 de mayo de 2026

Documentación de webhooks y actualizaciones asíncronas

  • Nueva guía Actualizaciones asíncronas y webhooks con el flujo completo: POST de trigger, body firmado con HMAC-SHA256, fallback por GET y matriz de estados.
  • OpenAPI ahora documenta POST /v4/panama/entidades/{id}/update y GET /v4/update_requests/{id} con tres schemas nuevos.
  • Cobertura: solo Panamá hoy. Ecuador y Colombia siguen siendo read-only.

27 de mayo de 2026

Ecuador disponible (read-only)

  • Cobertura inicial de Ecuador para organizaciones: búsqueda por nombre o RUC y detalle por ID en /v4/ecuador/entidades.
  • Tres códigos disponibles: CHK-BIN, DAT-CORE y DAT-ALL ($0.85 por entidad), sobre 13 niveles de datos.
  • Solo lectura: las actualizaciones asíncronas siguen siendo exclusivas de Panamá.

7 de abril de 2026

Webhooks y sandbox interactivo

  • Sandbox autenticado con flujo guiado: búsqueda por nombre, RUC e ID con respuestas reales de la API.
  • Sistema de webhooks para solicitudes de actualización de entidades con firma criptográfica. Sistema independiente del código de producto DAT-HOOK, que es pull (devuelve entity_events en la respuesta del GET) y no tiene relación con el delivery de notificaciones por POST.
  • Hub de documentación rediseñado con ViewComponents y navegación lateral.

23 de marzo de 2026

Framework de precios v4

  • Catálogo de códigos de producto ampliado de 12 a 17 SKUs activos con framework de precios basado en valor; el paquete completo DAT-ALL pasa a $1.81 por entidad.
  • Especificaciones OpenAPI sincronizadas con el API Gateway de producción.
  • Parche de seguridad: Devise 5.0.3 (GHSA-57hq-95w6-v4fc).

16 de marzo de 2026

Referencia API bilingüe

  • Especificaciones OpenAPI v4 en español e inglés.
  • Metadatos de discoverability para agentes de IA (link rel=describedby).
  • Sincronización del nombre de llave API hacia DynamoDB para logging estructurado.

10 de marzo de 2026

Localización al español

  • Toda la interfaz de la plataforma traducida al español.
  • Copiar al portapapeles en llaves API y sandbox.
  • Nuevo favicon de Panadata.

3 de marzo de 2026

Documentación interactiva

  • Referencia API interactiva con Scalar (OpenAPI 3.0).
  • Correcciones en el flujo de checkout de Stripe (CORS, Turbo).

27 de febrero de 2026

Dashboard de uso

  • Gráfico de uso con ejes duales (costo y solicitudes), tooltips y selector de período.
  • Resumen de estadísticas con totales del período seleccionado.

10 de febrero de 2026

Lanzamiento de la plataforma v4

  • Plataforma self-service para Panamá: registro, autenticación, llaves API, saldo prepago y consumo.
  • GET /v4/panama/entidades — búsqueda por nombre o RUC.
  • GET /v4/panama/entidades/{id}?include= — detalle y enriquecimiento.
  • 12 códigos de producto activos: CHK-BIN, DAT-CORE, DAT-HOOK, DAT-GOV, DAT-BIZ, DAT-ASSET, DAT-TRADE, DAT-DOC, DAT-RISK, DAT-PROC, DAT-NEWS, DAT-LEGAL. Paquete completo DAT-ALL a $1.35.
  • Panel de llaves API con creación y revocación, sincronización a DynamoDB.
  • Compra de saldo prepago vía Stripe Checkout.
  • Wallet con créditos atómicos en DynamoDB.