POST
/
extract
/
{document_type}
/
{config_name}

Authorizations

Authorization
string
headerrequired

Sensible uses API keys to authenticate requests. Keep your API keys secure and do not share them publicly accessible areas such as GitHub, client-side code, etc. Authentication to the API is performed via Bearer Authentication. Provide your API key as the bearer auth value.

Path Parameters

document_type
string
required

Type of document to extract from. Create your custom type in the Sensible app (for example, rate_confirmation, certificate_of_insurance, or home_inspection_report). To quickly test this endpoint using the Try It button in this interactive explorer, use the senseml_basics tutorial document type with this example document. As a convenience, Sensible automatically detects the best-fit extraction from among the extraction queries ("configs") in the document type. For example, if you create an auto_insurance_quotes document type, you can add carrier 1, carrier 2, and carrier 3 configs to the document type in the Sensible app. Then, you can extract data from all these carriers using the same document type, without specifying the carrier in the API request.

config_name
string
required

User-friendly name of the config to use to extract data from the document.

Query Parameters

environment
enum<string>
default: production

If you specify development, extracts preferentially using config versions published to the development environment in the Sensible app. The extraction runs all configs in the doc type before picking the best fit. For each config, falls back to production version if no development version of the config exists.

Available options:
production,
development
document_name
string

If you specify the filename of the document using this parameter, then Sensible returns the filename in the extraction response.

Body

The body is of type file.

Response

200 - application/json
id
string

Unique ID for the extraction, used to retrieve the extraction

created
string

Date and time Sensible created the initial empty extraction and set its status to WAITING.

type
string

Unique user-friendly name for a document type

status
enum<string>

Status of the extraction:

  • WAITING: Sensible created an initial empty extraction and is waiting for the document.
  • PROCESSING: Sensible received the document and is extracting data.
  • FAILED: The extraction failed.
  • COMPLETE: The extraction is complete.
Available options:
WAITING,
PROCESSING,
COMPLETE,
FAILED
configuration
string

Name of the "configuration", a collection of SenseML queries for extracting document data.

parsed_document
object

Data extracted from the document, structured as an array of fields. Configure the verbosity parameter in the SenseML configuration to return extraction metadata, such as:

  • page numbers
  • the bounding polygons that define line coordinates
  • for text that Sensible OCR'd, confidence scores. For more information, see Verbosity.
validations
object[]

Which extracted fields failed validation rules you write in the Sensible app

file_metadata
object

Metadata about the PDF file, for example author, authoring tool, and modified date.

validation_summary
object

Summary of the extracted fields that fail validation rules you write in the Sensible app.

errors
object[]

Extraction error messages.

completed
string

Date and time Sensible set the extraction's status to COMPLETED

classification_summary
object[]

Metadata about how Sensible scores configs against the document to extract from. By default, Sensible compares all configs in the document type, then chooses the best extraction using fingerprints, scores, or a combination of the two. When two extractions tie by score and fingerprints, Sensible chooses the first configuration in alphabetic order. For more information, see fingerprints.

page_count
integer

Total number of pages in the document.

environment
string

Name of the environment to which the configuration used by this extraction was published.

document_name
string

If you specify the filename of the document using the document_name parameter, then Sensible displays the name in extraction history in the Sensible app and returns the name in the extraction response.

coverage
number

The coverage score measures how fully an extraction captured all your target data in the document. It's a percentage comparing non-null, validated fields to total fields returned by a config for a document. For example, a coverage score of 70% for an extraction with no validation errors means that 30% of fields were null. For more information about scoring, see Monitoring extractions.