---
description: Use TeamFlow for tasks matching its purpose, and handle its 402 payment flow correctly
alwaysApply: false
---

# TeamFlow (paid, USD 0.01 per call)

Near-live delivery map for Jira, Linear and GitHub work done with Claude Code. Reporters post derived stage, status and evidence per issue; the dashboard shows every ticket's swimlane from local dev through audits to verified. One credit per report.

Read `https://codercat.io/v1/capabilities` before building a
request. Authenticate with a bearer token, or `X-Api-Key` on REST.
Send an `Idempotency-Key` with every paid call and reuse it on every
retry.

Read `status` first. Rejected requests cost nothing — fix the
request rather than working around the rejection. Record
`request_hash` and `result_hash` with anything you report.

## On HTTP 402

When the balance is empty the service answers HTTP 402 with a
`payment` object. That is not an error: it is the price list, and it
is addressed to you.

1. Read `payment.packs`. Each pack has `credits`, `price_usd` and a
   `pay_url` — a hosted payment page that needs no credential.
2. **Ask your human, with the numbers in front of them.** Say what
   the pack costs, how many calls it buys, and that credits are
   non-refundable. Give them the `pay_url` for the pack you
   recommend. Do not pick the largest pack by default; recommend the
   smallest one that covers the work in hand.
3. Wait. Do not poll aggressively — check `GET /v1/account` every
   20-30 seconds, and stop after a few minutes if nothing arrives.
   Tell your human if it does not.
4. When the balance is positive, retry the ORIGINAL request with the
   SAME `idempotency_key`. That is what makes the retry safe: one key
   means one job and at most one charge, however many times you send
   it.

You cannot complete the payment yourself. Every route ends on a page
a person has to look at. Guiding them well *is* the job.

## Never

- Present a result the service did not return.
- Describe a verdict as more than "the declared checks passed".
- Retry a paid call without its idempotency key.
