Pyromanic API

Everything the Pyromanic app can do, available over HTTP. Authenticate with a secret key as a bearer token. Breaking changes are announced by date-pinned version; send `Pyromanic-Version` to pin one.

https://api.pyromanic.com

Getting started

Everything the Pyromanic app can do is available over HTTP. The app is one client of this API, not a privileged one — anything you can do by clicking, you can do here, and anything here works from a script, a CI job, or an AI tool.

Start by finding the company your key is scoped to. Every other path needs its id, and this saves you pasting one:

curl https://api.pyromanic.com/v1/companies \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"

Authentication

Send a secret key as a bearer token. Keys are scoped to a single company, so the key decides what you can reach — a company id in a path is checked against it, never trusted over it.

PrefixKindWhere it lives
sk_live_…SecretYour server. Never a browser.
pk_live_…PublishableShips in page source. Reads published content only.

Publishable keys are refused by this API entirely. They exist for the delivery API, which serves your public roadmap to anonymous visitors. The distinction matters: a publishable key that could write anything meaningful would be a secret key that you had pasted into your HTML.

Keys are prefixed so a leak is findable — secret scanners and log scrubbers can recognise sk_live_, where an opaque UUID looks like any other UUID. Rotate by issuing a new key, moving your integration across, then revoking the old one; both work until the old key's expiry, because rotation that needs downtime does not get done.

MCP

Every endpoint on this page is also an MCP tool, generated from the same definition — so an AI client sees the same surface as an HTTP one, and neither can drift from the other. Point a client at:

https://api.pyromanic.com/mcp

Authenticate with the same secret key as a bearer token. Tools are named pyromanic_<operation>pyromanic_list_plan_items, pyromanic_create_plan_item — and carry the same scope requirements as the endpoints they mirror. A key that cannot write over HTTP cannot write through a tool call.

Tool arguments are flat: path, query and body fields go in one object, and are routed to the right part of the request for you.

Errors

Every failure returns the same envelope, with a stable code. Branch on the code — messages get reworded, and matching on prose will break.

{ "errors": [ { "code": "not_found", "message": "No such record." } ] }
CodeStatusMeaning
bad_request400The request did not validate. The message names the field.
unauthorised401Missing key, unknown key, revoked key, or a scope you do not hold.
not_found404No such record — or one your key cannot reach. The two are deliberately indistinguishable.
method_not_allowed405Right path, wrong verb. The Allow header lists what works.
rate_limited429Slow down. Retry-After says how long.
internal500Our fault. Safe to retry.

Versioning

Additive changes — a new field, a new endpoint — ship without notice, so write clients that ignore fields they do not recognise. Anything breaking gets a new dated version, and your integration keeps working until you choose to move.

Pyromanic-Version: 2026-08-11

The current version is returned on every response. The machine-readable description of everything on this page is at /openapi.json — point a client generator at it rather than writing request code by hand.

Companies

GET /v1/companies company:read

List the companies this key can act on.

A key is scoped to a single company, so this returns exactly one. Use it to discover the id for every other endpoint rather than hard-coding one.

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId} company:read

Fetch a company.

The company your key is scoped to. Any other id returns 404.

Path parameters

companyIdstring required

Returns

id string
name stringnullable Display name.
slug stringnullable
summary stringnullable One or two sentences describing the product.
websiteUrl stringnullable
repositoryUrl stringnullable
industry stringnullable
stage stringnullable idea | mvp | growth | scale
teamSize stringnullable
targetMarket stringnullable b2b | b2c | b2b2c
primaryLanguage stringnullable ISO 639-1, e.g. "en".
timezone stringnullable IANA name, e.g. "Australia/Melbourne".
emailDomain stringnullable
onboardingStatus stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
PATCH /v1/companies/{companyId} company:write

Update a company.

Path parameters

companyIdstring required

Body

name string
summary string
websiteUrl string
repositoryUrl string
industry string
stage string
targetMarket string
primaryLanguage string
timezone string

Returns

