Files
baya-monorepo/dev/contracts/domains/_TEMPLATE.md
T
2026-06-28 21:59:59 +03:30

1.2 KiB

Contract — (backend phase bN)

One-line: what this domain's API covers. Assumes ../conventions/api-conventions.md + ../conventions/money-and-types.md. Source of truth for the machine schema: ../openapi/.

Status: live as of backend-phase-bN · Frontend consumer: frontend-phase-fM

Enums used

  • <enum_name>: value_a | value_b | … — meaning of each.

Endpoints

<HTTP> api/v1/<controller>/<action>

  • Purpose:
  • Auth: none | authenticated | policy/role … · Rate-limited: yes/no · Idempotency key: yes/no
  • Path/query params: name (type) — meaning; pagination page/page_size (default/max) for lists.
  • Request body:
    { "field": "example" }
    
  • Success 200 payload (data):
    { "field": "example" }
    
  • Failure cases: 400 …, 401 …, 403 …, 404 …, 409 … (when/why each).
  • Notes: masking, two-stage disclosure, tenancy, side effects (notifications/ledger/audit), etc.

(repeat per endpoint)

Shared shapes

  • <DtoName>: field-by-field (name, type, nullable, masked?, meaning).

Changelog

  • bN — initial contract.