{"id":42148616,"url":"https://github.com/rciam/rciam-authmetrics","last_synced_at":"2026-04-20T13:14:04.230Z","repository":{"id":70884687,"uuid":"561269309","full_name":"rciam/rciam-authmetrics","owner":"rciam","description":"RCIAM Metrics","archived":false,"fork":false,"pushed_at":"2026-04-20T11:35:36.000Z","size":860,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-20T11:39:40.340Z","etag":null,"topics":["metrics","metrics-gathering","metrics-visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rciam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-03T10:27:32.000Z","updated_at":"2026-04-02T14:00:44.000Z","dependencies_parsed_at":"2023-10-03T14:25:57.777Z","dependency_job_id":"4e793058-fcd7-440c-b26a-99a22e6d7f54","html_url":"https://github.com/rciam/rciam-authmetrics","commit_stats":null,"previous_names":[],"tags_count":493,"template":false,"template_full_name":null,"purl":"pkg:github/rciam/rciam-authmetrics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rciam%2Frciam-authmetrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rciam%2Frciam-authmetrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rciam%2Frciam-authmetrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rciam%2Frciam-authmetrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rciam","download_url":"https://codeload.github.com/rciam/rciam-authmetrics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rciam%2Frciam-authmetrics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32048557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["metrics","metrics-gathering","metrics-visualization"],"created_at":"2026-01-26T18:07:28.001Z","updated_at":"2026-04-20T13:14:04.208Z","avatar_url":"https://github.com/rciam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 id=\"rciam-metrics\"\u003eRCIAM Metrics v0.1.0\u003c/h1\u003e\n\n## Install\n\n### Build the Python/Nodejs image\ndocker-compose build\n\n### Pull the database\ndocker-compose pull\n\n### Install python dependencies\ndocker-compose run --rm --no-deps web pip install --upgrade pip\ndocker-compose run --rm --no-deps web pip3 install --no-cache-dir -r requirements_dev.txt\n\n### Install nodejs dependencies\ndocker-compose run --rm --no-deps api npm install --prefer-online\n\n### Run Database deployment\n[//]: # (docker-compose run --rm web alembic revision --autogenerate -m 'Initial Migration')\ndocker-compose run --rm web alembic upgrade head\n\n### Seed with test data\n\n[//]: # (docker-compose run --rm web python app/seed.py)\n\n### Start the Service\ndocker-compose up api\n\n## API Guide\n\n\n\u003ch1 id=\"fastapi-users\"\u003eusers\u003c/h1\u003e\n\n## read_users_country_registered_users_country_get\n\n\u003ca id=\"opIdread_users_country_registered_users_country_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /registered_users_country?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /registered_users_country?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/registered_users_country?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/registered_users_country',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/registered_users_country', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/registered_users_country', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/registered_users_country?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/registered_users_country\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /registered_users_country`\n\n*Read Users Country*\n\n\u003ch3 id=\"read_users_country_registered_users_country_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_users_country_registered_users_country_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_users_country_registered_users_country_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_users_country_groupby_registered_users_country_group_by__group_by__get\n\n\u003ca id=\"opIdread_users_country_groupby_registered_users_country_group_by__group_by__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /registered_users_country_group_by/{group_by}?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /registered_users_country_group_by/{group_by}?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/registered_users_country_group_by/{group_by}?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/registered_users_country_group_by/{group_by}',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/registered_users_country_group_by/{group_by}', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/registered_users_country_group_by/{group_by}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/registered_users_country_group_by/{group_by}?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/registered_users_country_group_by/{group_by}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /registered_users_country_group_by/{group_by}`\n\n*Read Users Country Groupby*\n\n\u003ch3 id=\"read_users_country_groupby_registered_users_country_group_by__group_by__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|group_by|path|string|true|none|\n|offset|query|integer|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_users_country_groupby_registered_users_country_group_by__group_by__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_users_country_groupby_registered_users_country_group_by__group_by__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_users_groupby_registered_users_groupby__group_by__get\n\n\u003ca id=\"opIdread_users_groupby_registered_users_groupby__group_by__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /registered_users_groupby/{group_by}?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /registered_users_groupby/{group_by}?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/registered_users_groupby/{group_by}?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/registered_users_groupby/{group_by}',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/registered_users_groupby/{group_by}', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/registered_users_groupby/{group_by}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/registered_users_groupby/{group_by}?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/registered_users_groupby/{group_by}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /registered_users_groupby/{group_by}`\n\n*Read Users Groupby*\n\n\u003ch3 id=\"read_users_groupby_registered_users_groupby__group_by__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|group_by|path|string|true|none|\n|offset|query|integer|false|none|\n|interval|query|string|false|none|\n|count_interval|query|integer|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_users_groupby_registered_users_groupby__group_by__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_users_groupby_registered_users_groupby__group_by__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_users_countby_registered_users_countby_get\n\n\u003ca id=\"opIdread_users_countby_registered_users_countby_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /registered_users_countby?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /registered_users_countby?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/registered_users_countby?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/registered_users_countby',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/registered_users_countby', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/registered_users_countby', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/registered_users_countby?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/registered_users_countby\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /registered_users_countby`\n\n*Read Users Countby*\n\n\u003ch3 id=\"read_users_countby_registered_users_countby_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|interval|query|string|false|none|\n|count_interval|query|integer|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_users_countby_registered_users_countby_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_users_countby_registered_users_countby_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n\u003ch1 id=\"fastapi-communities\"\u003ecommunities\u003c/h1\u003e\n\n## read_members_members__get\n\n\u003ca id=\"opIdread_members_members__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /members/ \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /members/ HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/members/',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/members/',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/members/', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/members/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/members/\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/members/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /members/`\n\n*Read Members*\n\n\u003ch3 id=\"read_members_members__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\n[\n  {\n    \"community_id\": 0,\n    \"hasheduserid\": \"string\",\n    \"status\": \"string\",\n    \"community_info\": {\n      \"name\": \"string\",\n      \"description\": \"string\",\n      \"source\": \"string\",\n      \"id\": 0\n    }\n  }\n]\n```\n\n\u003ch3 id=\"read_members_members__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_members_members__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\nStatus Code **200**\n\n*Response Read Members Members  Get*\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|Response Read Members Members  Get|[[MembersReadWithCommunityInfo](#schemamembersreadwithcommunityinfo)]|false|none|none|\n|» MembersReadWithCommunityInfo|[MembersReadWithCommunityInfo](#schemamembersreadwithcommunityinfo)|false|none|none|\n|»» community_id|integer|true|none|none|\n|»» hasheduserid|string|true|none|none|\n|»» status|string|true|none|none|\n|»» community_info|[Community_InfoRead](#schemacommunity_inforead)|true|none|none|\n|»»» name|string|true|none|none|\n|»»» description|string|true|none|none|\n|»»» source|string|true|none|none|\n|»»» id|integer|true|none|none|\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_members_bystatus_members_bystatus__get\n\n\u003ca id=\"opIdread_members_bystatus_members_bystatus__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /members_bystatus/?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /members_bystatus/?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/members_bystatus/?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/members_bystatus/',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/members_bystatus/', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/members_bystatus/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/members_bystatus/?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/members_bystatus/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /members_bystatus/`\n\n*Read Members Bystatus*\n\n\u003ch3 id=\"read_members_bystatus_members_bystatus__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|community_id|query|integer|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_members_bystatus_members_bystatus__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_members_bystatus_members_bystatus__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_communities_communities_groupby__group_by__get\n\n\u003ca id=\"opIdread_communities_communities_groupby__group_by__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /communities_groupby/{group_by}?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /communities_groupby/{group_by}?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/communities_groupby/{group_by}?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/communities_groupby/{group_by}',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/communities_groupby/{group_by}', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/communities_groupby/{group_by}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/communities_groupby/{group_by}?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/communities_groupby/{group_by}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /communities_groupby/{group_by}`\n\n*Read Communities*\n\n\u003ch3 id=\"read_communities_communities_groupby__group_by__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|group_by|path|string|true|none|\n|offset|query|integer|false|none|\n|tenenv_id|query|integer|true|none|\n|interval|query|string|false|none|\n|count_interval|query|integer|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_communities_communities_groupby__group_by__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_communities_communities_groupby__group_by__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_community_communities__get\n\n\u003ca id=\"opIdread_community_communities__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /communities/?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /communities/?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/communities/?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/communities/',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/communities/', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/communities/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/communities/?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/communities/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /communities/`\n\n*Read Community*\n\n\u003ch3 id=\"read_community_communities__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|community_id|query|integer|false|none|\n|tenenv_id|query|integer|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_community_communities__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_community_communities__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_communities_info_communities_info__get\n\n\u003ca id=\"opIdread_communities_info_communities_info__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /communities_info/ \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /communities_info/ HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/communities_info/',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/communities_info/',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/communities_info/', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/communities_info/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/communities_info/\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/communities_info/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /communities_info/`\n\n*Read Communities Info*\n\n\u003ch3 id=\"read_communities_info_communities_info__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\n[\n  {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"source\": \"string\",\n    \"id\": 0\n  }\n]\n```\n\n\u003ch3 id=\"read_communities_info_communities_info__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_communities_info_communities_info__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\nStatus Code **200**\n\n*Response Read Communities Info Communities Info  Get*\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|Response Read Communities Info Communities Info  Get|[[Community_InfoRead](#schemacommunity_inforead)]|false|none|none|\n|» Community_InfoRead|[Community_InfoRead](#schemacommunity_inforead)|false|none|none|\n|»» name|string|true|none|none|\n|»» description|string|true|none|none|\n|»» source|string|true|none|none|\n|»» id|integer|true|none|none|\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n\u003ch1 id=\"fastapi-countries\"\u003ecountries\u003c/h1\u003e\n\n## read_countries_countries__get\n\n\u003ca id=\"opIdread_countries_countries__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /countries/ \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /countries/ HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/countries/',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/countries/',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/countries/', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/countries/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/countries/\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/countries/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /countries/`\n\n*Read Countries*\n\n\u003ch3 id=\"read_countries_countries__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|tag|query|string|false|none|\n|skip|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\n[\n  {\n    \"countrycode\": \"string\",\n    \"country\": \"string\",\n    \"id\": 0\n  }\n]\n```\n\n\u003ch3 id=\"read_countries_countries__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_countries_countries__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\nStatus Code **200**\n\n*Response Read Countries Countries  Get*\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|Response Read Countries Countries  Get|[[Country_CodesRead](#schemacountry_codesread)]|false|none|none|\n|» Country_CodesRead|[Country_CodesRead](#schemacountry_codesread)|false|none|none|\n|»» countrycode|string|true|none|none|\n|»» country|string|true|none|none|\n|»» id|integer|true|none|none|\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_country_stats_country_stats__get\n\n\u003ca id=\"opIdread_country_stats_country_stats__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /country_stats/ \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /country_stats/ HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/country_stats/',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/country_stats/',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/country_stats/', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/country_stats/', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/country_stats/\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/country_stats/\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /country_stats/`\n\n*Read Country Stats*\n\n\u003ch3 id=\"read_country_stats_country_stats__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|tag|query|string|false|none|\n|skip|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\n[\n  {\n    \"date\": \"2019-08-24\",\n    \"hasheduserid\": \"string\",\n    \"sourceidpid\": 0,\n    \"serviceid\": 0,\n    \"countryid\": 0,\n    \"count\": 0,\n    \"identityprovider_info\": {\n      \"entityid\": \"string\",\n      \"name\": \"string\",\n      \"id\": 0\n    },\n    \"serviceprovider_info\": {\n      \"identifier\": \"string\",\n      \"name\": \"string\",\n      \"id\": 0\n    },\n    \"country_info\": {\n      \"countrycode\": \"string\",\n      \"country\": \"string\",\n      \"id\": 0\n    }\n  }\n]\n```\n\n\u003ch3 id=\"read_country_stats_country_stats__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_country_stats_country_stats__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\nStatus Code **200**\n\n*Response Read Country Stats Country Stats  Get*\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|Response Read Country Stats Country Stats  Get|[[Statistics_Country_HashedwithInfo](#schemastatistics_country_hashedwithinfo)]|false|none|none|\n|» Statistics_Country_HashedwithInfo|[Statistics_Country_HashedwithInfo](#schemastatistics_country_hashedwithinfo)|false|none|none|\n|»» date|string(date)|true|none|none|\n|»» hasheduserid|string|true|none|none|\n|»» sourceidpid|integer|true|none|none|\n|»» serviceid|integer|true|none|none|\n|»» countryid|integer|true|none|none|\n|»» count|integer|true|none|none|\n|»» identityprovider_info|[IdentityprovidersmapRead](#schemaidentityprovidersmapread)|false|none|none|\n|»»» entityid|string|true|none|none|\n|»»» name|string|true|none|none|\n|»»» id|integer|true|none|none|\n|»» serviceprovider_info|[ServiceprovidersmapRead](#schemaserviceprovidersmapread)|false|none|none|\n|»»» identifier|string|true|none|none|\n|»»» name|string|true|none|none|\n|»»» id|integer|true|none|none|\n|»» country_info|[Country_CodesRead](#schemacountry_codesread)|false|none|none|\n|»»» countrycode|string|true|none|none|\n|»»» country|string|true|none|none|\n|»»» id|integer|true|none|none|\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_country_stats_by_vo_country_stats_by_vo__community_id__get\n\n\u003ca id=\"opIdread_country_stats_by_vo_country_stats_by_vo__community_id__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /country_stats_by_vo/{community_id} \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /country_stats_by_vo/{community_id} HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/country_stats_by_vo/{community_id}',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/country_stats_by_vo/{community_id}',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/country_stats_by_vo/{community_id}', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/country_stats_by_vo/{community_id}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/country_stats_by_vo/{community_id}\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/country_stats_by_vo/{community_id}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /country_stats_by_vo/{community_id}`\n\n*Read Country Stats By Vo*\n\n\u003ch3 id=\"read_country_stats_by_vo_country_stats_by_vo__community_id__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|community_id|path|integer|true|none|\n|offset|query|integer|false|none|\n|tag|query|string|false|none|\n|skip|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_country_stats_by_vo_country_stats_by_vo__community_id__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_country_stats_by_vo_country_stats_by_vo__community_id__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n\u003ch1 id=\"fastapi-logins\"\u003elogins\u003c/h1\u003e\n\n## read_logins_per_idp_logins_per_idp_get\n\n\u003ca id=\"opIdread_logins_per_idp_logins_per_idp_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /logins_per_idp?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /logins_per_idp?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/logins_per_idp?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/logins_per_idp',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/logins_per_idp', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/logins_per_idp', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/logins_per_idp?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/logins_per_idp\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /logins_per_idp`\n\n*Read Logins Per Idp*\n\n\u003ch3 id=\"read_logins_per_idp_logins_per_idp_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|sp|query|string|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n|unique_logins|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_logins_per_idp_logins_per_idp_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_logins_per_idp_logins_per_idp_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_logins_per_sp_logins_per_sp_get\n\n\u003ca id=\"opIdread_logins_per_sp_logins_per_sp_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /logins_per_sp?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /logins_per_sp?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/logins_per_sp?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/logins_per_sp',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/logins_per_sp', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/logins_per_sp', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/logins_per_sp?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/logins_per_sp\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /logins_per_sp`\n\n*Read Logins Per Sp*\n\n\u003ch3 id=\"read_logins_per_sp_logins_per_sp_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|idp|query|string|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n|unique_logins|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_logins_per_sp_logins_per_sp_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_logins_per_sp_logins_per_sp_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_logins_per_country_logins_per_country_get\n\n\u003ca id=\"opIdread_logins_per_country_logins_per_country_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /logins_per_country?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /logins_per_country?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/logins_per_country?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/logins_per_country',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/logins_per_country', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/logins_per_country', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/logins_per_country?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/logins_per_country\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /logins_per_country`\n\n*Read Logins Per Country*\n\n\u003ch3 id=\"read_logins_per_country_logins_per_country_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|group_by|query|string|false|none|\n|startDate|query|string|false|none|\n|endDate|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n|unique_logins|query|boolean|false|none|\n|idpId|query|integer|false|none|\n|spId|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_logins_per_country_logins_per_country_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_logins_per_country_logins_per_country_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_logins_countby_logins_countby_get\n\n\u003ca id=\"opIdread_logins_countby_logins_countby_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /logins_countby?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /logins_countby?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/logins_countby?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/logins_countby',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/logins_countby', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/logins_countby', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/logins_countby?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/logins_countby\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /logins_countby`\n\n*Read Logins Countby*\n\n\u003ch3 id=\"read_logins_countby_logins_countby_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|offset|query|integer|false|none|\n|interval|query|string|false|none|\n|count_interval|query|integer|false|none|\n|tenenv_id|query|integer|true|none|\n|unique_logins|query|boolean|false|none|\n|idpId|query|integer|false|none|\n|spId|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_logins_countby_logins_countby_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_logins_countby_logins_countby_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_logins_groupby_logins_groupby__group_by__get\n\n\u003ca id=\"opIdread_logins_groupby_logins_groupby__group_by__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /logins_groupby/{group_by}?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /logins_groupby/{group_by}?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/logins_groupby/{group_by}?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/logins_groupby/{group_by}',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/logins_groupby/{group_by}', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/logins_groupby/{group_by}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/logins_groupby/{group_by}?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/logins_groupby/{group_by}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /logins_groupby/{group_by}`\n\n*Read Logins Groupby*\n\n\u003ch3 id=\"read_logins_groupby_logins_groupby__group_by__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|group_by|path|string|true|none|\n|offset|query|integer|false|none|\n|idp|query|string|false|none|\n|sp|query|string|false|none|\n|tenenv_id|query|integer|true|none|\n|unique_logins|query|boolean|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_logins_groupby_logins_groupby__group_by__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_logins_groupby_logins_groupby__group_by__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n\u003ch1 id=\"fastapi-dashboard\"\u003edashboard\u003c/h1\u003e\n\n## read_tenenv_byname_tenenv__tenant_name___environment_name__get\n\n\u003ca id=\"opIdread_tenenv_byname_tenenv__tenant_name___environment_name__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /tenenv/{tenant_name}/{environment_name} \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /tenenv/{tenant_name}/{environment_name} HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/tenenv/{tenant_name}/{environment_name}',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/tenenv/{tenant_name}/{environment_name}',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/tenenv/{tenant_name}/{environment_name}', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/tenenv/{tenant_name}/{environment_name}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/tenenv/{tenant_name}/{environment_name}\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/tenenv/{tenant_name}/{environment_name}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /tenenv/{tenant_name}/{environment_name}`\n\n*Read Tenenv Byname*\n\n\u003ch3 id=\"read_tenenv_byname_tenenv__tenant_name___environment_name__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|tenant_name|path|string|true|none|\n|environment_name|path|string|true|none|\n|offset|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_tenenv_byname_tenenv__tenant_name___environment_name__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_tenenv_byname_tenenv__tenant_name___environment_name__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_environment_byname_environment_byname__environment_name__get\n\n\u003ca id=\"opIdread_environment_byname_environment_byname__environment_name__get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /environment_byname/{environment_name} \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /environment_byname/{environment_name} HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/environment_byname/{environment_name}',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/environment_byname/{environment_name}',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/environment_byname/{environment_name}', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/environment_byname/{environment_name}', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/environment_byname/{environment_name}\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/environment_byname/{environment_name}\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /environment_byname/{environment_name}`\n\n*Read Environment Byname*\n\n\u003ch3 id=\"read_environment_byname_environment_byname__environment_name__get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|environment_name|path|string|true|none|\n|offset|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_environment_byname_environment_byname__environment_name__get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_environment_byname_environment_byname__environment_name__get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_idps_idps_get\n\n\u003ca id=\"opIdread_idps_idps_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /idps?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /idps?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/idps?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/idps',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/idps', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/idps', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/idps?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/idps\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /idps`\n\n*Read Idps*\n\n\u003ch3 id=\"read_idps_idps_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|tenenv_id|query|integer|true|none|\n|idpId|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_idps_idps_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_idps_idps_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## read_sps_sps_get\n\n\u003ca id=\"opIdread_sps_sps_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /sps?tenenv_id=0 \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /sps?tenenv_id=0 HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/sps?tenenv_id=0',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/sps',\n  params: {\n  'tenenv_id' =\u003e 'integer'\n}, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/sps', params={\n  'tenenv_id': '0'\n}, headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/sps', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/sps?tenenv_id=0\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/sps\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /sps`\n\n*Read Sps*\n\n\u003ch3 id=\"read_sps_sps_get-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|tenenv_id|query|integer|true|none|\n|spId|query|integer|false|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"read_sps_sps_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"read_sps_sps_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n\u003ch1 id=\"fastapi-ams\"\u003eams\u003c/h1\u003e\n\n## get_verification_ams_stats_ams_verification_hash_get\n\n\u003ca id=\"opIdget_verification_ams_stats_ams_verification_hash_get\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X GET /ams_stats/ams_verification_hash \\\n  -H 'Accept: application/json'\n\n```\n\n```http\nGET /ams_stats/ams_verification_hash HTTP/1.1\n\nAccept: application/json\n\n```\n\n```javascript\n\nconst headers = {\n  'Accept':'application/json'\n};\n\nfetch('/ams_stats/ams_verification_hash',\n{\n  method: 'GET',\n\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Accept' =\u003e 'application/json'\n}\n\nresult = RestClient.get '/ams_stats/ams_verification_hash',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Accept': 'application/json'\n}\n\nr = requests.get('/ams_stats/ams_verification_hash', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Accept' =\u003e 'application/json',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('GET','/ams_stats/ams_verification_hash', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/ams_stats/ams_verification_hash\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"GET\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Accept\": []string{\"application/json\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"GET\", \"/ams_stats/ams_verification_hash\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`GET /ams_stats/ams_verification_hash`\n\n*Get Verification*\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"get_verification_ams_stats_ams_verification_hash_get-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n\n\u003ch3 id=\"get_verification_ams_stats_ams_verification_hash_get-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n## get_ams_stats_ams_stats_post\n\n\u003ca id=\"opIdget_ams_stats_ams_stats_post\"\u003e\u003c/a\u003e\n\n\u003e Code samples\n\n```shell\n# You can also use wget\ncurl -X POST /ams_stats \\\n  -H 'Content-Type: application/json' \\\n  -H 'Accept: application/json' \\\n  -H 'Authorization: string'\n\n```\n\n```http\nPOST /ams_stats HTTP/1.1\n\nContent-Type: application/json\nAccept: application/json\nAuthorization: string\n\n```\n\n```javascript\nconst inputBody = 'null';\nconst headers = {\n  'Content-Type':'application/json',\n  'Accept':'application/json',\n  'Authorization':'string'\n};\n\nfetch('/ams_stats',\n{\n  method: 'POST',\n  body: inputBody,\n  headers: headers\n})\n.then(function(res) {\n    return res.json();\n}).then(function(body) {\n    console.log(body);\n});\n\n```\n\n```ruby\nrequire 'rest-client'\nrequire 'json'\n\nheaders = {\n  'Content-Type' =\u003e 'application/json',\n  'Accept' =\u003e 'application/json',\n  'Authorization' =\u003e 'string'\n}\n\nresult = RestClient.post '/ams_stats',\n  params: {\n  }, headers: headers\n\np JSON.parse(result)\n\n```\n\n```python\nimport requests\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json',\n  'Authorization': 'string'\n}\n\nr = requests.post('/ams_stats', headers = headers)\n\nprint(r.json())\n\n```\n\n```php\n\u003c?php\n\nrequire 'vendor/autoload.php';\n\n$headers = array(\n    'Content-Type' =\u003e 'application/json',\n    'Accept' =\u003e 'application/json',\n    'Authorization' =\u003e 'string',\n);\n\n$client = new \\GuzzleHttp\\Client();\n\n// Define array of request body.\n$request_body = array();\n\ntry {\n    $response = $client-\u003erequest('POST','/ams_stats', array(\n        'headers' =\u003e $headers,\n        'json' =\u003e $request_body,\n       )\n    );\n    print_r($response-\u003egetBody()-\u003egetContents());\n }\n catch (\\GuzzleHttp\\Exception\\BadResponseException $e) {\n    // handle exception or api errors.\n    print_r($e-\u003egetMessage());\n }\n\n // ...\n\n```\n\n```java\nURL obj = new URL(\"/ams_stats\");\nHttpURLConnection con = (HttpURLConnection) obj.openConnection();\ncon.setRequestMethod(\"POST\");\nint responseCode = con.getResponseCode();\nBufferedReader in = new BufferedReader(\n    new InputStreamReader(con.getInputStream()));\nString inputLine;\nStringBuffer response = new StringBuffer();\nwhile ((inputLine = in.readLine()) != null) {\n    response.append(inputLine);\n}\nin.close();\nSystem.out.println(response.toString());\n\n```\n\n```go\npackage main\n\nimport (\n       \"bytes\"\n       \"net/http\"\n)\n\nfunc main() {\n\n    headers := map[string][]string{\n        \"Content-Type\": []string{\"application/json\"},\n        \"Accept\": []string{\"application/json\"},\n        \"Authorization\": []string{\"string\"},\n    }\n\n    data := bytes.NewBuffer([]byte{jsonReq})\n    req, err := http.NewRequest(\"POST\", \"/ams_stats\", data)\n    req.Header = headers\n\n    client := \u0026http.Client{}\n    resp, err := client.Do(req)\n    // ...\n}\n\n```\n\n`POST /ams_stats`\n\n*Get Ams Stats*\n\n\u003e Body parameter\n\n```json\nnull\n```\n\n\u003ch3 id=\"get_ams_stats_ams_stats_post-parameters\"\u003eParameters\u003c/h3\u003e\n\n|Name|In|Type|Required|Description|\n|---|---|---|---|---|\n|Authorization|header|string|false|none|\n|body|body|any|true|none|\n\n\u003e Example responses\n\n\u003e 200 Response\n\n```json\nnull\n```\n\n\u003ch3 id=\"get_ams_stats_ams_stats_post-responses\"\u003eResponses\u003c/h3\u003e\n\n|Status|Meaning|Description|Schema|\n|---|---|---|---|\n|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|\n|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|\n\n\u003ch3 id=\"get_ams_stats_ams_stats_post-responseschema\"\u003eResponse Schema\u003c/h3\u003e\n\n\u003caside class=\"success\"\u003e\nThis operation does not require authentication\n\u003c/aside\u003e\n\n# Schemas\n\n\u003ch2 id=\"tocS_Community_InfoRead\"\u003eCommunity_InfoRead\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemacommunity_inforead\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_Community_InfoRead\"\u003e\u003c/a\u003e\n\u003ca id=\"tocScommunity_inforead\"\u003e\u003c/a\u003e\n\u003ca id=\"tocscommunity_inforead\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"name\": \"string\",\n  \"description\": \"string\",\n  \"source\": \"string\",\n  \"id\": 0\n}\n\n```\n\nCommunity_InfoRead\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|name|string|true|none|none|\n|description|string|true|none|none|\n|source|string|true|none|none|\n|id|integer|true|none|none|\n\n\u003ch2 id=\"tocS_Country_CodesRead\"\u003eCountry_CodesRead\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemacountry_codesread\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_Country_CodesRead\"\u003e\u003c/a\u003e\n\u003ca id=\"tocScountry_codesread\"\u003e\u003c/a\u003e\n\u003ca id=\"tocscountry_codesread\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"countrycode\": \"string\",\n  \"country\": \"string\",\n  \"id\": 0\n}\n\n```\n\nCountry_CodesRead\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|countrycode|string|true|none|none|\n|country|string|true|none|none|\n|id|integer|true|none|none|\n\n\u003ch2 id=\"tocS_HTTPValidationError\"\u003eHTTPValidationError\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemahttpvalidationerror\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_HTTPValidationError\"\u003e\u003c/a\u003e\n\u003ca id=\"tocShttpvalidationerror\"\u003e\u003c/a\u003e\n\u003ca id=\"tocshttpvalidationerror\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"detail\": [\n    {\n      \"loc\": [\n        \"string\"\n      ],\n      \"msg\": \"string\",\n      \"type\": \"string\"\n    }\n  ]\n}\n\n```\n\nHTTPValidationError\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|detail|[[ValidationError](#schemavalidationerror)]|false|none|none|\n\n\u003ch2 id=\"tocS_IdentityprovidersmapRead\"\u003eIdentityprovidersmapRead\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemaidentityprovidersmapread\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_IdentityprovidersmapRead\"\u003e\u003c/a\u003e\n\u003ca id=\"tocSidentityprovidersmapread\"\u003e\u003c/a\u003e\n\u003ca id=\"tocsidentityprovidersmapread\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"entityid\": \"string\",\n  \"name\": \"string\",\n  \"id\": 0\n}\n\n```\n\nIdentityprovidersmapRead\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|entityid|string|true|none|none|\n|name|string|true|none|none|\n|id|integer|true|none|none|\n\n\u003ch2 id=\"tocS_MembersReadWithCommunityInfo\"\u003eMembersReadWithCommunityInfo\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemamembersreadwithcommunityinfo\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_MembersReadWithCommunityInfo\"\u003e\u003c/a\u003e\n\u003ca id=\"tocSmembersreadwithcommunityinfo\"\u003e\u003c/a\u003e\n\u003ca id=\"tocsmembersreadwithcommunityinfo\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"community_id\": 0,\n  \"hasheduserid\": \"string\",\n  \"status\": \"string\",\n  \"community_info\": {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"source\": \"string\",\n    \"id\": 0\n  }\n}\n\n```\n\nMembersReadWithCommunityInfo\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|community_id|integer|true|none|none|\n|hasheduserid|string|true|none|none|\n|status|string|true|none|none|\n|community_info|[Community_InfoRead](#schemacommunity_inforead)|true|none|none|\n\n\u003ch2 id=\"tocS_ServiceprovidersmapRead\"\u003eServiceprovidersmapRead\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemaserviceprovidersmapread\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_ServiceprovidersmapRead\"\u003e\u003c/a\u003e\n\u003ca id=\"tocSserviceprovidersmapread\"\u003e\u003c/a\u003e\n\u003ca id=\"tocsserviceprovidersmapread\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"identifier\": \"string\",\n  \"name\": \"string\",\n  \"id\": 0\n}\n\n```\n\nServiceprovidersmapRead\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|identifier|string|true|none|none|\n|name|string|true|none|none|\n|id|integer|true|none|none|\n\n\u003ch2 id=\"tocS_Statistics_Country_HashedwithInfo\"\u003eStatistics_Country_HashedwithInfo\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemastatistics_country_hashedwithinfo\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_Statistics_Country_HashedwithInfo\"\u003e\u003c/a\u003e\n\u003ca id=\"tocSstatistics_country_hashedwithinfo\"\u003e\u003c/a\u003e\n\u003ca id=\"tocsstatistics_country_hashedwithinfo\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"date\": \"2019-08-24\",\n  \"hasheduserid\": \"string\",\n  \"sourceidpid\": 0,\n  \"serviceid\": 0,\n  \"countryid\": 0,\n  \"count\": 0,\n  \"identityprovider_info\": {\n    \"entityid\": \"string\",\n    \"name\": \"string\",\n    \"id\": 0\n  },\n  \"serviceprovider_info\": {\n    \"identifier\": \"string\",\n    \"name\": \"string\",\n    \"id\": 0\n  },\n  \"country_info\": {\n    \"countrycode\": \"string\",\n    \"country\": \"string\",\n    \"id\": 0\n  }\n}\n\n```\n\nStatistics_Country_HashedwithInfo\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|date|string(date)|true|none|none|\n|hasheduserid|string|true|none|none|\n|sourceidpid|integer|true|none|none|\n|serviceid|integer|true|none|none|\n|countryid|integer|true|none|none|\n|count|integer|true|none|none|\n|identityprovider_info|[IdentityprovidersmapRead](#schemaidentityprovidersmapread)|false|none|none|\n|serviceprovider_info|[ServiceprovidersmapRead](#schemaserviceprovidersmapread)|false|none|none|\n|country_info|[Country_CodesRead](#schemacountry_codesread)|false|none|none|\n\n\u003ch2 id=\"tocS_ValidationError\"\u003eValidationError\u003c/h2\u003e\n\u003c!-- backwards compatibility --\u003e\n\u003ca id=\"schemavalidationerror\"\u003e\u003c/a\u003e\n\u003ca id=\"schema_ValidationError\"\u003e\u003c/a\u003e\n\u003ca id=\"tocSvalidationerror\"\u003e\u003c/a\u003e\n\u003ca id=\"tocsvalidationerror\"\u003e\u003c/a\u003e\n\n```json\n{\n  \"loc\": [\n    \"string\"\n  ],\n  \"msg\": \"string\",\n  \"type\": \"string\"\n}\n\n```\n\nValidationError\n\n### Properties\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|loc|[anyOf]|true|none|none|\n\nanyOf\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|» *anonymous*|string|false|none|none|\n\nor\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|» *anonymous*|integer|false|none|none|\n\ncontinued\n\n|Name|Type|Required|Restrictions|Description|\n|---|---|---|---|---|\n|msg|string|true|none|none|\n|type|string|true|none|none|\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frciam%2Frciam-authmetrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frciam%2Frciam-authmetrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frciam%2Frciam-authmetrics/lists"}