Developers

GraphQL · ¿Qué cambió y cuándo?

Cambios e historial

Cada cambio de razón social, giro, domicilio o casilla, con cómo era antes y cómo quedó, por RUT o por publicación. Los ejemplos de abajo son la petición y la respuesta real de cada operación, no una aproximación.

Lo que descuenta cada operación es lo mismo por REST, SOAP, GraphQL y MCP —pagas por el dato, no por el protocolo—; la tabla completa está en Empezar.

POST /graphql

El historial de un RUT, solo

historial es un bloque con costo propio dentro de contribuyente: una consulta, como /v1/rut/{rut}/historial. Sin ningún otro campo, solo esa. Viene vacío mientras el RUT no haya cambiado desde historial_desde.

Solo el bloque del historial: una consulta, sin la ficha.

consulta.graphql
{
  contribuyente(rut: "61.704.000-K") {
    historial {
      cambios { publicado aspecto tipo campos antes despues }
      historial_desde
    }
  }
}
# consulta.graphql = el bloque de arriba (jq lo empaqueta)
curl -s -i https://api.datario.cl/graphql \
  -H "Authorization: Bearer dtr_TU_KEY" \
  -H "Content-Type: application/json" \
  --data "{\"query\": $(jq -Rs . consulta.graphql)}"

La respuesta, con su consumo

200 · data + extensions.consumo 200
{
  "data": {
    "contribuyente": {
      "historial": {
        "cambios": [],
        "historial_desde": null
      }
    }
  },
  "extensions": {
    "consumo": {
      "consultas_cobradas": 1,
      "ruts_resueltos": 0,
      "paginas_busqueda": 0,
      "plan_restante": 19999,
      "saldo_restante": 0,
      "por_operacion": {
        "historial": 1
      }
    }
  }
}

POST /graphql

Los cambios del padrón entre dos días

cambios cuesta por cambio DEVUELTO, mínimo una consulta por página, como /v1/cambios: va sola en su query (no se mezcla con campos de costo fijo), desde es obligatorio y la página se lee hasta donde el plan y el saldo alcanzan. consultas_cobradas dice lo que costó de verdad.

La página vacía descuenta una; con cambios, uno por cada uno.

consulta.graphql
{
  cambios(desde: "2026-08-01", hasta: "2026-08-31") {
    cambios { rut razon_social publicado aspecto tipo campos }
    hay_mas
    pagina_siguiente
  }
}
# consulta.graphql = el bloque de arriba (jq lo empaqueta)
curl -s -i https://api.datario.cl/graphql \
  -H "Authorization: Bearer dtr_TU_KEY" \
  -H "Content-Type: application/json" \
  --data "{\"query\": $(jq -Rs . consulta.graphql)}"

La respuesta, con su consumo

200 · data + extensions.consumo 200
{
  "data": {
    "cambios": {
      "cambios": [],
      "hay_mas": false,
      "pagina_siguiente": null
    }
  },
  "extensions": {
    "consumo": {
      "consultas_cobradas": 1,
      "ruts_resueltos": 0,
      "paginas_busqueda": 0,
      "plan_restante": 19999,
      "saldo_restante": 0,
      "por_operacion": {
        "cambios": 1
      }
    }
  }
}

Probar en la consola Este producto por REST Este producto por SOAP Este producto por MCP Qué es Cambios e historial