MENU navbar-image

Introduction

Here is a list of APIs used for integration to other Apps, for more information please see Documentation

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by contacting the support of qiroah.com

Account

Authentication

Get Access Token via GoogleSignIn

This endpoint allows you to get the token for user access to the authenticated endpoints using GoogleSignIn.

Example request:
curl --request POST \
    "https://api.qiroah.com/api/auth/google" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id_token\": null
}"
const url = new URL(
    "https://api.qiroah.com/api/auth/google"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id_token": null
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Success):


{
     "status": 200,
     "error": false,
     "data": {
         "access_token": string,
         "token_type": string,
         "expires_at": int,
         "email": string,
         "is_profile_complete": boolean,
     }
}
 

Example response (400, idToken is not verified):


{
    "status": 400,
    "message": "idToken is not verified",
    "error": true
}
 

Example response (403, Account user not found):


{
    "status": 403,
    "message": "Account user not found",
    "error": true
}
 

Example response (500, Internal Server Error):


{
    "status": 500,
    "message": "Internal Server Error",
    "error": true
}
 

Request      

POST api/auth/google

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Must be valid JWT GoogleID

Register via Form

This endpoint allows you to create user account via Registration Form.

Example request:
curl --request POST \
    "https://api.qiroah.com/api/auth/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": null,
    \"name\": null,
    \"gender\": null,
    \"whatsapp\": 63
}"
const url = new URL(
    "https://api.qiroah.com/api/auth/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": null,
    "name": null,
    "gender": null,
    "whatsapp": 63
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201, Created):


{
    "status": 201,
    "error": false
}
 

Example response (403, Email already registered):


{
    "status": 403,
    "message": "Email already registered",
    "error": true
}
 

Example response (500, Internal Server Error):


{
    "status": 500,
    "message": "Internal Server Error",
    "error": true
}
 

Request      

POST api/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address and not be greater than 100 characters.

name   string   

Must not be greater than 50 characters.

gender   string   

Must be one of Laki - Laki or Perempuan.

whatsapp   number   

Must be at least 10. Example: 63

Revoke The Access Token

requires authentication

This endpoint allows you to revoke the token.

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/auth/logout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/auth/logout"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "status": 200,
    "error": false
}
 

Example response (401, Unauthorized):


{
    "status": 401,
    "message": "Unauthorized",
    "error": true
}
 

Request      

GET api/auth/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Profile

Get Profile User by ID

requires authentication

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/users" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/users"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id": int,
             "name": string,
             "avatar": string
         }
     ]
}
 

Example response (401, Unauthenticated):


{
    "status": 401,
    "message": "Unauthorized",
    "error": true
}
 

Example response (404, Not Found):


{
    "status": 401,
    "message": "Not Found",
    "error": true
}
 

Request      

GET api/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Update Profile User

requires authentication

Example request:
curl --request PUT \
    "https://api.qiroah.com/api/users" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/users"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": [],
    "status": 200,
    "message": "Success",
    "error": false
}
 

Example response (401, Unauthenticated):


{
    "data": [],
    "status": 401,
    "message": "Unauthorized",
    "error": true
}
 

Example response (404, Not Found):


{
    "data": [],
    "status": 401,
    "message": "Not Found",
    "error": true
}
 

Request      

PUT api/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Lesson

Get list of Feedback

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/feedbacks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/feedbacks"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_feedback": string,
             "deskripsi": string,
             "daftar_pertanyaan": [
                 {
                     "id_pertanyaan": string,
                     "id_feedback": string,
                     "id_kategori": string,
                     "id_content": string,
                     "pertanyaan": string,
                     "audio_ustadz": string,
                     "image_soal": string,
                     "true_sound_label": string,
                     "daftar_content": [
                         {
                             "id_content": string,
                             "nama_content": string,
                             "deskripsi": string,
                             "image": string,
                             "video": string,
                             "rekap": string,
                             "intro_text": string,
                         }
                     ],
                 }
             ]
         }
     ]
}
 

Request      

GET api/feedbacks

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get list of Pertanyaan

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/pertanyaans?id_content=17" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/pertanyaans"
);

