Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up openapi.yaml #1236

Merged
merged 44 commits into from
Sep 6, 2024
Merged

Clean up openapi.yaml #1236

merged 44 commits into from
Sep 6, 2024

Conversation

KellyStathis
Copy link
Collaborator

@KellyStathis KellyStathis commented Aug 30, 2024

Purpose

Make our OpenAPI specification more accurate, with particular attention to response structures.

closes: #1230

Approach

Change summary

  • Differentiate list and singleton responses, including the data/meta/links structure for lists.
  • For list responses with "meta", specify which properties are available within the "meta" object.
  • Update the components for the Activity, Client, ClientPrefix, Event, Prefix, Provider, ProviderPrefix, and Report objects to reflect their contents.
  • Differentiate between authenticated and unauthenticated responses for clients and providers.
  • For DOI components, differentiate between list and singleton/detail responses using DoiListItem and DoiDetailItem. This was formerly done for the attributes within the item, via DoisAttributes (for the attributes in the list response) and DoiAttribute (for the attributes in the (detailed)singleton response).
  • Incorporate or refactor components for reused enums and components of response structures.
  • Update descriptions and example values.

Open Questions and Pre-Merge TODOs

For the reviewer, I'd appreciate a quick check on the following endpoints' documentation. These are among the most important for our users, and where I made the most changes to the spec in this PR. These links are a preview of the changes from this branch:

Post-merge tasks for @KellyStathis :

  • remove the hidden test endpoint from readme
  • review which support docs are linked from each readme API reference page; this lives outside openapi.yaml. specifically more detail could be included for clients, providers, and activities to explain what these are.

Learning

ideas for future work: #1235

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

  • New feature (non-breaking change which adds functionality)

  • Breaking change (fix or feature that would cause existing functionality to change)

Reviewer, please remember our guidelines:

  • Be humble in the language and feedback you give, ask don't tell.
  • Consider using positive language as opposed to neutral when offering feedback. This is to avoid the negative bias that can occur with neutral language appearing negative.
  • Offer suggestions on how to improve code e.g. simplification or expanding clarity.
  • Ensure you give reasons for the changes you are proposing.

…is" or "prefix"; "prefix" and "suffix" is equivalent to "prefix" only)
@KellyStathis KellyStathis linked an issue Aug 30, 2024 that may be closed by this pull request
10 tasks
@KellyStathis KellyStathis marked this pull request as ready for review September 3, 2024 19:59
@codycooperross
Copy link
Contributor

I added fixes for a typo or two. This looks great! The inline schema documentation is really helpful. I skimmed the mentioned endpoint documentation.

@codycooperross codycooperross merged commit c9642cf into master Sep 6, 2024
13 checks passed
@codycooperross codycooperross deleted the 202409_openapi_updates branch September 6, 2024 15:12
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.

Ideas for more openapi.yaml improvements
2 participants