Campaign context#
Preserve structured campaign decisions, reasoning, risks, and learnings.
Authentication required
Authorization header. See the Authentication guide for setup instructions.GET /v1/campaign-context#
List structured decisions, rationale, assumptions, risks, and learnings.
GET /v1/campaign-context?workspace_id=1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01&campaign_id=3a8d1f56-9e42-4b7c-a1d8-6f0e2b9c4a03
Authorization: Bearer {token}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| campaignId | string (UUID) | Required | Unique identifier (UUID v4). |
Response#
Returns { items, totalCount, facets, _meta } with paginated results.
GET /v1/campaign-context/search#
Search campaign decisions, assumptions, risks, learnings, and future recommendations across every campaign in the workspace, so a past learning can be found without knowing which campaign produced it.
GET /v1/campaign-context/search?page_index=0&page_size=25&workspace_id=1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01
Authorization: Bearer {token}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| pageIndex | integer | Required | Zero-based page index for pagination. |
| pageSize | integer | Required | Number of items per page (1-100). |
| workspaceId | string (UUID) | Required | Workspace identifier. |
| searchTerm | string | — | Free-text term matched against memory titles and content. |
| contextTypes | Array<'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'learning' | 'future_recommendation'> | — | Restrict results to these context types. Defaults to every type. |
| campaignId | string (UUID) | — | Restrict results to one campaign, for example to re-read its own history. |
| excludeCampaignId | string (UUID) | — | Omit one campaign, so the current campaign does not crowd out past learnings. |
Response#
Returns { items, totalCount, facets, _meta } with paginated results.
GET /v1/campaign-context/:id#
Get one campaign context entry with who recorded it, the original author and date, its current revision number, and the memory or source files it references.
GET /v1/campaign-context/:id
Authorization: Bearer {token}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Unique identifier (UUID v4). |
Response#
Returns { data, _meta } with the result.
GET /v1/campaign-context/:id/revisions#
List the complete revision history of one campaign context entry, including changes to its kind, title, wording, attribution, and references, so a correction can be told apart from the original wording.
GET /v1/campaign-context/:id/revisions
Authorization: Bearer {token}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Unique identifier (UUID v4). |
Response#
Returns { items, totalCount, facets, _meta } with paginated results.
POST /v1/campaign-context#
Create a campaign context entry of a given context type (decision, rationale, assumption, risk, learning, and others) with a title and content, optionally recording the original author name and authored date and the past memory or source file references it was based on.
POST /v1/campaign-context
Authorization: Bearer {token}
Content-Type: application/json
{
"workspace_id": "1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01",
"campaign_id": "3a8d1f56-9e42-4b7c-a1d8-6f0e2b9c4a03",
"context_type": "...",
"title": "...",
"content": "Note content here."
}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| campaignId | string (UUID) | Required | Unique identifier (UUID v4). |
| contextType | 'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'learning' | 'future_recommendation' | Required | The kind of reasoning recorded: decision, rationale, hypothesis, assumption, creative_strategy, agency_recommendation, impact_mechanism, risk, constraint, learning, or future_recommendation. |
| title | string | Required | One-line summary of the entry. |
| content | string | Required | Full text of the decision, reasoning, risk, or learning. |
| authorName | string | null | — | Who originally wrote it, when that differs from the user recording it. |
| authoredAt | string | null | — | Date (YYYY-MM-DD) it was originally written, when known. |
| references | Array<unknown> | — | Past memory entries or attached source files this entry was based on. A memory reference may pin the exact revision that was read. |
Response#
Returns { data, _meta } with the result.
PATCH /v1/campaign-context/:id#
Update the title, content, context type, author name, authored date, or references of one campaign context entry and record a complete new revision. Pass expectedRevisionNumber to be refused with a conflict instead of overwriting a change someone else saved first.
PATCH /v1/campaign-context/:id
Authorization: Bearer {token}Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| contextType | 'decision' | 'rationale' | 'hypothesis' | 'assumption' | 'creative_strategy' | 'agency_recommendation' | 'impact_mechanism' | 'risk' | 'constraint' | 'learning' | 'future_recommendation' | — | The kind of reasoning recorded: decision, rationale, hypothesis, assumption, creative_strategy, agency_recommendation, impact_mechanism, risk, constraint, learning, or future_recommendation. |
| title | string | — | One-line summary of the entry. |
| content | string | — | Full text of the decision, reasoning, risk, or learning. |
| authorName | string | null | — | Who originally wrote it, when that differs from the user recording it. |
| authoredAt | string | null | — | Date (YYYY-MM-DD) it was originally written, when known. |
| references | Array<unknown> | — | Past memory entries or attached source files this entry was based on. A memory reference may pin the exact revision that was read. |
| id | string (UUID) | Required | Unique identifier (UUID v4). |
| expectedRevisionNumber | integer | — |
Response#
Returns { data, _meta } with the result.