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

# Passthrough Extractor

> Copy source fields without processing for metadata propagation and vector passthrough

> [!WARNING]
>
> Built-in extractor names are a **deprecated alias** — collections are now created by picking [features](https://docs.mixpeek.com/docs/processing/features.md). This pipeline is selected with `features: ["storage_only"]`. Existing `feature_extractor` configs keep working; see the [migration guide](https://docs.mixpeek.com/docs/processing/extractor-migration.md).

> [card] [View on GitHub](https://github.com/mixpeek/mixpeek-extractors/blob/main/extractors/passthrough_extractor/README.md)
>
> Runnable reference for this extractor — inputs, parameters, output fields, embedding models, and copy-paste examples. Auto-generated from the live registry.

![Passthrough extractor showing direct field copy from source to output](https://mintcdn.com/mixpeek/TwtTrae3Fi3EFJ72/assets/extractors/passthrough.svg?fit=max\&auto=format\&n=TwtTrae3Fi3EFJ72\&q=85\&s=7eb05fc4ed420817552c55d0a59439a5)

The passthrough extractor copies source fields without any ML processing. By default, all source fields are included. Use `field_passthrough` to specify specific fields or `include_all_source_fields` to control behavior. Supports vector passthrough from collection to collection.

> [!NOTE]
>
> View extractor details at [api.mixpeek.com/v1/collections/features/extractors/passthrough\_extractor\_v1](https://api.mixpeek.com/v1/collections/features/extractors/passthrough_extractor_v1) or fetch programmatically with `GET /v1/collections/features/extractors/{feature_extractor_id}`.

## When to Use

| Use Case | Description |
| - | - |
| **Metadata propagation** | Pass metadata fields from bucket objects to collection documents without transformation |
| **Vector passthrough** | Copy pre-computed embeddings from one collection to another |
| **Schema normalization** | Select specific fields to include in the output schema |
| **Collection-to-collection pipelines** | Route data through multi-tier processing without re-embedding |

## When NOT to Use

* When you need to generate embeddings → Use [text\_extractor](https://docs.mixpeek.com/docs/processing/extractors/text.md) or [multimodal\_extractor](https://docs.mixpeek.com/docs/processing/extractors/multimodal.md)
* When you need to transform or enrich data → Use extractors with ML models
* When you need to decompose content (chunking, video splitting) → Use appropriate extractors
* When you have embeddings computed outside Mixpeek → Upsert them into a [Vector Store](https://docs.mixpeek.com/docs/vector-store/overview.md) namespace. Vector passthrough copies vectors between Mixpeek collections, and this extractor declares no vector index of its own.

## Input Schema

The passthrough extractor accepts **any input type** and copies fields as-is.

```json theme={null}
{
  "type": "object",
  "properties": {},
  "description": "Accepts any fields - no required inputs"
}
```

## Output Schema

The output mirrors the input based on configuration:

| Configuration | Behavior |
| - | - |
| Default (`include_all_source_fields: true`) | All source fields copied to output |
| `field_passthrough` specified | Only listed fields copied |
| `include_all_source_fields: false` | Must specify `field_passthrough` |

## Parameters

The passthrough extractor has **no required parameters**. Configuration is handled through `field_passthrough` and `input_mappings` at the collection level.

## Configuration Examples

```json Copy All Fields theme={null}
{
  "feature_extractor": {
    "feature_extractor_name": "passthrough_extractor",
    "version": "v1",
    "input_mappings": {},
    "field_passthrough": [],
    "parameters": {}
  }
}
```

```json Select Specific Fields theme={null}
{
  "feature_extractor": {
    "feature_extractor_name": "passthrough_extractor",
    "version": "v1",
    "input_mappings": {},
    "field_passthrough": [
      { "source_path": "metadata.category" },
      { "source_path": "metadata.brand" },
      { "source_path": "metadata.price" }
    ],
    "parameters": {}
  }
}
```

```json Vector Passthrough theme={null}
{
  "feature_extractor": {
    "feature_extractor_name": "passthrough_extractor",
    "version": "v1",
    "input_mappings": {},
    "field_passthrough": [
      { "source_path": "text_extractor_v1_embedding" },
      { "source_path": "metadata.product_id" }
    ],
    "parameters": {}
  }
}
```

```json Rename Fields During Passthrough theme={null}
{
  "feature_extractor": {
    "feature_extractor_name": "passthrough_extractor",
    "version": "v1",
    "input_mappings": {},
    "field_passthrough": [
      { "source_path": "metadata.old_name", "target_path": "new_name" },
      { "source_path": "payload.description", "target_path": "content" }
    ],
    "parameters": {}
  }
}
```

## Performance & Costs

| Metric | Value |
| - | - |
| **Latency** | \< 1ms |
| **Cost** | Free |
| **GPU Required** | No |
| **Max Throughput** | Unlimited (no ML processing) |

## Vector Indexes

The passthrough extractor creates **no vector indexes**. If you pass through existing embeddings, they retain their original index configuration from the source collection.

## Best Practices

1. **Use for multi-tier pipelines** – When downstream collections need upstream data without reprocessing
2. **Minimize field selection** – Only pass through fields you need to reduce storage and query overhead
3. **Preserve lineage** – The passthrough extractor maintains `root_object_id` and `source_collection_id` for data lineage tracking
4. **Combine with other extractors** – Use passthrough fields alongside ML extractors in the same collection to include metadata with generated features

## Related

* [Feature Extractors Overview](https://docs.mixpeek.com/docs/processing/feature-extractors.md)
* [Text Extractor](https://docs.mixpeek.com/docs/processing/extractors/text.md)
* [Multimodal Extractor](https://docs.mixpeek.com/docs/processing/extractors/multimodal.md)


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