id string
name stringnullable Display name.
slug stringnullable
summary stringnullable One or two sentences describing the product.
websiteUrl stringnullable
repositoryUrl stringnullable
industry stringnullable
stage stringnullable idea | mvp | growth | scale
teamSize stringnullable
targetMarket stringnullable b2b | b2c | b2b2c
primaryLanguage stringnullable ISO 639-1, e.g. "en".
timezone stringnullable IANA name, e.g. "Australia/Melbourne".
emailDomain stringnullable
onboardingStatus stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","summary":"…"}'

Plan

GET /v1/companies/{companyId}/plan/boards plan:read

List roadmap boards.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 25

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/plan/boards \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/plan/boards/{boardId} plan:read

Fetch one roadmap board.

Path parameters

companyIdstring required
boardIdstring required

Returns

id string
companyId string
name stringnullable
publicKey stringnullable Publishable. Selects this board for the delivery API; authorises nothing.
allowedOrigins arraynullable Domains permitted to submit feedback. Empty admits any origin.
publishedVersion numbernullable
publishedAt stringnullable
active booleannullable
createdAt stringnullable
updatedAt stringnullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/plan/boards/{boardId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/plan/boards/{boardId}/items plan:read

List items on a board.

Includes drafts. This is the authoring view, not what visitors see.

Path parameters

companyIdstring required
boardIdstring required

Query parameters

limitinteger requireddefault 50
statusstring draft · in_review · published · archived

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/plan/boards/{boardId}/items \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
POST /v1/companies/{companyId}/plan/boards/{boardId}/items plan:write

Add an item to a board.

Created as a draft unless a status is given. Nothing becomes visible until you publish.

Path parameters

companyIdstring required
boardIdstring required

Body

title string required
summary string
slug string Derived from the title when omitted. Frozen afterwards — links depend on it.
columnId string
categoryIds array
status string required
sortOrder integer
targetLabel string

Returns

id string
roadmapId string
companyId string
slug string Stable public identifier. Frozen after creation.
title string
summary stringnullable
columnId stringnullable Which column it sits in on the public board.
categoryIds arraynullable
status stringnullable draft | in_review | published | archived. Editorial only — never leaves this API.
sortOrder numbernullable
targetLabel stringnullable Free text, e.g. "Q3" — deliberately not a date.
publishedVersion numbernullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X POST https://api.pyromanic.com/v1/companies/{companyId}/plan/boards/{boardId}/items \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"…","summary":"…"}'
GET /v1/companies/{companyId}/plan/items/{itemId} plan:read

Fetch one item.

Path parameters

companyIdstring required
itemIdstring required

Returns

id string
roadmapId string
companyId string
slug string Stable public identifier. Frozen after creation.
title string
summary stringnullable
columnId stringnullable Which column it sits in on the public board.
categoryIds arraynullable
status stringnullable draft | in_review | published | archived. Editorial only — never leaves this API.
sortOrder numbernullable
targetLabel stringnullable Free text, e.g. "Q3" — deliberately not a date.
publishedVersion numbernullable
createdAt stringnullable
updatedAt stringnullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/plan/items/{itemId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
PATCH /v1/companies/{companyId}/plan/items/{itemId} plan:write

Update an item.

Slug is deliberately not updatable — changing it breaks every link already shared.

Path parameters

companyIdstring required
itemIdstring required

Body

title string
summary string
columnId string
categoryIds array
status string
sortOrder integer
targetLabel string

Returns

id string
roadmapId string
companyId string
slug string Stable public identifier. Frozen after creation.
title string
summary stringnullable
columnId stringnullable Which column it sits in on the public board.
categoryIds arraynullable
status stringnullable draft | in_review | published | archived. Editorial only — never leaves this API.
sortOrder numbernullable
targetLabel stringnullable Free text, e.g. "Q3" — deliberately not a date.
publishedVersion numbernullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId}/plan/items/{itemId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"…","summary":"…"}'
DELETE /v1/companies/{companyId}/plan/items/{itemId} plan:write

Delete an item.

Removes the authoring record. Anything already published stays visible until the next publish.

Path parameters

companyIdstring required
itemIdstring required

Returns

id string
deleted boolean

Example

curl -X DELETE https://api.pyromanic.com/v1/companies/{companyId}/plan/items/{itemId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
POST /v1/companies/{companyId}/plan/boards/{boardId}/publish/preview plan:read

See exactly what publishing would make visible.

A dry run. Nothing changes. Worth calling first from automation, since publishing is the point at which drafts become public and there is no undo beyond republishing.

Path parameters

companyIdstring required
boardIdstring required

Returns

diff any

Example

curl -X POST https://api.pyromanic.com/v1/companies/{companyId}/plan/boards/{boardId}/publish/preview \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
POST /v1/companies/{companyId}/plan/boards/{boardId}/publish plan:publish

Publish the board.

Makes published items visible to the delivery API. Call the preview first — this is the moment drafts become public.

Path parameters

companyIdstring required
boardIdstring required

Returns

result any

Example

curl -X POST https://api.pyromanic.com/v1/companies/{companyId}/plan/boards/{boardId}/publish \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"

Feedback

GET /v1/companies/{companyId}/feedback feedback:read

List reviews and mentions.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 50
sourcestring app_store · google_play · reddit
sentimentstring positive · neutral · negative
replyStatusstring Filter to a stage of the reply workflow — "needs_review" is the queue.none · draft · needs_review · approved · posting · posted · failed · skipped

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/feedback \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/feedback/{feedbackId} feedback:read

Fetch one review or mention.

Path parameters

companyIdstring required
feedbackIdstring required

Returns

id string
companyId string
source stringnullable app_store | google_play | reddit
kind stringnullable review | mention
externalId string The platform's own id.
externalUrl stringnullable
authorName stringnullable
title stringnullable
body stringnullable
rating numbernullable Null for mentions, which carry no rating.
appVersion stringnullable
territory stringnullable
locale stringnullable
postedAt stringnullable
fetchedAt stringnullable
flags arraynullable Risk labels: money, defect, legal, safety, churn.
priority numbernullable Lower sorts first.
sentiment stringnullable positive | neutral | negative
replyBody stringnullable
replyStatus stringnullable none | draft | needs_review | approved | posting | posted | failed | skipped
createdAt stringnullable
updatedAt stringnullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/feedback/{feedbackId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
PATCH /v1/companies/{companyId}/feedback/{feedbackId}/reply feedback:write

Write or update the reply to a review.

Stores the reply text and its workflow status. This does not send anything — posting back to the platform is a separate, human-confirmed step, and several sources are read-only. Set status to "approved" to mark a reply ready to send.

Path parameters

companyIdstring required
feedbackIdstring required

Body

replyBody string
replyStatus string

Returns

id string
companyId string
source stringnullable app_store | google_play | reddit
kind stringnullable review | mention
externalId string The platform's own id.
externalUrl stringnullable
authorName stringnullable
title stringnullable
body stringnullable
rating numbernullable Null for mentions, which carry no rating.
appVersion stringnullable
territory stringnullable
locale stringnullable
postedAt stringnullable
fetchedAt stringnullable
flags arraynullable Risk labels: money, defect, legal, safety, churn.
priority numbernullable Lower sorts first.
sentiment stringnullable positive | neutral | negative
replyBody stringnullable
replyStatus stringnullable none | draft | needs_review | approved | posting | posted | failed | skipped
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId}/feedback/{feedbackId}/reply \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"replyBody":"…","replyStatus":"…"}'

