API reference / Account
Turn on auto-release
Lets Troopy release each engineering ticket that passed every gate, with no person pressing Release, until a date at most 30 days out. It releases at most dailyCap changes in 24 hours (1 to 10), and only changes up to maxSize. It merges only a commit that GitHub's checks passed, and never a ticket with the label incident. Before a grant, Release must be how changes go live, GitHub's checks must be required, and people must have released 3 changes in the last 30 days. It ends when its date comes, when the engineering settings change, when the person who granted it is no longer an owner or admin, or when GitHub refuses a merge for a reason that a person must handle. A new grant takes the place of the old one. Owners and admins.
/api/v1/workspace/auto-releaseOther ways to call it
troopy workspace auto-releaseIdempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.Body
application/jsonuntil*stringWhen it ends, at most 30 days out
dailyCap*integerThe most changes that it releases in 24 hours
At least 1 · At most 10
maxSizeenum<string>The largest change that it releases: small, medium or large
smallmediumlarge
Default "medium"
Response
200 · application/jsondata*object19 properties
id*stringA 24-character id
name*stringwebsite*string | nullThe business's website
description*string | nullWhat the business does, in its own words
logoUrl*string | nullA public link to the business's logo, or null when it has none
timezone*string | nullThe business's IANA time zone. Teammates plan their days and routines in it
region*string | nullThe business's country or region, ISO 3166 (like DE)
language*enum<string>The language teammates write in, BCP 47
endefresitptnlplsvdanbficstrarheand 7 more
postalAddress*string | nullThe business's postal address: every outreach email ends with it
outreachSending*booleanWhether campaigns' approved emails go out from its mailboxes: off unless an owner or admin turns it on, and off again stops sending at once
troopRoom*enum<string>Who handles a troop chat message naming no teammate: troop (a quick read decides whether a teammate answers, looks into it, reacts or stays out) or lead (the lead always answers)
trooplead
learnFromTalk*booleanWhether teammates learn from what people say to each other: troop chat messages naming no teammate and comments on tasks, read now and then for facts about the business, kept as Memories with who said them. Off unless an owner or admin turns it on
learnFromWork*booleanWhether a teammate writes down what a finished task taught it. Troopy looks at a task when a person stepped in: answered a question, turned a call down, commented, or sent work back. Each lesson waits for a person's approval. On unless an owner or admin turns it off
learnFromDocs*booleanWhether teammates read the facts of the docs, web pages and files of the brain, and keep each one as a Memory with its document. A document that changes is read again. On unless an owner or admin turns it off
engineering*objectHow engineering tickets go from Analyze to Release: who approves plans, who releases, and the gates
9 properties
planApproval*enum<string>When a person approves a plan before the build starts: always, only for medium and large changes, or never
alwayslargernever
planApprovers*enum<string>Who approves plans: everyone in the workspace, or owners and admins
everyonemanagers
releaseMode*enum<string>How changes go live: github (people merge there), or button (a person presses Release)
githubbutton
releasers*enum<string>Who presses Release: owners and admins, or everyone in the workspace
managerseveryone
mergeMethod*enum<string>How Release merges a pull request. The repo must allow it
squashmergerebase
requireChecks*booleanWhether GitHub's checks must pass before a ticket is ready to release
codeReview*enum<string>Who reviews the code of each change at Test, before the QA tester tests it: off, one agent, or a council. A council is one agent for each AI lab that the organization connects, up to 3, or two Claude models when Claude is the only lab. Each agent of a council must pass. Auto-release needs a council, and merges only a change that a council passed
offonecouncil
tries*integerHow many times testing may send a ticket back to Build before the Engineer stops and asks
At least 1 · At most 5
codePlan*string | nullThe AI plan that writes and reviews code. Null: Troopy picks, a Claude plan first. A plan that is out of usage gives its place to the next plan that writes code
autoRelease*object | nullThe grant of an owner or admin for Troopy to release each engineering ticket that passed every gate, with no person pressing Release. null when nobody ever granted one
9 properties
on*booleanIn force now
until*stringWhen it ends
dailyCap*integerThe most changes that it releases in 24 hours
maxSize*enum<string>The largest change that it releases, by the size that the Engineer gave it
smallmediumlarge
grantedBy*stringThe name of the person who granted it
grantedAt*stringISO 8601 date and time
endedAt*string | nullwhy*string | nullWhy it ended
today*integerThe changes that it released in the last 24 hours
artGrant*object | nullThe grant of an owner or admin for teammates to make art with the image provider with no yes, within the pictures a day of its plan. null: a person says yes to each batch
2 properties
grantedBy*stringThe name of the person who turned it on
grantedAt*stringISO 8601 date and time
createdAt*stringISO 8601 date and time
memberCount*integer