Overview
This environment exposes the same generated contract that drives the interactive explorers. Use this page for fast onboarding, use the static reference for a lightweight catalog, and use Swagger or Scalar when you want live request testing.
Quickstart
Check the service
curl https://api.repeak.in/health
curl https://api.repeak.in/health/live
curl https://api.repeak.in/health/ready
Pull the contract for codegen or LLM tooling
curl https://api.repeak.in/docs/openapi.json -o repeak-openapi.json
curl https://api.repeak.in/docs/openapi.yaml -o repeak-openapi.yaml
Test an authenticated request
export REPEAK_TOKEN="<paste-access-token>"
curl https://api.repeak.in/v2/referrals/me \
-H "Authorization: Bearer $REPEAK_TOKEN"
Use the right surface
Docs landing: https://api.repeak.in/docs
Static reference: https://api.repeak.in/docs/reference
Swagger UI: https://api.repeak.in/swagger
Scalar UI: https://api.repeak.in/api-reference
Conventions
Every successful REST response is normalized
{
"status": 200,
"statusText": "OK",
"message": "Request successful",
"data": { ... }
}
4xx and 5xx errors share one shape
{
"status": 403,
"statusText": "FORBIDDEN",
"message": "Forbidden resource",
"data": null
}
URI versioning is live
Primary product routes sit under versioned paths such as /v2/*. Version-filtered Swagger docs are also available at /v2/docs.
Docs are generated at boot from Nest decorators
This keeps the contract close to the controllers and DTOs. If a route changes in code and the app boots, the OpenAPI surface updates with it.
Access model
Some routes are intentionally open, including health probes, selected discovery endpoints, share surfaces, and webhook/callback flows.
Consumer app flows such as referrals, feed, DMs, training, tracking, clubs, and compliance self-service typically require a user bearer token.
Partner and ops routes are role-gated server-side. Swagger's Authorize button is the fastest way to verify access once you have the right token.
Reference surfaces
Tag index
Use the tag index to jump into the domain you need, then switch to Swagger or Scalar for live request testing.