sensible-so · Schema

SensibleExtraction

An asynchronous-extraction record returned by the Sensible API. Captures status, parsed_document, validations, and source linkage.

Properties

Name Type Description
id string Unique extraction identifier returned by Sensible.
type string Document type slug (e.g. bank_statement, acord_25, rate_confirmation).
configuration string Name of the SenseML configuration that produced the extraction.
environment string Sensible publication environment that ran the config.
status string Current extraction status. Poll until COMPLETE or FAILED.
created_at string
updated_at string
document_name stringnull
download_link stringnull Pre-signed S3 URL for downloading the source document.
parsed_document objectnull Field-name → parsed field. Null until extraction completes.
validations arraynull
review_status stringnull
coverage numbernull Fraction of fields in the config that returned a non-null value.
View JSON Schema on GitHub

JSON Schema

sensible-so-extraction-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sensible-so/main/json-schema/sensible-so-extraction-schema.json",
  "title": "SensibleExtraction",
  "description": "An asynchronous-extraction record returned by the Sensible API. Captures status, parsed_document, validations, and source linkage.",
  "type": "object",
  "required": ["id", "type", "status"],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique extraction identifier returned by Sensible."
    },
    "type": {
      "type": "string",
      "description": "Document type slug (e.g. bank_statement, acord_25, rate_confirmation)."
    },
    "configuration": {
      "type": "string",
      "description": "Name of the SenseML configuration that produced the extraction."
    },
    "environment": {
      "type": "string",
      "enum": ["production", "development"],
      "description": "Sensible publication environment that ran the config."
    },
    "status": {
      "type": "string",
      "enum": ["WAITING", "PROCESSING", "FAILED", "COMPLETE"],
      "description": "Current extraction status. Poll until COMPLETE or FAILED."
    },
    "created_at": { "type": "string", "format": "date-time" },
    "updated_at": { "type": "string", "format": "date-time" },
    "document_name": { "type": ["string", "null"] },
    "download_link": {
      "type": ["string", "null"],
      "format": "uri",
      "description": "Pre-signed S3 URL for downloading the source document."
    },
    "parsed_document": {
      "type": ["object", "null"],
      "additionalProperties": {
        "$ref": "#/definitions/ParsedField"
      },
      "description": "Field-name → parsed field. Null until extraction completes."
    },
    "validations": {
      "type": ["array", "null"],
      "items": { "$ref": "#/definitions/Validation" }
    },
    "review_status": {
      "type": ["string", "null"],
      "enum": [null, "UNREVIEWED", "IN_REVIEW", "APPROVED", "REJECTED"]
    },
    "coverage": {
      "type": ["number", "null"],
      "minimum": 0,
      "maximum": 1,
      "description": "Fraction of fields in the config that returned a non-null value."
    }
  },
  "definitions": {
    "ParsedField": {
      "type": "object",
      "required": ["type"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["string", "number", "integer", "boolean", "date", "currency", "address", "name", "phone_number", "row", "table"]
        },
        "value": {
          "description": "Parsed value (typed) or null if not found."
        },
        "source": {
          "type": "object",
          "description": "Optional source coordinates / line traceability."
        },
        "confidence": {
          "type": "object",
          "description": "Optional confidence scoring for LLM-based methods."
        }
      }
    },
    "Validation": {
      "type": "object",
      "required": ["severity"],
      "properties": {
        "description": { "type": "string" },
        "severity": { "type": "string", "enum": ["error", "warning", "info"] },
        "fields": { "type": "array", "items": { "type": "string" } },
        "passed": { "type": "boolean" }
      }
    }
  }
}