Choosing a Configuration
A processing configuration defines what Document AI should do with a document and which structured values it should return.
Configuration choices
Document AI supports three ways to choose processing behavior:
| Choice | Best for | Reusable |
|---|---|---|
| Platform-managed configuration | Common Shipwell document workflows | Yes |
| Custom named configuration | A repeatable workflow owned by your company | Yes |
| One-time custom settings | Testing or a request-specific extraction | No |
For uploads, you can also choose Upload only to store files without creating a processing run.
What a configuration controls
A configuration can control:
- Extraction schemas — the structured values to extract
- Split — whether one PDF containing multiple logical documents should produce separate result slices
- Embeddings — whether processed content can be found through semantic search
- Auto-description — whether to generate a document description
- Key facts — whether the generated description should include high-signal facts
Named configurations
Named configurations are selected with processing_config_id.
The list visible to your account includes:
- Platform-managed configurations available to all eligible accounts
- Custom configurations owned by your company
Only enabled configurations can be selected for uploads or manual processing.
The selected configuration is used as a complete snapshot for the new run. Document AI does not merge it with another configuration or automatically add extraction schemas.
Use GET /document-store/configs/processing-configs to list the configurations visible to your account.
The is_platform_managed field distinguishes read-only Shipwell configurations from company-owned configurations.
One-time custom settings
One-time settings are supplied as pipeline_config on an upload or reprocessing request. They are useful while testing an extraction schema, but they are not saved for later selection.
{
"pipeline_config": {
"schemas": [
{
"name": "purchase_order_number",
"prompt": "Extract the purchase order number.",
"json_schema": {"type": "string"},
"scope": "document",
"result_cardinality": "single",
"include_source_regions": true
}
],
"split": false,
"embed": true,
"describe": {
"enabled": true,
"key_facts": true
}
}
}Do not provide pipeline_config and processing_config_id in the same request.
Which option should I use?
Use a platform-managed configuration when its documented purpose matches the documents you process.
Create a custom named configuration when:
- Multiple users or integrations need the same extraction behavior
- You want to manage the workflow in Shipwell
- You need an enabled/disabled lifecycle for the configuration
Use one-time custom settings when:
- Prototyping a schema
- Running a request-specific extraction
- Testing changes before updating a named configuration