> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bedrock.cv/llms.txt
> Use this file to discover all available pages before exploring further.

# Job types

> All Vision API job types and their corresponding operations.

Every Vision API operation produces a job with a type identifier.

## Parse

| Job Type | Endpoint                           | Target                         |
| -------- | ---------------------------------- | ------------------------------ |
| `parse`  | [`POST /parse`](/vision-api/parse) | sheet, block, drawing, or file |

Parse jobs orchestrate the symbol detection pipeline. A parse job creates internal child jobs for legend parsing, symbol matching, and aggregation.

### Job Hierarchy

```
parse (parent)
  ├→ legend_parse (legend block A)
  ├→ legend_parse (legend block B)
  │   └→ [barrier: dedup symbols, fan out matches]
  ├→ symbol_match (symbol 1 × plan block 1)
  ├→ symbol_match (symbol 2 × plan block 1)
  ├→ symbol_match (symbol 1 × plan block 2)
  ├→ ...
  ├→ symbol_aggregate (plan block 1)  → fires parse.block.completed webhook
  ├→ symbol_aggregate (plan block 2)  → fires parse.block.completed webhook
  └→ [all aggregates done]            → fires parse.completed webhook
```

When targeting a file or drawing, a preprocessing step runs first:

```
parse (parent)
  └→ drawing_preprocess
       ├→ sheet_preprocess (page 1)
       │   └→ block_preprocess (block A, B, ...)
       ├→ sheet_preprocess (page 2)
       └→ ...
       └→ [preprocessing done, symbol pipeline starts]
```

## Overlay Generation

These jobs generate visual overlays between two drawing revisions at different scope levels:

| Job Type                          | Description                                            | Target       |
| --------------------------------- | ------------------------------------------------------ | ------------ |
| `vision.drawing.overlay.generate` | [Drawing overlay](/vision-api/overlay#drawing-overlay) | Two drawings |
| `vision.sheet.overlay.generate`   | [Sheet overlay](/vision-api/overlay#sheet-overlay)     | Two sheets   |
| `vision.block.overlay.generate`   | [Block overlay](/vision-api/overlay#block-overlay)     | Two blocks   |

Drawing-level overlay jobs create child sheet/block overlay jobs for each matched pair.

## Change Analysis

These jobs analyze changes on an existing overlay:

| Job Type                        | Description                                                | Input                         |
| ------------------------------- | ---------------------------------------------------------- | ----------------------------- |
| `vision.overlay.change.detect`  | [Analyze changes](/vision-api/overlay#analyze-changes)     | Overlay with change regions   |
| `vision.overlay.change.compile` | [Summarize changes](/vision-api/overlay#summarize-changes) | Overlay with analyzed changes |
