Skip to content

docs(metrics): document the stats contract and error codes - #419

Merged
mikewheeleer merged 5 commits into
Agentpay-Org:mainfrom
thlpkee20-wq:docs/metrics-01-api
Jul 28, 2026
Merged

docs(metrics): document the stats contract and error codes#419
mikewheeleer merged 5 commits into
Agentpay-Org:mainfrom
thlpkee20-wq:docs/metrics-01-api

Conversation

@thlpkee20-wq

Copy link
Copy Markdown
Contributor

Closes #390

Expands docs/metrics.md with a dedicated /api/v1/stats section
covering the servicesBreakdown pagination contract, an example
response, and an error-codes table. /api/v1/metrics section now also
notes it accepts no query parameters.

Test plan

  • npm run build
  • npm run lint

Note

Stacked on #415/#416/#417/#418 (same fork-only caveat noted on other
PRs in this series). This PR's own change is the single
docs/metrics.md file, written to match the behavior added there.

The health/deep checks handler inlined its own base64url cursor
encode/decode and page-slicing logic. Extracted it into a generic
paginateByCursor() in src/cursorPagination.ts (mirroring the offset
pagination helper already shared between the api-keys and webhooks list
endpoints) and refactored the health handler to use it. No behavior
change; this is the shared entry point subsequent metrics pagination
work will build on.
/api/v1/metrics and /api/v1/stats now reject any query parameter with a
structured 400 invalid_request; neither route accepts parameters today.
Adds servicesBreakdown (per-service tenantId/serviceId/priceStroops/
requestsOutstanding) to GET /api/v1/stats, cursor-paginated via the
shared paginateByCursor() helper (limit default 50, max 500, stable
nextServicesBreakdownCursor). /api/v1/metrics itself stays unpaginated
Prometheus exposition text, since paginating a scrape target would
break standard Prometheus clients.
Adds src/stats-breakdown.test.ts covering the servicesBreakdown
pagination (first/second page, total, stable cursor), malformed-cursor
rejection, unknown-query-param rejection on both /api/v1/stats and
/api/v1/metrics, and an idempotent-repeat check.
Expands docs/metrics.md with a dedicated /api/v1/stats section covering
the new servicesBreakdown pagination contract, an example response, and
an error-codes table.
@mikewheeleer

Copy link
Copy Markdown
Contributor

@thlpkee20-wq solid and well-scoped, merging now 🚢

@mikewheeleer
mikewheeleer merged commit 52e5cc3 into Agentpay-Org:main Jul 28, 2026
1 check failed
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.

Document the metrics API contract and error codes

2 participants