Para desarrolladores
Desarrolle con DocoMatic: lo que funciona hoy
Todavía no hay una API para clientes con claves.
Hoy puede leer nuestros datos públicos de accesibilidad sin cuenta y enviar documentos a su espacio de trabajo con un webhook firmado.
Si necesita más, únase a la lista de espera y cuéntenos qué construiría.
Lo que existe hoy
- Puntos de conexión de datos públicos
- Disponible
- Sin clave ni cuenta. Plazos y estadísticas de entidades en JSON.
- Ingesta por webhook firmado
- Disponible
- Envíe un archivo o una URL pública a su espacio de trabajo, firmado por conexión.
- Claves de API
- Solo carga
- Para el agente de carpeta vigilada. Una clave carga en una conexión y no puede hacer nada más.
- API para clientes: trabajos, estado, informes
- Lista de espera
- No está construida. Sin fecha.
En qué punto estamos
En qué punto está la API
Actualizado el 18 de septiembre de 2026

Una API completa para clientes — puntos de conexión versionados para enviar documentos y obtener informes, claves con permisos acotados, entorno de pruebas y webhooks de eventos salientes — no está disponible hoy en DocoMatic. No publicamos una fecha.
Las claves de API en la configuración de su espacio de trabajo no son esa API. Una clave permite que el agente de carpeta vigilada de DocoMatic cargue documentos en una conexión de carpeta vigilada, y nada más: no puede leer sus documentos, cambiar la configuración ni gastar créditos en otra cosa que las cargas que realiza.
DocoMatic no llama a sus sistemas. Nada avisa a su URL cuando un documento termina; el estado se consulta en la aplicación.
Lo que puede usar ahora está abajo: los puntos de conexión de datos públicos y la ingesta por webhook firmado, una de nuestras integraciones disponibles. Para probar un solo PDF a mano, use el verificador de accesibilidad gratuito. Ambos forman parte de la plataforma de accesibilidad de documentos.
Datos públicos · sin clave
Puntos de conexión de datos públicos
JSON de solo lectura, sin clave ni cuenta, servido desde este sitio. Úselo para citar plazos o mostrar las estadísticas de documentos de una entidad pública.
GET /api/public/deadlines.jsonPlazos de cumplimiento de accesibilidad para EE. UU., Canadá y la UE, cada uno con la URL de su fuente primaria.# Accessibility deadline catalog (US, Canada, EU), each entry
# with its primary-source URL. No key, no account, CORS enabled.
curl https://www.docomatic.ai/api/public/deadlines.jsonLos campos cohortKey y labelKey nombran nuestras propias cadenas de traducción, no etiquetas legibles. Apóyese en regulation, jurisdiction y date, y siga sourceUrl para el texto de la norma. Se muestra una entrada de 7.
{
"version": 1,
"generatedAt": "2026-09-18T00:00:00.000Z",
"source": "api-with-fallback",
"canonical": "https://www.docomatic.ai/api/public/deadlines.json",
"deadlines": [
{
"id": "ada-title-ii-large",
"jurisdiction": "US",
"regulation": "ada-title-ii",
"cohortKey": "deadlines.cohorts.adaTitleIiLarge",
"date": "2027-04-26",
"sourceUrl": "https://www.federalregister.gov/documents/2026/04/20/2026-07663/extension-of-compliance-dates-for-nondiscrimination-on-the-basis-of-disability-accessibility-of-web",
"sourceCitation": "91 FR 20902 (April 20, 2026), amending 28 CFR 35.200(b)",
"originalRuleUrl": "https://www.federalregister.gov/documents/2024/04/24/2024-07758/nondiscrimination-on-the-basis-of-disability-accessibility-of-web-information-and-services-of-state",
"originalRuleCitation": "89 FR 31320 (April 24, 2024)",
"labelKey": "deadlines.labels.adaTitleIiLarge"
}
]
}GET /api/public/entity/{id-or-slug}.jsonEl registro de una entidad pública y las estadísticas de su último rastreo, por identificador corto o por ID. Una entidad desconocida devuelve un 404 en JSON.# One public entity's registry row and its latest crawl
# statistics. Slug or UUID; the .json suffix is required.
curl https://www.docomatic.ai/api/public/entity/fresno-unified-school-district.jsonLos recuentos provienen del rastreo detrás del monitoreo de documentos: lo que se encontró en el sitio web de la entidad, por formato y por categoría, más una tasa de aprobación muestreada. Los campos que no aparecen aquí se omitieron, no están ocultos.
{
"error": "entity not found",
"id": "no-such-entity.json"
}{
"version": 1,
"generatedAt": "2026-09-18T00:00:00.000Z",
"source": "api-with-fallback",
"canonical": "https://www.docomatic.ai/api/public/entity/e4420e3f-7595-4c6a-ac6f-383717e56ad4.json",
"page": "https://www.docomatic.ai/deadline/us/ca/school-district/fresno-unified-school-district",
"entity": {
"id": "e4420e3f-7595-4c6a-ac6f-383717e56ad4",
"name": "Fresno Unified School District",
"slug": "fresno-unified-school-district",
"state": "CA",
"entityType": "school-district",
"population": 402208,
"deadlineCohort": "2027",
"officialWebsite": "https://www.fresnounified.org",
"status": "published",
"documentsFound": 800,
"byFormat": {
"pdf": 790,
"docx": 7,
"pptx": 1,
"xlsx": 2
},
"estimatedPages": 6832,
"sampledCount": 42,
"samplePassRate": 0.2857,
"lastCrawledAt": "2026-09-18T00:44:32Z"
}
}Las respuestas son JSON y permiten solicitudes entre orígenes. Los campos pueden cambiar mientras estos puntos de conexión son jóvenes, así que lea solo los que necesite.
Las respuestas se guardan en caché cinco minutos en el navegador y hasta una hora en el borde, así que consultar con más frecuencia devuelve los mismos bytes.
Uso de los datos
Uso de los datos públicos de plazos
deadlines.json es gratuito, sin clave y accesible entre orígenes, y cada entrada lleva la URL de su fuente primaria. Úselo en una página de intranet, en un panel de cumplimiento o en el portal de clientes de una consultora.
- Lo que pedimos
- Cite la fuente primaria, no a nosotros. El valor está en que cada plazo enlaza con la norma de la que proviene. Si lo atribuye a DocoMatic, enlace a esta página para que la gente pueda comprobarlo por sí misma.
- Lo que no prometemos
- Que sea jurídicamente completo para su jurisdicción. Es un catálogo con sus fuentes, mantenido porque nosotros mismos lo necesitábamos. La determinación la hace su asesor legal.
No es asesoramiento legal. DocoMatic publica estos datos como información general para equipos de accesibilidad, gestión documental y TI. Para decisiones sobre las obligaciones de su entidad, apóyese en las fuentes primarias enlazadas en cada entrada y consulte a su abogado.
Cuerpo → HMAC → encabezado → POST
Ingesta por webhook firmado
Envíe documentos a su espacio de trabajo desde sus propios sistemas. Cree una conexión Webhook / API en la pantalla Integraciones de la aplicación para obtener un ID de conexión y un secreto de firma; el secreto se muestra una sola vez. La misma pantalla muestra la URL completa del punto de ingesta, que los ejemplos llaman DOCOMATIC_INGEST_URL.
POST /connectors/ingestEnvíe un archivo por solicitud (PDF, PNG o JPEG), o un cuerpo JSON con la URL pública de un archivo.Firme cada solicitud con un HMAC-SHA256 del cuerpo sin procesar de la solicitud, usando el secreto de la conexión como clave, y envíelo en el encabezado X-Docomatic-Signature como sha256= seguido del resumen en hexadecimal. Un archivo que ya llegó se reconoce por su huella y no se importa dos veces. Si la conexión tiene activada la remediación al ingresar, cada documento nuevo se remedia al nivel que eligió.
# Connection id, signing secret and the ingest URL (ending in
# /connectors/ingest) come from the Integrations screen when
# you create a "Webhook / API" connection. The secret is shown once.
FILE=board-packet-2026-09.pdf
# HMAC-SHA256 of the exact bytes you will send, as hex.
SIG="sha256=$(openssl dgst -sha256 -hmac "$DOCOMATIC_SECRET" "$FILE" | sed 's/^.*= //')"# Push the file itself. Accepted content types:
# application/pdf, image/png, image/jpeg.
# X-Source-Id is optional: a stable id of your own, so a
# changed file replaces the earlier version instead of
# becoming a second document.
curl -X POST "$DOCOMATIC_INGEST_URL" \
-H "X-Docomatic-Connection: $DOCOMATIC_CONNECTION_ID" \
-H "X-Docomatic-Signature: $SIG" \
-H "X-File-Name: $FILE" \
-H "X-Source-Id: board-packet-2026-09" \
-H "Content-Type: application/pdf" \
--data-binary "@$FILE"# Or hand us a public URL instead of the bytes. The signature
# covers the raw JSON body, not the file. Private and link-local
# hosts are refused.
printf '%s' '{"url":"https://example.gov/agendas/2026-09.pdf"}' > body.json
SIG="sha256=$(openssl dgst -sha256 -hmac "$DOCOMATIC_SECRET" body.json | sed 's/^.*= //')"
curl -X POST "$DOCOMATIC_INGEST_URL" \
-H "X-Docomatic-Connection: $DOCOMATIC_CONNECTION_ID" \
-H "X-Docomatic-Signature: $SIG" \
-H "Content-Type: application/json" \
--data-binary "@body.json"Firme el cuerpo JSON en lugar del archivo.
Qué devuelve una llamada correcta
{
"outcome": "ingested",
"documentId": "a551abb2-e141-4db9-aa84-3933abe8b4eb",
"versionId": "63c06fc2-67c2-42bc-af56-a78178fc4551",
"versionNo": 1,
"sha256": "7d5371d3d9d5588cdb4c7851773488380aa8e9644001ad32ba5dad8084272746",
"syncId": "d8aadb2f-4dfe-4761-9e23-4cd6e1add414"
}outcome toma uno de tres valores:
ingested: se creó un documento nuevo y se envió por la canalización.replaced: envió unX-Source-Idestable ya usado antes con bytes distintos, así que el documento existente recibió una versión nueva en lugar de un duplicado.unchanged: idéntico byte a byte a un archivo que esta conexión ya ingirió. No se importó nada y no se cobra nada; se devuelve eldocumentIdexistente.
Qué puede fallar, y cómo lo sabrá
Cada rechazo es un 4xx con un cuerpo JSON que lleva un código error y, normalmente, una frase detail. Dos respuestas vienen del servidor web antes de que la solicitud llegue al punto de conexión y llevan statusCode y message en su lugar.
| Estado | Código de error | Significado | Qué hacer |
|---|---|---|---|
| 400 | empty_body | El cuerpo de la solicitud estaba vacío. | Envíe los bytes del archivo, o un cuerpo JSON con una url. |
| 400 | missing_file_name | Se envió un archivo sin el encabezado X-File-Name. | Agregue X-File-Name con el nombre y la extensión del archivo. |
| 400 | invalid_body | El cuerpo JSON no tiene una cadena url, o un campo tiene la forma incorrecta. | Envíe un objeto JSON con una cadena url; filename y sourceId son cadenas opcionales. |
| 400 | url_not_allowed | La URL no es http(s), o apunta a un host privado, de bucle local o de enlace local. | Use una URL que se resuelva públicamente. |
| 400 | url_fetch_failed | La URL respondió, pero no con el archivo; detail lleva el estado HTTP del origen. | Compruebe la URL en un navegador sin haber iniciado sesión en el sistema de origen. |
| 401 | missing_credentials | No se envió ni X-Docomatic-Connection con X-Docomatic-Signature ni un token de agente. | Envíe ambos encabezados de la pantalla Integraciones. |
| 401 | invalid_connection | Ninguna conexión Webhook / API activa tiene ese ID; puede haberse desconectado. | Revise la conexión en la pantalla Integraciones. |
| 401 | invalid_signature | La firma no coincide con el cuerpo sin procesar. | Firme exactamente los bytes que envía con el secreto de esta conexión, y envíe sha256= más 64 caracteres hexadecimales. |
| 409 | processing_paused | Su espacio de trabajo tiene pagos vencidos, así que la ingesta nueva está en pausa; un espacio suspendido o cerrado responde aquí también. | Regularice la cuenta y vuelva a enviar. |
| 413 | — | El cuerpo supera los 100 MB. Se rechaza antes de comprobar la firma. | Divida el documento, o envíe una URL en lugar de los bytes. |
| 415 | unsupported_type | El tipo de contenido no es PDF, PNG ni JPEG. | Convierta primero; DOCX, PPTX y XLSX no se aceptan en la ingesta hoy. |
| 500 | — | El host de la URL no pudo alcanzarse en absoluto — fallo de DNS o sin ruta — y el servidor no lo tradujo a un 4xx. | Compruebe que el host se resuelve desde la internet pública y vuelva a enviar. |
La ingesta por webhook solo trae documentos. El estado, los informes y los archivos remediados están disponibles en la aplicación DocoMatic; todavía no hay una API para leerlos.
Honestos sobre los límites
Límites y versiones
- Puntos de conexión de datos públicos
- Sin clave ni cuenta, entre orígenes. Hoy no hay un límite de frecuencia publicado; son JSON en caché, así que consultar más rápido que la caché de cinco minutos devuelve los mismos bytes. Cada respuesta lleva un campo
version, actualmente 1. Los campos pueden cambiar mientras estos puntos de conexión son jóvenes, así que lea solo los que necesite. Cuando se estabilicen, los versionaremos y lo diremos aquí. - Ingesta por webhook
- Un archivo por solicitud y un cuerpo de como máximo 100 MB; un cuerpo mayor se rechaza con un 413 antes de leer la firma. Hoy no hay un límite de frecuencia publicado para la ingesta firmada ni una cuota por conexión. El tráfico de la aplicación con sesión iniciada está limitado a 600 solicitudes por minuto por espacio de trabajo, que nuestro equipo puede elevar; ese límite no cuenta los envíos de ingesta.
- Cambios incompatibles
- Todavía no hay una política formal de desuso. Esta página es el registro de cambios: cuando cambie un campo o un código de estado, la entrada y su fecha se agregan aquí, y la fecha del inicio de la página avanza.
- OpenAPI
- No hay un documento OpenAPI redactado para clientes. La referencia generada automáticamente por la API se enlaza desde la pantalla Integraciones una vez que tiene una conexión de webhook; describe toda la plataforma, incluidas rutas que usted no puede llamar, así que trate esta página como la referencia de lo que puede usar.
La lista de espera
Únase a la lista de espera de la API para desarrolladores
Deje su correo de trabajo y le escribiremos cuando haya una API para clientes lista para probar. Unirse lo agrega a una lista que mantenemos a mano: no hay respuesta automática, ni programa beta, ni fecha.
¿Compra para una organización grande?
Reservar una demostración de 20 minutos(se abre en una pestaña nueva)Por página, en créditos
Precios
Los puntos de conexión de datos públicos son gratuitos. Los documentos que llegan por webhook se facturan como las cargas manuales: créditos por página según el nivel, solo cuando se remedian y solo por un resultado verificado. Si remedia para clientes, vea DocoMatic para agencias y consultores.
No se le cobra por un documento que no supera la verificación. Cómo funciona la regla de no cobro.
El pago con tarjeta llegará con el lanzamiento de nuestra facturación. Hoy, los planes y créditos se acuerdan por cotización y se pagan con orden de compra.
¿Hay una API de DocoMatic que pueda usar hoy?
¿Cómo me autentico?
¿Hay un entorno de pruebas?
¿Cuándo estará disponible una API completa?
¿Dónde está la documentación?
¿Qué devuelve el punto de ingesta?
¿Cuáles son los límites de frecuencia?
¿Hay una especificación OpenAPI?
¿Puedo leer informes o el estado de los trabajos de forma programática?
Lo que viene después
¿Quiere más que la ingesta?
Únase a la lista de espera y cuéntenos qué construiría, o conecte una fuente hoy en la página de integraciones, parte de la plataforma de accesibilidad de documentos.
