Desarrolladores
Referencia de API
Catálogo completo de la API Pública de Inkspectra v1 — 9 endpoints para análisis, contratos y comparaciones.
Catálogo
9 endpoints
Todos los recursos están limitados a la organización autenticada y aislados por modo (las claves test nunca leen datos live). Handles: ana_* para análisis, ctr_* para contratos, cmp_* para comparaciones.
URL base: https://alpha.inkspectra.com/_api/v1
/v1/analysesanalyses:writeCreate an analysis
Analyze a contract from text, URL, or PDF (multipart/form-data). Returns 202 immediately with an ana_* handle to poll. Test keys run a deterministic mock engine; live keys run the full LLM pipeline.
Cuerpo de solicitud
{ sourceType, text?, url?, title?, forceReanalysis? } or multipart { file, title? }Respuesta 202
{ analysisId: "ana_*", status: "queued", links: { self, result } }/v1/analysesanalyses:readList analyses
List analyses for the authenticated API key, newest first. Results are isolated by organization and mode (test keys never see live analyses).
Parámetros
limitquery · optional1–100, default 20cursorquery · optionalOpaque pagination cursor from nextCursorstatusquery · optionalqueued | processing | completed | failedRespuesta 200
{ data: AnalysisListItem[], nextCursor? }/v1/analyses/{analysisId}analyses:readGet analysis status and metadata
Returns current status, sourceType, mode, and executionMode. Poll this until status is "completed" or "failed", then fetch the result.
Parámetros
analysisIdpath · requiredana_* handleRespuesta 200
{ analysisId, status, title?, sourceType, mode, executionMode, createdAt }/v1/analyses/{analysisId}/resultanalyses:readGet structured analysis result
Returns the full analysis output: summary, risk score, risks, obligations, key dates, and evidence. Only available when status is "completed".
Parámetros
analysisIdpath · requiredana_* handleRespuesta 200
{ analysisId, status, summary, riskScore, risks[], obligations[], keyDates[], evidence[], mock? }/v1/contractscontracts:writeSave an analysis as a contract
Persists a completed analysis (ana_*) as a real contract (ctr_*) with version tracking. Idempotent: re-submitting the same analysisId returns the existing contract with 200.
Cuerpo de solicitud
{ analysisId: "ana_*" }Respuesta 201
{ contractId: "ctr_*", versionNumber: 1, analysisId, links: { self } }/v1/contractscontracts:readList contracts
List saved contracts for the authenticated API key, newest first. Results are isolated by organization and mode.
Parámetros
limitquery · optional1–100, default 20cursorquery · optionalOpaque pagination cursorRespuesta 200
{ data: ContractListItem[], nextCursor? }/v1/contracts/{contractId}contracts:readGet a contract
Returns contract details including title, category, risk score, and the current version's analysisId.
Parámetros
contractIdpath · requiredctr_* handleRespuesta 200
{ contractId, title?, status, riskScore?, currentVersion: { versionNumber, analysisId }, createdAt }/v1/comparisonscomparisons:writeCompare two contracts or analyses
Compares two sides synchronously. Each side is either a contract handle (ctr_*, optionally a versionNumber) or an analysis handle (ana_*). Both sides must be completed and share the same mode. Returns cmp_* with a resolved field showing exactly which versions were compared.
Cuerpo de solicitud
{ left: { contractId? | analysisId?, versionNumber? }, right: { contractId? | analysisId?, versionNumber? } }Respuesta 201
{ comparisonId: "cmp_*", status, resolved: { left, right }, links: { self } }/v1/comparisons/{comparisonId}comparisons:readGet a comparison
Returns the comparison result including summary, score, recommendation, per-dimension breakdown, and the resolved sides (which analysis versions were actually compared).
Parámetros
comparisonIdpath · requiredcmp_* handleRespuesta 200
{ comparisonId, status, executionMode, summary, score, dimensions[], resolved: { left, right }, createdAt }Notas
Conceptos clave
Convenciones que aplican a todos los endpoints.
Autenticación
Todos los endpoints requieren una clave fpk_test_* o fpk_live_* válida mediante Authorization: Bearer o header X-Api-Key.
Aislamiento test vs live
El prefijo de la clave determina el modo de ejecución. Las claves test siempre usan datos mock — sin llamadas LLM ni facturación. Los recursos están completamente aislados entre modos.
Handles opacos
ana_*, ctr_* y cmp_* son UUIDs codificados en base64url. Trátelos como cadenas opacas — no analices el UUID interno.
Paginación por cursor
Todos los endpoints de listado devuelven nextCursor (null cuando se agota). Pasa cursor en la siguiente solicitud para continuar. Los cursores son opacos y de vida corta.
¿Listo para construir?
Sigue el Quickstart para ejecutar tu primer análisis de extremo a extremo, o consulta el catálogo completo de errores.