2023-06-18 15:02:21 +02:00
<!doctype html>
< html class = "no-js" lang = "en" >
< head > < meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width,initial-scale=1" / >
< meta name = "color-scheme" content = "light dark" > < meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< link rel = "index" title = "Index" href = "../genindex.html" / > < link rel = "search" title = "Search" href = "../search.html" / > < link rel = "next" title = "Records" href = "records.html" / > < link rel = "prev" title = "Configuration" href = "configuration.html" / >
2022-08-27 16:50:29 +02:00
2023-06-18 15:02:21 +02:00
<!-- Generated with Sphinx 7.0.1 and Furo 2023.05.20 -->
2023-06-25 14:00:35 +02:00
< title > OAuth2 - FitTrackee 0.7.18 documentation< / title >
2023-06-18 15:02:21 +02:00
< link rel = "stylesheet" type = "text/css" href = "../_static/pygments.css" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/copybutton.css" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" / >
2022-11-27 12:06:42 +01:00
< link rel = "stylesheet" type = "text/css" href = "../_static/css/fork-awesome.min.css" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/css/custom.css" / >
2023-06-18 15:02:21 +02:00
< style >
body {
--color-code-background: #eeffcc;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #272822;
--color-code-foreground: #f8f8f2;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #272822;
--color-code-foreground: #f8f8f2;
}
}
}
< / style > < / head >
< body >
< script >
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
< / script >
< svg xmlns = "http://www.w3.org/2000/svg" style = "display: none;" >
< symbol id = "svg-toc" viewBox = "0 0 24 24" >
< title > Contents< / title >
< svg stroke = "currentColor" fill = "currentColor" stroke-width = "0" viewBox = "0 0 1024 1024" >
< path d = "M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z" / >
< / svg >
< / symbol >
< symbol id = "svg-menu" viewBox = "0 0 24 24" >
< title > Menu< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
< line x1 = "3" y1 = "12" x2 = "21" y2 = "12" > < / line >
< line x1 = "3" y1 = "6" x2 = "21" y2 = "6" > < / line >
< line x1 = "3" y1 = "18" x2 = "21" y2 = "18" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-arrow-right" viewBox = "0 0 24 24" >
< title > Expand< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
< polyline points = "9 18 15 12 9 6" > < / polyline >
< / svg >
< / symbol >
< symbol id = "svg-sun" viewBox = "0 0 24 24" >
< title > Light mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
< circle cx = "12" cy = "12" r = "5" > < / circle >
< line x1 = "12" y1 = "1" x2 = "12" y2 = "3" > < / line >
< line x1 = "12" y1 = "21" x2 = "12" y2 = "23" > < / line >
< line x1 = "4.22" y1 = "4.22" x2 = "5.64" y2 = "5.64" > < / line >
< line x1 = "18.36" y1 = "18.36" x2 = "19.78" y2 = "19.78" > < / line >
< line x1 = "1" y1 = "12" x2 = "3" y2 = "12" > < / line >
< line x1 = "21" y1 = "12" x2 = "23" y2 = "12" > < / line >
< line x1 = "4.22" y1 = "19.78" x2 = "5.64" y2 = "18.36" > < / line >
< line x1 = "18.36" y1 = "5.64" x2 = "19.78" y2 = "4.22" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-moon" viewBox = "0 0 24 24" >
< title > Dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" / >
< / svg >
< / symbol >
< symbol id = "svg-sun-half" viewBox = "0 0 24 24" >
< title > Auto light/dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< circle cx = "12" cy = "12" r = "9" / >
< path d = "M13 12h5" / >
< path d = "M13 15h4" / >
< path d = "M13 18h1" / >
< path d = "M13 9h4" / >
< path d = "M13 6h1" / >
< / svg >
< / symbol >
< / svg >
< input type = "checkbox" class = "sidebar-toggle" name = "__navigation" id = "__navigation" >
< input type = "checkbox" class = "sidebar-toggle" name = "__toc" id = "__toc" >
< label class = "overlay sidebar-overlay" for = "__navigation" >
< div class = "visually-hidden" > Hide navigation sidebar< / div >
< / label >
< label class = "overlay toc-overlay" for = "__toc" >
< div class = "visually-hidden" > Hide table of contents sidebar< / div >
< / label >
2022-08-27 16:50:29 +02:00
2023-06-18 15:02:21 +02:00
< div class = "page" >
< header class = "mobile-header" >
< div class = "header-left" >
< label class = "nav-overlay-icon" for = "__navigation" >
< div class = "visually-hidden" > Toggle site navigation sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-menu" > < / use > < / svg > < / i >
< / label >
< / div >
< div class = "header-center" >
2023-06-25 14:00:35 +02:00
< a href = "../index.html" > < div class = "brand" > FitTrackee 0.7.18
2023-06-18 15:02:21 +02:00
documentation< / div > < / a >
< / div >
< div class = "header-right" >
< div class = "theme-toggle-container theme-toggle-header" >
< button class = "theme-toggle" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" > < use href = "#svg-sun-half" > < / use > < / svg >
< svg class = "theme-icon-when-dark" > < use href = "#svg-moon" > < / use > < / svg >
< svg class = "theme-icon-when-light" > < use href = "#svg-sun" > < / use > < / svg >
2022-08-27 16:50:29 +02:00
< / button >
< / div >
2023-06-18 15:02:21 +02:00
< label class = "toc-overlay-icon toc-header-icon no-toc" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< / header >
< aside class = "sidebar-drawer" >
< div class = "sidebar-container" >
< div class = "sidebar-sticky" > < a class = "sidebar-brand" href = "../index.html" >
< div class = "sidebar-logo-container" >
< img class = "sidebar-logo" src = "../_static/ft-logo.png" alt = "Logo" / >
< / div >
2023-06-25 14:00:35 +02:00
< span class = "sidebar-brand-text" > FitTrackee 0.7.18
2023-06-18 15:02:21 +02:00
documentation< / span >
< / a > < form class = "sidebar-search-container" method = "get" action = "../search.html" role = "search" >
< input class = "sidebar-search" placeholder = "Search" name = "q" aria-label = "Search" >
< input type = "hidden" name = "check_keywords" value = "yes" >
< input type = "hidden" name = "area" value = "default" >
< / form >
< div id = "searchbox" > < / div > < div class = "sidebar-scroll" > < div class = "sidebar-tree" >
< ul class = "current" >
2022-08-27 16:50:29 +02:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../features.html" > Features< / a > < / li >
2023-04-12 17:32:08 +02:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../oauth.html" > OAuth 2.0< / a > < / li >
2022-08-27 16:50:29 +02:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../installation.html" > Installation< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../cli.html" > Command line interface< / a > < / li >
2023-04-12 17:32:08 +02:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../third_party_tools.html" > Third-party tools< / a > < / li >
2023-06-18 15:02:21 +02:00
< li class = "toctree-l1 current has-children" > < a class = "reference internal" href = "index.html" > API documentation< / a > < input checked = "" class = "toctree-checkbox" id = "toctree-checkbox-1" name = "toctree-checkbox-1" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-1" > < div class = "visually-hidden" > Toggle navigation of API documentation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul class = "current" >
< li class = "toctree-l2" > < a class = "reference internal" href = "auth.html" > Authentication and account< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "configuration.html" > Configuration< / a > < / li >
< li class = "toctree-l2 current current-page" > < a class = "current reference internal" href = "#" > OAuth2< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "records.html" > Records< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "sports.html" > Sports< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "stats.html" > Statistics< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "users.html" > Users< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "workouts.html" > Workouts< / a > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / li >
2023-06-18 15:02:21 +02:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../troubleshooting/index.html" > Troubleshooting< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-2" name = "toctree-checkbox-2" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-2" > < div class = "visually-hidden" > Toggle navigation of Troubleshooting< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../troubleshooting/administrator.html" > Administrator< / a > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / li >
2023-06-18 15:02:21 +02:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../changelog.html" > Change log< / a > < / li >
< / ul >
2022-08-27 16:50:29 +02:00
2023-06-18 15:02:21 +02:00
< / div >
2023-06-18 15:23:33 +02:00
< / div > < div id = "furo-languages" tabindex = "0" >
< span class = "languages-label" >
< i class = "fa fa-language" > < / i >
< / span >
< div class = "languages-list" >
< a href = "../../en/api/oauth2.html" hreflang = en lang = en >
English
< / a >
< a href = "../../fr/api/oauth2.html" hreflang = fr lang = fr >
Français
< / a >
< / div >
2023-06-18 15:02:21 +02:00
< / div >
< / div >
2022-08-27 16:50:29 +02:00
2023-06-18 15:02:21 +02:00
< / div >
< / aside >
< div class = "main" >
< div class = "content" >
< div class = "article-container" >
< a href = "#" class = "back-to-top muted-link" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" >
< path d = "M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z" > < / path >
< / svg >
< span > Back to top< / span >
< / a >
< div class = "content-icon-container" >
< div class = "theme-toggle-container theme-toggle-content" >
< button class = "theme-toggle" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" > < use href = "#svg-sun-half" > < / use > < / svg >
< svg class = "theme-icon-when-dark" > < use href = "#svg-moon" > < / use > < / svg >
< svg class = "theme-icon-when-light" > < use href = "#svg-sun" > < / use > < / svg >
< / button >
< / div >
< label class = "toc-overlay-icon toc-content-icon no-toc" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< article role = "main" >
< section id = "oauth2" >
< h1 > OAuth2< a class = "headerlink" href = "#oauth2" title = "Permalink to this heading" > #< / a > < / h1 >
2022-08-27 16:50:29 +02:00
< dl class = "http get" >
< dt class = "sig sig-object http" id = "get--api-oauth-apps" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > GET< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps< / span > < / span > < a class = "headerlink" href = "#get--api-oauth-apps" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Get OAuth2 clients (apps) for authenticated user with pagination
(5 clients/page).< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > without parameters:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > GET< / span > < span class = "nn" > /api/oauth/apps< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > with ‘ page’ parameter:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > GET< / span > < span class = "nn" > /api/oauth/apps?page=2< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " data" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " clients" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span >
< span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client_description" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " client_id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " o22a27s2aBPUoxJbxV3UjDOx" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " issued_at" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " Thu, 14 July 2022 06:27:53 GMT" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " name" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " GPX Importer" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " redirect_uris" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span >
< span class = "w" > < / span > < span class = "s2" > " https://example.com/callback" < / span >
< span class = "w" > < / span > < span class = "p" > ],< / span >
< span class = "w" > < / span > < span class = "nt" > " scope" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " profile:read workouts:write" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " website" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " https://example.com" < / span >
< span class = "w" > < / span > < span class = "p" > }< / span >
< span class = "w" > < / span > < span class = "p" > ]< / span >
< span class = "w" > < / span > < span class = "p" > },< / span >
< span class = "w" > < / span > < span class = "nt" > " pagination" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " has_next" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " has_prev" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " page" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " pages" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " total" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span >
< span class = "w" > < / span > < span class = "p" > },< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " success" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Query Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > page< / strong > (< em > integer< / em > ) – page for pagination (default: 1)< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http post" >
< dt class = "sig sig-object http" id = "post--api-oauth-apps" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > POST< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps< / span > < / span > < a class = "headerlink" href = "#post--api-oauth-apps" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Create an OAuth2 client (app) for the authenticated user.< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > POST< / span > < span class = "nn" > /api/oauth/apps< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " data" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client_description" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " client_id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " o22a27s2aBPUoxJbxV3UjDOx" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " client_secret" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " < CLIENT SECRET> " < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " issued_at" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " Thu, 14 July 2022 06:27:53 GMT" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " name" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " GPX Importer" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " redirect_uris" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span >
< span class = "w" > < / span > < span class = "s2" > " https://example.com/callback" < / span >
< span class = "w" > < / span > < span class = "p" > ],< / span >
< span class = "w" > < / span > < span class = "nt" > " scope" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " profile:read workouts:write" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " website" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " https://example.com" < / span >
< span class = "w" > < / span > < span class = "p" > }< / span >
< span class = "w" > < / span > < span class = "p" > },< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " created" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > JSON Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > client_name< / strong > (< em > string< / em > ) – client name< / p > < / li >
< li > < p > < strong > client_uri< / strong > (< em > string< / em > ) – client URL< / p > < / li >
< li > < p > < strong > redirect_uri< / strong > (< em > array< / em > ) – list of client redirect URLs (string)< / p > < / li >
< li > < p > < strong > scope< / strong > (< em > string< / em > ) – client scopes< / p > < / li >
2023-06-24 12:17:56 +02:00
< li > < p > < strong > client_description< / strong > (< em > string< / em > ) – client description (optional)< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1" > 400 Bad Request< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > payload< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http get" >
< dt class = "sig sig-object http" id = "get--api-oauth-apps-(string-client_client_id)" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > GET< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps/< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "property" > < span class = "pre" > string:< / span > < / em > < em class = "sig-param" > < span class = "pre" > client_client_id< / span > < / em > < span class = "sig-paren" > )< / span > < a class = "headerlink" href = "#get--api-oauth-apps-(string-client_client_id)" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Get an OAuth2 client (app) by ‘ client_id’ .< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > GET< / span > < span class = "nn" > /api/oauth/apps/o22a27s2aBPUoxJbxV3UjDOx< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example responses< / strong > :< / p >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > success:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " data" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client_description" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " client_id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " o22a27s2aBPUoxJbxV3UjDOx" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " issued_at" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " Thu, 14 July 2022 06:27:53 GMT" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " name" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " GPX Importer" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " redirect_uris" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span >
< span class = "w" > < / span > < span class = "s2" > " https://example.com/callback" < / span >
< span class = "w" > < / span > < span class = "p" > ],< / span >
< span class = "w" > < / span > < span class = "nt" > " scope" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " profile:read workouts:write" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " website" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " https://example.com" < / span >
< span class = "w" > < / span > < span class = "p" > }< / span >
< span class = "w" > < / span > < span class = "p" > },< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " success" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > not found:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 404< / span > < span class = "ne" > NOT FOUND< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " not found" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " message" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " OAuth2 client not found" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > client_client_id< / strong > (< em > string< / em > ) – OAuth2 client client_id< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5" > 404 Not Found< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > OAuth2< / span > < span class = "pre" > client< / span > < span class = "pre" > not< / span > < span class = "pre" > found< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http get" >
< dt class = "sig sig-object http" id = "get--api-oauth-apps-(int-client_id)-by_id" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > GET< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps/< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "property" > < span class = "pre" > int:< / span > < / em > < em class = "sig-param" > < span class = "pre" > client_id< / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-name descname" > < span class = "pre" > /by_id< / span > < / span > < a class = "headerlink" href = "#get--api-oauth-apps-(int-client_id)-by_id" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Get an OAuth2 client (app) by id (integer value).< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > GET< / span > < span class = "nn" > /api/oauth/apps/1/by_id< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example responses< / strong > :< / p >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > success:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " data" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " client_description" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " client_id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " o22a27s2aBPUoxJbxV3UjDOx" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " id" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " issued_at" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " Thu, 14 July 2022 06:27:53 GMT" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " name" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " GPX Importer" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " redirect_uris" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span >
< span class = "w" > < / span > < span class = "s2" > " https://example.com/callback" < / span >
< span class = "w" > < / span > < span class = "p" > ],< / span >
< span class = "w" > < / span > < span class = "nt" > " scope" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " profile:read workouts:write" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " website" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " https://example.com" < / span >
< span class = "w" > < / span > < span class = "p" > }< / span >
< span class = "w" > < / span > < span class = "p" > },< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " success" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > not found:< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 404< / span > < span class = "ne" > NOT FOUND< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " not found" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " message" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " OAuth2 client not found" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > client_id< / strong > (< em > integer< / em > ) – OAuth2 client id< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5" > 404 Not Found< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > OAuth2< / span > < span class = "pre" > client< / span > < span class = "pre" > not< / span > < span class = "pre" > found< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http delete" >
< dt class = "sig sig-object http" id = "delete--api-oauth-apps-(int-client_id)" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > DELETE< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps/< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "property" > < span class = "pre" > int:< / span > < / em > < em class = "sig-param" > < span class = "pre" > client_id< / span > < / em > < span class = "sig-paren" > )< / span > < a class = "headerlink" href = "#delete--api-oauth-apps-(int-client_id)" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Delete an OAuth2 client (app).< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > DELETE< / span > < span class = "nn" > /api/oauth/apps/1< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 204< / span > < span class = "ne" > NO CONTENT< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > client_id< / strong > (< em > integer< / em > ) – OAuth2 client id< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5" > 204 No Content< / a > < / span > – OAuth2 client deleted< / p > < / li >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5" > 404 Not Found< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > OAuth2< / span > < span class = "pre" > client< / span > < span class = "pre" > not< / span > < span class = "pre" > found< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http post" >
< dt class = "sig sig-object http" id = "post--api-oauth-apps-(int-client_id)-revoke" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > POST< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/apps/< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "property" > < span class = "pre" > int:< / span > < / em > < em class = "sig-param" > < span class = "pre" > client_id< / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-name descname" > < span class = "pre" > /revoke< / span > < / span > < a class = "headerlink" href = "#post--api-oauth-apps-(int-client_id)-revoke" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Revoke all tokens associated to an OAuth2 client (app).< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > POST< / span > < span class = "nn" > /api/oauth/apps/1/revoke< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " success" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > client_id< / strong > (< em > integer< / em > ) – OAuth2 client id< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5" > 404 Not Found< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > OAuth2< / span > < span class = "pre" > client< / span > < span class = "pre" > not< / span > < span class = "pre" > found< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http post" >
< dt class = "sig sig-object http" id = "post--api-oauth-authorize" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > POST< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/authorize< / span > < / span > < a class = "headerlink" href = "#post--api-oauth-authorize" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Authorize an OAuth2 client (app).
If successful, it redirects to the client callback URL with the code to
issue a token.< / p >
< p > This endpoint is only accessible by FitTrackee client (first-party
application).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > POST< / span > < span class = "nn" > /api/oauth/authorize< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > multipart/form-data< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " status" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " success" < / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Form Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > string client_id< / strong > – OAuth2 client ‘ client_id’ < / p > < / li >
< li > < p > < strong > string response_type< / strong > – client response type (only ‘ code’ is supported
by FitTrackee)< / p > < / li >
< li > < p > < strong > string scopes< / strong > – OAuth2 client scopes< / p > < / li >
2023-06-18 15:02:21 +02:00
< li > < p > < strong > boolean confirm< / strong > – confirmation (must be < code class = "docutils literal notranslate" > < span class = "pre" > true< / span > < / code > )< / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < strong > string state< / strong > – unique value to prevent cross-site request forgery
(not mandatory but recommended)< / p > < / li >
< li > < p > < strong > string code_challenge< / strong > – string generated from a code verifier
(for PKCE, not mandatory but recommended)< / p > < / li >
< li > < p > < strong > string code_challenge_method< / strong > – method used to create challenge,
for instance “S256” (mandatory if < cite > code_challenge< / cite >
provided)< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Request Headers< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2022-11-27 12:06:42 +01:00
< li > < p > < span > < a class = "reference external" href = "https://www.rfc-editor.org/rfc/rfc7235#section-4.2" > Authorization< / a > < / span > – OAuth 2.0 Bearer Token< / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / dd >
< dt class = "field-odd" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1" > 400 Bad Request< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > payload< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > errors returned by Authlib library< / p > < / li >
< / ul >
< / p > < / li >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http post" >
< dt class = "sig sig-object http" id = "post--api-oauth-token" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > POST< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/token< / span > < / span > < a class = "headerlink" href = "#post--api-oauth-token" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Issue or refresh token for a given OAuth2 client (app).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > POST< / span > < span class = "nn" > /api/oauth/token< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > multipart/form-data< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {< / span >
< span class = "w" > < / span > < span class = "nt" > " access_token" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " rOEHv64THCG28WcewZHRnVLUsOdUvw8NVnHKCmL57e" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " expires_in" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mi" > 864000< / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " refresh_token" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " NuV9cY8VQOnrQKHTZ5pQAq2Zw7mSH0MorNPJr14AmSwD6f6I" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " scope" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "p" > [< / span > < span class = "s2" > " profile:read" < / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s2" > " workouts:write" < / span > < span class = "p" > ],< / span >
< span class = "w" > < / span > < span class = "nt" > " token_type" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s2" > " Bearer" < / span > < span class = "p" > ,< / span >
< span class = "w" > < / span > < span class = "nt" > " expires_at" < / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "mf" > 1658660147.0667062< / span >
< span class = "p" > }< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Form Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > string client_id< / strong > – OAuth2 client ‘ client_id’ < / p > < / li >
< li > < p > < strong > string client_secret< / strong > – OAuth2 client secret< / p > < / li >
< li > < p > < strong > string grant_type< / strong > – OAuth2 client grant type
(only ‘ authorization_code’ (for token issue)
and ‘ refresh_token’ (for token refresh)
are supported by FitTrackee)< / p > < / li >
< li > < p > < strong > string code< / strong > – code generated after authorizing the client
(for token issue)< / p > < / li >
< li > < p > < strong > string code_verifier< / strong > – code verifier
(for token issue with PKCE, not mandatory)< / p > < / li >
< li > < p > < strong > string refresh_token< / strong > – refresh token (for token refresh)< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1" > 400 Bad Request< / a > < / span > – errors returned by Authlib library< / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "http post" >
< dt class = "sig sig-object http" id = "post--api-oauth-revoke" >
2023-06-18 15:02:21 +02:00
< span class = "sig-name descname" > < span class = "pre" > POST< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > /api/oauth/revoke< / span > < / span > < a class = "headerlink" href = "#post--api-oauth-revoke" title = "Permalink to this definition" > #< / a > < / dt >
2022-08-27 16:50:29 +02:00
< dd > < p > Revoke a token for a given OAuth2 client (app).< / p >
< p > < strong > Example request< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "nf" > POST< / span > < span class = "nn" > /api/oauth/revoke< / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > multipart/form-data< / span >
< / pre > < / div >
< / div >
< p > < strong > Example response< / strong > :< / p >
< div class = "highlight-http notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kr" > HTTP< / span > < span class = "o" > /< / span > < span class = "m" > 1.1< / span > < span class = "m" > 200< / span > < span class = "ne" > SUCCESS< / span >
< span class = "na" > Content-Type< / span > < span class = "o" > :< / span > < span class = "l" > application/json< / span >
2023-02-16 11:18:50 +01:00
< span class = "p" > {}< / span >
2022-08-27 16:50:29 +02:00
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Form Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > string client_id< / strong > – OAuth2 client ‘ client_id’ < / p > < / li >
< li > < p > < strong > string client_secret< / strong > – OAuth2 client secret< / p > < / li >
< li > < p > < strong > string token< / strong > – access token to revoke< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Status Codes< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
2023-06-18 20:45:39 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1" > 200 OK< / a > < / span > – < code class = "docutils literal notranslate" > < span class = "pre" > success< / span > < / code > < / p > < / li >
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1" > 400 Bad Request< / a > < / span > – errors returned by Authlib library< / p > < / li >
2022-08-27 16:50:29 +02:00
< li > < p > < span > < a class = "reference external" href = "https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2" > 401 Unauthorized< / a > < / span > – < ul >
2023-06-18 20:45:39 +02:00
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > provide< / span > < span class = "pre" > a< / span > < span class = "pre" > valid< / span > < span class = "pre" > auth< / span > < span class = "pre" > token< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > signature< / span > < span class = "pre" > expired,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
< li > < p > < code class = "docutils literal notranslate" > < span class = "pre" > invalid< / span > < span class = "pre" > token,< / span > < span class = "pre" > please< / span > < span class = "pre" > log< / span > < span class = "pre" > in< / span > < span class = "pre" > again< / span > < / code > < / p > < / li >
2022-08-27 16:50:29 +02:00
< / ul >
< / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< / section >
2023-06-18 15:02:21 +02:00
< / article >
< / div >
< footer >
< div class = "related-pages" >
< a class = "next-page" href = "records.html" >
< div class = "page-info" >
< div class = "context" >
< span > Next< / span >
< / div >
< div class = "title" > Records< / div >
< / div >
< svg class = "furo-related-icon" > < use href = "#svg-arrow-right" > < / use > < / svg >
< / a >
< a class = "prev-page" href = "configuration.html" >
< svg class = "furo-related-icon" > < use href = "#svg-arrow-right" > < / use > < / svg >
< div class = "page-info" >
< div class = "context" >
< span > Previous< / span >
< / div >
< div class = "title" > Configuration< / div >
< / div >
< / a >
< / div >
< div class = "bottom-of-page" >
< div class = "left-details" >
< div class = "copyright" >
Copyright © 2018 - 2023, SamR1
< / div >
Made with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > and < a class = "muted-link" href = "https://pradyunsg.me" > @pradyunsg< / a > 's
< a href = "https://github.com/pradyunsg/furo" > Furo< / a >
< / div >
< div class = "right-details" >
< div class = "icons" >
< a class = "muted-link fa fa-github fa-lg" href = "https://github.com/SamR1/FitTrackee" aria-label = "GitHub" > < / a >
2023-06-28 08:44:42 +02:00
< a class = "muted-link fa fa-mastodon fa-lg" rel = "me" href = "https://fosstodon.org/@FitTrackee" aria-label = "Mastodon" > < / a >
2023-06-18 15:02:21 +02:00
< / div >
< / div >
< / div >
< / footer >
2022-08-27 16:50:29 +02:00
< / div >
2023-06-18 15:02:21 +02:00
< aside class = "toc-drawer no-toc" >
2022-08-27 16:50:29 +02:00
2023-06-18 15:02:21 +02:00
< / aside >
2022-08-27 16:50:29 +02:00
< / div >
2023-06-18 15:02:21 +02:00
< / div > < script data-url_root = "../" id = "documentation_options" src = "../_static/documentation_options.js" > < / script >
< script src = "../_static/doctools.js" > < / script >
< script src = "../_static/sphinx_highlight.js" > < / script >
< script src = "../_static/scripts/furo.js" > < / script >
< script src = "../_static/clipboard.min.js" > < / script >
< script src = "../_static/copybutton.js" > < / script >
< / body >
2022-08-27 16:50:29 +02:00
< / html >