Skip to main content
TroopyDocs
Open Troopy
Troopy

API reference / Apps

Choose what an app reads

Chooses what a connection reads. For Search Console, choose one property. For Meta Ads, choose the ad accounts, and the campaigns that Analytics tracks (null tracks all of them). The ids come from choices, and from the campaigns of getAnalyticsAds. For an image provider, choose the model that makes its pictures. Needs an owner or admin.

patch/api/v1/apps/{provider}

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 apps choose
MCP toolNone. Call it over REST or with the CLI.
Rate limit30 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.

Path parameters

provider*enum<string>

The app, like stripe

stripeposthoggithubnotionhunterlemonsqueezypolarpaddledodopaymentssearchconsolemetaadsgooglecalendargeminiopenaifalreplicate

Body

application/json
choosearray<string>

Ids from choices

At most 100 items

campaignsarray<string> | null

Meta Ads: the campaign ids to track, or null for all

modelstring | null

An image provider: the model that makes its pictures. null: its default model

Response

200 · application/json
data*object
11 properties
provider*enum<string>

The app, like stripe

stripeposthoggithubnotionhunterlemonsqueezypolarpaddledodopaymentssearchconsolemetaadsgooglecalendargeminiopenaifalreplicate

name*string
status*enum<string>

connectednot_connected

mode*enum<string> | null

For Stripe: whether the key reads test or live data

testlive

account*string | null

For PostHog: the project it reads, like Viraloop (US). For an image provider: its model

pictures*boolean

An image provider: whether the workspace makes its pictures with this one

hint*string | null

The key's last four characters

connectedBy*object | null
3 properties
type*enum<string>

personagentapi

id*string
name*string
connectedAt*string | null
lastUsedAt*string | null
choices*array<object> | null

What the connection can read, and what a person chose of it. Search Console has properties, and Meta Ads has ad accounts. null for the other services

3 properties
id*string
label*string
chosen*boolean

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.
404 not_foundCheck the path and any id in it. Every operation is listed in /api/v1/openapi.json.
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.