Metrics

GET /v1/companies/{companyId}/metrics/definitions metrics:read

List metric definitions.

What this company measures. Read this to learn the keys the points endpoint accepts.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 100
needsReviewstring Filter to keys auto-created by an unrecognised push and not yet confirmed.true · false

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/metrics/definitions \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/metrics/points metrics:read

Read a metric series.

Values for one metric over a date range. Points are keyed so a re-send overwrites in place, which is why a backfill and a nightly recompute both look like this.

Path parameters

companyIdstring required

Query parameters

metricKeystring requiredRequired. From the definitions endpoint.
grainstring requireddefault "day"day · week · month
fromstring ISO date, inclusive.
tostring ISO date, inclusive.
limitinteger requireddefault 365

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/metrics/points \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"

Optimise

GET /v1/companies/{companyId}/optimise/sites optimise:read

List measured sites.

Path parameters

companyIdstring required

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/optimise/sites \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/optimise/sites/{siteId}/goals optimise:read

List goals defined on a site.

Path parameters

companyIdstring required
siteIdstring required

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/optimise/sites/{siteId}/goals \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/optimise/audits optimise:read

List site audits.

Scores and summaries. Fetch one audit for its per-page findings.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 20
siteIdstring
statusstring running · complete · failed

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/optimise/audits \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/optimise/audits/{auditId} optimise:read

Fetch one audit, with findings.

Path parameters

companyIdstring required
auditIdstring required

Returns

id string
companyId string
siteId stringnullable
rootUrl stringnullable
status stringnullable running | complete | failed
startedAt stringnullable
finishedAt stringnullable
scoreSeo numbernullable
scoreAeo numbernullable
scoreGeo numbernullable
pagesAudited numbernullable
summary stringnullable
error stringnullable
createdAt stringnullable
updatedAt stringnullable
findings anynullable Per-page findings. Large — only returned for a single audit.

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/optimise/audits/{auditId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"

Broadcast

GET /v1/companies/{companyId}/broadcast/plans broadcast:read

List content plans.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 25

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/broadcast/plans \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/broadcast/ideas broadcast:read

List content ideas.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 50
planIdstring
statusstring suggested · accepted · rejected

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/broadcast/ideas \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/broadcast/posts broadcast:read

List posts.

Drafts, scheduled and published. Filter by status to get a queue.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 50
platformstring x · instagram · tiktok · facebook · reddit · push
statusstring e.g. draft, scheduled, published, failed
ideaIdstring

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/broadcast/posts \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
POST /v1/companies/{companyId}/broadcast/posts broadcast:write

Draft a post.

Created as a draft. Set scheduledFor and status to "scheduled" to queue it — the dispatcher picks it up from there. Nothing here sends anything itself.

Path parameters

companyIdstring required

Body

platform string required
title string
body string required
hashtags array
ideaId string
destination string push only: the segment to send to.
deepLink string
scheduledFor string ISO 8601. Omit to leave it unscheduled.
status string required

Returns

id string
companyId string
ideaId stringnullable
platform stringnullable
title stringnullable
body stringnullable
threadParts arraynullable Set when the body exceeds one post.
hashtags arraynullable
media anynullable
destination stringnullable
deepLink stringnullable
scheduledFor stringnullable
status stringnullable
publishedAt stringnullable
externalId stringnullable
externalUrl stringnullable
failureReason stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X POST https://api.pyromanic.com/v1/companies/{companyId}/broadcast/posts \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"…","title":"…"}'
GET /v1/companies/{companyId}/broadcast/posts/{postId} broadcast:read

Fetch one post.

Path parameters

companyIdstring required
postIdstring required

Returns

id string
companyId string
ideaId stringnullable
platform stringnullable
title stringnullable
body stringnullable
threadParts arraynullable Set when the body exceeds one post.
hashtags arraynullable
media anynullable
destination stringnullable
deepLink stringnullable
scheduledFor stringnullable
status stringnullable
publishedAt stringnullable
externalId stringnullable
externalUrl stringnullable
failureReason stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/broadcast/posts/{postId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
PATCH /v1/companies/{companyId}/broadcast/posts/{postId} broadcast:write

Update or schedule a post.

Only unsent posts can be edited.

Path parameters

companyIdstring required
postIdstring required

Body

title string
body string
hashtags array
destination string
deepLink string
scheduledFor string
status string

Returns

id string
companyId string
ideaId stringnullable
platform stringnullable
title stringnullable
body stringnullable
threadParts arraynullable Set when the body exceeds one post.
hashtags arraynullable
media anynullable
destination stringnullable
deepLink stringnullable
scheduledFor stringnullable
status stringnullable
publishedAt stringnullable
externalId stringnullable
externalUrl stringnullable
failureReason stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId}/broadcast/posts/{postId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"…","body":"…"}'
DELETE /v1/companies/{companyId}/broadcast/posts/{postId} broadcast:write

Delete an unsent post.

Path parameters

companyIdstring required
postIdstring required

Returns

id string
deleted boolean

Example

curl -X DELETE https://api.pyromanic.com/v1/companies/{companyId}/broadcast/posts/{postId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
GET /v1/companies/{companyId}/broadcast/channels broadcast:read

List connected channels.

Which platforms are connected and whether their credentials still work.

Path parameters

companyIdstring required

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/broadcast/channels \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"

Context

GET /v1/companies/{companyId}/context/brand-kit context:read

Fetch the brand kit.

Voice, colours and art direction. Read this before generating anything.

Path parameters

companyIdstring required

Returns

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/context/brand-kit \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
PATCH /v1/companies/{companyId}/context/brand-kit context:write

Update the brand kit.

Creates it if the company has none. Changing voice guidelines changes every future draft.

Path parameters

companyIdstring required

Body

voiceTone array Descriptors, e.g. ['direct', 'wry']. Replaces the whole list.
voiceGuidelines string
voiceExamples array Replaces the whole list.
avoidWords array Replaces the whole list.
artStyle string
artDirection string
imageryNotes string
context string

Returns

id string
companyId string
voiceTone arraynullable Descriptors, e.g. ['direct', 'wry'].
voiceGuidelines stringnullable Prose do/don't rules the generators follow.
voiceExamples arraynullable Phrases that sound like this company.
avoidWords arraynullable Words and phrases never to use.
colors anynullable
fonts anynullable
artStyle stringnullable
artDirection stringnullable
imageryNotes stringnullable
context stringnullable Anything else a writer should know.
extractedFrom stringnullable Where this was read from, if it was extracted.
lastExtractedAt stringnullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId}/context/brand-kit \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voiceTone":"…","voiceGuidelines":"…"}'
GET /v1/companies/{companyId}/context/content-types context:read

