List brand notes
Returns the brand's agent notes, newest first: learnings, burned-out creatives or angles, and constraints saved through approved chat cards. notes is the cursor-paginated collection (limit up to 20, cursor, nextCursor). Filter with kind, accountId, status and includeDue. Notes are read-only on this API.
bearerAuthAuthorizationBearer <token>An organization API key (koast_sk_…) with the API surface enabled, or an OAuth access token issued by Koast (koast_at_…) whose audience covers this API. REST access requires an active Agency plan.
brandId*integerThe brand the request acts on. Every brand-scoped resource lives under its brand.
purpose?stringchat-start: the notes a chat loads when it begins (active, not due for review, brand-wide or this ad account; constraints first; at most 20 notes or 6,000 characters). browse: every note, filtered and paged, including notes due for review and retired ones.
"browse""chat-start""browse"kind?stringbrowse only: one kind of note.
"LEARNING""BURNOUT""CONSTRAINT"accountId?stringAn ad account linked to this brand (for example act_123) when the note is about that account only. Leave it out for a brand-wide note.
1 <= length <= 64status?stringbrowse only: ACTIVE (default), RETIRED, or ALL.
"ACTIVE""ACTIVE""RETIRED""ALL"includeDue?booleanbrowse only: false to leave out active notes past their review date.
truecursor?stringOpaque cursor from the previous page's nextCursor. Omit for the first page.
limit?integerPage size.
1 <= value <= 10050List brand notes
application/json- response
purpose*string"chat-start""browse"brandId*numbernotes*array<>The paged collection, newest first (chat-start: constraints first). Follow nextCursor for the next page.
total*numberchat-start: the notes that could load. browse: the notes on this page.
more*numberchat-start: active notes not loaded (other ad accounts, over the cap, due for review). 0 for browse.
nextCursor*|Pass as cursor to read the next page. Null when there is no next page.
[key: string]?unknowncurl -X GET "https://example.com/v1/brands/0/notes" \ -H "Authorization: Bearer koast_sk_..."{ "purpose": "chat-start", "brandId": 0, "notes": [ { "id": "string", "kind": "LEARNING", "outcome": "WORKED", "text": "string", "status": "ACTIVE", "account": { "provider": "string", "externalAccountId": "string", "property1": null, "property2": null }, "author": { "kind": "AGENT_CHAT", "userId": 0, "property1": null, "property2": null }, "createdAt": "string", "reviewBy": "string", "due": true, "evidence": [ { "kind": "string", "id": "string", "property1": null, "property2": null } ], "supersedesId": "string", "retiredAt": "string", "retiredReason": "USER", "property1": null, "property2": null } ], "total": 0, "more": 0, "nextCursor": "string", "property1": null, "property2": null}Required scope: read. CLI: koast list-brand-notes, see Notes commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.
Validate launch
Checks whether the launch can be published. Returns valid plus, per campaign, the missing required assets and the structural errors on each campaign, ad set and ad, each with an inputId and message. Changes nothing.
Move pipeline card
Moves the pipeline card campaignLaunchId to stage: REQUESTED, ASSETS_UPLOADED, IN_REVIEW, APPROVED or FAILED. PUBLISHED cannot be set; a card reaches it only by publishing.