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

# block_documents

# `prefect.server.models.block_documents`

Functions for interacting with block document ORM objects.
Intended for internal use by the Prefect REST API.

## Functions

### `emit_block_document_created_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L30](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L30)</sup>

```python theme={null}
emit_block_document_created_event(block_document: BlockDocument) -> None
```

Emit an event when a (non-anonymous) block document is created.

### `emit_block_document_updated_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L40](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L40)</sup>

```python theme={null}
emit_block_document_updated_event(block_document: BlockDocument) -> None
```

Emit an event when a (non-anonymous) block document is updated.

### `emit_block_document_deleted_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L50](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L50)</sup>

```python theme={null}
emit_block_document_deleted_event(block_document: BlockDocument) -> None
```

Emit an event when a (non-anonymous) block document is deleted.

### `create_block_document` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L61](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L61)</sup>

```python theme={null}
create_block_document(db: PrefectDBInterface, session: AsyncSession, block_document: schemas.actions.BlockDocumentCreate) -> BlockDocument
```

### `block_document_with_unique_values_exists` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L124](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L124)</sup>

```python theme={null}
block_document_with_unique_values_exists(db: PrefectDBInterface, session: AsyncSession, block_type_id: UUID, name: str) -> bool
```

### `read_block_document_by_id` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L172](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L172)</sup>

```python theme={null}
read_block_document_by_id(session: AsyncSession, block_document_id: UUID, include_secrets: bool = False) -> Union[BlockDocument, None]
```

### `read_block_document_by_name` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L291](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L291)</sup>

```python theme={null}
read_block_document_by_name(session: AsyncSession, name: str, block_type_slug: str, include_secrets: bool = False) -> Union[BlockDocument, None]
```

Read a block document with the given name and block type slug.

### `read_block_documents` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L350](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L350)</sup>

```python theme={null}
read_block_documents(db: PrefectDBInterface, session: AsyncSession, block_document_filter: Optional[schemas.filters.BlockDocumentFilter] = None, block_type_filter: Optional[schemas.filters.BlockTypeFilter] = None, block_schema_filter: Optional[schemas.filters.BlockSchemaFilter] = None, include_secrets: bool = False, sort: schemas.sorting.BlockDocumentSort = schemas.sorting.BlockDocumentSort.NAME_ASC, offset: Optional[int] = None, limit: Optional[int] = None) -> List[BlockDocument]
```

Read block documents with an optional limit and offset

### `count_block_documents` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L488](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L488)</sup>

```python theme={null}
count_block_documents(db: PrefectDBInterface, session: AsyncSession, block_document_filter: Optional[schemas.filters.BlockDocumentFilter] = None, block_type_filter: Optional[schemas.filters.BlockTypeFilter] = None, block_schema_filter: Optional[schemas.filters.BlockSchemaFilter] = None) -> int
```

Count block documents that match the filters.

### `delete_block_document` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L513](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L513)</sup>

```python theme={null}
delete_block_document(db: PrefectDBInterface, session: AsyncSession, block_document_id: UUID) -> bool
```

### `update_block_document` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L539](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L539)</sup>

```python theme={null}
update_block_document(db: PrefectDBInterface, session: AsyncSession, block_document_id: UUID, block_document: schemas.actions.BlockDocumentUpdate) -> bool
```

### `create_block_document_reference` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L746](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L746)</sup>

```python theme={null}
create_block_document_reference(db: PrefectDBInterface, session: AsyncSession, block_document_reference: schemas.actions.BlockDocumentReferenceCreate) -> Union[orm_models.BlockDocumentReference, None]
```

### `delete_block_document_reference` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block\_documents.py#L780](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/block_documents.py#L780)</sup>

```python theme={null}
delete_block_document_reference(db: PrefectDBInterface, session: AsyncSession, block_document_reference_id: UUID) -> bool
```
