Skip to content

Instantly share code, notes, and snippets.

@HoughIO
Created October 14, 2020 02:41
Show Gist options
  • Save HoughIO/9c968335e90fdf2ba184781ac99f2116 to your computer and use it in GitHub Desktop.
Save HoughIO/9c968335e90fdf2ba184781ac99f2116 to your computer and use it in GitHub Desktop.
openapi
{"openapi":"3.0.2","info":{"title":"streamfan","version":"0.1.0"},"paths":{"/api/v1/login/access-token":{"post":{"tags":["login"],"summary":"Login Access Token","description":"OAuth2 compatible token login, get an access token for future requests","operationId":"login_access_token_api_v1_login_access_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_access_token_api_v1_login_access_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/login/test-token":{"post":{"tags":["login"],"summary":"Test Token","description":"Test access token","operationId":"test_token_api_v1_login_test_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/password-recovery/{email}":{"post":{"tags":["login"],"summary":"Recover Password","description":"Password Recovery","operationId":"recover_password_api_v1_password_recovery__email__post","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Msg"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reset-password/":{"post":{"tags":["login"],"summary":"Reset Password","description":"Reset password","operationId":"reset_password_api_v1_reset_password__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_reset_password_api_v1_reset_password__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Msg"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/":{"get":{"tags":["users"],"summary":"Read Users","description":"Retrieve users.","operationId":"read_users_api_v1_users__get","parameters":[{"required":false,"schema":{"title":"Skip","type":"integer","default":0},"name":"skip","in":"query"},{"required":false,"schema":{"title":"Limit","type":"integer","default":100},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Read Users Api V1 Users Get","type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["users"],"summary":"Create User","description":"Create new user.","operationId":"create_user_api_v1_users__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/users/me":{"get":{"tags":["users"],"summary":"Read User Me","description":"Get current user.","operationId":"read_user_me_api_v1_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"put":{"tags":["users"],"summary":"Update User Me","description":"Update own user.","operationId":"update_user_me_api_v1_users_me_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_user_me_api_v1_users_me_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/users/open":{"post":{"tags":["users"],"summary":"Create User Open","description":"Create new user without the need to be logged in.","operationId":"create_user_open_api_v1_users_open_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_user_open_api_v1_users_open_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/{user_id}":{"get":{"tags":["users"],"summary":"Read User By Id","description":"Get a specific user by id.","operationId":"read_user_by_id_api_v1_users__user_id__get","parameters":[{"required":true,"schema":{"title":"User Id","type":"integer"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"put":{"tags":["users"],"summary":"Update User","description":"Update a user.","operationId":"update_user_api_v1_users__user_id__put","parameters":[{"required":true,"schema":{"title":"User Id","type":"integer"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/streams/":{"get":{"tags":["streams"],"summary":"Read Streams","description":"Returns all streams where `live` is `True`.","operationId":"read_streams_api_v1_streams__get","parameters":[{"required":false,"schema":{"title":"Skip","type":"integer","default":0},"name":"skip","in":"query"},{"required":false,"schema":{"title":"Limit","type":"integer","default":50},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Read Streams Api V1 Streams Get","type":"array","items":{"$ref":"#/components/schemas/Stream"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/streams/live":{"post":{"tags":["streams"],"summary":"Create Stream","description":"Create new stream.","operationId":"create_stream_api_v1_streams_live_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/streams/{user_id}/{id}":{"get":{"tags":["streams"],"summary":"Read Stream","description":"Get stream by ID.","operationId":"read_stream_api_v1_streams__user_id___id__get","parameters":[{"required":true,"schema":{"title":"Id","type":"integer"},"name":"id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/streams/{user_id}/stream/{id}":{"delete":{"tags":["streams"],"summary":"Delete Stream","description":"Delete an stream.","operationId":"delete_stream_api_v1_streams__user_id__stream__id__delete","parameters":[{"required":true,"schema":{"title":"Id","type":"integer"},"name":"id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/utils/test-celery/":{"post":{"tags":["utils"],"summary":"Test Celery","description":"Test Celery worker.","operationId":"test_celery_api_v1_utils_test_celery__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Msg"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Msg"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/utils/test-email/":{"post":{"tags":["utils"],"summary":"Test Email","description":"Test emailz.","operationId":"test_email_api_v1_utils_test_email__post","parameters":[{"required":true,"schema":{"title":"Email To","type":"string","format":"email"},"name":"email_to","in":"query"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Msg"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/items/":{"get":{"tags":["items"],"summary":"Read Items","description":"Retrieve items.","operationId":"read_items_api_v1_items__get","parameters":[{"required":false,"schema":{"title":"Skip","type":"integer","default":0},"name":"skip","in":"query"},{"required":false,"schema":{"title":"Limit","type":"integer","default":100},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Read Items Api V1 Items Get","type":"array","items":{"$ref":"#/components/schemas/Item"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["items"],"summary":"Create Item","description":"Create new item.","operationId":"create_item_api_v1_items__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/items/{id}":{"get":{"tags":["items"],"summary":"Read Item","description":"Get item by ID.","operationId":"read_item_api_v1_items__id__get","parameters":[{"required":true,"schema":{"title":"Id","type":"integer"},"name":"id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"put":{"tags":["items"],"summary":"Update Item","description":"Update an item.","operationId":"update_item_api_v1_items__id__put","parameters":[{"required":true,"schema":{"title":"Id","type":"integer"},"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"delete":{"tags":["items"],"summary":"Delete Item","description":"Delete an item.","operationId":"delete_item_api_v1_items__id__delete","parameters":[{"required":true,"schema":{"title":"Id","type":"integer"},"name":"id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}}},"components":{"schemas":{"Body_create_user_open_api_v1_users_open_post":{"title":"Body_create_user_open_api_v1_users_open_post","required":["password","email"],"type":"object","properties":{"password":{"title":"Password","type":"string"},"email":{"title":"Email","type":"string","format":"email"},"full_name":{"title":"Full Name","type":"string"}}},"Body_login_access_token_api_v1_login_access_token_post":{"title":"Body_login_access_token_api_v1_login_access_token_post","required":["username","password"],"type":"object","properties":{"grant_type":{"title":"Grant Type","pattern":"password","type":"string"},"username":{"title":"Username","type":"string"},"password":{"title":"Password","type":"string"},"scope":{"title":"Scope","type":"string","default":""},"client_id":{"title":"Client Id","type":"string"},"client_secret":{"title":"Client Secret","type":"string"}}},"Body_reset_password_api_v1_reset_password__post":{"title":"Body_reset_password_api_v1_reset_password__post","required":["token","new_password"],"type":"object","properties":{"token":{"title":"Token","type":"string"},"new_password":{"title":"New Password","type":"string"}}},"Body_update_user_me_api_v1_users_me_put":{"title":"Body_update_user_me_api_v1_users_me_put","type":"object","properties":{"password":{"title":"Password","type":"string"},"full_name":{"title":"Full Name","type":"string"},"email":{"title":"Email","type":"string","format":"email"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"Item":{"title":"Item","required":["title","id","owner_id"],"type":"object","properties":{"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"},"id":{"title":"Id","type":"integer"},"owner_id":{"title":"Owner Id","type":"integer"}}},"ItemCreate":{"title":"ItemCreate","required":["title"],"type":"object","properties":{"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"}}},"ItemUpdate":{"title":"ItemUpdate","type":"object","properties":{"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"}}},"Msg":{"title":"Msg","required":["msg"],"type":"object","properties":{"msg":{"title":"Msg","type":"string"}}},"Stream":{"title":"Stream","required":["title","id","owner_id","live","views"],"type":"object","properties":{"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"},"id":{"title":"Id","type":"integer"},"owner_id":{"title":"Owner Id","type":"integer"},"live":{"title":"Live","type":"boolean"},"views":{"title":"Views","type":"integer"}}},"StreamCreate":{"title":"StreamCreate","required":["title"],"type":"object","properties":{"title":{"title":"Title","type":"string"},"description":{"title":"Description","type":"string"}}},"Token":{"title":"Token","required":["access_token","token_type"],"type":"object","properties":{"access_token":{"title":"Access Token","type":"string"},"token_type":{"title":"Token Type","type":"string"}}},"User":{"title":"User","type":"object","properties":{"email":{"title":"Email","type":"string","format":"email"},"is_active":{"title":"Is Active","type":"boolean","default":true},"is_superuser":{"title":"Is Superuser","type":"boolean","default":false},"full_name":{"title":"Full Name","type":"string"},"id":{"title":"Id","type":"integer"}}},"UserCreate":{"title":"UserCreate","required":["email","password"],"type":"object","properties":{"email":{"title":"Email","type":"string","format":"email"},"is_active":{"title":"Is Active","type":"boolean","default":true},"is_superuser":{"title":"Is Superuser","type":"boolean","default":false},"full_name":{"title":"Full Name","type":"string"},"password":{"title":"Password","type":"string"}}},"UserUpdate":{"title":"UserUpdate","type":"object","properties":{"email":{"title":"Email","type":"string","format":"email"},"is_active":{"title":"Is Active","type":"boolean","default":true},"is_superuser":{"title":"Is Superuser","type":"boolean","default":false},"full_name":{"title":"Full Name","type":"string"},"password":{"title":"Password","type":"string"}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"type":"string"}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/v1/login/access-token"}}}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment