Skip to content

Greenroom

Pre-flight staging: where a change waits and is checked before it goes live.

glueRunning the shop90 operationsid greenroom

How it sits

Glue chains parts together and keeps the result running. The counts and the links below are from the platform's spec and the other services' own descriptions.

Among the partsfrom the spec
Operations90 GET 43 · POST 37 · PUT 8 · DELETE 2
Resources17
Leaned on byCalendar
Leans onnone named
In recipesnone yet

What it can do

90 operations in 17 resources, as the spec declares them. Each row is one call; paths are relative to the part.

messaging

MethodPathDoes
GET/api/v1/messaging/no-go-topicsList current No-Go Topics
POST/api/v1/messaging/no-go-topicsCreate a No-Go Topic
PUT/api/v1/messaging/no-go-topics/{root_id}Update a No-Go Topic (creates a new version)
GET/api/v1/messaging/opposition-contrastsList current Opposition Contrasts
POST/api/v1/messaging/opposition-contrastsCreate an Opposition Contrast
PUT/api/v1/messaging/opposition-contrasts/{root_id}Update an Opposition Contrast (creates a new version)
GET/api/v1/messaging/pillarsList current Pillars
POST/api/v1/messaging/pillarsCreate a Pillar (v1)
GET/api/v1/messaging/pillars/{root_id}Get the current Pillar version
PUT/api/v1/messaging/pillars/{root_id}Update a Pillar (creates a new version)
GET/api/v1/messaging/rapid-response-linesList current Rapid Response Lines
POST/api/v1/messaging/rapid-response-linesCreate a Rapid Response Line
PUT/api/v1/messaging/rapid-response-lines/{root_id}Update a Rapid Response Line (creates a new version)
GET/api/v1/messaging/talking-pointsList current Talking Points
POST/api/v1/messaging/talking-pointsCreate a Talking Point
PUT/api/v1/messaging/talking-points/{root_id}Update a Talking Point (creates a new version)
16 operations

shows

MethodPathDoes
GET/api/v1/showsList Shows
POST/api/v1/showsIngest a Show
POST/api/v1/shows/bookersIngest a Booker
GET/api/v1/shows/bookers/{booker_id}Get a Booker
POST/api/v1/shows/episodesIngest an Episode
POST/api/v1/shows/hostsIngest a Host
GET/api/v1/shows/hosts/{host_id}Get a Host
POST/api/v1/shows/producersIngest a Producer
GET/api/v1/shows/producers/{producer_id}Get a Producer
GET/api/v1/shows/{show_id}Get a Show
PUT/api/v1/shows/{show_id}Update a Show
DELETE/api/v1/shows/{show_id}/conflict-flagClear all active conflict flags on a Show
POST/api/v1/shows/{show_id}/conflict-flagFlag a Show as a conflict of interest
GET/api/v1/shows/{show_id}/episodesList Episodes for a Show
GET/api/v1/shows/{show_id}/hostsList Hosts for a Show
15 operations

touchpoints

MethodPathDoes
GET/api/v1/touchpoints/digestsList TouchpointDigests for a user
POST/api/v1/touchpoints/digestsCompose a TouchpointDigest
GET/api/v1/touchpoints/digests/{digest_id}Get a TouchpointDigest
GET/api/v1/touchpoints/digests/{digest_id}/touchpointsList Touchpoints for a digest
GET/api/v1/touchpoints/signalsList TouchpointSignals
POST/api/v1/touchpoints/signalsRecord a TouchpointSignal
GET/api/v1/touchpoints/{touchpoint_id}Get a Touchpoint
POST/api/v1/touchpoints/{touchpoint_id}/outcomeRecord a Touchpoint outcome
8 operations

pitches

MethodPathDoes
GET/api/v1/pitchesList Pitches
POST/api/v1/pitchesCreate a Pitch and its initial Hit
POST/api/v1/pitches/outbound/{outbound_id}/responseMark an outbound as having received a response
GET/api/v1/pitches/{pitch_id}Get a Pitch
POST/api/v1/pitches/{pitch_id}/closeClose a Pitch
GET/api/v1/pitches/{pitch_id}/outboundList outbound records for a Pitch
POST/api/v1/pitches/{pitch_id}/sendSend a pitch outbound
7 operations

