> ## 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.

# Filtering

> Filter list results by status, type, date range, and related resources.

All list endpoints accept query parameters to filter results. Filters are combined with AND logic — only records matching all specified filters are returned.

## Common Filters

These filters are available on most list endpoints:

| Parameter | Type | Description |
| - | - | - |
| `created_after` | datetime | Only records created after this timestamp (ISO 8601) |
| `created_before` | datetime | Only records created before this timestamp (ISO 8601) |

```bash theme={null}
# Drawings created in the last 7 days
curl "https://api.bedrock.cv/drawings?project_id=prj_01X&created_after=2024-01-08T00:00:00Z" \
  -H "Authorization: Bearer sk_xxx"
```

## Resource-Specific Filters

### Jobs

| Parameter | Type | Description |
| - | - | - |
| `project_id` | string | Jobs in this project |
| `status` | string | Filter by status: `Queued`, `Started`, `Completed`, `Failed`, `Canceled` |
| `type` | string | Filter by job type (e.g., `compare`) |
| `target_type` | string | Filter by target resource type: `drawing`, `sheet`, `block`, `overlay` |
| `target_id` | string | Filter by target resource ID |
| `parent_id` | string | Child jobs of a parent job |

```bash theme={null}
# All failed compare jobs in a project
curl "https://api.bedrock.cv/jobs?project_id=prj_01X&status=Failed&type=compare" \
  -H "Authorization: Bearer sk_xxx"

# All child jobs of a drawing comparison
curl "https://api.bedrock.cv/jobs?parent_id=job_01JABCD123" \
  -H "Authorization: Bearer sk_xxx"
```

### Drawings

| Parameter | Type | Description |
| - | - | - |
| `project_id` | string | **Required.** Drawings in this project |
| `name` | string | Filter by name (case-insensitive substring match) |

```bash theme={null}
curl "https://api.bedrock.cv/drawings?project_id=prj_01X&name=floor%20plan" \
  -H "Authorization: Bearer sk_xxx"
```

### Sheets

| Parameter | Type | Description |
| - | - | - |
| `drawing_id` | string | Sheets in this drawing |
| `project_id` | string | Sheets across all drawings in a project |
| `discipline` | string | Filter by discipline (e.g., `architectural`, `structural`) |
| `sheet_number` | string | Exact match on sheet number (e.g., `A-101`) |

```bash theme={null}
# All architectural sheets in a drawing
curl "https://api.bedrock.cv/sheets?drawing_id=drw_01X&discipline=architectural" \
  -H "Authorization: Bearer sk_xxx"

# Find sheet A-101 across all drawings in a project
curl "https://api.bedrock.cv/sheets?project_id=prj_01X&sheet_number=A-101" \
  -H "Authorization: Bearer sk_xxx"
```

### Blocks

| Parameter | Type | Description |
| - | - | - |
| `sheet_id` | string | Blocks on this sheet |
| `type` | string | Filter by block type (e.g., `Plan`, `Detail`, `Schedule`) |

```bash theme={null}
# All plan blocks on a sheet
curl "https://api.bedrock.cv/blocks?sheet_id=sht_01X&type=Plan" \
  -H "Authorization: Bearer sk_xxx"
```

### Overlays

| Parameter | Type | Description |
| - | - | - |
| `project_id` | string | Overlays in this project |
| `job_id` | string | Overlays created by a specific comparison job |
| `drawing_id` | string | Overlays involving blocks from this drawing |
| `has_changes` | boolean | Only overlays where change detection has been run (`true`) or not (`false`) |

```bash theme={null}
# Overlays from a specific comparison, with changes detected
curl "https://api.bedrock.cv/overlays?job_id=job_01X&has_changes=true" \
  -H "Authorization: Bearer sk_xxx"
```

### Files

| Parameter | Type | Description |
| - | - | - |
| `project_id` | string | **Required.** Files in this project |
| `content_type` | string | Filter by MIME type (e.g., `application/pdf`) |

## Combining Filters with Pagination

Filters work alongside [cursor-based pagination](/api-reference/pagination):

```bash theme={null}
# Page through completed jobs
curl "https://api.bedrock.cv/jobs?project_id=prj_01X&status=Completed&limit=50" \
  -H "Authorization: Bearer sk_xxx"

# Next page
curl "https://api.bedrock.cv/jobs?project_id=prj_01X&status=Completed&limit=50&cursor=eyJ..." \
  -H "Authorization: Bearer sk_xxx"
```

Filters are encoded into the cursor, so you don't need to repeat filter parameters when paging — just pass the cursor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.