Robin AI · Capability

Contract Extraction

Contract Extraction is a Naftiko capability published by Robin AI, one of 2 capabilities the APIs.io network indexes for this provider.

Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Run with Naftiko

Capability Spec

contract-extraction.yaml Raw ↑
name: contract-extraction
description: >-
  Run bulk structured extraction across a portfolio of contracts using Robin
  AI's Tables API. Uploads source documents, creates a Table from a reusable
  Template, builds it, and pages through structured Results with clickable
  Citations.
provider: robin-ai
api: robin-legal-intelligence-platform-api
version: 0.1.0
auth:
  type: apiKey
  header: X-API-Key
steps:
  - id: upload-document
    summary: Upload a contract PDF or Word file
    operation: createDocument
    method: POST
    path: /v1/documents
    contentType: multipart/form-data
    inputs:
      file: { type: binary, required: true }
      group_id: { type: string, required: false }
    outputs:
      document_id: $.id
  - id: list-templates
    summary: Discover a reusable extraction template
    operation: listTemplates
    method: GET
    path: /v1/templates
    outputs:
      template_id: $.templates[0].id
  - id: create-table
    summary: Create an extraction Table from a Template and document IDs
    operation: createTable
    method: POST
    path: /v1/tables
    body:
      name: { from: input.table_name }
      template_id: { from: steps.list-templates.template_id }
      document_ids: { from: [steps.upload-document.document_id] }
      include_citations: true
    outputs:
      table_id: $.id
  - id: build-table
    summary: Kick off the extraction job
    operation: buildTable
    method: PUT
    path: /v1/tables/{table_id}/build
    pathParams:
      table_id: { from: steps.create-table.table_id }
  - id: poll-table
    summary: Poll until the Table reaches a terminal status
    operation: getTable
    method: GET
    path: /v1/tables/{table_id}
    pathParams:
      table_id: { from: steps.create-table.table_id }
    until: $.table.status in ['completed', 'failed', 'cancelled']
    intervalSeconds: 5
  - id: list-results
    summary: Page through structured extraction results with citations
    operation: listTableResults
    method: GET
    path: /v1/tables/{table_id}/results
    pathParams:
      table_id: { from: steps.create-table.table_id }
    query:
      status: completed
      limit: 1000
    outputs:
      results: $.results