Skip to main content

List Checks

List structuring validation checks with GET /v1/structuring/checks. Checks define in-pipeline rules: field_format, value_range, cross_field, ai_coherence.

A validation check is an in-pipeline data quality rule that runs automatically against every structuring result before delivery. This is in-pipeline validation, distinct from Benchmarks (the /v1/validation namespace), which measure extraction accuracy against Ground Truth after the fact. GET /v1/structuring/checks lists all checks configured for your organization; together with review gates, they decide whether a record auto-approves or waits for human review.

Checks are evaluated against every structuring result to flag data quality issues before delivery. Each check is scoped to a schema, so you can apply different validation logic per document type. The wider structuring surface also exposes per-result check outcomes, the pending review queue, approve/reject actions, and a manual delivery trigger for an approved run.

  • field_format — validates that a field value matches an expected pattern (e.g. date format, currency code)
  • value_range — ensures numeric or date values fall within defined bounds
  • cross_field — validates relationships between two or more fields (e.g. end_date > start_date)
  • ai_coherence — uses an LLM to assess whether extracted values are semantically plausible
GET/v1/structuring/checks

Query parameters

schema_iduuidFilter checks by schema scope.

Response

Response fields

dataarrayArray of validation check objects, ordered by sort_order then created_at.
data[].idstringCheck UUID.
data[].user_schema_idstring | nullSchema scope for this check, if any.
data[].namestringCheck name.
data[].descriptionstring | nullOptional description.
data[].typestringCheck type: field_format, value_range, cross_field, or ai_coherence.
data[].severitystringSeverity level: warning or error.
data[].configobject | nullType-specific configuration object.
data[].is_activebooleanWhether the check runs against new results.
data[].sort_orderintegerDisplay and evaluation order.
data[].created_atstringISO 8601 creation timestamp.
data[].updated_atstringISO 8601 last update timestamp.
data[].linksobjectRelated resource URLs (self).

Response

{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "user_schema_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Amount range check",
      "description": "Validates total amount is within expected range",
      "type": "value_range",
      "severity": "warning",
      "config": { "field": "total_amount", "min": 0, "max": 1000000 },
      "is_active": true,
      "sort_order": 0,
      "created_at": "2024-09-01T10:00:00.000Z",
      "updated_at": "2024-09-01T10:00:00.000Z",
      "links": {
        "self": "/v1/structuring/checks/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    }
  ]
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.