├── .gitignore
├── assets
└── Grepper Logo.png
├── docs
├── README.MD
├── answers
│ ├── GETANSWERS.MD
│ ├── GETCOMMENTS.MD
│ ├── NEEDEDANSWERS.MD
│ ├── PUBLISHANSWER.MD
│ ├── SEARCHANSWER.MD
│ └── SIMILIARQUERIES.MD
├── auth
│ ├── LOGIN.MD
│ ├── LOGOUT.MD
│ ├── REGISTER.MD
│ ├── RESETPASSWORD.MD
│ └── TOKEN.MD
├── other
│ ├── FEEDBACK.MD
│ └── LEADERBOARD.MD
├── teams
│ ├── INVITEUSER.MD
│ └── TEAMANSWERS.MD
├── users
│ ├── GETUSER.MD
│ ├── GETUSERBELT.MD
│ ├── GETUSERSTATS.MD
│ ├── SEARCHUSERS.MD
│ ├── USERBYTOKEN.MD
│ └── WHOTOFOLLOW.md
└── vulnerabilities
│ └── LOGOUT.MD
├── old.md
└── readme.md
/.gitignore:
--------------------------------------------------------------------------------
1 | /test
2 |
--------------------------------------------------------------------------------
/assets/Grepper Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jub0t/CodeGrepperAPI/fe6d0d9bc05e4ccb509b247d966fa498e0329fc3/assets/Grepper Logo.png
--------------------------------------------------------------------------------
/docs/README.MD:
--------------------------------------------------------------------------------
1 | # **Code Grepper API Documentation**
2 |
3 |
4 |
5 | [Code Grepper][cgurl] also known as Grepper is a platform to help developers solve technical problems. [Grepper][cgurl] is powered by an amazing community of 200k(and growing fast) developers. Developers within the community contribute answers to technical problems primarily through the [Grepper][cgurl] browser extension which allows a user to quickly add a “code snippet” as an answer to a problem they ran into and recently solved. At present the community has put in 318k answers, which together have been viewed over 62 million times.
6 |
--------------------------------------------------------------------------------
/docs/answers/GETANSWERS.MD:
--------------------------------------------------------------------------------
1 | # Get Answers ✅
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_answers_1.php
6 | ```
7 |
8 | ```js
9 | const Query = "javascript loop";
10 | const APIVersion = 3; // No idea what versions are but 3 gives best answers.
11 |
12 | return await fetch(
13 | `https://www.codegrepper.com/api/get_answers_1.php?v=${APIVersion}&s=${encodeURI(
14 | Query
15 | )}`
16 | )
17 | .then((response) => {
18 | return response.json();
19 | })
20 | .then((data) => {
21 | console.log(data);
22 | })
23 | .catch((err) => {
24 | console.log(err);
25 | });
26 | ```
27 |
28 | ```json
29 | // Response
30 | {
31 | "answers": [
32 | {
33 | "id": 286865,
34 | "search_id": null,
35 | "user_id": 393862,
36 | "nickname": null,
37 | "language": "javascript",
38 | "created_at": "2021-07-16 03:14:23",
39 | "updated_at": "2022-05-09 08:26:33",
40 | "bounty": null,
41 | "bounty_approved": null,
42 | "solution_urls": "https://www.google.com/",
43 | "source_id": 2,
44 | "is_deleted": 0,
45 | "source_url": "",
46 | "do_hide": 0,
47 | "do_hide_r": null,
48 | "do_hide2": null,
49 | "do_hide2_r": null,
50 | "is_private": 0,
51 | "is_widget": 0,
52 | "video_name": "",
53 | "t_upvotes": 28,
54 | "t_upvotes_d": 25,
55 | "t_downvotes": 3,
56 | "t_downvotes_d": 0,
57 | "t_copies": 602,
58 | "t_follow_up_searches": 0,
59 | "t_no_follow_up_searches": 0,
60 | "t_other_answer_clicked": 498,
61 | "t_score": "0.3161161",
62 | "did_help_per": "0.0535000",
63 | "t_total_results": 4950,
64 | "t_users_count": 2228,
65 | "cluster_id": "javascript_29",
66 | "desp_for_ans": 0,
67 | "lang_prob": null,
68 | "humor_prob": "-0.162",
69 | "new_sa_count": 9,
70 | "t_scorecat1": null,
71 | "t_ttr_cat1": null,
72 | "t_scorecat2": null,
73 | "t_ttr_cat2": null,
74 | "t_scorecat3": null,
75 | "t_ttr_cat3": null,
76 | "t_scorecat4": null,
77 | "t_ttr_cat4": null,
78 | "t_scorecat5": null,
79 | "t_ttr_cat5": null,
80 | "t_comments": 1,
81 | "answer_md5": "59ef5987ebeb79643f87b14a1cb8872d",
82 | "fun_name": "MattDESTROYER",
83 | "profile_slug": "matthew-ukrjcjx42pm9",
84 | "search_answer_id": 284597,
85 | "donate_link": "",
86 | "term": "js for loop",
87 | "raw_score": "0.3161161",
88 | "score": "0.3161161",
89 | "total_results": 4950,
90 | "upvotes": 28,
91 | "downvotes": 3,
92 | "i_upvoted": null,
93 | "i_downvoted": null,
94 | "is_my_answer": 0,
95 | "search_answer_result_id": "103815156"
96 | }
97 | ],
98 | "grepcc_tips_left": 0
99 | }
100 | ```
101 |
102 | | Param | Type | Required | Description |
103 | | ----- | ------------- | -------- | ----------------------------------------- |
104 | | `s` | String | **YES** | The query, whatever you want to search |
105 | | `v` | String/Number | **YES** | The version of API, 3 is the best option. |
106 |
--------------------------------------------------------------------------------
/docs/answers/GETCOMMENTS.MD:
--------------------------------------------------------------------------------
1 | # Get Comments ✅
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_answers_comments.php
6 | ```
7 |
8 | ```json
9 | {
10 | "comments": [
11 | {
12 | "id": 467,
13 | "user_id": 98467,
14 | "comment": "testing 123 hello",
15 | "created_at": "2021-07-16 23:43:41",
16 | "profile_slug": "jareer",
17 | "fun_name": "Undefined",
18 | "t_upvotes": null,
19 | "t_downvotes": null,
20 | "i_upvoted": null,
21 | "i_downvoted": null
22 | }
23 | ]
24 | }
25 | ```
26 |
27 | | Param | Type | Required |
28 | | ----- | ------------- | -------- |
29 | | `aid` | Number/String | **YES** |
30 |
--------------------------------------------------------------------------------
/docs/answers/NEEDEDANSWERS.MD:
--------------------------------------------------------------------------------
1 | # Needed Answers 🔒
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_terms_needing_answers.php
6 | ```
7 |
8 | ```json
9 | [
10 | {
11 | "id": 74776,
12 | "term": "error: the sandbox is not in sync with the podfile.lock. run 'pod install' or update your cocoapods installation.",
13 | "bonus_points": 500,
14 | "bonus": 0
15 | },
16 | {
17 | "id": 54345,
18 | "term": "library: 'pem routines', function: 'get_name', reason: 'no start line', code: 'err_ossl_pem_no_start_line'",
19 | "bonus_points": 0,
20 | "bonus": 0
21 | }
22 | ]
23 | ```
24 |
--------------------------------------------------------------------------------
/docs/answers/PUBLISHANSWER.MD:
--------------------------------------------------------------------------------
1 | # Publish Answer 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/save_answer.php
6 | ```
7 |
8 | ```js
9 | // Example Javascript Request
10 |
11 | const token = String;
12 | const userId = Number;
13 |
14 | const data = {
15 | answer: String,
16 | user_id: Number,
17 | team_ids: Number,
18 | language: String,
19 | is_private: Boolean,
20 | source_url: String,
21 | codeSearch: {
22 | results: Array,
23 | search: String,
24 | },
25 | };
26 |
27 | return fetch(`https://www.codegrepper.com/api/save_answer.php`, {
28 | method: "POST",
29 | headers: {
30 | "Content-Type": "application/json",
31 | "x-auth-token": token,
32 | "x-auth-id": userId,
33 | },
34 | body: JSON.stringify(data),
35 | })
36 | .then((response) => {
37 | if (response.status !== 200) {
38 | return {
39 | Success: false,
40 | Message: `Server Returned an invalid response.`,
41 | };
42 | }
43 | return response.json();
44 | })
45 | .then((response) => {
46 | console.log(response);
47 | })
48 | .catch((err) => {
49 | console.log(err);
50 | });
51 | ```
52 |
53 | ```json
54 | // Response
55 | {
56 | "success": true,
57 | "grepper_gold": 0,
58 | "grepper_gold_total": 0
59 | }
60 | ```
61 |
62 | | Param | Type | Required |
63 | | -------------------- | -------------- | -------- |
64 | | `answer` | String | **YES** |
65 | | `user_id` | Number | **YES** |
66 | | `langauge` | String | **NO** |
67 | | `is_private` | Number/Boolean | **YES** |
68 | | `source_url` | String | **NO** |
69 | | `codeSearch.results` | Array | **NO** |
70 | | `codeSearch.search` | String | **YES** |
71 |
--------------------------------------------------------------------------------
/docs/answers/SEARCHANSWER.MD:
--------------------------------------------------------------------------------
1 | # Search Answer ✅
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/search.php
6 | ```
7 |
8 | ```json
9 | {
10 | "answers": [
11 | {
12 | "id": 295229,
13 | "search_id": null,
14 | "answer": "POV: you typed up grepper to see what grepper answers there were for grepper",
15 | "up_votes": 0,
16 | "down_votes": 0,
17 | "user_id": 417590,
18 | "nickname": null,
19 | "language": "whatever",
20 | "created_at": "2021-07-30 07:37:22",
21 | "updated_at": null,
22 | "bounty": null,
23 | "bounty_approved": null,
24 | "solution_urls": "https://www.google.com/",
25 | "source_id": 2,
26 | "is_deleted": 0,
27 | "source_url": "",
28 | "do_hide": 0,
29 | "do_hide_r": null,
30 | "do_hide2": 0,
31 | "do_hide2_r": null,
32 | "is_private": 0,
33 | "is_widget": 0,
34 | "video_name": "",
35 | "t_upvotes": 76,
36 | "t_upvotes_d": 54,
37 | "t_downvotes": 2,
38 | "t_downvotes_d": 2,
39 | "t_copies": 2,
40 | "t_follow_up_searches": 0,
41 | "t_no_follow_up_searches": 0,
42 | "t_other_answer_clicked": 656,
43 | "t_score": "0.5483636",
44 | "did_help_per": "0.1350000",
45 | "t_total_results": 1330,
46 | "t_users_count": 826,
47 | "cluster_id": "whatever_62",
48 | "desp_for_ans": 0,
49 | "lang_prob": null,
50 | "humor_prob": "0.869",
51 | "new_sa_count": 6,
52 | "t_scorecat1": null,
53 | "t_ttr_cat1": null,
54 | "t_scorecat2": null,
55 | "t_ttr_cat2": null,
56 | "t_scorecat3": null,
57 | "t_ttr_cat3": null,
58 | "t_scorecat4": null,
59 | "t_ttr_cat4": null,
60 | "t_scorecat5": null,
61 | "t_ttr_cat5": null,
62 | "t_comments": 0,
63 | "answer_md5": "416a9f17eb7677e5d9d6ef85bf9f96c7",
64 | "fun_name": "20SidedShape",
65 | "profile_slug": "20sidedshape",
66 | "search_answer_id": 292844,
67 | "donate_link": "",
68 | "term": "grepper",
69 | "raw_score": "0.5483636",
70 | "score": "0.5483636",
71 | "total_results": 1330,
72 | "upvotes": 76,
73 | "downvotes": 2
74 | }
75 | ]
76 | }
77 | ```
78 |
79 | | Param | Type | Required | Description |
80 | | ---------------- | ------ | -------- | -------------------------------- |
81 | | `q` | String | **YES** | Query to search for. |
82 | | `search_options` | String | **YES** | `search_titles`, `search_answer` |
83 |
--------------------------------------------------------------------------------
/docs/answers/SIMILIARQUERIES.MD:
--------------------------------------------------------------------------------
1 | ```yaml
2 | # GET
3 | https://www.codegrepper.com/api/search_term_alternatives.php
4 | ```
5 |
6 | ```js
7 | const Query = String;
8 |
9 | return fetch(
10 | `https://www.codegrepper.com/api/search_term_alternatives.php?q=${Query}`
11 | )
12 | .then((response) => {
13 | return response.json();
14 | })
15 | .then((data) => {
16 | console.log(data);
17 | })
18 | .catch((err) => {
19 | console.log(err);
20 | });
21 | ```
22 |
23 | ```json
24 | {
25 | "related_terms": [
26 | {
27 | "term": "jaascript loop",
28 | "score": 0.9628877639770508
29 | },
30 | {
31 | "term": "javasript loop",
32 | "score": 0.9611862897872925
33 | },
34 | {
35 | "term": "javascript loop statement",
36 | "score": 0.9602680206298828
37 | }
38 | ]
39 | }
40 | ```
41 |
42 | | Param | Type | Required | Description |
43 | | ----- | ------ | -------- | -------------------------------------- |
44 | | `q` | String | **YES** | The query, whatever you want to search |
45 |
--------------------------------------------------------------------------------
/docs/auth/LOGIN.MD:
--------------------------------------------------------------------------------
1 | # Login 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/login.php
6 | ```
7 |
8 | ```js
9 | const DataToSend = new FormData();
10 | DataToSend.append("password", "example");
11 | DataToSend.append("email", "example@example.com");
12 |
13 | return fetch(`https://www.codegrepper.com/api/login.php`, {
14 | method: "POST",
15 | body: DataToSend,
16 | })
17 | .then((response) => {
18 | return response.json();
19 | })
20 | .then((data) => {
21 | console.log(data);
22 | })
23 | .catch((err) => {
24 | console.log(err);
25 | });
26 | ```
27 |
28 | ```json
29 | {
30 | "errors": [],
31 | "success": true,
32 | "access_token": "",
33 | "user_id": 98467,
34 | "email": "example@example.com",
35 | "hide_grepper_button": 0,
36 | "grepper_user_langs": [
37 | {
38 | "lkey": "abap",
39 | "name": "Abap",
40 | "enabled": 1
41 | }
42 | ],
43 | "blacklists": [
44 | {
45 | "id": 6615,
46 | "user_id": 98467,
47 | "url": "localhost",
48 | "blacklist_type": 4
49 | }
50 | ]
51 | }
52 | ```
53 |
54 | | Param | Type | Required |
55 | | ---------- | ------ | -------- |
56 | | `username` | String | **YES** |
57 | | `password` | String | **YES** |
58 |
--------------------------------------------------------------------------------
/docs/auth/LOGOUT.MD:
--------------------------------------------------------------------------------
1 | # Logout 🔓
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/logout.php
6 | ```
7 |
--------------------------------------------------------------------------------
/docs/auth/REGISTER.MD:
--------------------------------------------------------------------------------
1 | # Register 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/register.php
6 | ```
7 |
8 | ```js
9 | const DataToSend = new FormData();
10 | DataToSend.append("password", "example");
11 | DataToSend.append("email", "example@example.com");
12 |
13 | return fetch(`https://www.codegrepper.com/api/register.php`, {
14 | method: "POST",
15 | body: DataToSend,
16 | })
17 | .then((response) => {
18 | return response.json();
19 | })
20 | .then((data) => {
21 | console.log(data);
22 | })
23 | .catch((err) => {
24 | console.log(err);
25 | });
26 | ```
27 |
28 | ```json
29 | {
30 | "errors": [],
31 | "success": true,
32 | "access_token": "",
33 | "user_id": 98467,
34 | "email": "example@example.com",
35 | "hide_grepper_button": 0,
36 | "grepper_user_langs": [
37 | {
38 | "lkey": "abap",
39 | "name": "Abap",
40 | "enabled": 1
41 | }
42 | ],
43 | "blacklists": [
44 | {
45 | "id": 6615,
46 | "user_id": 98467,
47 | "url": "localhost",
48 | "blacklist_type": 4
49 | }
50 | ]
51 | }
52 | ```
53 |
54 | | Param | Type | Required |
55 | | ---------- | ------ | -------- |
56 | | `username` | String | **YES** |
57 | | `password` | String | **YES** |
58 |
--------------------------------------------------------------------------------
/docs/auth/RESETPASSWORD.MD:
--------------------------------------------------------------------------------
1 | # Reset Password ✅
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/reset_password.php
6 | ```
7 |
8 | ```js
9 | const DataToSend = new FormData();
10 | DataToSend.append("email", "example@example.com");
11 |
12 | return fetch(`https://www.codegrepper.com/api/reset_password.php`, {
13 | method: "POST",
14 | body: DataToSend,
15 | })
16 | .then((response) => {
17 | return response.json();
18 | })
19 | .then((data) => {
20 | console.log(data);
21 | })
22 | .catch((err) => {
23 | console.log(err);
24 | });
25 | ```
26 |
27 | ```json
28 | {
29 | "success": true,
30 | "errors": []
31 | }
32 | ```
33 |
34 | | Param | Type | Required | Description |
35 | | ------- | ------ | -------- | ------------------------------------------ |
36 | | `email` | String | **YES** | Email to receive the password reset email. |
37 |
--------------------------------------------------------------------------------
/docs/auth/TOKEN.MD:
--------------------------------------------------------------------------------
1 | # **Access Token**
2 |
3 | The `access_token` is easily accessible once you are logged in your account, there are different methods to access this token.
4 |
5 | ### Dev Tools
6 |
7 | - Open Dev tools, to open dev tools press `F12` while being on the codegrepper site(any page works).
8 | - Open **Application** tab and find `access_token`.
9 | - Copy the token, now you have your account's token.
10 |
11 | ### By Request
12 |
13 | You can send a `POST` request to the login api endpoint with the account username and password. This will return the `access_token` and `userId` in the body. Make sure you send FormData data and not any other type of data, application/json, etc.
14 |
15 | ```yaml
16 | ## POST
17 | https://www.codegrepper.com/api/login.php
18 | ```
19 |
20 | ```js
21 | const DataToSend = new FormData();
22 | DataToSend.append("password", "example");
23 | DataToSend.append("email", "example@example.com");
24 |
25 | return fetch(`https://www.codegrepper.com/api/login.php`, {
26 | method: "POST",
27 | body: DataToSend,
28 | })
29 | .then((response) => {
30 | return response.json();
31 | })
32 | .then((data) => {
33 | console.log(data);
34 | })
35 | .catch((err) => {
36 | console.log(err);
37 | });
38 | ```
39 |
--------------------------------------------------------------------------------
/docs/other/FEEDBACK.MD:
--------------------------------------------------------------------------------
1 | # Feedback 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/send_feedback.php
6 | ```
7 |
8 | ```js
9 | // Unkown
10 | ```
11 |
12 | ```yaml
13 | ## Unkown
14 | ```
15 |
--------------------------------------------------------------------------------
/docs/other/LEADERBOARD.MD:
--------------------------------------------------------------------------------
1 | # Leaderboard 🔒
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_belt_users.php
6 | ```
7 |
8 | | Param | Type | Required | Description |
9 | | -------- | ------ | -------- | --------------------------------------------- |
10 | | `limit` | Number | **YES** | How many users you want to retrieve at most. |
11 | | `offset` | Number | **YES** | Where to start. 5 means the top 5th and lower |
12 |
--------------------------------------------------------------------------------
/docs/teams/INVITEUSER.MD:
--------------------------------------------------------------------------------
1 | # Invite User(s) To Team 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/add_team_members.php
6 | ```
7 |
8 | ```js
9 | const token = tokenData.token;
10 | const userId = tokenData.userId;
11 |
12 | const Data = [
13 | {
14 | team_id: 1,
15 | user_id: 98467,
16 | },
17 | ];
18 |
19 | return fetch(`https://www.codegrepper.com/api/add_team_members.php`, {
20 | method: "POST",
21 | headers: {
22 | "Content-Type": "application/json",
23 | "x-auth-token": token,
24 | "x-auth-id": userId,
25 | },
26 | body: JSON.stringify(Data),
27 | })
28 | .then((response) => {
29 | return response.text();
30 | })
31 | .then((data) => {
32 | console.log(data);
33 | })
34 | .catch((err) => {
35 | console.log(err);
36 | });
37 | ```
38 |
39 | ```yaml
40 | # Empty Response
41 | ```
42 |
--------------------------------------------------------------------------------
/docs/teams/TEAMANSWERS.MD:
--------------------------------------------------------------------------------
1 | # Get Team Answers ✅
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_team_answers.php
6 | ```
7 |
8 | ### Query Params
9 |
10 | | Param | Type | Required |
11 | | --------- | ------------- | -------- |
12 | | `team_id` | String/Number | **YES** |
13 | | `offset` | String/Number | **YES** |
14 | | `sort_by` | String | **NO** |
15 |
16 | ```json
17 | {
18 | "answers": [
19 | {
20 | "answer_user_id": 9895,
21 | "is_others_answer": 1,
22 | "search_answer_user_id": 9895,
23 | "fun_name": "ayaan",
24 | "i_upvoted": "0",
25 | "upvotes": "1",
26 | "downvotes": "0",
27 | "score": "0.7778",
28 | "total_answer_hits": 3,
29 | "term": "when does localstorage get cleared",
30 | "created_at": "05/30/2022",
31 | "bounty": null,
32 | "answer": "/* For Chrome, if your browsing data is cleared, then localStorage will expire and\nalso get cleared. If you delete cookies or temporary files, this may also\ncause localStorage to be cleared. */",
33 | "language": "javascript",
34 | "bounty_approved": null,
35 | "id": 493948
36 | }
37 | ],
38 | "total_count": 612
39 | }
40 | ```
41 |
--------------------------------------------------------------------------------
/docs/users/GETUSER.MD:
--------------------------------------------------------------------------------
1 | # Get User ✅
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/profile.php
6 | ```
7 |
8 | ```json
9 | {
10 | "profile_image": "98467_hKuVkwhdUxieQAfc5lVurPuwSPTQFiVSnWEIS8l4gecLZdSa0g3vba4.gif",
11 | "fun_name": "Undefined",
12 | "real_name": "Jareer",
13 | "twitter_name": "",
14 | "donate_link": "https://paypal.me/jub0t",
15 | "how_to_help": "My Grepper Experience has been really POG, looking forward to collaborate. Rigby#6654(discord)",
16 | "location": "Mars",
17 | "is_rank_private": 0,
18 | "is_activity_private": 1,
19 | "is_expertise_private": 0,
20 | "is_daily_activity_private": 1,
21 | "enable_coding_activity": 1
22 | }
23 | ```
24 |
25 | | Param | Type | Required | Description |
26 | | ----- | ------------- | -------- | ------------------ |
27 | | `id` | String/Number | **YES** | User's grepper Id. |
28 |
--------------------------------------------------------------------------------
/docs/users/GETUSERBELT.MD:
--------------------------------------------------------------------------------
1 | # Get User Belt 🔓
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/get_user_stats.php
6 | ```
7 |
8 | ```json
9 | {
10 | "coding_belt": ["none", 0.0, "white"],
11 | "is_rank_private": "0",
12 | "success": true
13 | }
14 | ```
15 |
16 | | Param | Type | Required | Description |
17 | | ----- | ------------- | -------- | ------------------- |
18 | | `uid` | String/Number | **YES** | Users's Grepper Id. |
19 |
--------------------------------------------------------------------------------
/docs/users/GETUSERSTATS.MD:
--------------------------------------------------------------------------------
1 | # Get User 🔓
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/profile_helped_stats.php
6 | ```
7 |
8 | ```js
9 | const Id = 98467; // UserID
10 |
11 | fetch(
12 | `https://www.codegrepper.com/api/profile_helped_stats.php?id=${encodeURI(Id)}`
13 | )
14 | .then((response) => {
15 | return response.json();
16 | })
17 | .then((data) => {
18 | console.log(data);
19 | })
20 | .catch((err) => {
21 | console.log(err);
22 | });
23 | ```
24 |
25 | ```json
26 | {
27 | "developers_helped": "183882",
28 | "hits": "745634"
29 | }
30 | ```
31 |
32 | | Param | Type | Required | Description |
33 | | ----- | ------ | -------- | ----------- |
34 | | `id` | String | **YES** | User's id. |
35 |
--------------------------------------------------------------------------------
/docs/users/SEARCHUSERS.MD:
--------------------------------------------------------------------------------
1 | # Search User ✅
2 |
3 | Since Grepper doesn't have any official API endpoints to search for users we'll use the autocomlpete API from team invite.
4 |
5 | ```yaml
6 | # GET
7 | https://www.codegrepper.com/api/autocomplete_users_search.php
8 | ```
9 |
10 | ```js
11 | const Username = String;
12 | return fetch(
13 | `https://www.codegrepper.com/api/autocomplete_users_search.php?q=${encodeURI(
14 | Username
15 | )}`
16 | )
17 | .then((response) => {
18 | return response.text();
19 | })
20 | .then((data) => {
21 | console.log(data);
22 | })
23 | .catch((err) => {
24 | console.log(err);
25 | });
26 | ```
27 |
28 | ```json
29 | [
30 | {
31 | "is_team_member": null,
32 | "fun_name": "Undefined",
33 | "id": 98467,
34 | "real_name": "Jareer",
35 | "profile_image": "98467_QQYVITZrlZf19i0SKj9YEbZaKOx627U1gyYL48O9C5yxrcODqE9MlrB.png"
36 | }
37 | ...
38 | ]
39 | ```
40 |
41 | | Param | Type | Required | Description |
42 | | ----- | ------ | -------- | ---------------------------------------- |
43 | | `q` | String | **YES** | Username of the user you want to search. |
44 |
--------------------------------------------------------------------------------
/docs/users/USERBYTOKEN.MD:
--------------------------------------------------------------------------------
1 | # Get My Info 🔒
2 |
3 | ```yaml
4 | # GET
5 | https://www.codegrepper.com/api/account.php
6 | ```
7 |
8 | ```js
9 | const token = String;
10 | const UserID = Number;
11 |
12 | fetch(`https://www.codegrepper.com/api/account.php`, {
13 | headers: {
14 | "Content-Type": "application/json",
15 | "x-auth-token": String,
16 | "x-auth-id": Number,
17 | },
18 | })
19 | .then((response) => {
20 | return response.json();
21 | })
22 | .then((data) => {
23 | console.log(data);
24 | })
25 | .catch((err) => {
26 | console.log(err);
27 | });
28 | ```
29 |
30 | ```json
31 | {
32 | "donate_link": "https://paypal.me/jareer12",
33 | "fun_name": "Undefined",
34 | "subscription_type": 3,
35 | "subscription_started_on": null,
36 | "subscription_expired": 0,
37 | "earnings_allowed": 0,
38 | "earnings_enabled": 0,
39 | "hide_grepper_button": 0,
40 | "email_feature_updates": 1,
41 | "shortcut_key": 0,
42 | "notify_on_comments": 1
43 | }
44 | ```
45 |
46 | | Param | Type | Required | Description |
47 | | -------------- | ------ | -------- | --------------------------- |
48 | | `x-auth-token` | String | **YES** | Access token of the account |
49 | | `x-auth-id` | String | **YES** | UserID of the account |
50 |
--------------------------------------------------------------------------------
/docs/users/WHOTOFOLLOW.md:
--------------------------------------------------------------------------------
1 | # Who To Follow 🔒
2 |
3 | ```yaml
4 | # POST
5 | https://www.codegrepper.com/api/get_who_to_follow.php
6 | ```
7 |
8 | ```js
9 | const token = String;
10 | const userId = Number;
11 |
12 | return fetch(`https://www.codegrepper.com/api/get_who_to_follow.php`, {
13 | headers: {
14 | "Content-Type": "application/json",
15 | "x-auth-token": token,
16 | "x-auth-id": userId,
17 | },
18 | })
19 | .then((response) => {
20 | return response.json();
21 | })
22 | .then((data) => {
23 | console.log(data);
24 | })
25 | .catch((err) => {
26 | console.log(err);
27 | });
28 | ```
29 |
30 | ```json
31 | {
32 | "users": [
33 | {
34 | "fun_name": "Undefined",
35 | "profile_slug": "Undefined",
36 | "belt_score": null,
37 | "is_rank_private": 1,
38 | "user_id": 98467,
39 | "profile_image": null,
40 | "belt_rank": "no"
41 | }
42 | ]
43 | }
44 | ```
45 |
--------------------------------------------------------------------------------
/docs/vulnerabilities/LOGOUT.MD:
--------------------------------------------------------------------------------
1 | # Logout Vulnerability
2 |
3 | You can easily logout users by just making them click a link, you can hide this link in your dontaion link and once someone clicks it they will be logged out of their Code Grepper account. The link is the logout endpoint.
4 |
5 | ```yaml
6 | # GET
7 | https://www.codegrepper.com/api/logout.php
8 | ```
9 |
--------------------------------------------------------------------------------
/old.md:
--------------------------------------------------------------------------------
1 | # CodeGrepper API Docs[Unofficial]
2 |
3 | Also check out our Code Grepper npm modules at [NPM/YARN package](https://github.com/jareer12/grepper).
4 |
5 | ## Table of Contents
6 |
7 | - [Answers](#Answers)
8 | - [Users](#Users)
9 |
10 | ## [Application Pages][mainpage]
11 |
12 | Fetch answers.
13 |
14 | ```yaml
15 | # GET
16 | https://www.codegrepper.com/search.php?q={query}
17 | ```
18 |
19 | View a user's profile with their username(slug_name)
20 |
21 | ```yaml
22 | # GET
23 | https://www.codegrepper.com/profile/jareer
24 | ```
25 |
26 | View a user's profile with their userId. This API requires `id` parameter.
27 |
28 | ```yaml
29 | # GET
30 | https://www.codegrepper.com/app/profile.php
31 | ```
32 |
33 | ## [Answers][mainpage]
34 |
35 | Publish a new answer.
36 |
37 | ```yaml
38 | # POST
39 | https://www.codegrepper.com/api/save_answer.php
40 | ```
41 |
42 | This API is used to submit a reply to a comment. Payload example is below. If the request was successful `1` will be return as response else `0`.
43 |
44 | ```yaml
45 | # POST
46 | https://www.codegrepper.com/api/save_comment.php
47 | ```
48 |
49 | ```json
50 | {
51 | "comment": "Really helpful i search times million times a day",
52 | "answer_id": 23,
53 | "user_id": 98467
54 | }
55 | ```
56 |
57 | Updates the answer.
58 |
59 | ```yaml
60 | # POST
61 | https://www.codegrepper.com/api/update_answer.php
62 | ```
63 |
64 | The get_terms_needing_answers shows what answers are needed, these answers can reward you with belt percentage.
65 |
66 | ```yaml
67 | # GET
68 | https://www.codegrepper.com/api/get_terms_needing_answers.php
69 | ```
70 |
71 | ```json
72 | [
73 | {
74 | "id": 74776,
75 | "term": "error: the sandbox is not in sync with the podfile.lock. run 'pod install' or update your cocoapods installation.",
76 | "bonus_points": 500,
77 | "bonus": 0
78 | },
79 | {
80 | "id": 54345,
81 | "term": "library: 'pem routines', function: 'get_name', reason: 'no start line', code: 'err_ossl_pem_no_start_line'",
82 | "bonus_points": 0,
83 | "bonus": 0
84 | }
85 | ]
86 | ```
87 |
88 | This API return all the comments from an answer.
89 |
90 | ```yaml
91 | https://www.codegrepper.com/api/get_answers_comments.php?aid=287391 🟢
92 | ```
93 |
94 | ```yaml
95 | {
96 | "comments":
97 | [
98 | {
99 | "id": 467,
100 | "user_id": 98467,
101 | "comment": "testing 123 hello",
102 | "created_at": "2021-07-16 23:43:41",
103 | "profile_slug": "jareer",
104 | "fun_name": "Undefined",
105 | "t_upvotes": null,
106 | "t_downvotes": null,
107 | "i_upvoted": null,
108 | "i_downvoted": null,
109 | },
110 | ],
111 | }
112 | ```
113 |
114 | This API returns answers for a query, the API has 3 versions, the `v1` returns a few answers(or somtimes none), while `v2` and `v3` return an extra array called `more_answers`. The `s` parameter is the search query and the. The `u` parameter is optional that identifies the user that used the API.
115 |
116 | ```yaml
117 | https://www.codegrepper.com/api/get_answers_1.php?v=3&s=grepper 🟢
118 | ```
119 |
120 | ```yaml
121 | {
122 | "answers": [{}],
123 | "products": [],
124 | "language_guess": "whatever",
125 | "more_answers": [],
126 | }
127 | ```
128 |
129 | Returns answers for a specific search. Uses the `q` & `search_options` parameters(`?q=grepper&search_options=search_titles`).
130 |
131 | ```yaml
132 | https://www.codegrepper.com/api/search.php 🟢
133 | ```
134 |
135 | ## [Users][mainpage]
136 |
137 | Shows how many people did the user helped & and the ammount of problems solved and developers helped.
138 |
139 | ```yaml
140 | https://www.codegrepper.com/api/profile_helped_stats.php?id=98467 🟢
141 | ```
142 |
143 | ```yaml
144 | { "developers_helped": "75294", "hits": "109101" }
145 | ```
146 |
147 | Returns JSON data for a user's profile. Like `profile_image`, `fun_name`, `real_name`, `donate_link` etc.
148 |
149 | ```yaml
150 | https://www.codegrepper.com/api/profile.php?id=98467 🟢
151 | ```
152 |
153 | ```yaml
154 | {
155 | "profile_image": "98467_hKuVkwhdUxieQAfc5lVurPuwSPTQFiVSnWEIS8l4gecLZdSa0g3vba4.gif",
156 | "fun_name": "Undefined",
157 | "real_name": "Jareer",
158 | "twitter_name": "",
159 | "donate_link": "https://jareer.xyz/donate",
160 | "how_to_help": "My Grepper Experience has been really POG, looking forward to collaborate. Rigby#6654(discord)",
161 | "location": "Mars",
162 | "is_rank_private": 0,
163 | "is_activity_private": 1,
164 | "is_expertise_private": 0,
165 | "is_daily_activity_private": 1,
166 | "enable_coding_activity": 1,
167 | }
168 | ```
169 |
170 | Here is the user activity API, this api is ussed to make the Codegrepper heatmap chart(contribution board).
171 |
172 | ```yaml
173 | https://www.codegrepper.com/api/get_user_activity_stats.php?user_id=98467 🟢
174 | ```
175 |
176 | ```yaml
177 | {
178 | "a": [{ "ymd": "2021-01-01" }],
179 | "s": [["whatever", 86, "Whatever"]],
180 | "f": [["Unity", 116, "unity"]],
181 | }
182 | ```
183 |
184 | This API shows what Programming language(s) does the user use, returns an array in JSON. The Data includes `SucessCode`, `Name` etc.
185 |
186 | ```yaml
187 | https://www.codegrepper.com/api/get_user_code_languages.php 🟢
188 | ```
189 |
190 | ```yaml
191 | {
192 | "success": true,
193 | "ucl": [{ "lkey": "String", "name": "String", "enabled": 0 }],
194 | }
195 | ```
196 |
197 | Returns user's belt stats, this data includes Previous Belt, Next Belt & current belt percentage.
198 |
199 | ```yaml
200 | https://www.codegrepper.com/api/get_user_stats.php?uid=98467 🟢
201 | ```
202 |
203 | ```yaml
204 | {
205 | "coding_belt": ["String", 0.000, "String"],
206 | "is_rank_private": "0",
207 | "success": true,
208 | }
209 | ```
210 |
211 | Shows user's feed, requires auth
212 |
213 | ```yaml
214 | https://www.codegrepper.com/api/get_my_feed.php 🟢
215 | ```
216 |
217 | ```yaml
218 | {
219 | "activity":
220 | [
221 | {
222 | "feed_type": "recent_answer",
223 | "answer_created_at": "2021-10-01 04:52:16",
224 | "answer": "int a = 80;\nint b = 20;\nint addition(int number1, int number2)\n{\n\tint result = number1 + number2;\n\treturn result;\n}\nConsole.WriteLine(addition( a, b));",
225 | "user_id": "262702",
226 | "id": 333666,
227 | "answer_title": "function in c# to do addition",
228 | "fun_name": "Empire of programmers ",
229 | "profile_slug": "vishnu",
230 | "profile_image": "262702_IeIHn2AeTy0QlU1cf7V8LWlIMouvwH0PjZA4UVKk5gw8mw952eozbZN.gif",
231 | "answer_user_id": 262702,
232 | },
233 | ],
234 | }
235 | ```
236 |
237 | Shows all the users on the community page, requires auth. This data includes `UserId`, `Username`, `BeltScore`, `BeltRank` etc.
238 |
239 | ```yaml
240 | https://www.codegrepper.com/api/get_belt_users.php?offset=0&limit=500 🟢
241 | ```
242 |
243 | ```yaml
244 | {
245 | "users":
246 | [
247 | {
248 | "user_id": 0,
249 | "fun_name": "String",
250 | "is_rank_private": 0,
251 | "belt_score": 0,
252 | "profile_slug": "String",
253 | "profile_image": "String",
254 | "belt_rank": "String",
255 | },
256 | ],
257 | }
258 | ```
259 |
260 | This API is used to follow a user, you must be authenticated to do this. This API returns either `1` or `0`.
261 |
262 | ```yaml
263 | https://www.codegrepper.com/api/follow.php?follow_user_id=98467&follow=1 🟢
264 | ```
265 |
266 | ```yaml
267 | 1
268 | ```
269 |
270 | ## [Teams][mainpage]
271 |
272 | This API is used to join a team.
273 |
274 | ```yaml
275 | https://www.codegrepper.com/api/join_team.php 🔴
276 | ```
277 |
278 | ```yaml
279 | { team_member_id: 0000 }
280 | ```
281 |
282 | This API adds users to your team.
283 |
284 | ```yaml
285 | https://www.codegrepper.com/api/add_team_members.php 🔴
286 | ```
287 |
288 | An auto completor for the team search users. This API can be used to get user's ID by their username.
289 |
290 | ```yaml
291 | https://www.codegrepper.com/api/autocomplete_users_search.php?team_id=1&q=Jareer 🟢
292 | ```
293 |
294 | ```yaml
295 | [
296 | {
297 | "is_team_member": null,
298 | "fun_name": "Undefined",
299 | "id": 98467,
300 | "real_name": "Jareer",
301 | "profile_image": "98467_hKuVkwhdUxieQAfc5lVurPuwSPTQFiVSnWEIS8l4gecLZdSa0g3vba4.gif",
302 | },
303 | ]
304 | ```
305 |
306 | Shows all the Team answers, you need to be authenticated & in the team to retreive proper data.
307 |
308 | ```yaml
309 | https://www.codegrepper.com/api/get_team_answers.php?&offset=0&sort_by=id_desc&team_id=348 🟢
310 | ```
311 |
312 | ```yaml
313 | {
314 | "answers":
315 | [
316 | {
317 | "answer_user_id": "String",
318 | "is_others_answer": 0,
319 | "search_answer_user_id": 0,
320 | "fun_name": "String",
321 | "i_upvoted": "String",
322 | "upvotes": "String",
323 | "downvotes": "String",
324 | "score": "String",
325 | "total_answer_hits": 19,
326 | "term": "Question",
327 | "created_at": "String",
328 | "bounty": null,
329 | "answer": "String",
330 | "language": "String",
331 | "bounty_approved": null,
332 | "id": 0,
333 | },
334 | ],
335 | "total_count": 88,
336 | }
337 | ```
338 |
339 | ## [Settings][mainpage]
340 |
341 | The update privacy API is used to update your privacy settings, you can either set it to `true` or `false`, 0 means false 1 means true.
342 |
343 | ```yaml
344 | https://www.codegrepper.com/api/update_extension_privacy.php 🔴
345 | ```
346 |
347 | Updates your **[My programming language][settings]** settings.
348 |
349 | ```yaml
350 | https://www.codegrepper.com/api/update_my_code_languages.php?l=whatever&enabled=1 🟢
351 | ```
352 |
353 | Updates your **[Notifications][settings]** settings.
354 |
355 | ```yaml
356 | https://www.codegrepper.com/api/update_notification_settings.php 🔴
357 | ```
358 |
359 | ```json
360 | {
361 | "update_name": "notify_on_comments",
362 | "update_value": 1 // 0 for disable
363 | }
364 | ```
365 |
366 | ## [Other][mainpage]
367 |
368 | API used while logging in.
369 |
370 | ```yaml
371 | https://www.codegrepper.com/api/login.php 🔴
372 | ```
373 |
374 | ```yaml
375 | {
376 | "chrome_grepper_id": "",
377 | "user_id": "",
378 | "email": "Jareer@gmail.com",
379 | "password": "adwsawdsa",
380 | }
381 | ```
382 |
383 | API to register users.
384 |
385 | ```yaml
386 | https://www.codegrepper.com/api/register.php 🔴
387 | ```
388 |
389 | ```yaml
390 | {
391 | "chrome_grepper_id": "",
392 | "user_id": "",
393 | "email": "Jareer@gmail.com",
394 | "password": "adwsawdsa",
395 | }
396 | ```
397 |
398 | API used to log users out
399 |
400 | ```yaml
401 | https://www.codegrepper.com/api/logout.php 🟢
402 | ```
403 |
404 | The reset password API.
405 |
406 | ```yaml
407 | https://www.codegrepper.com/api/reset_password.php 🔴
408 | ```
409 |
410 | ```yaml
411 | { "chrome_grepper_id": "", "user_id": "", "email": "Jareer@gmail.com" }
412 | ```
413 |
414 | The feedback api, used to send feedback to the Code grepper devs.
415 |
416 | ```yaml
417 | https://www.codegrepper.com/api/send_feedback.php 🔴
418 | ```
419 |
420 | Get who to follow, something that the algorithm mines from the database. Basically follow recommendation.
421 |
422 | ```yaml
423 | https://www.codegrepper.com/api/get_who_to_follow.php 🟢
424 | ```
425 |
426 | ```yaml
427 | {
428 | "users":
429 | [
430 | {
431 | "fun_name": "The Frenchy",
432 | "belt_score": 197824,
433 | "profile_slug": "al",
434 | "is_rank_private": 0,
435 | "user_id": 113653,
436 | "profile_image": null,
437 | "belt_rank": "blue",
438 | },
439 | ],
440 | }
441 | ```
442 |
443 | Shows top profile answers.
444 |
445 | ```yaml
446 | https://www.codegrepper.com/api/profile_top_answers.php?id=98467 🟢
447 | ```
448 |
449 | ```yaml
450 | {
451 | "top_answers":
452 | [
453 | {
454 | "id": 196274,
455 | "answer": "",
456 | "created_at": "2021-02-09 21:36:30",
457 | "total_results": 53,
458 | "search_term": "server info discord.js",
459 | "score": "5.1138000",
460 | "downvotes": 0,
461 | "upvotes": 5,
462 | },
463 | ],
464 | }
465 | ```
466 |
467 | An Auto-completor for the [**Search**](https://www.codegrepper.com/search.php) page.
468 |
469 | ```yaml
470 | https://www.codegrepper.com/api/search_autocomplete.php?q=js 🟢
471 | ```
472 |
473 | Just a random route used as a CDN returns Images, these images are used in the meta tags of the search page.
474 |
475 | ```yaml
476 | https://www.codegrepper.com/codeimages/for-loop-javascript.png 🟢
477 | ```
478 |
479 | This API shows all the users answer stats.
480 |
481 | ```yaml
482 | https://www.codegrepper.com/api/get_user_answer_stats.php?statstype=views&answer_id=null&daterange=null 🟢
483 | ```
484 |
485 | ```yaml
486 | {
487 | "views":
488 | [{ "created_at": "2020-10-15", "views": 0, "copies": 0, "upvotes": 0 }],
489 | }
490 | ```
491 |
492 | ## Dealing with Authorization(s)
493 |
494 | Every user on Code Grepper has a unique `PHPSSESID` which is used to authenticate users. Follow the steps below To retrieve this token.
495 |
496 | ### Usage
497 |
498 | - > Open Application from DevConsoles
499 | - > Open Cookies
500 | - > Copy The `PHPSESSID`
501 | - > The auth can then be used with POST request like `PHPSESSID=${Cookie}`
502 |
503 | ```js
504 | fetch(`https://www.codegrepper.com/`, {
505 | method: "POST",
506 | headers: {
507 | "Content-Type": "application/json",
508 | cookie: `PHPSESSID=${Cookie}`,
509 | },
510 | body: JSON.stringify({
511 | Data: "Payload",
512 | }),
513 | })
514 | .then((res) => res.json())
515 | .then((data) => {
516 | try {
517 | console.log(data);
518 | } catch {
519 | console.log(`No Data Returned`);
520 | }
521 | })
522 | .catch((err) => console.log(err));
523 | ```
524 |
525 | ### Token Authorization
526 |
527 | There is a token-based authorization that I just found out about
528 |
529 | ```js
530 | fetch(`https://www.codegrepper.com/api/account.php`, {
531 | headers: {
532 | "Content-Type": "application/json",
533 | "x-auth-token": token, // Secret token, get it from localStorage. Or use https://www.npmjs.com/package/grepper for node.js
534 | "x-auth-id": userId, // 98467
535 | },
536 | })
537 | .then((response) => {
538 | return response.text();
539 | })
540 | .then((myJson) => {
541 | try {
542 | Data = JSON.parse(myJson);
543 | console.log(Data);
544 | if (Data) {
545 | } else {
546 | console.log(`No Data Fetched`);
547 | }
548 | } catch {
549 | console.log(`No Data Fetched`);
550 | }
551 | })
552 | .catch((err) => {
553 | return {
554 | Success: false,
555 | Message: err,
556 | };
557 | });
558 | ```
559 |
560 | [mainpage]: https://jubot.site/
561 | [taylorprofile]: https://github.com/TaylorHawkes
562 | [profile]: https://www.codegrepper.com/app/profile.php?id=98467
563 | [settings]: https://www.codegrepper.com/app/settings-code-languages.php
564 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # ⚡ **Code Grepper API Documentation**
2 |
3 |
4 |
5 | **NOTE:** You can find the older documentation [here](./old.md).
6 |
7 | [Code Grepper][cgurl] also known as Grepper is a platform to help developers solve technical problems. [Grepper][cgurl] is powered by an amazing community of 200k(and growing fast) developers. Developers within the community contribute answers to technical problems primarily through the [Grepper][cgurl] browser extension which allows a user to quickly add a “code snippet” as an answer to a problem they ran into and recently solved. At present the community has put in 318k answers, which together have been viewed over 62 million times.
8 |
9 | [cgurl]: https://codegrepper.com
10 |
11 | ## **Table Of Contents**
12 |
13 | - [NPM Package](https://www.npmjs.com/package/grepper)
14 | - [Users](./docs/users/)
15 | - [Get User](./docs/users/GETUSER.MD)
16 | - [Get User Belt](./docs/users/GETUSERBELT.MD)
17 | - [Get User Stats](./docs/users/GETUSERSTATS.MD)
18 | - [Get My Info](./docs/users/USERBYTOKEN.MD)
19 | - [Search Users](./docs/users/SEARCHUSERS.MD)
20 | - [Get Who To Follow](./docs/users/WHOTOFOLLOW.md)
21 | - [Answers](./docs/answers)
22 | - [Get Answers](./docs/answers/GETANSWERS.MD)
23 | - [Get Comments](./docs/answers/GETCOMMENTS.MD)
24 | - [Search Answers](./docs/answers/SEARCHANSWER.MD)
25 | - [Needed Answers](./docs/answers/NEEDEDANSWERS.MD)
26 | - [Publish Answer](./docs/answers/PUBLISHANSWER.MD)
27 | - [Similiar Queries](./docs/answers/SIMILIARQUERIES.MD)
28 | - [Teams](./docs/teams)
29 | - [Invite User](./docs/teams/INVITEUSER.MD)
30 | - [Team Answers](./docs/teams/TEAMANSWERS.MD)
31 | - [Auth](./docs/auth)
32 | - [Login](./docs/auth/LOGIN.MD)
33 | - [Register](./docs/auth/REGISTER.MD)
34 | - [Reset Password](./docs/auth/RESETPASSWORD.MD)
35 | - [Logout](./docs/auth/LOGOUT.MD)
36 | - [Access Token](./docs/auth/TOKEN.MD)
37 | - [Vulnerabilities](./docs/vulnerabilities)
38 | - [Logout On Click](./docs/vulnerabilities/LOGOUT.MD)
39 | - [Other](./docs/other)
40 | - [Feedback](./docs/other/FEEDBACK.MD)
41 | - [Leaderboard](./docs/other/LEADERBOARD.MD)
42 |
43 | ## Authorization
44 |
45 | | Icon | Description |
46 | | ---- | ---------------------------------------------------------------------------------------------- |
47 | | ✅ | No authorization required. |
48 | | 🔒 | This API endpoint requires [Authorization](./docs/auth/TOKEN.MD). |
49 | | 🔓 | Partially requires [Authorization](./docs/auth/TOKEN.MD). Different output when auth provided. |
50 |
51 | ## Developer Note
52 |
53 | If you find any outdated, missing, or inaccurate content on this repository and would like to alter it, you can open an [Issue](https://github.com/jareer12/Code-Grepper-API-Documentation/issues) or send a [Pull Request](https://github.com/jareer12/Code-Grepper-API-Documentation/pulls). Typos, grammatical mistakes, etc are also expected to be corrected.
54 |
--------------------------------------------------------------------------------