---
title: "Save selected intelligence rows into a pipeline"
method: POST
path: "/api/v1/workspaces/{slug}/market-data/promote"
tags: ["market-data"]
---

# Save selected intelligence rows into a pipeline

`POST /api/v1/workspaces/{slug}/market-data/promote`

Recomputes the plan and executes it. Replays of the same published identity resolve to the existing record through source_promotion_key; the legacy idempotency_key is accepted for client compatibility but identity is the dedupe key. Mixed success is reported per row, never rolled back.

## Request body

- IntelligencePromoteDto
  - `collection_id` string, required
  - `rows` IntelligenceRowDto[], required — 1-50 selected rows. The explorer selects only rows it has loaded, so this is never a whole-market selection.
    - `row_id` string, required — The row handle the explorer paged with — echoed back per row in the plan.
    - `product` 'companies' | 'registries' | 'opportunities' | 'procurement', required
    - `identity` IntelligenceIdentityDto, required
      - `kind` 'rfc' | 'observation', required — rfc is a government identity; observation is one published row, never a demonstrated organization.
      - `value` string, required — The RFC, or the platform-issued record_fingerprint for an observation.
    - `name` string, required — What the row is called on screen. Reported back per row so a result list is readable.
    - `record_ref` string — The opaque record reference this row carried, stored as provenance. Never a publisher slug.
    - `record_rfc_attestation` string — Server-issued proof binding this projected record to its RFC.
    - `fields` object, required — The row values, keyed by the contract’s field ids. Unlisted keys are ignored, never written.
  - `idempotency_key` string — Legacy client retry correlation key. Replay safety is provided by the published identity key, not by this value.
  - `conflict_policy` 'skip' | 'update_blank_fields'

## Response `201`

## Changes

- **2026-08-26** `1dca180d0cef` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/driftless/apis/driftless-api/changes/api/v1/workspaces/:slug/market-data/promote/post.md)

---

[API](https://skmtc.dev/driftless/apis/driftless-api.md) · [All operations](https://skmtc.dev/driftless/apis/driftless-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/driftless/driftless-api/revisions/95492e7dccea/schema)