List content types.

The kinds of post this company publishes, and how each should be written.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 50

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/context/content-types \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"
POST /v1/companies/{companyId}/context/content-types context:write

Add a content type.

Path parameters

companyIdstring required

Body

name string required
description string
guidance string How this kind of post should read.
defaultPlatforms array
cadence string
active boolean required

Returns

id string
companyId string
name stringnullable
description stringnullable
guidance stringnullable How to write this kind of post.
defaultPlatforms arraynullable
cadence stringnullable
active booleannullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X POST https://api.pyromanic.com/v1/companies/{companyId}/context/content-types \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","description":"…"}'
PATCH /v1/companies/{companyId}/context/content-types/{contentTypeId} context:write

Update a content type.

Path parameters

companyIdstring required
contentTypeIdstring required

Body

name string
description string
guidance string
defaultPlatforms array
cadence string
active boolean

Returns

id string
companyId string
name stringnullable
description stringnullable
guidance stringnullable How to write this kind of post.
defaultPlatforms arraynullable
cadence stringnullable
active booleannullable
createdAt stringnullable
updatedAt stringnullable

Example

curl -X PATCH https://api.pyromanic.com/v1/companies/{companyId}/context/content-types/{contentTypeId} \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","description":"…"}'
GET /v1/companies/{companyId}/context/goals context:read

List brand goals.

Path parameters

companyIdstring required

Query parameters

limitinteger requireddefault 50

Returns

items arraynullable

Example

curl https://api.pyromanic.com/v1/companies/{companyId}/context/goals \
  -H "Authorization: Bearer $PYROMANIC_SECRET_KEY"