feat: API for RFC metadata fetch/filtering#8291
Merged
rjsparks merged 15 commits intoietf-tools:feat/rpc-apifrom Dec 9, 2024
Merged
feat: API for RFC metadata fetch/filtering#8291rjsparks merged 15 commits intoietf-tools:feat/rpc-apifrom
rjsparks merged 15 commits intoietf-tools:feat/rpc-apifrom
Conversation
rjsparks
approved these changes
Dec 9, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This starts an API to be used by the RFC editor website (code name: red) to retrieve RFCs. So far, it deals only in metadata and authors. I've put these API endpoints under
/api/red/at least for now - we can argue about that later.Allows filtering by several fields (stream, group, area, publication date) using query parameters. The OpenAPI spec will describe the syntax of the filters accurately (
ietf/manage.py spectacular --file datatracker.ymlto generate), but to get all SIP RFCs published between 2011 and 2013, you'd requesthttp://localhost:8000/api/red/doc/?published_after=2011-01-01&published_before=2013-01-01&group=sip. The stream, group, and area filters accept multiple values, combined with "OR". Multiple values are requested by repeating the parameter, like?group=sip&group=stirResults are paginated with a limit of 500 results per request. To paginate, use
?limit=20&offset=20. The response JSON includescount,next, andpreviousfields with the total record count and links to previous/next pages of results. The actual results are inresults.