aws / aws/graph-explorer

Migrate proxy server routes to a consistent /api routing strategy

Open
#2,016 0 comments 0 reactions 0 assignees View on GitHub
infrastructure internal
Dominant language
TypeScript
Stars
481
Forks
108
Avg merge
6d 8h
Merged PRs (30d)
5

Description

## Desired outcome

Graph Explorer's proxy server should expose its routes under a consistent, industry-standard **`/api/` prefix**, cleanly separated from the static client assets served at the root. Today the proxy routes (`/gremlin`, `/sparql`, `/openCypher`, `/summary`, `/status`, `/logger`, `/defaultConnection`, etc.) live at the root alongside the client, which is inconsistent with common practice and makes routing harder to reason about behind reverse proxies.

The end state: all server API endpoints live under `/api/*`, the client is served at `/`, and the old root-level routes are gone.

## Status

**Deferred.** This is a code-quality / consistency improvement, not required for any committed release. The related proxy-URL work (see related issue) was delivered by a different mechanism, so this routing migration is no longer blocking — but it remains desirable and is recorded here for a future release. The child tasks capture the concrete slices.

> [!IMPORTANT]
> Internal only — this issue is maintained by the core team and is not accepting external contributions.

Contributor guide

Open the contributing guide

Research direction

Start by locating the proxy server route definitions for /gremlin, /sparql, /openCypher, /summary, /status, /logger, and /defaultConnection. Review how the client is served at the root, then verify that every API endpoint uses the /api/ prefix and that the old root-level routes are removed while static assets remain at /.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.