tenants

MethodPathDoes
GET/api/v1/tenantsList Tenants
POST/api/v1/tenantsCreate a Tenant
GET/api/v1/tenants/{tenant_id}Get a Tenant by id
POST/api/v1/tenants/{tenant_id}/lock-outboundLock outbound for a Tenant
POST/api/v1/tenants/{tenant_id}/promote-to-livePromote a Tenant from DEMO to LIVE
POST/api/v1/tenants/{tenant_id}/revert-to-demoRevert a Tenant to DEMO mode
POST/api/v1/tenants/{tenant_id}/unlock-outboundUnlock outbound for a Tenant
7 operations

approvals

MethodPathDoes
GET/api/v1/approvalsList Approvals
POST/api/v1/approvalsRequest a dual approval
GET/api/v1/approvals/by-hit/{hit_id}List Approvals for a Hit
GET/api/v1/approvals/{approval_id}Get an Approval
POST/api/v1/approvals/{approval_id}/decisionsRecord an approver's decision
5 operations

briefings

MethodPathDoes
GET/api/v1/briefings/by-hit/{hit_id}List BriefingPackets for a Hit
POST/api/v1/briefings/generate-for-hit/{hit_id}Generate a BriefingPacket for a Hit
GET/api/v1/briefings/{packet_id}Get a BriefingPacket
POST/api/v1/briefings/{packet_id}/emailedMark emailed
POST/api/v1/briefings/{packet_id}/pdf-renderedMark PDF rendered
5 operations

compliance

MethodPathDoes
GET/api/v1/compliance/disclosure-templatesList DisclosureTemplates in the request tenant
POST/api/v1/compliance/disclosure-templatesCreate a DisclosureTemplate
GET/api/v1/compliance/disclosure-templates/{template_id}Get a DisclosureTemplate by id
PUT/api/v1/compliance/disclosure-templates/{template_id}Replace a DisclosureTemplate (clears counsel approval on body change)
POST/api/v1/compliance/disclosure-templates/{template_id}/counsel-approveStamp counsel approval onto a DisclosureTemplate
5 operations

hits

MethodPathDoes
GET/api/v1/hitsList Hits
POST/api/v1/hits/referralRecord a referral
POST/api/v1/hits/walk-inRecord a walk-in booking
GET/api/v1/hits/{hit_id}Get a Hit
POST/api/v1/hits/{hit_id}/transitionAdvance a Hit to a new state
5 operations

users

MethodPathDoes
GET/api/v1/usersList Users
POST/api/v1/usersCreate a User
DELETE/api/v1/users/{user_id}Deactivate a User
GET/api/v1/users/{user_id}Get a User by id
PUT/api/v1/users/{user_id}Update a User
5 operations

messaging-snapshots

MethodPathDoes
GET/api/v1/messaging-snapshotsList MessagingSnapshots
POST/api/v1/messaging-snapshotsCreate a MessagingSnapshot
GET/api/v1/messaging-snapshots/{snapshot_id}Get a MessagingSnapshot
GET/api/v1/messaging-snapshots/{snapshot_id}/entriesList entries pinned by a snapshot
4 operations

cron

MethodPathDoes
POST/api/v1/cron/briefings/t-minus-2h/{hit_id}Cron T-2hr trigger: generate a briefing packet for a hit
POST/api/v1/cron/touchpoints/weekly-digestCron weekly trigger: compose a touchpoint digest for an operator
2 operations

health

MethodPathDoes
GET/healthBasic health check
GET/health/detailedDetailed health check
2 operations

hello

MethodPathDoes
GET/api/v1/helloHello world
1 operation

m

MethodPathDoes
GET/m/decisionMobile tap-handler — record an approval decision from a signed link
1 operation

prime

MethodPathDoes
GET/primePrime application caches
1 operation

status

MethodPathDoes
GET/statusService status overview
1 operation

All the partsRunning the shopThe platform's own id for this service is cbgreenroom.

forge-catalog.json, generated Oct 30, 2026

Anti-cloud. Host local, think global.

Terminal
/terminal