const params = {
    "id_content": "17",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_pertanyaan": string,
             "id_feedback": string,
             "id_kategori": string,
             "id_content": string,
             "pertanyaan": string,
             "audio_ustadz": string,
             "image_soal": string,
             "true_sound_label": string,
             "daftar_feedbacks": [
                 {
                     "id_feedback": string,
                     "deskripsi": string
                 }
             ],
             "daftar_contents": [
                 {
                     "id_content": string,
                     "nama_content": string,
                     "deskripsi": string,
                     "image": string,
                     "video": string,
                     "rekap": string,
                     "intro_text": string,
                 }
             ],
             "daftar_hurufs": [
                 {
                     "id_huruf": string,
                     "huruf": string,
                     "daftar_sifat": [
                         {
                             "id_sifatul_huruf": string,
                             "nama_sifat": string,
                             "deskripsi": int
                         }
                     ]
                 }
             ]
         }
     ]
}
 

Request      

GET api/pertanyaans

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

id_content   integer  optional  

Example: 17

Get list of Huruf

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/hurufs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/hurufs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_huruf": string,
             "huruf": string,
             "daftar_sifat": [
                 {
                     "id_sifatul_huruf": string,
                     "nama_sifat": string,
                     "deskripsi": int
                 }
             ]
         }
     ]
}
 

Request      

GET api/hurufs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get list of Kategori

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/kategoris" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/kategoris"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_kategori": string,
             "nama_kategori": string,
             "deskripsi": string,
             "image": string,
             "deskripsi_panjang": string,
             "daftar_subkategori": [
                 {
                     "id_subkategori": string,
                     "id_kategori": string,
                     "bagian_mulut": string,
                     "daftar_content": [
                         {
                             "id_content": string,
                             "nama_content": string,
                             "deskripsi": string,
                             "image": string,
                             "video": string,
                             "rekap": string,
                             "intro_text": string
                         }
                     ]
                 }
             ]
         }
     ]
}
 

Request      

GET api/kategoris

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get list of Sub Kategori

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/kategoris/sub?id_kategori=16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/kategoris/sub"
);

const params = {
    "id_kategori": "16",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "data": [
         {
             "id_subkategori": string,
             "id_kategori": string,
             "bagian_mulut": string,
             "daftar_content": [
                 {
                     "id_content": string,
                     "nama_content": string,
                     "deskripsi": string,
                     "image": string,
                     "video": string,
                     "rekap": string,
                     "intro_text": string
                 }
             ]
         }
     ],
     "status": 200,
     "error": false
}
 

Request      

GET api/kategoris/sub

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

id_kategori   integer  optional  

Example: 16

Talaqqi

Get list of Lembaga

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/lembagas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/lembagas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_lembaga": string,
             "info": string,
             "nama_lembaga": string,
             "alamat": string,
             "latitude": string,
             "longitude": string,
             "nomor_telepon": string,
             "deskripsi": string,
             "instagram": string,
             "email": string,
             "web": string
         }
     ]
}
 

Request      

GET api/lembagas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get list of Teacher

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/pengajars" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/pengajars"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "data": [
         {
             "id_teacher": int,
             "id_user": int,
             "nama_pengajar": string,
             "info": string,
             "domisili": string,
             "instagram": string,
             "nomor_telepon": string,
             "profesi": string,
             "latitude": string,
             "longitude": string,
             "sertifikats": [
                 {
                     "id_sertifikasipengajar": string,
                     "id_pengajar": string,
                     "sertifikasi": string,
                     "sumber": string
                 }
             ],
             "pengalamans": [
                 {
                     "id_pengalamanpengajar": string,
                     "id_pengajar": string,
                     "pengalaman": string,
                     "tahun": string,
                     "pengalaman_preview": string
                 }
             ],
             "levels": [
                 {
                     "id_level": int,
                     "level": string,
                     "description": string,
                     "s_active": string
                 }
             ],
             "days": [
                 {
                     "id_day": int,
                     "day": string,
                     "times": [
                         {
                             "id_time": int,
                             "time": string,
                             "students": [
                                 {
                                     "id_student": int,
                                     "id_user": int,
                                     "name": string,
                                     "whatsapp": string,
                                     "gender": string
                                 }
                             ]
                         }
                     ]
                 }
             ]
         }
     ],
     "status": 200,
     "error": false
}
 

