ProductOSDocs

Entity reference · v1

roadmap-audiences

table roadmap_audiences

The workspace's roadmap audiences (Leadership, Customers, Investors and its own): who a Work item may be shown to. Work lists its audiences in roadmap_audience_ids. min_effort is the smallest effort the audience is shown (null for any size). is_public audiences publish to the public roadmap; only an owner or admin can change is_public. Share links are made in Settings, not here.

roadmap_audiences is the per-workspace list of who a Work item may be shown to on a roadmap. Every workspace starts with Leadership, Customers and Investors, and can rename, recolour, reorder, delete or add to them in Settings → Roadmap Audiences.

Like work-item types, it is workspace configuration, not a Golden Thread entity. A Work item lists its audiences in features.roadmap_audience_ids.

Tagging Work

roadmap_audience_ids is a uuid[] on features. Send the whole list on PATCH /api/v1/features/{id}; [] clears it. Every id must be an audience in the same workspace, or the write is refused with 422 and the missing ids. Duplicates are dropped.

An empty list means Internal Only: the in-app roadmap still shows the item, but no audience view, share link or public roadmap does. New Work starts Internal Only.

Deleting an audience removes it from every Work item that carried it.

What an audience sees

An audience sees a Work item when both hold:

  1. The item is tagged with the audience.
  2. The item's effort is at least the audience's min_effort (xs to xl). null means any size. An item with no effort always passes: the tag is the deliberate choice, the size only trims noise.

The work-item type's show_on_roadmap still applies first, everywhere. Outside viewers also only see items that are Planned, In Progress (In Review and Testing count as In Progress) or Shipped, not drafts and not the trash.

The public roadmap

With roadmap audiences on, the public roadmap (GET /api/v1/public/roadmap/{slug} and /embed/{slug}/roadmap) lists only items that a public audience (is_public: true) sees. Customers is seeded public.

An audience can have one private link, /share/roadmap/{token}, that shows its roadmap to anyone holding it, without signing in. Links are made, replaced and revoked by owners and admins, in Settings or with:

  • POST /api/roadmap-audiences/{id}/share makes a link, or replaces the current one. The old link stops working at once.
  • DELETE /api/roadmap-audiences/{id}/share revokes it.

Both answer { "data": { "share_token": "…" } } (null after a revoke). The generic PATCH cannot set share_token. Share pages carry noindex and send no referrer.

Fields

FieldNotes
name1 to 60 characters, unique in the workspace regardless of case.
colorOne of the Settings palette tokens, for example bg-accent-teal.
sort_orderDisplay order in pickers, the roadmap switch and Settings.
min_effortxs, s, m, l, xl, or null for any size.
is_publicOwners and admins only.

Permissions

Any workspace member reads audiences and tags Work with them. Members and above create and edit audiences; deleting one needs admin or owner.

Endpoints

GET/api/v1/roadmap-audiences
POST/api/v1/roadmap-audiences
GET/api/v1/roadmap-audiences/{id}
PATCH/api/v1/roadmap-audiences/{id}
DELETE/api/v1/roadmap-audiences/{id}

Writable fields

* required on create. PATCH treats every field as optional.

FieldTypeConstraintsNotes
name*string
colorstring
sort_orderinteger≥ 0
min_effortstringxs | s | m | l | xl
is_publicbooleanPublish this audience's Work on the workspace's public roadmap. Owners and admins only.

Listing & filtering

  • Pagination: ?limit=50&offset=0 · max limit 200
  • Default sort: ?sort=sort_order&order=asc
  • Sortable fields: created_at · updated_at · sort_order · name
  • Search (?q=): name
  • Filters: ?name= ?is_public= , repeat any filter to OR multiple values

Examples

curlbash
curl 'https://productos.ca/api/v1/roadmap-audiences?limit=10' \
  -H "Authorization: Bearer $TOKEN"

Try it out

Paste a token and hit a real endpoint. The request goes from your browser straight to /api/v1/roadmap-audiences. The token is held in this page only for the request and is never stored.

Try it out

Issue tokens in Settings → API tokens. Token never leaves this page.

GET/api/v1/roadmap-audiences?limit=3

Generated from the API's entity configuration. This page is rebuilt on every deploy, so it always matches the live API.