OpenVibe.News API
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
Server https://openvibe.news. 26 routes performing 11 capabilities. OpenAPI 3.1 document.
GET /api/v1/clusters
Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.
- Capabilities
- news.cluster.read
- Visibility
- first-party
- Response
application/jsonnews.cluster-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.read</strong> (first-party): Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.</p>GET /api/v1/clusters/{id}
Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.
- Capabilities
- news.cluster.read
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonnews.cluster-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.read</strong> (first-party): Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.</p>POST /api/v1/clusters/{id}/merge
Merge clusters, split items into a new cluster, and reverse a merge or split.
- Capabilities
- news.cluster.manage
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.cluster-manage-request@1- Response
application/jsonnews.cluster-manage-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.manage</strong> (first-party): Merge clusters, split items into a new cluster, and reverse a merge or split. Every change is audited with exactly which items moved.</p>POST /api/v1/clusters/{id}/split
Merge clusters, split items into a new cluster, and reverse a merge or split.
- Capabilities
- news.cluster.manage
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.cluster-manage-request@1- Response
application/jsonnews.cluster-manage-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.manage</strong> (first-party): Merge clusters, split items into a new cluster, and reverse a merge or split. Every change is audited with exactly which items moved.</p>POST /api/v1/clusters/audit/{auditId}/reverse
Merge clusters, split items into a new cluster, and reverse a merge or split.
- Capabilities
- news.cluster.manage
- Visibility
- first-party
- Parameters
auditId(path, required)
- Request body
application/jsonnews.cluster-manage-request@1- Response
application/jsonnews.cluster-manage-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.manage</strong> (first-party): Merge clusters, split items into a new cluster, and reverse a merge or split. Every change is audited with exactly which items moved.</p>GET /api/v1/ingest
Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.
- Capabilities
- news.cluster.read
- Visibility
- first-party
- Response
application/jsonnews.cluster-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.read</strong> (first-party): Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.</p>GET /api/v1/source-items/{id}
Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.
- Capabilities
- news.cluster.read
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonnews.cluster-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.cluster.read</strong> (first-party): Read clusters (members, the stored explanation of every membership, merge/split history), source items with their dedupe outcome, and ingestion runs and source health.</p>POST /api/v1/stories
Open a story from a cluster (the cluster's live, non-duplicate source items become its first sources).
- Capabilities
- news.story.create
- Visibility
- first-party
- Request body
application/jsonnews.story-create-request@1- Response
application/jsonnews.story-create-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.create</strong> (first-party): Open a story from a cluster (the cluster's live, non-duplicate source items become its first sources). Editors only: the service acts for an editor named in X-OV-Subject.</p>GET /api/v1/stories/{id}
Read any story, including drafts, revisions, diffs, publishability problems and editorial flags.
- Capabilities
- news.story.read
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonnews.story-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.read</strong> (first-party): Read any story, including drafts, revisions, diffs, publishability problems and editorial flags. Published stories need no capability.</p>POST /api/v1/stories/{id}/ai-drafts
Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVi
- Capabilities
- news.story.revise
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-revise-request@1- Response
application/jsonnews.story-revise-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.revise</strong> (first-party): Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVibe.AI draft. With X-OV-Origin: ai the revision is AI-generated and cannot be published until a person approves it.</p>GET /api/v1/stories/{id}/diff
Read any story, including drafts, revisions, diffs, publishability problems and editorial flags.
- Capabilities
- news.story.read
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonnews.story-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.read</strong> (first-party): Read any story, including drafts, revisions, diffs, publishability problems and editorial flags. Published stories need no capability.</p>POST /api/v1/stories/{id}/flags
Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVi
- Capabilities
- news.story.revise
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-revise-request@1- Response
application/jsonnews.story-revise-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.revise</strong> (first-party): Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVibe.AI draft. With X-OV-Origin: ai the revision is AI-generated and cannot be published until a person approves it.</p>POST /api/v1/stories/{id}/perspectives
Create or remove editor-labelled perspective groupings on a story and assign its sources to them.
- Capabilities
- news.perspective.update
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.perspective-update-request@1- Response
application/jsonnews.perspective-update-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.perspective.update</strong> (first-party): Create or remove editor-labelled perspective groupings on a story and assign its sources to them. Labels are written by editors, never generated.</p>DELETE /api/v1/stories/{id}/perspectives/{pid}
Create or remove editor-labelled perspective groupings on a story and assign its sources to them.
- Capabilities
- news.perspective.update
- Visibility
- first-party
- Parameters
id(path, required)pid(path, required)
- Input
- news.perspective-update-request@1
- Response
application/jsonnews.perspective-update-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.perspective.update</strong> (first-party): Create or remove editor-labelled perspective groupings on a story and assign its sources to them. Labels are written by editors, never generated.</p>POST /api/v1/stories/{id}/publish
Publish a revision (refused while it cites no source, rests on a source removed upstream or detached, or is AI-generated/AI-assisted without a person's approval), or unpublish a story.
- Capabilities
- news.story.publish
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-publish-request@1- Response
application/jsonnews.story-publish-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.publish</strong> (first-party): Publish a revision (refused while it cites no source, rests on a source removed upstream or detached, or is AI-generated/AI-assisted without a person's approval), or unpublish a story. Publishing resolves the upstream flags the revision answers and publishes pending correction/update notes.</p>POST /api/v1/stories/{id}/retract
Retract a published story with a public note.
- Capabilities
- news.story.retract
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-retract-request@1- Response
application/jsonnews.story-retract-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.retract</strong> (first-party): Retract a published story with a public note. The story stays at its URL with the retraction notice, becomes noindex and leaves sitemaps and Search. Final.</p>GET /api/v1/stories/{id}/revisions
Read any story, including drafts, revisions, diffs, publishability problems and editorial flags.
- Capabilities
- news.story.read
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonnews.story-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.read</strong> (first-party): Read any story, including drafts, revisions, diffs, publishability problems and editorial flags. Published stories need no capability.</p>POST /api/v1/stories/{id}/revisions
Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVi
- Capabilities
- news.story.revise
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-revise-request@1- Response
application/jsonnews.story-revise-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.revise</strong> (first-party): Save a new immutable revision (headline and paragraphs that each cite attached sources, with the source table, timeline and perspectives snapshotted), add correction/update notes, or request an OpenVibe.AI draft. With X-OV-Origin: ai the revision is AI-generated and cannot be published until a person approves it.</p>GET /api/v1/stories/{id}/revisions/{n}
Read any story, including drafts, revisions, diffs, publishability problems and editorial flags.
- Capabilities
- news.story.read
- Visibility
- first-party
- Parameters
id(path, required)n(path, required)
- Response
application/jsonnews.story-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.read</strong> (first-party): Read any story, including drafts, revisions, diffs, publishability problems and editorial flags. Published stories need no capability.</p>POST /api/v1/stories/{id}/sources
Attach a source item to a story's source table (numbered, never renumbered) or detach it.
- Capabilities
- news.source.attach
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.source-attach-request@1- Response
application/jsonnews.source-attach-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.source.attach</strong> (first-party): Attach a source item to a story's source table (numbered, never renumbered) or detach it.</p>DELETE /api/v1/stories/{id}/sources/{item}
Attach a source item to a story's source table (numbered, never renumbered) or detach it.
- Capabilities
- news.source.attach
- Visibility
- first-party
- Parameters
id(path, required)item(path, required)
- Input
- news.source-attach-request@1
- Response
application/jsonnews.source-attach-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.source.attach</strong> (first-party): Attach a source item to a story's source table (numbered, never renumbered) or detach it.</p>PUT /api/v1/stories/{id}/sources/{item}/perspective
Create or remove editor-labelled perspective groupings on a story and assign its sources to them.
- Capabilities
- news.perspective.update
- Visibility
- first-party
- Parameters
id(path, required)item(path, required)
- Request body
application/jsonnews.perspective-update-request@1- Response
application/jsonnews.perspective-update-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.perspective.update</strong> (first-party): Create or remove editor-labelled perspective groupings on a story and assign its sources to them. Labels are written by editors, never generated.</p>POST /api/v1/stories/{id}/timeline
Add or remove a story's timeline entries; each entry has a date the source states and rests on one attached source.
- Capabilities
- news.timeline.update
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.timeline-update-request@1- Response
application/jsonnews.timeline-update-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.timeline.update</strong> (first-party): Add or remove a story's timeline entries; each entry has a date the source states and rests on one attached source.</p>DELETE /api/v1/stories/{id}/timeline/{eid}
Add or remove a story's timeline entries; each entry has a date the source states and rests on one attached source.
- Capabilities
- news.timeline.update
- Visibility
- first-party
- Parameters
id(path, required)eid(path, required)
- Input
- news.timeline-update-request@1
- Response
application/jsonnews.timeline-update-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.timeline.update</strong> (first-party): Add or remove a story's timeline entries; each entry has a date the source states and rests on one attached source.</p>POST /api/v1/stories/{id}/unpublish
Publish a revision (refused while it cites no source, rests on a source removed upstream or detached, or is AI-generated/AI-assisted without a person's approval), or unpublish a story.
- Capabilities
- news.story.publish
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonnews.story-publish-request@1- Response
application/jsonnews.story-publish-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>news.story.publish</strong> (first-party): Publish a revision (refused while it cites no source, rests on a source removed upstream or detached, or is AI-generated/AI-assisted without a person's approval), or unpublish a story. Publishing resolves the upstream flags the revision answers and publishes pending correction/update notes.</p>POST /api/v1/topics
Add a canonical topic (slug and name).
- Capabilities
- news.topic.manage
- Visibility
- first-party
- Request body
application/jsonnews.topic-manage-request@1- Response
application/jsonnews.topic-manage-result@1- Errors
- errors.problem@1 (application/problem+json)