---
title: "DSP views"
slug: dsp
url: https://invertbio.com/docs/api/dsp
---

# DSP views

The DSP external API provides SQL access to material streams, unit operations, and bioprocess data. See [Authentication](/docs/api/authentication) for how to obtain an access token.

### Available Views (DSP)

The DSP API exposes all the same views as the upstream API (`v_bioprocesses`, `v_timeseries`, `v_timeseries_data`, `v_quantities`, `v_formulas`, `v_formula_results`, `v_experiments`), plus the following additional views:

#### `v_material_streams`

```bash
curl -H "Authorization: Bearer <AUTH0_TOKEN>" \
 -H "Content-Type: application/json" \
 -X POST \
 -d '{"statement": "SELECT * FROM v_material_streams LIMIT 1"}' \
 https://api.invertbio.com/external/v1/statements/
```

| Field Name | Type | Description |
|------------|------|-------------|
| `id` | String | Unique identifier |
| `name` | String | Name of the material stream |
| `start_timestamp` | String or null | Start time (ISO 8601) |
| `end_timestamp` | String or null | End time (ISO 8601) |
| `unit_operation_id` | String or null | Identifier of the associated unit operation |
| `is_global_material_stream` | Boolean | `true` = data belonging to a unit operation; `false` = material stream data |
| `data` | Array | List of data objects |
| `last_updated_at` | String | Timestamp of last update (ISO 8601) |

#### `v_unit_operations`

```bash
curl -H "Authorization: Bearer <AUTH0_TOKEN>" \
 -H "Content-Type: application/json" \
 -X POST \
 -d '{"statement": "SELECT * FROM v_unit_operations LIMIT 1"}' \
 https://api.invertbio.com/external/v1/statements/
```

| Field Name | Type | Description |
|------------|------|-------------|
| `id` | String | Unique identifier |
| `external_id` | String | External identifier |
| `name` | String | Name of the unit operation |
| `experiment_id` | String or null | Identifier of the associated experiment |
| `run_start_timestamp` | String or null | Start time of the run |
| `run_end_timestamp` | String or null | End time of the run |
| `status` | String | Draft / Requested / Scheduled / In-progress / Completed |
| `qc_status` | String | Quality control status |
| `qc_failure_mode` | String | Quality control failure mode |
| `unit_operation_type_id` | Object or null | Identifier of the associated unit operation type |
| `last_updated_at` | String | Timestamp of last update (ISO 8601) |

#### `v_unit_operation_types`

```bash
curl -H "Authorization: Bearer <AUTH0_TOKEN>" \
 -H "Content-Type: application/json" \
 -X POST \
 -d '{"statement": "SELECT * FROM v_unit_operation_types LIMIT 1"}' \
 https://api.invertbio.com/external/v1/statements/
```

| Field Name | Type | Description |
|------------|------|-------------|
| `id` | String | Unique identifier |
| `name` | String | Name of the unit operation type |
| `icon` | String or null | Name of the icon |
| `last_updated_at` | String | Timestamp of last update (ISO 8601) |

### Example Queries and Error States

Queries, delta load patterns, view joins, and error state handling are identical between the Core and DSP views. See [Core views](/docs/api/core) for details.
