UW-Macrostrat / api-v3

0 stars 0 forks source link

Unified "API v3" design across functional areas #7

Open davenquinn opened 1 month ago

davenquinn commented 1 month ago

With design-focused updates like #3 and #5, and the evolution of our API v3 systems in other areas (e.g., a PostgREST API system) we should start a conversation on how to unify and carry forward Macrostrat's API v3 for future functionality. A few elements that we should establish:

davenquinn commented 1 month ago

Output of our first conversation with @CannonLock, @amyfromandi, and @brianaydemir:

Handling different API patterns

We want the API to avoid "reinventing the wheel" while allowing flexibility

We should develop libraries and well-documented patterns for API secrets, token/API key handling, etc. that can be pulled in via libraries.

Documentation and public-facing capabilites

Despite being composed of a handful of separate services with different API query styles, the goal will be to present Macrostrat's API as a unified /api/v3 cluster of routes.

API docs will prioritize OpenAPI/Swagger since it is autogenerated by many tools. We will explore patterns to merge documentation between services and separate it between functional areas.

Open questions