Enceladus API
Endpoints
Authentication hierarchy
- None
- Signed in
- Thread author
- Local admin (subreddit-specific)
- Global admin
Version 1
Version 1 is in progress, and may change at any time without warning.
Method | Endpoint | Expected status | Min. authn. | Allowed parameters |
---|---|---|---|---|
GET |
/oauth |
200 ok | None | callback |
GET |
/oauth/callback |
303 see other | None | code state |
GET |
/v1/user |
200 ok | None | none |
GET |
/v1/user/:id |
200 ok | None | none |
POST † |
/v1/user |
201 created | None | reddit_username lang refresh_token is_global_admin spacex__is_admin spacex__is_mod spacex__is_slack_member |
PATCH † |
/v1/user/:id |
200 ok | None | lang refresh_token is_global_admin spacex__is_admin spacex__is_mod spacex__is_slack_member |
DELETE † |
/v1/user/:id |
204 no content | None | none |
GET |
/v1/event |
200 ok | None | none |
GET |
/v1/event/:id |
200 ok | None | none |
POST |
/v1/event |
201 created | Thread author | message posted terminal_count section |
PATCH |
/v1/event/:id |
200 ok | Thread author | message posted terminal_count |
DELETE |
/v1/event/:id |
204 no content | Thread author | none |
GET |
/v1/preset_event |
200 ok | None | none |
GET |
/v1/preset_event/:id |
200 ok | None | none |
POST |
/v1/preset_event |
201 created | Global admin | holds_clock message name |
PATCH |
/v1/preset_event/:id |
200 ok | Global admin | holds_clock message name |
DELETE |
/v1/preset_event/:id |
204 no content | Global admin | none |
GET |
/v1/section |
200 ok | None | none |
GET |
/v1/section/:id |
200 ok | None | none |
POST |
/v1/section |
201 created | Thread author | content name thread |
PATCH |
/v1/section/:id |
200 ok | Thread author | content name lock events |
DELETE |
/v1/section/:id |
204 no content | Thread author | none |
GET |
/v1/thread |
200 ok | None | none |
GET |
/v1/thread/:id |
200 ok | None | none |
POST |
/v1/thread |
201 created | Signed in | launch_name subreddit t0 take_number youtube_id created_by spacex__api_id |
PATCH |
/v1/thread/:id |
200 ok | Thread author | launch_name t0 take_number youtube_id created_by spacex__api_id |
DELETE |
/v1/thread/:id |
204 no content | Thread author | none |
† These endpoints are only available when in the development environment. When in production, these endpoints will return a 404.
Authentication flow
To authenticate a user,
you should make a GET request to /oauth
,
with the URL parameter callback
.
The callback provided will be called with a URL parameter token
upon success.
That token contains the user's reddit username,
and should be passed in the headers to authenticate the user for the appropriate endpoints.
Policy on breaking changes
This section will take effect after the first stable release.
This API follows semantic versioning. As such, all breaking changes will bump the major version.
To ensure stability among all implementations using the API, the most recent release of the prior version will be fully supported for one month, including updates, bug fixes, and any other open issues. There will be at least two months from the breaking change until the prior version's endpoints are removed, at which point it will no longer be functional.