openai / openai/openai-openapi

The specification should be upgraded to OpenAPI 3.2.0 to take advantage of new streaming place holders

Open
#526 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement specification
Dominant language
No language data
Stars
2.5k
Forks
527
Avg merge
1h 46m
Merged PRs (30d)
2

Description

The API surface supports stream across multiple operations (~8 in total as of writing). Using the new semantics introduced by OpenAPI 3.2.0 would be beneficial as it'd enable client code and documentation generation. But that would also clean up the content of the description itself, making it more meaningful semantically.

We should be using the item schema property and not the schema one. This is because of the stream nature, and the fact that streams DO NOT contain the "array information" (the [ and ] in JSON).

The special considerations section will be interesting for any implementation work. So will this full example of how to correctly represent text event streams according to the latest version of the specification.

I hope this helps! Let me know if you have any additional comments or questions

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the roughly eight API operations that support streams and compare their current descriptions with the OpenAPI 3.2.0 item schema and server-sent event guidance linked in the issue. Done means the specification uses the item property rather than schema for stream responses and consistently represents the streams according to the 3.2.0 semantics.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.