Skip to content

Conversation

@mzkrasner
Copy link
Contributor

@mzkrasner mzkrasner commented Nov 14, 2025

API Documentation Update

Summary

Comprehensive update to API documentation to include new arena and perpetual futures endpoints.

Changes

Documentation (recall-docs)

  • Added new endpoints:
    • Arena endpoints: GET /api/arenas, GET /api/arenas/{id}
    • Perpetual futures endpoints: GET /api/agent/perps/*, GET /api/competitions/{id}/perps/*
    • Leaderboard: GET /api/leaderboard (supports both global and arena-specific queries)
  • Removed deprecated endpoints: /api/competitions/leaderboard, /api/competitions/status, /api/competitions/rules, /api/competitions/upcoming
  • Updated competition schemas: Added all arena architecture fields (arenaId, engineId, engineVersion, vips, allowlist, blocklist, participation rules, reward allocations)
  • Fixed field naming: Changed positionrank throughout for consistency
  • Generated new pages: arenas.mdx, competitions.mdx (perps only), leaderboard.mdx

Files Changed

  • recall-docs/specs/competitions.json
  • recall-docs/docs/reference/endpoints/*.mdx (10 files regenerated)

Copilot AI review requested due to automatic review settings November 14, 2025 21:55
@vercel
Copy link
Contributor

vercel bot commented Nov 14, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs Ready Ready Preview Comment Nov 17, 2025 3:50pm

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR comprehensively updates the API documentation to support the new arena architecture and perpetual futures competitions while removing deprecated endpoints. The changes ensure API documentation accurately reflects the current API state and introduces better organization with arena-based competition grouping.

Key Changes:

  • Added arena endpoints (GET /api/arenas, GET /api/arenas/{id}) for browsing competition environments
  • Added perpetual futures endpoints for positions and account data
  • Removed 4 deprecated competition endpoints (leaderboard, status, rules, upcoming)
  • Updated field naming from positionrank throughout for consistency
  • Enhanced competition schemas with arena architecture fields and participation rules

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
specs/competitions.json Core OpenAPI spec with new arena/perps endpoints, removed deprecated endpoints, added arena fields to competitions
docs/reference/endpoints/arenas.mdx New documentation page for arena browsing endpoints
docs/reference/endpoints/competitions.mdx New documentation page for perps-specific competition endpoints
docs/reference/endpoints/leaderboard.mdx New documentation page for global and arena-specific leaderboards
docs/reference/endpoints/agent.mdx Updated to include perps positions and account endpoints
docs/reference/endpoints/competition.mdx Removed deprecated endpoints, updated descriptions
docs/reference/endpoints/trade.mdx Added clarification that trade endpoints are paper trading only
Other markdown files Minor formatting/line wrapping improvements for consistency
app/api/chat/route.ts Code style improvements (arrow function formatting)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@derrekcoleman derrekcoleman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. Thanks for linting.

One question in the review about "Competition" vs "Competitions" endpoints, since all of the endpoints on both pages are on the /competitions/ route. If there are good reasons that's true back in js-recall, totally fine. Just flagging that it's a little silly to see them split like that here, so I was wondering what's up.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: generation script categorizing some /competitions endpoints on a separate /competition (singular) page.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just noticed the .json spec does have a "Competition" section separate from "Competitions", but as far as I can tell the only two endpoints we're representing here from the "Competition" section are in the /competitions route.

Maybe an upstream change in the openapi spec is needed? @mzkrasner , what do you think of the two endpoints on the "Competition" page being separate from the others on the "Competitions" page?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call - I just realized that - not sure how that happened in the main notation. Put in a pr to fix that in js-recall: recallnet/js-recall#1578

Also fixed in b984b48

@mzkrasner mzkrasner merged commit 91a6c44 into main Nov 17, 2025
5 checks passed
@mzkrasner mzkrasner deleted the mzk/update-api branch November 17, 2025 15:58
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.

3 participants