Skip to content

Coach API: billing:read scope and the seven read-only billing endpoints - #47

Merged
DrAlexHarrison merged 2 commits into
mainfrom
coachbilling
Sep 19, 2026
Merged

DrAlexHarrison merged 2 commits into
mainfrom
coachbilling

Conversation

@DrAlexHarrison

@DrAlexHarrison DrAlexHarrison commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Documents the billing:read scope and the seven read-only /v1/coach/billing/* endpoints shipped by fuel-backend's coachbilling PR (Alex's 16A ruling, 2026-09-19), and the 6A mint rules (webhooks:manage on a coaching role and Pro Coach; org:admin organization-only; the portal offers only mintable scopes).

  • authentication.mdx: billing:read joins the coach scope list.
  • guides/coach-api.mdx: fifth capability, billing column and row in the scope table with the never-bundled rule, the per-scope picker rule, a Billing section with one curl and one response per endpoint, the no-organization and no-Connect-account answers, paging, the shared rate bucket sentence, and one billing call per SDK.

Every JSON field in the examples is a Go json tag on main. Merge after fuel-backend's PR lands (the drift check resolves the endpoints against fuel-backend main).

Local checks: check-docs-drift.py --backend <coachbilling worktree> clean (128 operations); check-engine-constants.py clean; mint validate passed; mint broken-links --check-anchors no broken links. The Docs Drift workflow queues on the runner gap; cancel it after merge.

After the fresh-context review

  • The rate-limit paragraph states the coach bucket for REST and chat and that chat calls also pass the connector's shared bucket (fuel-backend #810 charges it before the coach bucket).
  • The ledger and transactions cursor is described as an opaque value passed back verbatim (fuel-backend #809 pages on timestamp plus id).
  • No possessive "own" in the added text.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FPmp38oFRnqhASGsGQ6ttE

@DrAlexHarrison
DrAlexHarrison force-pushed the coachbilling branch 3 times, most recently from 9868916 to c2537e0 Compare September 19, 2026 19:47
Scope tables gain the billing column and row, the picker rule per scope is stated,
and a Billing section documents each endpoint with one example, the no-organization
and no-Connect-account answers, and the paging. The rate-limit paragraph states the
coach bucket for REST and chat and the shared connector bucket chat also passes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPmp38oFRnqhASGsGQ6ttE

Ci-From: linux
Ci-Session: fd3cab06-a781-4ab5-ae7f-7923c34aa3d3
Keeps the branch's rate-limit paragraph, which states the coach bucket and
the connector's shared bucket for chat calls, and adds main's new sentence
about a coach API key being refused off the coach surface.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BWZwJj3tZCDLzhCJX4wwt

Ci-From: linux
Ci-Session: 563a5584-aa70-4656-8ec0-d608924fbf80
@DrAlexHarrison
DrAlexHarrison merged commit b6486bf into main Sep 19, 2026
3 of 5 checks passed
@DrAlexHarrison
DrAlexHarrison deleted the coachbilling branch September 20, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant