Skip to main content
Report endpoints return aggregate summaries only. They are intended for dashboards and synchronization checks, not row-level data export. The authenticated company is always derived from the Bearer token. Requests must not include companyId, and report DTOs do not expose individual clients, bookings, invoices, payment IDs, coach IDs, or provider payloads.

Scopes

Attendance summary

Required scope: attendance_summaries:read Validation: Default range: last 30 days. Maximum range: 366 days. Response fields:

Revenue summary

Required scope: revenue_summaries:read Validation: Default range: last 30 days. Maximum range: 366 days. Only Invoice documents are included; credit notes are excluded. Response fields: Not exposed: invoice numbers, client IDs, payment IDs, payment-provider payloads, line items, PDFs, billing-profile snapshots, or email history.

Retention summary

Required scope: retention_summaries:read Response fields: Not exposed: client identity, email, phone, assigned coach, exact lifecycle timeline, archive reasons, deletion metadata, or private notes.

Rate limits

Report endpoints use the standard Public API client rate limit: 10 requests per second per OAuth client. Responses include the standard RateLimit-* and X-RateLimit-* headers documented in Contracts.