Request      

GET api/pengajars

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get list of Teacher

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/teachers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/teachers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "data": [
         {
             "id_teacher": int,
             "id_user": int,
             "nama_pengajar": string,
             "info": string,
             "domisili": string,
             "instagram": string,
             "nomor_telepon": string,
             "profesi": string,
             "latitude": string,
             "longitude": string,
             "sertifikats": [
                 {
                     "id_sertifikasipengajar": string,
                     "id_pengajar": string,
                     "sertifikasi": string,
                     "sumber": string
                 }
             ],
             "pengalamans": [
                 {
                     "id_pengalamanpengajar": string,
                     "id_pengajar": string,
                     "pengalaman": string,
                     "tahun": string,
                     "pengalaman_preview": string
                 }
             ],
             "levels": [
                 {
                     "id_level": int,
                     "level": string,
                     "description": string,
                     "s_active": string
                 }
             ],
             "days": [
                 {
                     "id_day": int,
                     "day": string,
                     "times": [
                         {
                             "id_time": int,
                             "time": string,
                             "students": [
                                 {
                                     "id_student": int,
                                     "id_user": int,
                                     "name": string,
                                     "whatsapp": string,
                                     "gender": string
                                 }
                             ]
                         }
                     ]
                 }
             ]
         }
     ],
     "status": 200,
     "error": false
}
 

Request      

GET api/teachers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get Teacher by ID

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/teachers/tenetur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/teachers/tenetur"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "data": [
         {
             "id_teacher": int,
             "id_user": int,
             "nama_pengajar": string,
             "info": string,
             "domisili": string,
             "instagram": string,
             "nomor_telepon": string,
             "profesi": string,
             "latitude": string,
             "longitude": string,
             "sertifikats": [
                 {
                     "id_sertifikasipengajar": string,
                     "id_pengajar": string,
                     "sertifikasi": string,
                     "sumber": string
                 }
             ],
             "pengalamans": [
                 {
                     "id_pengalamanpengajar": string,
                     "id_pengajar": string,
                     "pengalaman": string,
                     "tahun": string,
                     "pengalaman_preview": string
                 }
             ],
             "levels": [
                 {
                     "id_level": int,
                     "level": string,
                     "description": string,
                     "s_active": string
                 }
             ],
             "days": [
                 {
                     "id_day": int,
                     "day": string,
                     "times": [
                         {
                             "id_time": int,
                             "time": string,
                             "students": [
                                 {
                                     "id_student": int,
                                     "id_user": int,
                                     "name": string,
                                     "whatsapp": string,
                                     "gender": string
                                 }
                             ]
                         }
                     ]
                 }
             ]
         }
     ],
     "status": 200,
     "message": "Success",
     "error": false
}
 

Request      

GET api/teachers/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the teacher. Example: tenetur

Placement Test

Get Placement Test

requires authentication

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/placement-test" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/placement-test"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_placement_test": int,
             "id_reviewer": int,
             "id_student": int,
             "test_schedule_at": string,
             "actual_tested_at": string,
             "level_result": int,
             "notes": string,
             "expired_date_at": string,
             "s_progress": int,
             "id_user": int,
             "name": string,
             "whatsapp": string,
             "gender": string,
             "link_catatan": string
         }
     ]
}
 

Request      

GET api/placement-test

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Register Placement Test

requires authentication

Example request:
curl --request POST \
    "https://api.qiroah.com/api/placement-test/register" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/placement-test/register"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_placement_test": int,
             "id_reviewer": int,
             "id_student": int,
             "test_schedule_at": string,
             "actual_tested_at": string,
             "level_result": int,
             "notes": string,
             "expired_date_at": string,
             "s_progress": int,
             "id_user": int,
             "name": string,
             "whatsapp": string,
             "gender": string,
             "link_catatan": string
         }
     ]
}
 

