# Extraction schema

An **extraction schema** is the set of fields you want pulled out of every document — the column
definitions of the table you are building.

## Shape

```json
{ "object": "extraction_schema", "id": "exsc_2hq7bnv6ld", "name": "RCT screening",
  "fields": [
    { "name": "sample_size", "type": "integer", "description": "Total participants enrolled" },
    { "name": "intervention", "type": "string", "description": "The treatment being tested" },
    { "name": "is_randomized", "type": "boolean", "description": "Was allocation randomized?" }
  ] }
```

## Field types

`string` · `integer` · `number` · `boolean` · `date` · `enum` · `string[]`
Nested objects are not supported in v1. A schema may hold up to 50 fields.

## Writing good descriptions

The `description` is the instruction the extractor follows — it matters more than the field name.
Say what counts and what does not, and name the unit.

## Every cell is cited

Extraction rows return a Citation per value, so a reviewer can verify any cell against
the source page. A field the extractor could not find returns `null` with no citation — never a guess.

## Related

extractions · batch-extraction · citation
