Skip to main content

List Gates

List approval gates that aggregate validation checks and control whether records require manual approval before delivery.

Approval gates sit between extraction and delivery. Each gate aggregates one or more rules (e.g. minimum confidence threshold, validation pass rate) and decides whether structuring results are auto-approved for delivery or queued for human review. Gates can be scoped to a specific schema and optionally linked to a delivery destination.

Gates without any rules will auto-approve all results. Add at least one rule to enforce quality thresholds before delivery.
GET/v1/structuring/gates

Response

Response fields

dataarrayArray of approval gate objects.
data[].idstringGate UUID.
data[].namestringGate name.
data[].user_schema_idstring | nullSchema scope for this gate, if any.
data[].destination_idstring | nullDelivery destination linked to this gate, if any.
data[].on_approvestringAction on approval (e.g. export).
data[].on_flagstringAction on flag (e.g. queue).
data[].auto_approve_after_hoursnumber | nullHours after which pending items auto-approve.
data[].is_activebooleanWhether the gate is active.
data[].rulesarrayActive rules attached to this gate.
data[].rules[].idstringRule UUID.
data[].rules[].namestringRule name.
data[].rules[].typestringRule type (e.g. min_confidence, validation_pass_rate, field_coverage).
data[].rules[].configobject | nullRule configuration.
data[].rules[].sort_orderintegerRule evaluation order.
data[].created_atstringISO 8601 creation timestamp.
data[].updated_atstringISO 8601 last update timestamp.
data[].linksobjectRelated resource URLs (self, rules).

Response

{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Finance approval gate",
      "user_schema_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "destination_id": null,
      "on_approve": "export",
      "on_flag": "queue",
      "auto_approve_after_hours": null,
      "is_active": true,
      "rules": [
        {
          "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
          "name": "Minimum confidence",
          "type": "min_confidence",
          "config": { "threshold": 0.85 },
          "sort_order": 0
        }
      ],
      "created_at": "2024-09-01T10:00:00.000Z",
      "updated_at": "2024-09-01T10:00:00.000Z",
      "links": {
        "self": "/v1/structuring/gates/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "rules": "/v1/structuring/gates/a1b2c3d4-e5f6-7890-abcd-ef1234567890/rules"
      }
    }
  ]
}

Errors

Error responses

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

Each gate embeds its active rules array, so you can inspect thresholds without a separate fetch. Use the schema_id query parameter to find which gates apply to a specific schema, then follow the links.rules URL to manage individual rules via POST /v1/structuring/gates/{id}/rules.