Skip to main content
POST
Enrich Data

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Organization-Id
string | null

Body

Request to enrich item data.

prompt
string | null
default:""

Search prompt for web enrichment (e.g., 'Find product specifications'). Optional - defaults to empty string.

items
Items · object[]

List of items to enrich. Required unless source_activity_id or source_catalog_id is provided.

output_schema
FieldDefinition · object[]

Schema defining fields to extract. Required unless source_activity_id or source_catalog_id is provided.

attribute_sets
Attribute Sets · object | null

Canonical registry for requested-attribute jobs. Items carry attribute_set_id; workers expand that id to requested_attributes only at runtime. Per-row requested_attributes payloads are rejected by the public endpoint.

source_hint_sets
Source Hint Sets · object | null

Canonical registry for repeated per-item source hints. Items carry source_hint_set_id; workers expand that id to source_hints only at runtime. Inline source_hints are rejected by the public endpoint.

allowed_domains
string[] | null

Restrict web scraping to these domains only

blocked_domains
string[] | null

Domains to exclude from web search and URL fetches

speed
string
default:deep

Processing speed: 'fast' (quick), 'medium' (balanced), 'deep'/'slow' (thorough default), 'ultra_slow' (maximum reasoning / strongest model path)

If true (default), performs web search to gather content. If false, skips web search and uses input data directly for extraction/validation.

max_rows
integer | null

Limit processing to first N items. All items are stored. Use source_activity_id to process remaining items later.

taxonomy
Taxonomy · object | null

Taxonomy definition for category prediction (TaxonomyInput format)

predict_taxonomy
boolean
default:false

If true and taxonomy is provided, predict category_id for each item

predict_taxonomy_attributes
boolean
default:true

If true, also predict taxonomy_attributes after classification. Set false for taxonomy classification only.

validate_semantics
boolean
default:false

If true, AI validates that field values make sense given their descriptions (e.g., email field contains valid email format)

review_mode
boolean
default:true

Run the enrich review agent after enrichment, apply clear output corrections, and attach activity.output.audit decisions. Public enrichment jobs keep this enabled.

audit_decisions_enabled
boolean
default:true

When false, the post-enrichment audit still applies clear output corrections but suppresses human-facing audit decisions/suggestions.

include_source_explanations
boolean
default:true

Include source_explanation for each enriched field (and taxonomy attribute) explaining how the value was derived from sources. Always enabled.

low_confidence
LowConfidenceConfig · object | null

Optional add-on for returning low-confidence candidates at the end of each result

catalog_id
string | null

Optional catalog ID to link this enrichment job to

template_id
string | null

Optional organization-scoped enrichment template key. Template extraction fields apply to omitted request fields; template-owned safety controls remain enforced.

async_mode
boolean
default:false

If true, returns immediately with job_id instead of waiting for results

staged_status
string
default:pending

Status for staged changes: 'pending' (default, visible to admin) or 'draft' (vendor draft, not visible to admin until submitted)

source_activity_id
string | null

Activity ID of a previous run. Processes all stored items using saved config.

source_catalog_id
string | null

Catalog UUID to read items FROM as the enrichment input. Independent of catalog_id (the write target).

file_name
string | null

Original file name if items were loaded from a file

include_service_usage
boolean
default:false

If true, include detailed service_usage metrics (costs, tokens, per-item stats) in response

include_debug_log
boolean
default:false

If true, capture full audit log per item (raw markdown, tool history, LLM responses) and upload to storage

capture_source_artifacts
boolean
default:false

If true, preserve durable copies of consulted source material for audit trails. Web pages are captured as screenshots; PDFs are copied as PDF files.

reextract_from_activity_id
string | null

Activity ID to re-extract from. Skips web gather, reuses stored web research data. Supports prompt/schema overrides and feedback.

global_feedback
string | null

Feedback to apply to all items during re-extraction (appended to prompt)

item_feedback
Item Feedback · object | null

Per-item feedback keyed by row index as string (e.g. {'0': 'Wrong product', '3': 'Price is in EUR not USD'})

source_row_indices
integer[] | null

Row indices to re-extract (others carried forward from source). Only used with reextract_from_activity_id.

webhook_url
string | null

HTTPS URL to POST results to when job completes. Must use https://.

knowledge_base_enabled
boolean
default:false

If true, use an uploaded knowledge base (OpenAI vector store) for structured generation.

knowledge_base_vector_store_id
string | null

OpenAI vector store ID containing uploaded knowledge base files.

knowledge_base_sources
Knowledge Base Sources · object | null

Optional SOURCE_X -> source URL mapping used for field-level citations (for example {'SOURCE_1': 'https://.../specs.pdf'}).

knowledge_base_metadata
Knowledge Base Metadata · object | null

Optional SOURCE_X -> metadata mapping for uploaded knowledge-base files (for example {'SOURCE_1': {'doc_type': 'approved_marketing'}}).

host_media
boolean
default:false

If true, upload all media URLs (images, PDFs) found in enrichment results to hosted storage, replacing with hosted URLs.

strict_hosted_media
boolean
default:false

If true, media/document output fields are cleared unless the URL is successfully copied to hosted storage.

image_processing
ImageProcessingConfig · object | null

Optional deterministic post-processing for hosted images, such as square white-background catalog normalization.

Response

Successful Response

Response with enriched data for all items.

total_items
integer
required

Number of items being processed (may be limited by max_rows)

job_id
string | null

Job ID for tracking (always returned). Use this with source_activity_id to trigger full run.

results
EnrichItemResult · object[]

Enrichment results for each item (empty if async_mode=true)

total_rows
integer | null

Total items passed in the request (before max_rows limit)

successful
integer
default:0

Number of successfully enriched items

credits_used
integer
default:0

Number of credits used (1 per successful item)

status
string
default:completed

Job status: 'running' (async) or 'completed' (sync)

service_usage
Service Usage · object | null

Detailed API usage metrics (costs, calls, tokens) - only present when job is complete

pricing_estimates
Pricing Estimates · object | null

Estimated pricing breakdown (for example knowledge-base storage + model runtime costs when available)

knowledge_base_enabled
boolean | null

Whether this enrichment job used a knowledge base vector store

knowledge_base_sources
Knowledge Base Sources · object | null

SOURCE_X -> hosted document URL mapping for knowledge-base files used by the activity

page
integer | null

Current page number (1-indexed)

page_size
integer | null

Number of results per page

total_pages
integer | null

Total number of pages available

completed_items
integer | null

Number of items with results available so far (useful while status=running)