# Troopy > AI teammates for your business. This file describes Troopy's public API for agents. - API base URL: https://troopy.ai/api/v1 (API key in `Authorization: Bearer tr_live_...`) - Docs: https://troopy.ai/docs/api - OpenAPI: https://troopy.ai/openapi/v1.json - Remote MCP (streamable HTTP): https://troopy.ai/api/mcp - CLI: `npx -y troopy --help`; local MCP: `npx -y troopy-mcp` - Full reference: https://troopy.ai/llms-full.txt ## Operations - Who am I: `GET /api/v1/me` (`troopy whoami`) - Your Telegram: `GET /api/v1/me/telegram` (`troopy telegram status`) - Link your Telegram: `POST /api/v1/me/telegram` (`troopy telegram connect`) - Unlink your Telegram: `DELETE /api/v1/me/telegram` (`troopy telegram disconnect`) - Your products: `GET /api/v1/me/products` (`troopy products list`) - Pin products to your sidebar: `PATCH /api/v1/me/products` (`troopy products pin`) - Your notifications: `GET /api/v1/me/notifications` (`troopy notifications list`) - Mark notifications read: `POST /api/v1/me/notifications/read` (`troopy notifications read`) - Dismiss a notification: `DELETE /api/v1/me/notifications/{id}` (`troopy notifications dismiss`) - Clear your notifications: `DELETE /api/v1/me/notifications` (`troopy notifications clear`) - What Troopy tells you about: `GET /api/v1/me/notification-settings` (`troopy notifications settings`) - Change what Troopy tells you about: `PATCH /api/v1/me/notification-settings` (`troopy notifications set`) - What happened in the workspace: `GET /api/v1/activity` (`troopy activity`) - What's new in Troopy: `GET /api/v1/changelog` (`troopy changelog`) - Mark What's new seen: `POST /api/v1/changelog/seen` (`troopy changelog seen`) - Search the Troopy guides: `GET /api/v1/guides` (`troopy guides search`) - Read a Troopy guide: `GET /api/v1/guide` (`troopy guides read`) - Stop using the workspace's Telegram bot: `DELETE /api/v1/telegram/bot` (`troopy telegram remove-bot`) - Get the workspace: `GET /api/v1/workspace` (`troopy workspace get`) - Update the workspace: `PATCH /api/v1/workspace` (`troopy workspace rename`) - Share the public dashboard: `PATCH /api/v1/public-dashboard` (`troopy workspace dashboard`) - Turn on auto-release: `POST /api/v1/workspace/auto-release` (`troopy workspace auto-release`) - Turn off auto-release: `DELETE /api/v1/workspace/auto-release` (`troopy workspace auto-release-off`) - List members: `GET /api/v1/members` (`troopy members list`) - List workspaces: `GET /api/v1/workspaces` (`troopy workspace list`) - Create a workspace: `POST /api/v1/workspaces` (`troopy workspace create`) - Get the organization: `GET /api/v1/organization` (`troopy organization get`) - Update the organization: `PATCH /api/v1/organization` (`troopy organization update`) - Get the plan of the workspace: `GET /api/v1/billing` (`troopy billing get`) - Get the computer: `GET /api/v1/computer` (`troopy computer get`) - Launch the computer: `POST /api/v1/computer` (`troopy computer launch`) - Update the computer: `PATCH /api/v1/computer` (`troopy computer update`) - Reset setup: `DELETE /api/v1/computer` (`troopy computer reset`) - Connect the AI plan: `POST /api/v1/computer/connection` (`troopy ai connect`) - Disconnect the AI plan: `DELETE /api/v1/computer/connection` (`troopy ai disconnect`) - Open the computer's screen: `POST /api/v1/computer/desktop` (`troopy computer desktop`) - List an AI plan's models: `GET /api/v1/ai-plans/{plan}/models` (`troopy ai models`) - Get the AI plan's usage: `GET /api/v1/computer/connection/usage` (`troopy ai usage`) - List the AI plans: `GET /api/v1/ai-plans` (`troopy ai plans`) - Add an AI plan: `POST /api/v1/ai-plans` (`troopy ai plans add`) - Order the AI plans: `PATCH /api/v1/ai-plans` (`troopy ai plans order`) - Set an AI plan's model: `PATCH /api/v1/ai-plans/{plan}` (`troopy ai plans set-model`) - Remove an AI plan: `DELETE /api/v1/ai-plans/{plan}` (`troopy ai plans remove`) - Search the brain: `GET /api/v1/brain/search` (`troopy brain search`) - List docs: `GET /api/v1/docs` (`troopy docs list`) - Read a doc: `GET /api/v1/docs/{slug}` (`troopy docs get`) - Create a doc: `POST /api/v1/docs` (`troopy docs create`) - Rewrite a doc: `PATCH /api/v1/docs/{slug}` (`troopy docs edit`) - Add to a doc's timeline: `POST /api/v1/docs/{slug}/timeline` (`troopy docs log`) - Add an image to a doc: `POST /api/v1/docs/{slug}/images` (`troopy docs add-image`) - A doc's history: `GET /api/v1/docs/{slug}/versions` (`troopy docs history`) - One version of a doc: `GET /api/v1/docs/{slug}/versions/{version}` (`troopy docs version`) - Name a version of a doc: `PATCH /api/v1/docs/{slug}/versions/{version}` (`troopy docs name-version`) - Revert a doc: `POST /api/v1/docs/{slug}/revert` (`troopy docs revert`) - Delete a doc: `DELETE /api/v1/docs/{slug}` (`troopy docs delete`) - List a doc's comments: `GET /api/v1/docs/{slug}/comments` (`troopy docs comments`) - Comment on a doc: `POST /api/v1/docs/{slug}/comments` (`troopy docs comment`) - Delete a comment of a doc: `DELETE /api/v1/docs/{slug}/comments/{id}` (`troopy docs uncomment`) - Change one passage of a doc: `POST /api/v1/docs/{slug}/edits` (`troopy docs replace`) - Share a doc with a link: `PATCH /api/v1/docs/{slug}/share` (`troopy docs share`) - Show a doc to the support bot: `PATCH /api/v1/docs/{slug}/support` (`troopy docs support`) - List Notion pages to import as docs: `GET /api/v1/doc-imports/notion` (`troopy docs notion-pages`) - Import a doc: `POST /api/v1/doc-imports` (`troopy docs import`) - File, pin or archive a doc: `PATCH /api/v1/docs/{slug}/place` (`troopy docs place`) - List the folders of docs: `GET /api/v1/doc-folders` (`troopy docs folders`) - Add a folder of docs: `POST /api/v1/doc-folders` (`troopy docs add-folder`) - Rename a folder of docs: `PATCH /api/v1/doc-folders/{id}` (`troopy docs rename-folder`) - Remove a folder of docs: `DELETE /api/v1/doc-folders/{id}` (`troopy docs remove-folder`) - List the properties of docs: `GET /api/v1/doc-fields` (`troopy docs fields`) - Add a property to docs: `POST /api/v1/doc-fields` (`troopy docs add-field`) - Change a property of docs: `PATCH /api/v1/doc-fields/{id}` (`troopy docs update-field`) - Delete a property of docs: `DELETE /api/v1/doc-fields/{id}` (`troopy docs delete-field`) - Get the memory files: `GET /api/v1/memory` (`troopy memory get`) - Rewrite a memory file: `PATCH /api/v1/memory/{file}` (`troopy memory update`) - Get the brand: `GET /api/v1/brand` (`troopy brand get`) - Read the brand from the website: `POST /api/v1/brand/read` (`troopy brand read`) - Add a competitor: `POST /api/v1/brand/competitors` (`troopy brand competitor-add`) - Change a competitor: `PATCH /api/v1/brand/competitors/{id}` (`troopy brand competitor-set`) - Remove a competitor: `DELETE /api/v1/brand/competitors/{id}` (`troopy brand competitor-delete`) - Suggest a competitor: `POST /api/v1/brand/competitors/suggestions` (`troopy brand competitor-suggest`) - Dismiss a suggested competitor: `DELETE /api/v1/brand/competitors/suggestions/{id}` (`troopy brand suggestion-dismiss`) - List the pictures of the brand: `GET /api/v1/brand/assets` (`troopy brand assets`) - Add a picture to the brand: `POST /api/v1/brand/assets` (`troopy brand asset-add`) - Change a picture of the brand: `PATCH /api/v1/brand/assets/{id}` (`troopy brand asset-set`) - Delete a picture of the brand: `DELETE /api/v1/brand/assets/{id}` (`troopy brand asset-delete`) - Put a picture of the brand on a task: `POST /api/v1/tasks/{key}/assets` (`troopy tasks asset`) - Find competitors: `POST /api/v1/brand/competitors/find` (`troopy brand competitors-find`) - Change the brand: `PATCH /api/v1/brand` (`troopy brand update`) - Add to the brain: `POST /api/v1/brain/sources` (`troopy brain add`) - Add a file to the brain: `POST /api/v1/brain/files` (`troopy brain add-file`) - List brain sources: `GET /api/v1/brain/sources` (`troopy brain sources`) - Read a brain source: `GET /api/v1/brain/sources/{id}` (`troopy brain source`) - Learn a website: `POST /api/v1/brain/imports` (`troopy brain learn`) - Check a website import: `GET /api/v1/brain/imports/{id}` (`troopy brain import`) - Delete a brain source: `DELETE /api/v1/brain/sources/{id}` (`troopy brain forget`) - Say a note is wrong: `POST /api/v1/brain/sources/{id}/wrong` (`troopy brain wrong`) - Take back saying a note is wrong: `DELETE /api/v1/brain/sources/{id}/wrong` (`troopy brain unwrong`) - Say whether a note is still true: `POST /api/v1/brain/sources/{id}/check` (`troopy brain check`) - Restore a replaced note: `POST /api/v1/brain/sources/{id}/restore` (`troopy brain restore`) - List teammates: `GET /api/v1/agents` (`troopy agents list`) - Get a teammate: `GET /api/v1/agents/{handle}` (`troopy agents get`) - List a teammate's email: `GET /api/v1/agents/{handle}/inbox` (`troopy agents inbox`) - Get a teammate's email settings: `GET /api/v1/agents/{handle}/inbox/settings` (`troopy agents email-settings`) - Change a teammate's email settings: `PATCH /api/v1/agents/{handle}/inbox` (`troopy agents address`) - Get the email domain: `GET /api/v1/email/domain` (`troopy email-domain show`) - Connect an email domain: `POST /api/v1/email/domain` (`troopy email-domain connect`) - Verify the email domain: `POST /api/v1/email/domain/verify` (`troopy email-domain verify`) - Remove the email domain: `DELETE /api/v1/email/domain` (`troopy email-domain remove`) - Add an inbox rule: `POST /api/v1/agents/{handle}/inbox/rules` (`troopy agents inbox-rule-add`) - Remove an inbox rule: `DELETE /api/v1/agents/{handle}/inbox/rules/{id}` (`troopy agents inbox-rule-remove`) - List the email rules of the workspace: `GET /api/v1/email/rules` (`troopy email-rules list`) - Add an email rule for every inbox: `POST /api/v1/email/rules` (`troopy email-rules add`) - Remove an email rule: `DELETE /api/v1/email/rules/{id}` (`troopy email-rules remove`) - Delete a teammate's inbox: `DELETE /api/v1/agents/{handle}/inbox` (`troopy agents inbox-delete`) - Give a teammate a new address: `POST /api/v1/agents/{handle}/inbox` (`troopy agents inbox-restore`) - Send an email from a teammate: `POST /api/v1/agents/{handle}/inbox/send` (`troopy agents send-email`) - Get a teammate's email: `GET /api/v1/agents/{handle}/inbox/{id}` (`troopy agents email`) - Nudge a teammate: `POST /api/v1/agents/{handle}/nudge` (`troopy agents nudge`) - Get a teaching session: `GET /api/v1/agents/{handle}/teach` (`troopy teach get`) - Teach a teammate a task: `POST /api/v1/agents/{handle}/teach` (`troopy teach start`) - Finish teaching a task: `PATCH /api/v1/agents/{handle}/teach` (`troopy teach update`) - List the skills: `GET /api/v1/skills` (`troopy skills list`) - Read a skill: `GET /api/v1/skills/{name}` (`troopy skills get`) - Write a skill: `POST /api/v1/skills` (`troopy skills save`) - Turn a skill on or off: `PATCH /api/v1/skills/{name}` (`troopy skills update`) - Delete a skill: `DELETE /api/v1/skills/{name}` (`troopy skills delete`) - List the skill packs: `GET /api/v1/skill-packs` (`troopy packs list`) - Add a skill pack: `POST /api/v1/skill-packs` (`troopy packs add`) - Turn a skill pack on or off: `PATCH /api/v1/skill-packs/{key}` (`troopy packs update`) - Sync a skill pack: `POST /api/v1/skill-packs/{key}/sync` (`troopy packs sync`) - Remove a skill pack: `DELETE /api/v1/skill-packs/{key}` (`troopy packs remove`) - Read a skill of a pack: `GET /api/v1/skill-packs/{key}/skills/{name}` (`troopy packs skill`) - Turn a skill of a pack on or off: `PATCH /api/v1/skill-packs/{key}/skills/{name}` (`troopy packs skill-update`) - Rewrite a teammate's own file: `PATCH /api/v1/agents/{handle}/files/{file}` (`troopy agents file`) - Update a teammate: `PATCH /api/v1/agents/{handle}` (`troopy agents update`) - Hire a teammate: `POST /api/v1/agents` (`troopy agents hire`) - Let a teammate go: `DELETE /api/v1/agents/{handle}` (`troopy agents fire`) - List roles: `GET /api/v1/roles` (`troopy roles list`) - Draft a custom role: `POST /api/v1/roles/drafts` (`troopy roles draft`) - List conversations: `GET /api/v1/threads` (`troopy chat list`) - Start a conversation: `POST /api/v1/threads` (`troopy chat start`) - Read a conversation: `GET /api/v1/threads/{id}` (`troopy chat get`) - Reply in a conversation: `POST /api/v1/threads/{id}/messages` (`troopy chat send`) - Read the troop chat: `GET /api/v1/troop/messages` (`troopy troop list`) - Post in the troop chat: `POST /api/v1/troop/messages` (`troopy troop send`) - Read a thread in the troop chat: `GET /api/v1/troop/messages/{id}` (`troopy troop thread`) - Reply in a troop chat thread: `POST /api/v1/troop/messages/{id}/replies` (`troopy troop reply`) - React to a troop chat message: `POST /api/v1/troop/messages/{id}/reactions` (`troopy troop react`) - Take back a troop chat reaction: `DELETE /api/v1/troop/messages/{id}/reactions/{emoji}` (`troopy troop unreact`) - List runs: `GET /api/v1/runs` (`troopy runs list`) - Read a run: `GET /api/v1/runs/{id}` (`troopy runs get`) - List approvals: `GET /api/v1/approvals` (`troopy approvals list`) - Approve or deny a call: `POST /api/v1/approvals/{id}` (`troopy approvals decide`) - List standing rules: `GET /api/v1/rules` (`troopy rules list`) - Accept, dismiss or stop a standing rule: `POST /api/v1/rules/{id}` (`troopy rules decide`) - List drafts: `GET /api/v1/drafts` (`troopy drafts list`) - Get a draft: `GET /api/v1/drafts/{id}` (`troopy drafts get`) - Update a draft: `PATCH /api/v1/drafts/{id}` (`troopy drafts update`) - List routines: `GET /api/v1/routines` (`troopy routines list`) - Make a routine: `POST /api/v1/routines` (`troopy routines create`) - Change a routine: `PATCH /api/v1/routines/{id}` (`troopy routines update`) - Delete a routine: `DELETE /api/v1/routines/{id}` (`troopy routines delete`) - Run a routine now: `POST /api/v1/routines/{id}/run` (`troopy routines run`) - List triggers: `GET /api/v1/triggers` (`troopy triggers list`) - Make a trigger: `POST /api/v1/triggers` (`troopy triggers create`) - Read a trigger: `GET /api/v1/triggers/{id}` (`troopy triggers get`) - Change a trigger: `PATCH /api/v1/triggers/{id}` (`troopy triggers update`) - Delete a trigger: `DELETE /api/v1/triggers/{id}` (`troopy triggers delete`) - Send a test event: `POST /api/v1/triggers/{id}/test` (`troopy triggers test`) - Run a held event: `POST /api/v1/triggers/{id}/events/{event}/run` (`troopy triggers run-event`) - List templates: `GET /api/v1/templates` (`troopy templates list`) - Get a template: `GET /api/v1/templates/{id}` (`troopy templates get`) - Switch on a routine template: `POST /api/v1/templates/{id}/on` (`troopy templates on`) - Switch on a trigger template: `POST /api/v1/templates/{id}/trigger` (`troopy templates trigger`) - List the tools of teammates: `GET /api/v1/teammate-tools` (`troopy tools list`) - Switch teammate tools on or off: `PATCH /api/v1/teammate-tools` (`troopy tools switch`) - List apps: `GET /api/v1/apps` (`troopy apps list`) - Connect an app: `POST /api/v1/apps/{provider}` (`troopy apps connect`) - List the GitHub repos: `GET /api/v1/apps/github/repos` (`troopy github repos`) - Set a repo's commands: `PATCH /api/v1/apps/github/repos` (`troopy github set-repo`) - Choose what an app reads: `PATCH /api/v1/apps/{provider}` (`troopy apps choose`) - Disconnect an app: `DELETE /api/v1/apps/{provider}` (`troopy apps disconnect`) - List the custom apps: `GET /api/v1/custom-apps` (`troopy custom-apps list`) - Add a custom app: `POST /api/v1/custom-apps` (`troopy custom-apps add`) - Change a custom app: `PATCH /api/v1/custom-apps/{slug}` (`troopy custom-apps update`) - List the tools of a custom app again: `POST /api/v1/custom-apps/{slug}/tools` (`troopy custom-apps tools`) - Remove a custom app: `DELETE /api/v1/custom-apps/{slug}` (`troopy custom-apps remove`) - List vault collections: `GET /api/v1/vault/collections` (`troopy vault collections`) - List vault items: `GET /api/v1/vault/items` (`troopy vault list`) - Get a vault item: `GET /api/v1/vault/items/{id}` (`troopy vault get`) - Add a vault item: `POST /api/v1/vault/items` (`troopy vault add`) - Change a vault item: `PATCH /api/v1/vault/items/{id}` (`troopy vault update`) - Delete a vault item: `DELETE /api/v1/vault/items/{id}` (`troopy vault delete`) - List vault activity: `GET /api/v1/vault/events` (`troopy vault activity`) - List calendar events: `GET /api/v1/apps/googlecalendar/events` (`troopy calendar events`) - List Stripe customers: `GET /api/v1/apps/stripe/customers` (`troopy stripe customers`) - List Stripe subscriptions: `GET /api/v1/apps/stripe/subscriptions` (`troopy stripe subscriptions`) - List failed Stripe payments: `GET /api/v1/apps/stripe/failed-payments` (`troopy stripe failed-payments`) - List Stripe invoices: `GET /api/v1/apps/stripe/invoices` (`troopy stripe invoices`) - List PostHog events: `GET /api/v1/apps/posthog/events` (`troopy posthog events`) - Get a PostHog trend: `GET /api/v1/apps/posthog/trend` (`troopy posthog trend`) - Get a PostHog funnel: `GET /api/v1/apps/posthog/funnel` (`troopy posthog funnel`) - Query PostHog with HogQL: `GET /api/v1/apps/posthog/query` (`troopy posthog query`) - List tasks: `GET /api/v1/tasks` (`troopy tasks list`) - Get a task: `GET /api/v1/tasks/{key}` (`troopy tasks get`) - Edit an engineering ticket's analysis or plan: `PATCH /api/v1/tasks/{key}/docs/{doc}` (`troopy tasks doc`) - Create a task: `POST /api/v1/tasks` (`troopy tasks create`) - Change a task: `PATCH /api/v1/tasks/{key}` (`troopy tasks update`) - Release an engineering ticket: `POST /api/v1/tasks/{key}/release` (`troopy tasks release`) - Claim a task: `POST /api/v1/tasks/{key}/claim` (`troopy tasks claim`) - Comment on a task: `POST /api/v1/tasks/{key}/comments` (`troopy tasks comment`) - How much teammates needed people: `GET /api/v1/needed-you` (`troopy agents needed`) - Write down what a task taught: `POST /api/v1/tasks/{key}/lessons` (`troopy tasks learn`) - Open a task's pull request: `POST /api/v1/tasks/{key}/pull-request` (`troopy tasks pull-request`) - Answer a teammate's question: `POST /api/v1/asks/{id}` (`troopy asks answer`) - Make pictures for a task: `POST /api/v1/tasks/{key}/pictures` (`troopy tasks pictures`) - Find stock photos for a task: `POST /api/v1/tasks/{key}/photos` (`troopy tasks photos`) - Attach a file: `POST /api/v1/tasks/{key}/attachments` (`troopy tasks attach`) - Delete a file: `DELETE /api/v1/tasks/{key}/attachments/{id}` (`troopy tasks detach`) - Watch a task: `POST /api/v1/tasks/{key}/watch` (`troopy tasks watch`) - Stop watching a task: `DELETE /api/v1/tasks/{key}/watch` (`troopy tasks unwatch`) - React to a task: `POST /api/v1/tasks/{key}/reactions` (`troopy tasks react`) - Take back a task reaction: `DELETE /api/v1/tasks/{key}/reactions/{emoji}` (`troopy tasks unreact`) - What waits on you: `GET /api/v1/inbox` (`troopy inbox show`) - List saved views: `GET /api/v1/views` (`troopy views list`) - Save a view: `POST /api/v1/views` (`troopy views create`) - Change a saved view: `PATCH /api/v1/views/{id}` (`troopy views update`) - Delete a saved view: `DELETE /api/v1/views/{id}` (`troopy views delete`) - Delete a task: `DELETE /api/v1/tasks/{key}` (`troopy tasks delete`) - List projects: `GET /api/v1/projects` (`troopy projects list`) - Get a project: `GET /api/v1/projects/{id}` (`troopy projects get`) - Create a project: `POST /api/v1/projects` (`troopy projects create`) - Change a project: `PATCH /api/v1/projects/{id}` (`troopy projects update`) - List a project's status updates: `GET /api/v1/projects/{id}/updates` (`troopy projects updates`) - Post a project status update: `POST /api/v1/projects/{id}/updates` (`troopy projects post-update`) - List canvases: `GET /api/v1/canvases` (`troopy canvases list`) - Get a canvas: `GET /api/v1/canvases/{id}` (`troopy canvases get`) - Create a canvas: `POST /api/v1/canvases` (`troopy canvases create`) - Rename a canvas: `PATCH /api/v1/canvases/{id}` (`troopy canvases rename`) - Delete a canvas: `DELETE /api/v1/canvases/{id}` (`troopy canvases delete`) - Add to a canvas: `POST /api/v1/canvases/{id}/items` (`troopy canvases add`) - Change items on a canvas: `PATCH /api/v1/canvases/{id}/items` (`troopy canvases edit`) - Sort a canvas into themes: `POST /api/v1/canvases/{id}/sort` (`troopy canvases sort`) - Share a canvas with a link: `PATCH /api/v1/canvases/{id}/share` (`troopy canvases share`) - Turn notes into tasks: `POST /api/v1/canvases/{id}/tasks` (`troopy canvases tasks`) - Start research: `POST /api/v1/research` (`troopy research start`) - List research: `GET /api/v1/research` (`troopy research list`) - Get research: `GET /api/v1/research/{id}` (`troopy research get`) - Change research: `PATCH /api/v1/research/{id}` (`troopy research update`) - Add research to the brain: `POST /api/v1/research/{id}/brain` (`troopy research add-to-brain`) - Delete research: `DELETE /api/v1/research/{id}` (`troopy research delete`) - Read the settings of Tests: `GET /api/v1/test-settings` (`troopy tests settings`) - Change the settings of Tests: `PATCH /api/v1/test-settings` (`troopy tests update-settings`) - List the places to test: `GET /api/v1/test-environments` (`troopy tests environments`) - Get a place to test: `GET /api/v1/test-environments/{id}` (`troopy tests environment`) - Add a place to test: `POST /api/v1/test-environments` (`troopy tests add-environment`) - Change a place to test: `PATCH /api/v1/test-environments/{id}` (`troopy tests update-environment`) - Remove a place to test: `DELETE /api/v1/test-environments/{id}` (`troopy tests remove-environment`) - List tests: `GET /api/v1/tests` (`troopy tests list`) - Get a test: `GET /api/v1/tests/{id}` (`troopy tests get`) - Add a test: `POST /api/v1/tests` (`troopy tests create`) - Change a test: `PATCH /api/v1/tests/{id}` (`troopy tests update`) - Delete a test: `DELETE /api/v1/tests/{id}` (`troopy tests delete`) - Run tests: `POST /api/v1/test-runs` (`troopy tests run`) - Explore a place for problems: `POST /api/v1/test-environments/{id}/explore` (`troopy tests explore`) - Check that a place loads: `POST /api/v1/test-environments/{id}/check` (`troopy tests check-environment`) - List test runs: `GET /api/v1/test-runs` (`troopy tests runs`) - Get a test run: `GET /api/v1/test-runs/{id}` (`troopy tests run-status`) - Cancel a test run: `POST /api/v1/test-runs/{id}/cancel` (`troopy tests cancel`) - Dismiss a problem that the QA tester found: `PATCH /api/v1/test-runs/{id}/findings/{finding}` (`troopy tests finding`) - Make a bug ticket of a problem that the QA tester found: `POST /api/v1/test-runs/{id}/findings/{finding}/ticket` (`troopy tests file`) - List customers: `GET /api/v1/customers` (`troopy customers list`) - Get a customer: `GET /api/v1/customers/{id}` (`troopy customers get`) - Get the numbers of customers: `GET /api/v1/customer-summary` (`troopy customers summary`) - Get the state of customers: `GET /api/v1/customer-settings` (`troopy customers settings`) - Get the score of the surveys: `GET /api/v1/customer-pmf` (`troopy customers pmf`) - List the roadmap: `GET /api/v1/roadmap` (`troopy roadmap list`) - Get an item of the roadmap: `GET /api/v1/roadmap/{id}` (`troopy roadmap get`) - Add an item to the roadmap: `POST /api/v1/roadmap` (`troopy roadmap add`) - Change an item of the roadmap: `PATCH /api/v1/roadmap/{id}` (`troopy roadmap set`) - Delete an item of the roadmap: `DELETE /api/v1/roadmap/{id}` (`troopy roadmap delete`) - Say that a piece of feedback speaks for an item: `POST /api/v1/roadmap/{id}/feedback` (`troopy roadmap link`) - Make a task of an item of the roadmap: `POST /api/v1/roadmap/{id}/task` (`troopy roadmap task`) - List the segments of customers: `GET /api/v1/customer-segments` (`troopy customers segments`) - Save a segment of customers: `POST /api/v1/customer-segments` (`troopy customers segment-add`) - Change a segment of customers: `PATCH /api/v1/customer-segments/{id}` (`troopy customers segment-set`) - Delete a segment of customers: `DELETE /api/v1/customer-segments/{id}` (`troopy customers segment-delete`) - List the surveys: `GET /api/v1/surveys` (`troopy surveys list`) - Make a survey: `POST /api/v1/surveys` (`troopy surveys add`) - Get a survey: `GET /api/v1/surveys/{id}` (`troopy surveys get`) - Change a survey, show it or stop it: `PATCH /api/v1/surveys/{id}` (`troopy surveys set`) - Delete a survey: `DELETE /api/v1/surveys/{id}` (`troopy surveys delete`) - Compare groups of customers: `GET /api/v1/customer-analysis` (`troopy customers analysis`) - List what customers said: `GET /api/v1/customer-feedback` (`troopy customers feedback`) - Write down what a customer said: `POST /api/v1/customer-feedback` (`troopy customers feedback-add`) - Sort what a customer said: `PATCH /api/v1/customer-feedback/{id}` (`troopy customers feedback-sort`) - Accept what teammates suggested: `POST /api/v1/customer-feedback/accept` (`troopy customers feedback-accept`) - Delete what a customer said: `DELETE /api/v1/customer-feedback/{id}` (`troopy customers feedback-delete`) - Change the settings of customers: `PATCH /api/v1/customer-settings` (`troopy customers set`) - Send what the users of the product did: `POST /api/v1/customer-events` (`troopy customers events`) - Read the customers again: `POST /api/v1/customer-sync` (`troopy customers sync`) - List disputes: `GET /api/v1/disputes` (`troopy disputes list`) - Get a dispute: `GET /api/v1/disputes/{id}` (`troopy disputes get`) - Prepare the evidence of a dispute again: `POST /api/v1/disputes/{id}/prepare` (`troopy disputes prepare`) - Submit the evidence of a dispute: `POST /api/v1/disputes/{id}/submit` (`troopy disputes submit`) - Say that the evidence of a dispute went: `POST /api/v1/disputes/{id}/sent` (`troopy disputes sent`) - Let a dispute go: `POST /api/v1/disputes/{id}/let-go` (`troopy disputes let-go`) - Send the usage of the customer for a dispute: `POST /api/v1/disputes/{id}/usage` (`troopy disputes usage`) - Get the settings of disputes: `GET /api/v1/dispute-settings` (`troopy disputes settings`) - Change the settings of disputes: `PATCH /api/v1/dispute-settings` (`troopy disputes update-settings`) - Let Troopy submit evidence without a person: `POST /api/v1/dispute-settings/auto-submit` (`troopy disputes auto-submit`) - End the submission without a person: `DELETE /api/v1/dispute-settings/auto-submit` (`troopy disputes end-auto-submit`) - List the incident apps: `GET /api/v1/incident-apps` (`troopy incidents apps`) - Add an incident app: `POST /api/v1/incident-apps` (`troopy incidents add-app`) - Get an incident app: `GET /api/v1/incident-apps/{id}` (`troopy incidents app`) - Change an incident app: `PATCH /api/v1/incident-apps/{id}` (`troopy incidents update-app`) - Give an incident app a new key: `POST /api/v1/incident-apps/{id}/keys` (`troopy incidents rotate-key`) - Send a test error: `POST /api/v1/incident-apps/{id}/test` (`troopy incidents test`) - Remove an incident app: `DELETE /api/v1/incident-apps/{id}` (`troopy incidents delete-app`) - Upload a source map: `POST /api/v1/incident-apps/{id}/sourcemaps` (`troopy incidents sourcemaps upload`) - List the releases with source maps: `GET /api/v1/incident-apps/{id}/sourcemaps` (`troopy incidents sourcemaps list`) - List incidents: `GET /api/v1/incidents` (`troopy incidents list`) - Get an incident: `GET /api/v1/incidents/{number}` (`troopy incidents get`) - List the errors of an incident: `GET /api/v1/incidents/{number}/events` (`troopy incidents events`) - Resolve, ignore or reopen an incident: `PATCH /api/v1/incidents/{number}` (`troopy incidents update`) - Read an incident in short: `GET /api/v1/incidents/{number}/brief` (`troopy incidents brief`) - Say how bad an incident is: `POST /api/v1/incidents/{number}/triage` (`troopy incidents triage`) - Make a bug ticket of an incident: `POST /api/v1/incidents/{number}/ticket` (`troopy incidents ticket`) - Get the analytics site: `GET /api/v1/analytics/site` (`troopy analytics site`) - Check the managed proxy: `POST /api/v1/analytics/proxy/check` (`troopy analytics proxy check`) - Change the analytics settings: `PATCH /api/v1/analytics/site` (`troopy analytics settings`) - Get the totals of a period: `GET /api/v1/analytics/overview` (`troopy analytics overview`) - Get analytics over time: `GET /api/v1/analytics/timeseries` (`troopy analytics timeseries`) - Get a breakdown of visitors: `GET /api/v1/analytics/breakdown/{dimension}` (`troopy analytics breakdown`) - Get the search keywords: `GET /api/v1/analytics/keywords` (`troopy analytics keywords`) - Get the mentions on X and Reddit: `GET /api/v1/analytics/mentions` (`troopy analytics mentions`) - Get the Meta ads: `GET /api/v1/analytics/ads` (`troopy analytics ads`) - Get the revenue insights: `GET /api/v1/analytics/insights` (`troopy analytics insights`) - Get the visitors on the site now: `GET /api/v1/analytics/realtime` (`troopy analytics realtime`) - List saved segments: `GET /api/v1/analytics/segments` (`troopy analytics segments list`) - Save a segment: `POST /api/v1/analytics/segments` (`troopy analytics segments create`) - Delete a segment: `DELETE /api/v1/analytics/segments/{id}` (`troopy analytics segments delete`) - List goals: `GET /api/v1/analytics/goals` (`troopy analytics goals list`) - Get a goal: `GET /api/v1/analytics/goals/{name}` (`troopy analytics goals get`) - Record a goal: `POST /api/v1/analytics/goals` (`troopy analytics goals track`) - Change how a goal shows: `PATCH /api/v1/analytics/goals/{name}` (`troopy analytics goals update`) - Delete a goal's completions: `DELETE /api/v1/analytics/goals/{name}` (`troopy analytics goals delete`) - List funnels: `GET /api/v1/analytics/funnels` (`troopy analytics funnels list`) - Get the results of a funnel: `GET /api/v1/analytics/funnels/{id}` (`troopy analytics funnels get`) - Create a funnel: `POST /api/v1/analytics/funnels` (`troopy analytics funnels create`) - Change a funnel: `PATCH /api/v1/analytics/funnels/{id}` (`troopy analytics funnels update`) - Delete a funnel: `DELETE /api/v1/analytics/funnels/{id}` (`troopy analytics funnels delete`) - List visitors: `GET /api/v1/analytics/visitors` (`troopy analytics visitors list`) - Get a visitor: `GET /api/v1/analytics/visitors/{visitor}` (`troopy analytics visitors get`) - Identify a visitor: `POST /api/v1/analytics/visitors/{visitor}/identify` (`troopy analytics visitors identify`) - Get the journeys to a goal: `GET /api/v1/analytics/journeys/{goal}` (`troopy analytics journeys`) - List chart notes: `GET /api/v1/analytics/notes` (`troopy analytics notes list`) - Add a chart note: `POST /api/v1/analytics/notes` (`troopy analytics notes add`) - Change a chart note: `PATCH /api/v1/analytics/notes/{id}` (`troopy analytics notes update`) - Delete a chart note: `DELETE /api/v1/analytics/notes/{id}` (`troopy analytics notes delete`) - List alerts: `GET /api/v1/analytics/alerts` (`troopy analytics alerts list`) - Create an alert: `POST /api/v1/analytics/alerts` (`troopy analytics alerts create`) - Change an alert: `PATCH /api/v1/analytics/alerts/{id}` (`troopy analytics alerts update`) - Delete an alert: `DELETE /api/v1/analytics/alerts/{id}` (`troopy analytics alerts delete`) - List what alerts sent: `GET /api/v1/analytics/alert-history` (`troopy analytics alerts history`) - List imports: `GET /api/v1/analytics/imports` (`troopy analytics imports list`) - Import from Plausible: `POST /api/v1/analytics/imports` (`troopy analytics imports create`) - Delete an import: `DELETE /api/v1/analytics/imports/{id}` (`troopy analytics imports delete`) - Get the revenue sync: `GET /api/v1/analytics/revenue` (`troopy analytics revenue`) - Sync revenue now: `POST /api/v1/analytics/revenue/sync` (`troopy analytics revenue sync`) - Delete recorded payments: `DELETE /api/v1/analytics/payments` (`troopy analytics payments delete`) - Record a payment: `POST /api/v1/analytics/payments` (`troopy analytics payments record`) - Get the AI crawler traffic: `GET /api/v1/analytics/bots` (`troopy analytics bots`) - List the pages that AI crawlers read: `GET /api/v1/analytics/bots/pages` (`troopy analytics bots pages`) - Get the AI crawler settings: `GET /api/v1/analytics/crawlers` (`troopy analytics crawlers`) - Change AI crawler settings: `PATCH /api/v1/analytics/crawlers` (`troopy analytics crawlers update`) - Make a new bot token: `POST /api/v1/analytics/crawlers/token` (`troopy analytics crawlers token`) - Delete the bot token: `DELETE /api/v1/analytics/crawlers/token` (`troopy analytics crawlers token delete`) - List the CRM's lists: `GET /api/v1/lists` (`troopy lists list`) - Create a list: `POST /api/v1/lists` (`troopy lists create`) - Find leads: `POST /api/v1/lists/find` (`troopy lists find`) - Get a list: `GET /api/v1/lists/{id}` (`troopy lists get`) - Rename a list: `PATCH /api/v1/lists/{id}` (`troopy lists update`) - Delete a list: `DELETE /api/v1/lists/{id}` (`troopy lists delete`) - Add a column to a list: `POST /api/v1/lists/{id}/columns` (`troopy lists add-column`) - Change a list's column: `PATCH /api/v1/lists/{id}/columns/{column}` (`troopy lists update-column`) - Add an option to a list's select column: `POST /api/v1/lists/{id}/columns/{column}/options` (`troopy lists add-option`) - Delete a list's column: `DELETE /api/v1/lists/{id}/columns/{column}` (`troopy lists delete-column`) - Find local businesses: `POST /api/v1/places/search` (`troopy places search`) - Find place categories: `GET /api/v1/places/categories` (`troopy places categories`) - Add local businesses to a list: `POST /api/v1/lists/{id}/places` (`troopy lists add-places`) - Add people from Stripe or PostHog: `POST /api/v1/lists/{id}/signals` (`troopy lists add-signals`) - List mailboxes: `GET /api/v1/mailboxes` (`troopy mailboxes list`) - Connect a mailbox: `POST /api/v1/mailboxes` (`troopy mailboxes connect`) - Change a mailbox: `PATCH /api/v1/mailboxes/{id}` (`troopy mailboxes update`) - Remove a mailbox: `DELETE /api/v1/mailboxes/{id}` (`troopy mailboxes delete`) - Check a mailbox: `POST /api/v1/mailboxes/{id}/check` (`troopy mailboxes check`) - Send a test from a mailbox: `POST /api/v1/mailboxes/{id}/test` (`troopy mailboxes test`) - List campaigns: `GET /api/v1/campaigns` (`troopy campaigns list`) - Create a campaign: `POST /api/v1/campaigns` (`troopy campaigns create`) - Get a campaign: `GET /api/v1/campaigns/{id}` (`troopy campaigns get`) - Change a campaign: `PATCH /api/v1/campaigns/{id}` (`troopy campaigns update`) - Delete a campaign: `DELETE /api/v1/campaigns/{id}` (`troopy campaigns delete`) - Enroll leads in a campaign: `POST /api/v1/campaigns/{id}/enroll` (`troopy campaigns enroll`) - List a campaign's emails: `GET /api/v1/campaigns/{id}/emails` (`troopy campaigns emails`) - Approve or skip a campaign's drafts: `POST /api/v1/campaigns/{id}/emails/decide` (`troopy campaigns decide`) - Edit a campaign's email: `PATCH /api/v1/campaigns/{id}/emails/{email}` (`troopy campaigns edit-email`) - Grant Autopilot: `POST /api/v1/campaigns/{id}/autopilot` (`troopy campaigns autopilot`) - End Autopilot: `DELETE /api/v1/campaigns/{id}/autopilot` (`troopy campaigns autopilot-off`) - Write samples of a step: `POST /api/v1/campaigns/{id}/samples` (`troopy campaigns samples`) - Get the samples of a campaign: `GET /api/v1/campaigns/{id}/samples` (`troopy campaigns get-samples`) - Ask for changes to a campaign's email: `POST /api/v1/campaigns/{id}/emails/{email}/rewrite` (`troopy campaigns rewrite-email`) - Say what became of an email that may not have gone: `POST /api/v1/campaigns/{id}/emails/{email}/resolve` (`troopy campaigns resolve-email`) - List replies: `GET /api/v1/replies` (`troopy replies list`) - Sort a reply: `PATCH /api/v1/replies/{id}` (`troopy replies sort`) - List emails: `GET /api/v1/emails` (`troopy emails list`) - Get an email: `GET /api/v1/emails/{id}` (`troopy emails get`) - Send an email: `POST /api/v1/emails` (`troopy emails send`) - Change an email: `PATCH /api/v1/emails/{id}` (`troopy emails update`) - List do-not-contact: `GET /api/v1/do-not-contact` (`troopy dnc list`) - Add to do-not-contact: `POST /api/v1/do-not-contact` (`troopy dnc add`) - Take off do-not-contact: `DELETE /api/v1/do-not-contact/{id}` (`troopy dnc remove`) - Forget a person: `POST /api/v1/people/{id}/forget` (`troopy people forget`) - Run a list's work column: `POST /api/v1/lists/{id}/columns/{column}/run` (`troopy lists run-column`) - Check a work column's run: `GET /api/v1/lists/{id}/runs/{run}` (`troopy lists column-run`) - Stop a work column's run: `POST /api/v1/lists/{id}/runs/{run}/stop` (`troopy lists stop-run`) - Read a list's rows: `POST /api/v1/lists/{id}/rows/query` (`troopy lists rows`) - Add rows to a list: `POST /api/v1/lists/{id}/rows` (`troopy lists add-rows`) - Get a list's row: `GET /api/v1/lists/{id}/rows/{row}` (`troopy lists get-row`) - Change a list's row: `PATCH /api/v1/lists/{id}/rows/{row}` (`troopy lists update-row`) - Take rows off a list: `POST /api/v1/lists/{id}/rows/delete` (`troopy lists delete-rows`) - List people: `GET /api/v1/people` (`troopy people list`) - Get a person: `GET /api/v1/people/{id}` (`troopy people get`) - Change a person: `PATCH /api/v1/people/{id}` (`troopy people update`) - Delete a person: `DELETE /api/v1/people/{id}` (`troopy people delete`) - List companies: `GET /api/v1/companies` (`troopy companies list`) - Get a company: `GET /api/v1/companies/{id}` (`troopy companies get`) - Change a company: `PATCH /api/v1/companies/{id}` (`troopy companies update`) - Delete a company: `DELETE /api/v1/companies/{id}` (`troopy companies delete`)