# Creating the API documentation for ScholarX platform

**URL:** <https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159>\
**Category:** ScholarX\
**Created:** [August 10, 2020, 11:14am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159 "2020-08-10T11:14:47Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![anjisvj](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/anjisvj/32/9_2.png) [@anjisvj](https://sef.discourse.group/u/anjisvj)\
**Post date:** [August 10, 2020, 11:14am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/1 "2020-08-10T11:14:47Z")

</div>

The requirement of this ScholarX API documentation is to describe in detail what each call in our API does, each parameter, and all of their possible values, including their types so that I’ll help for frontend and backend developers know how to work with the APIs and how to get started.

This document will be delivered by 2020-08-15T18:30:00Z.

---

<div class="post-metadata">

**Author:** ![jaye](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/jaye/32/810_2.png) [@jaye](https://sef.discourse.group/u/jaye)\
**Post date:** [August 10, 2020, 12:34pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/2 "2020-08-10T12:34:20Z")

</div>

Hi @anjisvj!  
Thanks for creating the thread. Could you please edit it with describing the requirement, deliverables, and the key deadlines?

---

<div class="post-metadata">

**Author:** ![anjisvj](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/anjisvj/32/9_2.png) [@anjisvj](https://sef.discourse.group/u/anjisvj)\
**Post date:** [August 11, 2020, 3:18am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/3 "2020-08-11T03:18:24Z")

</div>

Hi @jaye ! sure I will edit this.

---

<div class="post-metadata">

**Author:** ![anjisvj](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/anjisvj/32/9_2.png) [@anjisvj](https://sef.discourse.group/u/anjisvj)\
**Post date:** [August 12, 2020, 3:24am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/4 "2020-08-12T03:24:35Z")

</div>

As we discussed yesterday with @Gravewalker @jaye @piumal1999 @Gimhan_minion . We decided to use Postman API documentation feature for our purpose and we started creating draft endpoints according to the roles of the users.  
This is the [doc](https://docs.google.com/document/d/1R2i06rp3wjQ09Ake2d_hNNcwAyuNRUztomr4atgWnxo/edit?usp=sharing) for APIs and this is the current version of the [postman documentation](https://documenter.getpostman.com/view/8545501/T1LLFTrx?version=latest#fb1b8d29-7bc2-4f0b-9900-be8033bc1717).

---

<div class="post-metadata">

**Author:** ![jaye](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/jaye/32/810_2.png) [@jaye](https://sef.discourse.group/u/jaye)\
**Post date:** [August 12, 2020, 1:01pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/5 "2020-08-12T13:01:58Z")

</div>

This is impressive @anjisvj! 😍 Thanks for getting this done!! 🤗

@YohanAvishke @shyamal@Gravewalker @piumal1999 could you please review it?

---

<div class="post-metadata">

**Author:** ![shyamal](https://avatars.discourse-cdn.com/v4/letter/s/dbc845/32.png) [@shyamal](https://sef.discourse.group/u/shyamal)\
**Post date:** [August 12, 2020, 4:43pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/6 "2020-08-12T16:43:36Z")

</div>

Thanks guys. all good except below two points

1. admin APIs.

you would’t need to separate them as /admin/

instead gateway service should intercept the request and for certain APIs (configured to authenticated) should use auth/bearer token comes with the request (to query auth service to check ) authorization to the given action/resource path.

1. use [https://en.wikipedia.org/wiki/HATEOAS](https://en.wikipedia.org/wiki/HATEOAS) schemas to build powerful restful apis.

happy coding.!

---

<div class="post-metadata">

**Author:** ![YohanAvishke](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/yohanavishke/32/106_2.png) [@YohanAvishke](https://sef.discourse.group/u/YohanAvishke)\
**Post date:** [August 15, 2020, 10:30pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/7 "2020-08-15T22:30:39Z")

</div>

Hi @shyamal thanks a lot for the awesome suggestion 😍 Shall we have a call to clarify this,

_Poll ([view on site](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/7))_

@shyamal, @jaye or anyone else who want to join, please let me know if you are busy with all of the above options.

---

<div class="post-metadata">

**Author:** ![shyamal](https://avatars.discourse-cdn.com/v4/letter/s/dbc845/32.png) [@shyamal](https://sef.discourse.group/u/shyamal)\
**Post date:** [August 16, 2020, 4:19am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/8 "2020-08-16T04:19:13Z")

</div>

Thanks @YohanAvishke voted for few options

---

<div class="post-metadata">

**Author:** ![YohanAvishke](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/yohanavishke/32/106_2.png) [@YohanAvishke](https://sef.discourse.group/u/YohanAvishke)\
**Post date:** [August 17, 2020, 1:54am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/9 "2020-08-17T01:54:42Z")

</div>

Thanks all for voting. Let’s have the meeting 2020-08-18T13:30:00Z.  
If anyone else want to join :

> **[Meet](https://meet.google.com/unsupported?meetingCode=ybv-hnsp-wao&ref=https:%2F%2Fmeet.google.com%2Fybv-hnsp-wao)**
>
> Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

---

<div class="post-metadata">

**Author:** ![akshika47](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/akshika47/32/993_2.png) [@akshika47](https://sef.discourse.group/u/akshika47)\
**Post date:** [August 20, 2020, 9:45pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/10 "2020-08-20T21:45:46Z")

</div>

Playing the devil’s advocate: Have we looked at GraphQL?

---

<div class="post-metadata">

**Author:** ![jaye](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/jaye/32/810_2.png) [@jaye](https://sef.discourse.group/u/jaye)\
**Post date:** [August 27, 2020, 4:13am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/11 "2020-08-27T04:13:27Z")

</div>

Herd it for the first time! That seems interesting!! 😍 Thanks @akshika47!

btw, @YohanAvishke @piumal1999 How’s the progress of API development and choosing a gateway?

---

<div class="post-metadata">

**Author:** ![YohanAvishke](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/yohanavishke/32/106_2.png) [@YohanAvishke](https://sef.discourse.group/u/YohanAvishke)\
**Post date:** [August 27, 2020, 8:31am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/12 "2020-08-27T08:31:37Z")

</div>

Hi I was unavailable from since 24th.  
However I have updated the milestone with Admin APIs:

> **[sef-global/scholarx](https://github.com/sef-global/scholarx/milestone/2)**
>
> The backend of the ScholarX project. Contribute to sef-global/scholarx development by creating an account on GitHub.

  
@piumal1999 let me know of your availability I will assign some issues.

@anjisvj why are there 2 endpoints to `get programs`(Admin and Custom). Can we use the custom API for both cases?

Let’s have the follow up call tomorrow for the gateway discussion will create a poll for this.

---

<div class="post-metadata">

**Author:** ![YohanAvishke](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/yohanavishke/32/106_2.png) [@YohanAvishke](https://sef.discourse.group/u/YohanAvishke)\
**Post date:** [August 27, 2020, 8:39am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/13 "2020-08-27T08:39:08Z")

</div>

We need to discuss further the available solutions for the Gateway. And I will explain how the Spring boot OAuth handles tokens from other providers.  
@shyamal, @jaye, and others please vote for your availability.

_Poll ([view on site](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/13))_

---

<div class="post-metadata">

**Author:** ![piumal1999](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/piumal1999/32/274_2.png) [@piumal1999](https://sef.discourse.group/u/piumal1999)\
**Post date:** [August 27, 2020, 11:01am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/14 "2020-08-27T11:01:07Z")

</div>

> [@YohanAvishke](#):
>
> @piumal1999 let me know of your availability I will assign some issues.

Im available on the weekends. I can start working on the APIs. @YohanAvishke

---

<div class="post-metadata">

**Author:** ![YohanAvishke](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/yohanavishke/32/106_2.png) [@YohanAvishke](https://sef.discourse.group/u/YohanAvishke)\
**Post date:** [August 27, 2020, 7:12pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/15 "2020-08-27T19:12:58Z")

</div>

Thanks all for voting. Let’s have the meeting 2020-08-28T13:30:00Z.  
If anyone else wants to join :

> **[Meet](https://meet.google.com/unsupported?meetingCode=fwb-eqzk-daf&ref=https:%2F%2Fmeet.google.com%2Ffwb-eqzk-daf)**
>
> Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

---

<div class="post-metadata">

**Author:** ![jaye](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/jaye/32/810_2.png) [@jaye](https://sef.discourse.group/u/jaye)\
**Post date:** [August 28, 2020, 3:53am UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/16 "2020-08-28T03:53:22Z")

</div>

Hi, I will be not able to join at 7 pm because I have another call from 6:30 pm to 7:30 pm. I will try to join early as possible if I get a chance to leave from that call, but don’t wait for me. 🤗

---

<div class="post-metadata">

**Author:** ![piumal1999](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/piumal1999/32/274_2.png) [@piumal1999](https://sef.discourse.group/u/piumal1999)\
**Post date:** [September 15, 2020, 7:49pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/17 "2020-09-15T19:49:18Z")

</div>

> [@YohanAvishke](#):
>
> @anjisvj why are there 2 endpoints to `get programs` (Admin and Custom). Can we use the custom API for both cases?

Also there are two APIs to get mentors of a given program. Do those give the same output? Or do we have to filter according to the user?

---

<div class="post-metadata">

**Author:** ![miluckshan-j](https://avatars.discourse-cdn.com/v4/letter/m/e79b87/32.png) [@miluckshan-j](https://sef.discourse.group/u/miluckshan-j)\
**Post date:** [September 23, 2020, 7:23pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/18 "2020-09-23T19:23:41Z")

</div>

Hi, I checked the Postman API documentation and I’d like to clarify certain stuff. Hope to discuss in the call this week.

PS: Sorry for the late comment. Was busy with my thesis.

---

<div class="post-metadata">

**Author:** ![piumal1999](https://yyz2.discourse-cdn.com/free1/user_avatar/sef.discourse.group/piumal1999/32/274_2.png) [@piumal1999](https://sef.discourse.group/u/piumal1999)\
**Post date:** [September 25, 2020, 6:59pm UTC](https://sef.discourse.group/t/creating-the-api-documentation-for-scholarx-platform/159/19 "2020-09-25T18:59:45Z")

</div>

![IMG_20200926_002501](https://global.discourse-cdn.com/free1/uploads/sef/original/1X/19eecadbb248aa30fb3665ccf7168009fdf54b9f.jpeg)

In this endpoint, the user applies to join a program? or to apply for a mentor?  
Can users apply as mentees for a program without selecting a mentor?
