---
title: "Register Editorial Artifact"
method: POST
path: "/internal/editorial/artifacts"
tags: ["editorial feed"]
---

# Register Editorial Artifact

`POST /internal/editorial/artifacts`

## Request

- Base URL: `https://api.tickertrac.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tickertrac.com/internal/editorial/artifacts`
- Auth: API key in header `X-API-Key`

Bind one public artifact to an existing candidate without any user-data access.

## Request body

- PublicArtifactLineageIn: Public-safe immutable IDs emitted by Editorial; no prose or URL fields.
  - `canonical_insight_id` string, required
  - `public_insight_candidate_ref` string, required
  - `public_artifact_id` string, required
  - `presentation_id` string, required
  - `audience_variant` 'readthrough' | 'inflection' | 'forward-signal', required

## Response `200`

Successful Response

- PublicArtifactLineageOut: Exactly what Editorial may learn back from a registration. Deliberately not a subclass of the request model. Editorial's client declares ``extra="forbid"`` on this response, so echoing the request fields back makes every registration fail on the caller before its body is read.
  - `public_artifact_id` string, required
  - `inserted` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tickertrac/apis/tickerrag-api.md) · [All operations](https://skmtc.dev/tickertrac/apis/tickerrag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickertrac/apis/tickerrag-api/revisions/3c7eb0f6425d?raw)
