Skip to main content
POST
/
projects
/
{project_name}
/
tables
/
{table_id}
/
reconcile
Synchronous reconciliation run
curl --request POST \
  --url https://api.cloudsquid.io/api/projects/{project_name}/tables/{table_id}/reconcile \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "data": {},
  "files": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ]
}
'
{
  "data": {},
  "created_at": "2023-11-07T05:31:56Z",
  "row_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "reasoning": "<string>",
  "review": {
    "comment": "<string>",
    "reviewed_by": "<string>",
    "review_date": "2023-11-07T05:31:56Z",
    "approved": true
  },
  "status": "running",
  "input": {
    "data": {},
    "files": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      }
    ]
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.cloudsquid.io/llms.txt

Use this file to discover all available pages before exploring further.

This is a blocking call — the HTTP connection stays open until the reconciliation agent completes. For long-running tasks, use the async run pattern with a Reconcile table instead.

What reconciliation does

The reconciliation agent receives your data payload, compares it against the reference data in the associated Storage table, and returns a structured match result. Use this to validate extracted fields, match invoice lines to purchase orders, or flag discrepancies automatically.

Input: AgentJobInput

Pass data (an arbitrary JSON object), files (references to extraction table rows by UUID), or both.

Example

import requests

response = requests.post(
    "https://api.cloudsquid.io/api/projects/my-project/tables/RECONCILE_TABLE_ID/reconcile",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "data": {
            "vendor": "Acme Corp",
            "invoice_amount": 4500.00,
            "invoice_number": "INV-2024-001"
        }
    }
)
print(response.json())
To reference rows from an extraction table, include a files array:
{
  "data": {},
  "files": [
    { "id": "extraction-row-uuid" }
  ]
}

Authorizations

X-API-Key
string
header
required

Path Parameters

project_name
string
required

The name of the project

table_id
string<uuid>
required

The ID of the table

Body

application/json
data
object
required

Arbitrary data payload

files
object[]

Filesystem object references

Response

Successfully reconciled data

data
object
required

Object with direct values for each key, allowing single values or arrays of values.

created_at
string<date-time>
required
row_id
string<uuid>
required
reasoning
string
review
object
status
enum<string>

status of the AI run

Available options:
running,
done,
error,
pending
input
object