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