Request      

POST api/placement-test/register

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Package

Get list of Package

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/packages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/packages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_package": int,
             "name": string,
             "description": string,
             "price": string,
             "duration": float,
             "duration_in": float,
             "recurred_of_meeting": string,
             "level": string,
             "bill_type": string,
             "recurred_of_meeting_label": string
         }
     ]
}
 

Request      

GET api/packages

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get Package by ID

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/packages/at" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/packages/at"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_package": int,
             "name": string,
             "description": string,
             "price": string,
             "duration": float,
             "duration_in": float,
             "recurred_of_meeting": string,
             "level": string,
             "bill_type": string,
             "recurred_of_meeting_label": string
         }
     ]
}
 

Request      

GET api/packages/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the package. Example: at

GET api/set-schedules

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/set-schedules" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/set-schedules"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
    "line": 78,
    "trace": [
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 163,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 35,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/symfony/console/Command/Command.php",
            "line": 298,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 120,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/symfony/console/Application.php",
            "line": 1040,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/symfony/console/Application.php",
            "line": 301,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/symfony/console/Application.php",
            "line": 171,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/home/u136005164/domains/qiroah.com/public_html/prod/api/qiroah.com/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/set-schedules

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Program

Get list of Program

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/programs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/programs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_program": int,
             "program_name": string,
             "url_register": string,
             "short_description": string,
             "description_html": string,
             "s_active": int,
             "program_type": string,
             "s_progress": int
         }
     ]
}
 

Request      

GET api/programs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get Program by ID

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/programs/ab" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/programs/ab"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "data": [
         {
             "id_program": int,
             "program_name": string,
             "url_register": string,
             "short_description": string,
             "description_html": string,
             "s_active": int,
             "program_type": string,
             "s_progress": int
         }
     ],
     "status": 200,
     "message": "Success",
     "error": false
}
 

Request      

GET api/programs/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the program. Example: ab

Teacher Slot Time

Get List of Teacher Slot Time

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/teachers/slot-time" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/teachers/slot-time"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_teacher": int,
             "id_user": int,
             "nama_pengajar": string,
             "info": string,
             "domisili": string,
             "instagram": string,
             "nomor_telepon": string,
             "profesi": string,
             "latitude": string,
             "longitude": string,
             "levels": [
                 {
                     "id_level": int,
                     "level": string,
                     "description": string,
                     "s_active": string
                 }
             ],
             "days": [
                 {
                     "id_day": int,
                     "day": string,
                     "times": [
                         {
                             "id_time": int,
                             "time": string,
                             "students": [
                                 {
                                     "id_student": int,
                                     "id_user": int,
                                     "name": string,
                                     "whatsapp": string,
                                     "gender": string
                                 }
                             ]
                         }
                     ]
                 }
             ]
         }
     ]
}
 

Request      

GET api/teachers/slot-time

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get Teacher Slot Time by ID

Example request:
curl --request GET \
    --get "https://api.qiroah.com/api/teachers/illo/slot-time" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.qiroah.com/api/teachers/illo/slot-time"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
     "status": 200,
     "error": false,
     "data": [
         {
             "id_teacher": int,
             "id_user": int,
             "nama_pengajar": string,
             "info": string,
             "domisili": string,
             "instagram": string,
             "nomor_telepon": string,
             "profesi": string,
             "latitude": string,
             "longitude": string,
             "levels": [
                 {
                     "id_level": int,
                     "level": string,
                     "description": string,
                     "s_active": string
                 }
             ],
             "days": [
                 {
                     "id_day": int,
                     "day": string,
                     "times": [
                         {
                             "id_time": int,
                             "time": string,
                             "students": [
                                 {
                                     "id_student": int,
                                     "id_user": int,
                                     "name": string,
                                     "whatsapp": string,
                                     "gender": string
                                 }
                             ]
                         }
                     ]
                 }
             ]
         }
     ]
}
 

Request      

GET api/teachers/{id}/slot-time

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the teacher. Example: illo