Skip to content

Update OpenAPI tags/grouping to match new IA: Overview/Assets/Wallets/Soroban/Rankings #32

Description

@christabel888

Context: OpenAPI tags currently follow the existing route grouping (e.g. tag = "Analytics" seen in analytics_dashboard.rs). As new endpoints land under network/soroban/wallets/rankings, the tags should match the frontend's new nav IA (Overview/Assets/Wallets/Soroban/Rankings) rather than accumulating ad-hoc tags.

Where:

  • src/openapi.rs -- the #[derive(OpenApi)] tag list
  • Each new handler's #[utoipa::path(..., tag = "...")]

What to do:

Suggested approach:

  1. Wait until most of Add /api/v1/stats/summary endpoint: DAA, tx count 24h, payment volume 24h, active soroban contracts #1, Add /api/v1/assets/{code}/insights endpoint #11-Add governance insights endpoint: proposal momentum, voter turnout #14, Add /api/v1/network/daily-active-accounts time-series endpoint #15-Add /api/v1/network/fee-trends endpoint #19, Add /api/v1/soroban/active-contracts endpoint #21-Add /api/v1/soroban/top-contracts and /new-deployments endpoints #24, Add /api/v1/wallets/{address}/portfolio endpoint #25-Add /api/v1/wallets/{address}/largest-transfers endpoint #29, Add /api/v1/rankings/top-movers endpoint: 24h percent change by holders/volume #33, Add /api/v1/rankings/assets endpoint: top assets by holders and volume #39 exist before doing this audit -- it's a consistency pass, not something to do preemptively.
  2. Go endpoint by endpoint, assign a tag matching the frontend nav IA (Overview/Assets/Wallets/Soroban/Rankings), and update each #[utoipa::path(..., tag = "...")].
  3. Regenerate /api-docs and manually check the grouping renders sensibly, not just that the code compiles.

Watch out for:

  • This touches a lot of files across a lot of PRs that may have landed at different times with inconsistent tags already -- budget time for cleanup, not just addition.

Definition of done:

  • /api-docs groups endpoints under Overview/Assets/Wallets/Soroban/Rankings tags matching the frontend nav

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions