Skip to main content
TroopyDocs
Open Troopy
Troopy

API reference / Customers

Add an item to the roadmap

Adds something that the business considers to build. Write the title in the words of the business. A workspace keeps 200 items.

post/api/v1/roadmap

Authorization

HeaderAuthorization: Bearer <API key>
Or the headerX-API-Key: <API key>
API keyMake one in Troopy under Settings > API keys. It acts as you, in its workspace.

Other ways to call it

CLItroopy roadmap add
MCP toolNone. Call it over REST or with the CLI.
Rate limit60 calls in 60 seconds, for each key
RetriesSend an Idempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.

Body

application/json
title*string

At least 2 characters · At most 120 characters

notestring

What it is and why

At most 2000 characters

statusenum<string>

ideaplannedbuildingshippeddeclined

Default "idea"

Response

201 · application/json
data*object
9 properties
id*string

A 24-character id

title*string
note*string | null

What the item is and why, in the words of the business

status*enum<string>

ideaplannedbuildingshippeddeclined

task*string | null

The key of the task that builds it

evidence*object

Who asked for it

4 properties
pieces*integer

The pieces of feedback that speak for it

customers*integer

The customers who said them

mrr*number

What those customers pay for a month now, in the units of the currency

currency*string | null
by*object
2 properties
type*string
name*string | null
shippedAt*string | null
createdAt*string

ISO 8601 date and time

Errors

400 invalid_inputFix the field named in detail. Each operation's schema is in /api/v1/openapi.json.
401 unauthorizedSend an API key as `Authorization: Bearer tr_live_...`. Create one in Troopy under Settings.
403 forbiddenThe key lacks a scope this operation needs, or its owner lacks the role. detail says which; create a key with the scope, or ask an organization owner or admin.
409 conflictThis Idempotency-Key was used for a different request, or that request is still running. Use a new key for a new request.
429 rate_limitedWait the number of seconds in Retry-After, then retry.