Overview

MangoSpot REST API is an application processing interface that connects a web server with a web browser, Helps accelerate application development and allows different applications to integrate with each other without the need to access the backend or database, Our API is designed to be very easy to use and accessible to everyone, regardless of the programming language or framework you use.

To use this API, you need an Website-Token and Website-Domain: https://client.mangospot.net
Please contact us at mangospot.net@gmail.com to get your own API key.

HTTP Headers

Header Type Description
Timezone String Asia/Jakarta
Content-Type String application/json
Website-Token String Your Token
Website-Domain String Your Domain

Identity

This endpoint is used to retrieve a list of all identity registered in the system.

GET /identity

Specific Identity

This endpoint is used to retrieve the specific identity registered in the system.

Type Url
List Maps GET /identity/maps
List Image GET /identity/images
List Cover GET /identity/image/cover
Icon GET /identity/image/icon
Logo GET /identity/image/logo
Theme GET /identity/theme

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "code": "MGS",
        "name": "MangoSpot",
        "title": "Management Radius Server & Software House Development",
        "website": "mangospot.net",
        "email": "mangospot.net@gmail.com",
        "phone": "6285642311781",
        ........
    }
}

Config

This endpoint is used to retrieve a list of all config registered in the system.

GET /config

Specific Config

This endpoint is used to retrieve the specific config registered in the system.

Type Url
Info GET /config/info
Other GET /config/other
Script GET /config/script
Setting GET /config/setting
Payment GET /config/payment

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "info": "",
        "other": "",
        "script": "",
        "setting": "",
        "payment": ""
    }
}

Email

This endpoint is used to retrieve a list of SMTP Email registered in the system.

GET /mail

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "host": "smtp.gmail.com",
        "name": "MangoSpot",
        "port": "587",
        "smtp": "tls",
        "email": "mangospot.net@gmail.com",
        "paswd": "xxxx-xxxx-xxxx-xxxx"
    }
}

Email Theme

This endpoint is used to retrieve the email theme registered in the system.

GET /mail/theme

Specific Theme

This endpoint is used to retrieve the specific theme registered in the system.

Type Url
OTP GET /mail/theme/otp
Forgot GET /mail/theme/forgot
Social GET /mail/theme/social
Register GET /mail/theme/register
{
    "status": true,
    "message": "success",
    "data": [{
        "name": "Register",
        "type": "register",
        "content": "HTML Code",
        "message": "Text Message"
    }, {
        "name": "Forgot",
        "type": "forgot",
        "content": "HTML Code",
        "message": "Text Message"
    }, {
        "name": "OTP",
        "type": "otp",
        "content": "HTML Code",
        "message": "Text Message"
    }]
}

Captcha

This endpoint is used to retrieve captcha in the system.

GET /captcha

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "session": "2188226ce9f2ba40b384780818307871",
        "image": "data:image/png;base64,xxxxx"
    }
}

Demo Captcha


Country

This endpoint is used to retrieve a list of country registered in the system.

GET /country

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": 1,
        "code": "AF",
        "name": "Afghanistan",
        "phone": 93
    }, {
        "id": 2,
        "code": "AL",
        "name": "Albania",
        "phone": 355
    }, {
        "id": 3,
        "code": "DZ",
        "name": "Algeria",
        "phone": 213
    },
    ..........
    ]
}

Detail Country

This endpoint is used to display country details in the system.

GET /country/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": 100,
        "code": "ID",
        "name": "Indonesia",
        "phone": 62
    }
}

Location

This endpoint is used to retrieve a list of location registered in the system.

GET /location

Response (200 OK)

{
    "status": true,
    "message": "success",
    "region": false,
    "data": [{
        "id": "11",
        "slug": "0",
        "name": "Aceh",
        "type": "province",
        "lat": null,
        "lng": null,
        "radius": 0
    }, {
        "id": "51",
        "slug": "0",
        "name": "Bali",
        "type": "province",
        "lat": null,
        "lng": null,
        "radius": 0
    },
    ..........
    ]
}

Detail Location

This endpoint is used to display location details in the system.

GET /location/{id}

Response (200 OK)

{
    "status": true,
    "region": {
        "id": "33",
        "slug": "0",
        "name": "Jawa Tengah",
        "type": "province",
        "lat": null,
        "lng": null,
        "radius": 0
    },
    "data": [{
        "id": "3304",
        "slug": "33",
        "name": "Kab. Banjarnegara",
        "type": "city",
        "lat": null,
        "lng": null,
        "radius": 0
    }, {
        "id": "3302",
        "slug": "33",
        "name": "Kab. Banyumas",
        "type": "city",
        "lat": null,
        "lng": null,
        "radius": 0
    },
    ............
    ]
}

1. Menu

This endpoint is used to retrieve a list of menu registered in the system.

GET /menu

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "1",
        "name": "Menu 1",
        "title": "Menu One",
        "primary": true
    }, {
        "id": "2",
        "name": "Menu 2",
        "title": "Menu Two",
        "primary": false
    }]
}

2. List Menu

This endpoint is used to retrieve a list of menu registered in the system.

GET /menu/list

This endpoint is used to retrieve a list of detail menu registered in the system.

GET /menu/list/{menu}

Query Parameter

Field Type Description
limit Integer Limit Display Data
sort String Sort Field (id, title, sort)
order String Order Type (asc, desc, random)

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "3",
        "menu": "1",
        "slug": "0",
        "type": "link",
        "name": "Home",
        "title": "MangoSpot",
        "value": "./",
        "target": false
    }, {
        "id": "8",
        "menu": "1",
        "slug": "5",
        "type": "page",
        "name": "Radius Server",
        "title": "Radius Server",
        "value": "radius-sever",
        "target": false
    },
    ................
    ]
}

3. Sub Menu

This endpoint is used to retrieve a list of sub menu registered in the system.

GET /menu/sub

This endpoint is used to retrieve a list of detail sub menu registered in the system.

GET /menu/sub/{menu}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "3",
        "menu": "1",
        "slug": "0",
        "name": "Home",
        "type": "link",
        "title": "Link One",
        "value": "index.html",
        "target": true,
        "children": []
    },  {
        "id": "4",
        "menu": "1",
        "slug": "0",
        "name": "About",
        "type": "page",
        "title": "Link Two",
        "value": "abaout",
        "target": false,
        "children": [{
            "id": "5",
            "menu": "1",
            "slug": "4",
            "name": "Profile",
            "type": "page",
            "title": "Link Three",
            "value": "profile",
            "target": false,
            "children" []
        }]
    }]
}

1. Theme

This endpoint is used to retrieve a list of theme registered in the system.

GET /theme

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "title": "Slider",
        "type": "slider",
        "content": "24,25,26,27",
        "other": {
            "item": "4",
            "play": "true",
            "limit": "6",
            "order": "asc",
            "speed": "300",
            "amount": "1",
            "sumary": "100",
            "infinite": "true",
            "pagination": "true"
        }
    }, {
        "title": "Related Products",
        "type": "product",
        "content": null,
        "other": {
            "item": "3",
            "play": "true",
            "limit": "6",
            "order": "asc",
            "speed": "300",
            "amount": "1",
            "sumary": "100",
            "navigation": "true"
        }
    }]
}

2. Specific Theme

This endpoint is used to retrieve a list of specific theme registered in the system.

Type Url
Home GET /theme/home
Page GET /theme/page
Blog GET /theme/blog
Product GET /theme/product
GET /theme/home

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "title": "Slider",
        "type": "slider",
        "content": "24,25,26,27",
            "other": {
            "item": "4",
            "play": "true",
            "limit": "6",
            "order": "asc",
            "speed": "300",
            "amount": "1",
            "sumary": "100",
            "infinite": "true",
            "pagination": "true"
        }
    }, {
        "title": "Patter",
        "type": "code",
        "content": "HTML Code",
        "other": null
    },
    ................
    ]
}

1. Widget

This endpoint is used to retrieve a list of widget registered in the system.

GET /widget

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "title": "Search Content",
        "type": "code",
        "content": "HTML Code",
        "other": null
    }, {
        "title": "Recent Shop",
        "type": "shop",
        "content": "",
        "other": {
            "show": "4",
            "order": "desc"
        }
    }]
}

2. Specific Widget

This endpoint is used to retrieve a list of specific Widget registered in the system.

Type Url
Page GET /widget/page
Post GET /widget/post
Blog GET /widget/blog
Shop GET /widget/shop
Product GET /widget/product
Footer GET /widget/footer
GET /widget/page

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "title": "Search Content",
        "type": "code",
        "content": "HTML Code",
        "other": null
    }, {
        "title": "Calendar",
        "type": "calendar",
        "content": null,
        "other": null
    },
    ................
    ]
}

1. Content

This endpoint is used to retrieve a list of content registered in the system.

GET /contents

To get image directory, you need to make following url :

https://api.mangospot.net/media/upload/{content_image}

Query Parameter

Field Type Description
id Integer Get ID In Array (exp: id=1,2,3)
type String Get Type In Array (exp: type=page,post,blog)
sort String Sort Field (id, title, sort)
order String Order Type (asc, desc, random)
limit Integer Limit Display Data
page Integer Display Page Number
search String Seacrh Data

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "10",
        "type": "blog",
        "code": "42089610402",
        "name": "Admin",
        "title": "Install Webserver on Debian or Ubuntu",
        "value": "install-webserver-on-debian-or-ubuntu",
        "sidebar": "right",
        "image": "28c8edde3d61a0411511d3b1866f0636/page/banner.jpg",
        "content": "HTML Code",
        "comments": "0",
        "children": "0",
        "other": {
            "tags": ["Webserver", "Apache", "PHP", "Linux", "Debian", "Ubuntu"],
            "recent": ["19", "20", "21", "22", "23"],
            "category": ["2"]
        },
        "created": "2020-04-20T22:06:36.031Z",
        "updated": "2025-01-06T19:36:56.115Z",
        "comment": true
    }, {
        "id": "11",
        "type": "gallery",
        "code": "78620712624",
        "name": "Admin",
        "title": "Brand",
        "value": "brand",
        "sidebar": "right",
        "image": "",
        "content": "",
        "comments": "0",
        "children": "14",
        "other": {
            "item": "4",
            "show": "list",
            "sort": "id",
            "order": "desc",
            "sumary": "100"
        },
        "created": "2025-07-20T21:33:16.838Z",
        "updated": "2025-07-21T19:56:33.132Z",
        "comment": false
    }]
}

2. List Content

This endpoint is used to retrieve a list of content registered in the system.

Type Url
Tags GET /contents/tags
Page GET /contents/page
Post GET /contents/post
Blog GET /contents/blog
Shop GET /contents/shop
Product GET /contents/product
Contact GET /contents/contact
Gallery GET /contents/gallery

3. Detail Content

This endpoint is used to retrieve detail content registered in the system.

GET /content/{id or value}

Example List Category

GET /content/tutorial

Query Parameter

Field Type Description
sort String Sort Field (id, title, sort)
order String Order Type (asc, desc, random)
limit Integer Limit Display Data
page Integer Display Page Number

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": "1",
        "type": "post",
        "title": "Tutorial",
        "value": "tutorial",
        "image": "image-category.jpg",
        "sidebar": "right",
        "other": {
            "item": "6",
            "show": "grid",
            "sort": "id",
            "order": "asc",
            "sumary": "100"
        },
        "created": "2024-11-04T23:50:18.796Z",
        "updated": "2024-11-04T23:50:44.953Z",
        "comment": false,
        "content": "",
        "children": [{
            "id": "2",
            "type": "blog",
            "name": "Admin",
            "title": "Install Software",
            "value": "install-software",
            "image": "image-install-software.jpg",
            "created": "2024-11-20T20:45:39.132Z",
            "updated": "2024-11-23T21:24:41.856Z",
            "content": "Tutorial Install Software..."
        }, {
            "id": "3",
            "type": "blog",
            "name": "Admin",
            "title": "Uninstall Software",
            "value": "uninstall-software",
            "image": "image-uninstall-software.jpg",
            "created": "2024-11-23T16:12:21.147Z",
            "updated": "2024-11-23T21:24:43.089Z",
            "content": "Tutorial Uninstall Software..."
        }],
        "total": "2"
    }
}

Contact

This endpoint is used to send contact message in the system.

POST /contact

Query Parameter

Field Type Description
name String Full Name
email String Email Address
captcha String Code Captcha
comment String Comment Message

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Send email success to mangospot.net@gmail.com"
}

1. Comment

This endpoint is used to retrieve a list of comment registered in the system.

GET /comment

Query Parameter

Field Type Description
id Integer Get ID In Array (exp: id=1,2,3)
sort String Sort Field (id, title)
order String Order Type (asc, desc, random)
limit Integer Limit Display Data
page Integer Display Page Number
search String Seacrh Data

2. Specific Comment

This endpoint is used to retrieve a list of specific comment registered in the system.

Type Url
Page GET /comment/page
Blog GET /comment/blog
Product GET /comment/product
Contact GET /comment/contact

3. Detail Comment

This endpoint is used to retrieve detail comment registered in the system.

GET /comment/{type}/{post}

Example Detail Comment Blog

GET /comment/blog/2

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "2",
        "slug": "0",
        "post": "2",
        "type": "blog",
        "name": "Full Name",
        "email": "email@domain.com",
        "title": "Tutorial One",
        "value": "tutorial-one",
        "content": "This comment on page",
        "children": [{
            "id": "9",
            "slug": "2",
            "post": "2",
            "type": "blog",
            "name": "Full Name",
            "email": "email@domain.com",
            "title": "Tutorial One",
            "value": "tutorial-one",
            "content": "This comment reply on page",
            "children": []
        }]
    }, {
        "id": "4",
        "slug": "0",
        "post": "2",
        "type": "blog",
        "name": "Full Name",
        "email": "email@domain.com",
        "title": "Tutorial One",
        "value": "tutorial-one",
        "content": "This comment on page",
        "children": []
    }]
}

4. Input Comment

This endpoint is used to send comments in the system.

POST /comment

Body Parameter

Field Type Description
post Integer ID Page, Blog, Or Product
name String Full Name
email String Email Address
captcha String Code Captcha
comment String Comment Message

4. Reply Comment

This endpoint is used to send reply comments in the system.

POST /comment

Body Parameter

Field Type Description
id Integer ID Comment
post Integer ID Page, Blog, Or Product
name String Full Name
email String Email Address
captcha String Code Captcha
comment String Comment Message

Authentication

Don't forget add the header parameter, so you can get access after successfully logging in.

HTTP Headers

Header Type Description
Auth-Api String Your Auth Api
Auth-Key String Your Auth Key
Auth-Token String Your Auth Token

Login Account

This endpoint is used for account login authentication in the system.

POST /auth/signin

Body Parameter

Field Type Description
username String Auth Username (email or phone)
password String Auth Password

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "name": "MangoSpot",
        "Auth-Api": "U2FsdGVkX18bXldvwUc8OyVHxW7RAOwK0rOD/lYwrv8=",
        "Auth-Key": "U2FsdGVkX1/0nkXaZDfUVvTpsKugkR0PhelilEZ+gYs==",
        "Auth-Token": "c97ef3cb25225f9878d506d5dv01d51f"
    }
}

1. Forgot Password

This endpoint is used for forgot password in the system.

POST /auth/forgot

Body Parameter

Field Type Description
email String Email Address
captcha String Code Captcha

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "otp": "161036",
        "code": "U2FsdGVkX18rr9suLmURCVhFvCXr8m90ccBxLRDFORY=",
        "token": "ec1248c1b6c413dd2745f4b5c9e0a71c"
    }
}

2. Update Password

This endpoint is used for update password with activation code in the system.

PUT /auth/forgot

Body Parameter

Field Type Description
code String Auth Code
token String Auth Token
password String New Password

This endpoint is used for update password with OTP activation in the system.

PUT /auth/forgot

Body Parameter

Field Type Description
otp String OTP Code (expired 1 minute)
token String Auth Token
password String New Password

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update password success"
}

1. Register Account

This endpoint is used for register account in the system.

POST /auth/signup

Body Parameter

Field Type Description
name String Full Name
email String Email Address
phone Integer Phone Number
captcha String Code Captcha
password String Password

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "otp": "607225",
        "code": "U2FsdGVkX18Fby05RVGtzwtSdEyuXh7PCBedUMBQSCw=",
        "token": "ec1248c1b6c4133d2745f4b5c9e0a71c",
        "expired": "2024-12-27T17:59:06.000Z"
    }
}

2. Request Activation Code

You can request activation code, you need to make a GET call to the following url:

GET /auth/signup/{email or phone}

3. Activation Account

This endpoint is used for activation account with activation code in the system.

PUT /auth/signup

Body Parameter

Field Type Description
code String Activation Code
token String Activation Token

This endpoint is used for activation account with OTP activation in the system.

PUT /auth/signup

Body Parameter

Field Type Description
otp String OTP Code (expired 1 minute)
token String Auth Token

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Activation account success"
}

1. Detail Account

This endpoint is used for detail account in the system.

GET /auth

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "country": 100,
        "code": "10000",
        "name": "MangoSpot",
        "email": "mangospot.net@gmail.com",
        "phone": 85642311781,
        "gender": "male",
        "place": null,
        "birthday": null,
        "address": "Full Address",
        "images" "Image Base64"
    }
}

2. Update Account

This endpoint is used for update account in the system.

PUT /auth

Body Parameter

Field Type Description
name String Full Name
email String Email Address
phone Integer Phone Number 81234xxx
place String Birthplace
gender Boolean male or female
country Integer ID Country GET /country
birthday Date YYYY-MM-DD
address String Full Address

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update account success"
}

3. Update Avatar

This endpoint is used for update avatar in the system.

PUT /auth/avatar

Body Parameter

Field Type Description
image String Base64

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update avatar success"
}

4. Update Password

This endpoint is used for update password in the system.

PUT /auth/password

Body Parameter

Field Type Description
password String Old Password
npassword String New Password
rpassword String Reply Password

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update password success"
}

1. Detail Biodata

This endpoint is used for detail biodata in the system.

GET /biodata

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "JSON Data"
}

2. Update Biodata

This endpoint is used for update biodata in the system.

PUT /biodata

Body Parameter

Field Type Description
data JSON JSON Data

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update biodata success"
}

1. Detail Document

This endpoint is used for detail document in the system.

GET /document

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "JSON Data"
}

2. Update Document

This endpoint is used for update document in the system.

PUT /document

Body Parameter

Field Type Description
data JSON JSON Data

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update document success"
}

Admin Overview

This endpoint is used for administrative processing, ensure you use an administrator account.

1. Detail Account

This endpoint is used for get account in the system.

GET /auth/account

Query Parameter

Field Type Required Description
code Unique Yes Code Account
GET /auth/account/{code}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": 1,
        "code": "10000",
        "name": "MangoSpot",
        "email": "mangospot.net@gmail.com",
        "phone": 85642311781,
        "gender": "male",
        "place": null,
        "birthday": null,
        "country": 100,
        "address": "Full Address",
        "images" "Image Base64"
    }
}

2. Push Account

This endpoint is used for insert or update account in the system.

POST /auth/account

Body Parameter

Field Type Required Description
code Unique Yes Code Account
name String Yes Full Name
users String No If users is empty, account code is used.
email email No Email Address (name@domain.id)
phone Integer No 81234xxxx
place String No Place of birth
gender Boolean No male or female
country Integer No ID Country GET /country
birthday Date No YYYY-MM-DD
address String No Full Address
images Base64 No data:image/png;base64,xxxxx

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Isert or Update account success"
}

1. Detail Biodata

This endpoint is used for get biodata in the system.

GET /biodata

Query Parameter

Field Type Required Description
code Unique No Code Account
level Unique Yes Code or ID Level

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Data JSON"
}

2. Push Biodata

This endpoint is used for insert or update biodata in the system.

POST /biodata

Body Parameter

Field Type Required Description
code Unique Yes Code Account
data JSON Yes Data JSON

JSON Example

[{
    "id": 1, 
    "code": "1001",
    "name": "Full Name",
    "type": "text", 
    "title": "Title Name",
    "value": "My Name"
}, {
    "id": 2,
    "code": "1002",
    "name": "Gender",
    "type": "select",
    "title": "Gender",
    "value": "Male"
}, {
    "id": 3,
    "code": "1003",
    "name": "Province",
    "type": "province",
    "title": "Provinsi",
    "value": "Jawa Tengah"
}]

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Isert or Update biodata success"
}

1. Detail Document

This endpoint is used for get document in the system.

GET /document

Query Parameter

Field Type Required Description
code Unique No Code Account
level Unique Yes Code or ID Level

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": null,
        "docs": 1,
        "code": "2001",
        "name": "Attachment File",
        "title": null,
        "type": "file",
        "info": "",
        "value": null,
        "data": {
            "accept": ["jpg", "png", "jpeg", "pdf"]
        },
        "option": null,
        "required": true
    }, {
        "id": 2,
        "docs": 2,
        "code": "2002",
        "name": "Avatar",
        "title": "images.jpg",
        "type": "image",
        "info": "",
        "value": "data:image/jpg;base64,xxxxxxx",
        "data": {
            "width": "",
            "height": ""
        },
        "option": null,
        "required": true
    }, {
        "id": null,
        "docs": 3,
        "code": "2003",
        "name": "Signature",
        "title": null,
        "type": "signature",
        "info": "",
        "value": null,
        "sign": null,
        "data": {
            "width": "",
            "height": ""
        },
        "option": null,
        "required": false
    }]
}

2. Push Document

This endpoint is used for insert or update document in the system.

PATCH /document

Body Parameter

Field Type Required Description
code Unique Yes Code Account
docs Integer Yes ID Document
name String No File Name
type String No File Type (file, image, signature)
value Base64 No data:image/png;base64,xxxxxx
sign JSON No If signature type

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Isert or Update document success"
}

1. Quiz Info

Quiz Management System (QMS) is a software application that automates the creation, distribution, grading, and analysis of assessments. It eliminates paper-based testing by allowing administrators (teachers or HR) to design interactive questions and participants to take tests remotely via computers or mobile devices.

This endpoint is used for quiz info in the system.

GET /quiz

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "quiz": 2,
        "study": 3,
        "class": "I-Level 1",
        "period": "2025/2026/GANJIL"
    }
}

2. Period

This endpoint is used to retrieve a list of period in the system.

GET /quiz/period

Query Parameter

Field Type Description
page Integer Number of pagination
search String Search by period name

Response (200 OK)

{
    "status": true,
    "message": "success",
    "total": 2,
    "data": [{
      "id": "10",
      "text": "2025/2026/GANJIL"
    }, {
      "id": "11",
      "text": "2025/2026/GENAP"
    }]
}

3. Teacher

This endpoint is used to retrieve a list of teacher in the system.

GET /quiz/teacher

Query Parameter

Field Type Description
page Integer Number of pagination
period Integer ID Period (Default last active period)
search String Search by period name

Response (200 OK)

{
    "status": true,
    "message": "success",
    "total": 3,
    "data": [{
      "id": "1",
      "text": "Teacher 1"
    }, {
      "id": "2",
      "text": "Teacher 2"
    }, {
      "id": "3",
      "text": "Teacher 3"
    }]
}

4. Study

This endpoint is used to retrieve a list of study in the system.

GET /quiz/study

Query Parameter

Field Type Description
page Integer Number of pagination
period Integer ID Period (Default last active period)
teacher Integer ID Teacher
search String Search by period name

Response (200 OK)

{
    "status": true,
    "message": "success",
    "total": 3,
    "data": [{
      "id": "1",
      "text": "Study 1"
    }, {
      "id": "2",
      "text": "Study 2"
    }, {
      "id": "3",
      "text": "Study 3"
    }]
}

List Quiz

This endpoint is used to retrieve a list of quiz in the system. Recommended for DataTable

GET /quiz/list

Query Parameter

Field Type Description
period Integer ID Period (Default last active period)
teacher Integer ID Teacher (optional)
study Integer ID Study (optional)
DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [{
        "id": "2",
        "code": "3407787",
        "title": "Linux Fundamental",
        "teacher": "Teacher 2",
        "subject": "Linux Fundamental",
        "quiz": "9 Item",
        "duration": "60 Min",
        "expired": null,
        "random": "question, answer"
    }, {
        "id": "1",
        "code": "8032497",
        "title": "Cyber Security",
        "teacher": "Teacher 1",
        "subject": "Cyber Security Fundamental",
        "quiz": "35 Item",
        "duration": "30 Min",
        "expired": null,
        "random": "question, answer"
    }]
}

Log Quiz

This endpoint is used to retrieve a list of log quiz in the system. Recommended for DataTable

GET /quiz/log

Query Parameter

Field Type Description
period Integer ID Period (Default last active period)
teacher Integer ID Teacher (optional)
study Integer ID Study (optional)
DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [{
        "date": "2026-05-31 05:15:39",
        "title": "Cyber Security",
        "subject": "Cyber Security Fundamental",
        "teacher": "Teacher 1",
        "class": "I-Level 1",
        "type": "Finish",
        "info": "Finish Quiz"
    }, {
        "date": "2026-05-31 04:57:33",
        "title": "Cyber Security",
        "subject": "Cyber Security Fundamental",
        "teacher": "Teacher 1",
        "class": "I-Level 1",
        "type": "Violation",
        "info": "Violation Detected!"
    }, {
        "date": "2026-05-31 04:54:53",
        "title": "Cyber Security",
        "subject": "Cyber Security Fundamental",
        "teacher": "Teacher 1",
        "class": "I-Level 1",
        "type": "Start",
        "info": "Start Quiz"
    }]
}

Check Quiz

This endpoint is used to check or detail quiz in the system.

GET /quiz/data/{id}

Query Parameter

Field Type Description
code String Code Quiz (if id is null)
period Integer ID Period (Default last active period)

Response (200 OK) Question is not completed

{
    "status": true,
    "message": "question",
    "info": "Are you ready?",
    "text": "Do you want to work on this quiz?",
    "data": {
        "id": "1",
        "code": "8032497",
        "title": "Cyber Security",
        "identity": "MangoSpot",
        "teacher": "Teacher 1",
        "subject": "Cyber Security Fundamental",
        "type": "one",
        "duration": 30,
        "random": ["question", "answer"],
        "close": "reset",
        "show": false,
        "start": false,
        "finish": false,
        "expired": false,
        "position": null,
        "question": false,
        "audio": true,
        "status": false,
        "password": false,
        "period": "10",
        "serial": "10000",
        "student": "MangoSpot",
        "username": "10000",
        "range": false
    }
}

Response (200 OK) Question is completed

{
    "status": true,
    "message": "question",
    "info": "Quiz is finished",
    "text": "Quiz has been completed",
    "data": {
        "id": "1",
        "code": "8032497",
        "title": "Cyber Security",
        "identity": "MangoSpot",
        "teacher": "Teacher 1",
        "subject": "Cyber Security Fundamental",
        "type": "one",
        "duration": 30,
        "random": ["question", "answer"],
        "close": "reset",
        "show": false,
        "start": "2026-05-23 08:06:30",
        "finish": "2026-05-23 08:15:49",
        "expired": false,
        "position": "finish",
        "question": [{
            "id": 1,
            "code": 1001,
            "data": [{
                "value": false,
                "answer": "Answer 1 for Question 1"
            }, {
                "value": false,
                "answer": "Answer 3 for Question 1"
            }, {
                "value": true,
                "answer": "Answer 4 for Question 1"
            }, {
                "value": false,
                "answer": "Answer 2 for Question 1"
            }],
            "info": "Question Description 1?",
            "name": "Name Question 1",
            "slug": 0,
            "type": "radio",
            "score": 100,
            "story": "",
            "total": 100,
            "parent": ""
        }, {
            "id": 2,
            "code": 4002,
            "data": [{
                "value": true,
                "answer": "Answer 4 for Question 2"
            }, {
                "value": false,
                "answer": "Answer 2 for Question 2"
            }, {
                "value": false,
                "answer": "Answer 1 for Question 2"
            }, {
                "value": true,
                "answer": "Answer 3 for Question 2"
            }],
            "info": "Question Description 2?",
            "name": "Name Question 2",
            "slug": 0,
            "type": "checkbox",
            "score": 100,
            "story": "",
            "total": 100,
            "parent": ""
        }],
        "audio": true,
        "status": false,
        "password": false,
        "period": "10",
        "serial": "10000",
        "student": "MangoSpot",
        "username": "10000",
        "range": false
    }
}

Start Quiz

This endpoint is used to start quiz in the system.

POST /quiz/data/{id}

Body Parameter

Field Type Description
code String Code Quiz (if id is null)
period Integer ID Period (Default last active period)
password String If password is true

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "JSON Data"
}

Finish Quiz

This endpoint is used to finish quiz in the system.

PUT /quiz/data/{id}

Body Parameter

Field Type Description
code String Code Quiz (if id is null)
data JSON JSON Array
period Integer ID Period (Default last active period)

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Quiz completed"
}

History Quiz

This endpoint is used to retrieve a list of history quiz in the system. Recommended for DataTable

GET /quiz/history

Query Parameter

Field Type Description
period Integer ID Period (Default last active period)
teacher Integer ID Teacher (optional)
study Integer ID Study (optional)
DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 3,
    "recordsFiltered": 3,
    "data": [{
        "id": "2",
        "code": "68864207818",
        "title": "Linux Fundamental",
        "teacher": "Teacher 2",
        "subject": "Linux Fundamental",
        "class": "I-Level 1",
        "start": "2026-05-25T00:42:02.000Z",
        "finish": "2026-05-25T00:44:11.000Z",
        "score": "",
        "total": "",
        "active": true
    }, {
        "id": "1",
        "code": "33974130690",
        "title": "Cyber Security",
        "teacher": "Teacher 1",
        "subject": "Cyber Security Fundamental",
        "class": "I-Level 1",
        "start": "2026-05-23T08:06:30.000Z",
        "finish": "2026-05-23T08:15:49.000Z",
        "score": "",
        "total": "",
        "active": true
    }]
}

1. Input Violation

This endpoint is used to add violation quiz in the system.

GET /quiz/violation/{id}

Query Parameter

Field Type Description
code String Code Quiz (if id is null)
period Integer ID Period (Default last active period)
DataTable Documentation

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Violation Detected!"
}

2. Unlock Violation

This endpoint is used to unlock violation quiz in the system.

POST /quiz/violation

Body Parameter

Field Type Description
username String Username Teacher
password String Password Teacher

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Login teacher success"
}

Absent Info

Attendance Management System is a digital attendance recording system that utilizes cloud and smartphone technology to record real-time clock-in and clock-out times.

This endpoint is used for absent info in the system.

GET /absent

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": 1,
        "level": 2,
        "absent": 1,
        "shift": "10001",
        "code": "100011",
        "name": "ADMS Server",
        "position": "Staff",
        "info": "",
        "api": "",
        "map": [{
            "lat": "-7.560090082333086",
            "lng": "110.87097239256677",
            "radius": "10"
        }, {
            "lat": "-7.022846889525094",
            "lng": "110.387202501297",
            "radius": "5"
        }],
        "image": {
            "icon": "Image Base64",
            "logo": "Image Base64"
        },
        "face": false,
        "location": true,
        "data": {
            "name": "Shift One",
            "input": "07:10:00",
            "output": "15:00:00"
        }
    }
}

Absent Check

This endpoint is used for absent check in the system.

GET /absent/check

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "days": "Tuesday",
        "date": "2026-06-09",
        "time": "01:52:18",
        "datetime": "2026-06-09 01:52:18",
        "absent": {
            "code": "CM",
            "data": "<=",
            "name": "Quick Login",
            "type": "IN",
            "value": "4"
        },
        "double": {
            "info": false,
            "icon": "question",
            "name": "Quick Login",
            "status": true
        },
        "location": {
            "info": false,
            "icon": "question",
            "name": "Quick Login",
            "status": true
        },
        "presence": {
            "name": "Default",
            "days": "Tuesday",
            "onstart": "06:45:00",
            "ofstart": "07:10:00",
            "endstart": "12:00:00",
            "onfinish": "15:00:00",
            "offinish": "15:00:00",
            "endfinish": "23:00:00",
            "info": "",
            "locked": false
        }
    }
}

Insert Absent

This endpoint is used for insert absent in the system.

POST /absent

Body Parameter

Field Type Description
lat Decimal Latitude Code
lng Decimal Longitude Code
image String Image Base64
active Boolean TRUE (on location) FALSE (off location)

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Insert absent success"
}

Holiday

This endpoint is used to retrieve a list of holiday in the system.

GET /absent/holiday

Query Parameter

Field Type Required Description
start Date No YYYY-MM-DD (Default value if empty 2026-01-01)
finish Date No YYYY-MM-DD (Default value if empty 2026-12-31)

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "day": "Thursday",
        "code": "20260101_t8rmfdtsfkthvl1ar3bqagnh7s",
        "title": "Hari Tahun Baru",
        "start": "2026-01-01",
        "finish": "2026-01-02",
        "info": "Hari libur nasional"
    }, {
        "day": "Friday",
        "code": "20260116_4j4a97o8l269jtig1nlaibqtj4",
        "title": "Isra Mikraj Nabi Muhammad",
        "start": "2026-01-16",
        "finish": "2026-01-17",
        "info": "Hari libur nasional"
    }]
}

1. History Absent

This endpoint is used to retrieve a list of history absent in the system.

GET /absent/history

Query Parameter

Recommended for DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [{
        "id": "2",
        "device": "Android",
        "type": "OUT",
        "lat": "-7.022846889525094",
        "lng": "110.387202501297",
        "date": "2026-06-08T15:17:31.000Z",
        "score": "3",
        "info": null,
        "valid": true,
        "image": "Image Base64"
    }, {
        "id": "1",
        "device": "Fingerprint 1",
        "type": "IN",
        "lat": "-7.022846889525094",
        "lng": "110.387202501297",
        "date": "2026-06-08T07:03:04.000Z",
        "score": "3",
        "info": null,
        "valid": true,
        "image": null
    }]
}

2. Detail Absent

This endpoint is used for detail history on absent in the system.

GET /absent/history/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": "2",
        "device": "Android",
        "type": "OUT",
        "lat": "-7.022846889525094",
        "lng": "110.387202501297",
        "date": "2026-06-08T15:17:31.000Z",
        "score": {
        "code": "P",
        "data": "==",
        "name": "Get Home Right",
        "type": "OUT",
        "value": "3"
        },
        "info": null,
        "valid": true,
        "image": "Image Base64"
    }
}

Report Absent

This endpoint is used for report absent in the system.

GET /absent/report

Query Parameter

Field Type Description
start Date YYYY-MM-DD
finish Date YYYY-MM-DD

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data":[{
        "date": "2026-08-15",
        "score": 8,
        "start": "06:37",
        "finish": "16:20",
        "status": "CM/PT",
        "holiday": false
    }, {
        "date": "2026-08-16",
        "score": 5,
        "start": "07:05",
        "finish": "13:48",
        "status": "T/PC",
        "holiday": false
    }, {
        "date": "2026-08-17",
        "score": 0,
        "start": "00:00",
        "finish": "00:00",
        "status": "Holiday",
        "holiday": "Hari Proklamasi Kemerdekaan R.I."
    }]
}

Permit Info

Permit Management System (PMS) is a software solution that streamlines the lifecycle of permits, licenses, and authorizations from application and compliance tracking to automated renewals.

This endpoint is used for permit info in the system.

GET /permit

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "1",
        "code": "1001",
        "name": "Hour",
        "mode": "hour",
        "attachment": false
    }, {
        "id": "2",
        "code": "1002",
        "name": "Day",
        "mode": "day",
        "attachment": false
    }, {
        "id": "3",
        "code": "1003",
        "name": "Sick",
        "mode": "day",
        "attachment": true
    }, {
        "id": "4",
        "code": "1004",
        "name": "Picket",
        "mode": "other",
        "attachment": false
    }]
}

Insert Permit

This endpoint is used for insert permit in the system.

POST /permit

Body Parameter

Field Type Description
permit Integer ID Permit
starts Datetime YYYY-MM-DD HH:MM
finish Datetime YYYY-MM-DD HH:MM
info String Text Message
file String URL or JSON

File type JSON

JSON.stringify({"name": "File Name", "type": "application/pdf", "size": "123", "data": "123454QAYRXh....."})

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Insert permit success"
}

Update Permit

This endpoint is used for update permit in the system. (if not yet confirmed by admin)

PUT /permit/{id}

You can use ID on boby parameter

PUT /permit

Body Parameter

Field Type Description
id Integer ID Permittance (ID is null)
permit Integer ID Permit
starts Datetime YYYY-MM-DD HH:MM
finish Datetime YYYY-MM-DD HH:MM
info String Text Message
file String URL or JSON

File type JSON

JSON.stringify({"name": "File Name", "type": "application/pdf", "size": "123", "data": "123454QAYRXh....."})

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update permit success"
}

Delete Permit

This endpoint is used for delete permit in the system. (if not yet confirmed by admin)

DELETE /permit/{id}

You can use query parameter

DELETE /permit

Query Parameter

Field Type Description
id Integer ID Permit

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Delete permit success"
}

1. Permit Absent

This endpoint is used to retrieve a list of history permit in the system.

GET /permit/history

Query Parameter

Recommended for DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [{
        "id": "2",
        "code": "1779794069",
        "position": "Staff",
        "permittance": "Hour",
        "starts": "2026-05-11 14:30",
        "finish": "2026-05-11 15:00",
        "action": "Waiting",
        "duration": "00:30:00",
        "info": "Description",
        "attachment": false,
        "status": true
    }, {
        "id": "1",
        "code": "1798794069",
        "position": "Staff",
        "permittance": "Sick",
        "starts": "2026-05-10 00:00",
        "finish": "2026-05-10 23:59",
        "action": "Waiting",
        "duration": "1 Days",
        "info": "Sick",
        "attachment": true,
        "status": true
    }]
}

2. Detail Permit

This endpoint is used for detail history on permit in the system.

GET /permit/history/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": "2",
        "permit": "1",
        "code": "1779794069",
        "mode": "hour",
        "permittance": "Hour",
        "starts": "2026-05-11 14:30",
        "finish": "2026-05-11 15:00",
        "action": "Waiting",
        "duration": "00:30:00",
        "info": "Description",
        "file": {
            "type": "url",
            "data": ""
        },
        "attachment": false
    }
}

Report Permit

This endpoint is used for report permit in the system.

GET /permit/report

Query Parameter

Field Type Description
start Date YYYY-MM-DD
finish Date YYYY-MM-DD

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data":[{
        "date": "2026-08-14",
        "permit": "Hour",
        "start": "06:37",
        "finish": "16:20",
        "holiday": false
    }, {
        "date": "2026-08-15",
        "permit": "Day",
        "start": "07:05",
        "finish": "13:48",
        "holiday": false
    }, {
        "date": "2026-08-16",
        "permit": "Other",
        "start": "06:54",
        "finish": "15:22",
        "holiday": false
    }, {
        "date": "2026-08-17",
        "permit": "Other",
        "start": "",
        "finish": "",
        "holiday": "Hari Proklamasi Kemerdekaan R.I."
    }]
}

Finance Info

Financial Management System (FMS) is a systematic process of planning, executing, recording, reporting, and accountability of financial funds within a institution.

This endpoint is used for finance info in the system.

GET /finance

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "debit": [{
            "id": "1",
            "code": "1001",
            "name": "Saving Name",
            ............
        }, {
            "id": "2",
            "code": "1002",
            "name": "Saving Name 1",
            ............
        }],
        "credit": [{
            "id": "3",
            "code": "2001",
            "name": "Credit Name",
            ............
        }, {
            "id": "4",
            "code": "2002",
            "name": "Credit Name 1",
            ............
        }]
    }
}

Type Finance

This endpoint is used for finance type (debit or credit) info in the system.

GET /finance/debit
GET /finance/credit

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": [{
        "id": "1",
        "code": "1001",
        "name": "Saving Name",
        ............
    }, {
        "id": "2",
        "code": "1002",
        "name": "Saving Name",
        ............
    }]
}

Detail Finance

This endpoint is used for finance type (debit or credit) info in the system.

GET /finance/debit/{id}
GET /finance/credit/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": "1",
        "code": "1001",
        "name": "Saving Name",
        ............
    }
}

Insert Transaction

This endpoint is used for insert transaction in the system.

POST /finance

Body Parameter

Field Type Description
finance Integer ID finance
nominal Decimal Nominal Transaction
payment ENUM Payment Method
withdraw Boolean true or false
info Text Text Message

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Insert transaction success"
}

Update Transaction

This endpoint is used for update transaction in the system. (if not yet confirmed by admin)

PUT /finance/{id}

You can use ID on boby parameter

PUT /finance

Body Parameter

Field Type Description
id Integer ID Transaction (ID is null)
finance Integer ID finance
nominal Decimal Nominal Transaction
payment ENUM Payment Method
withdraw Boolean true or false
file String URL or JSON
info Text Text Message

File type JSON

JSON.stringify({"name": "File Name", "type": "application/pdf", "size": "123", "data": "123454QAYRXh....."})

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Update transaction success"
}

Delete Transaction

This endpoint is used for delete transaction in the system. (if not yet confirmed by admin)

DELETE /finance/{id}

You can use query parameter

DELETE /finance

Query Parameter

Field Type Description
id Integer ID Transaction

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": "Delete finance success"
}

1. Transaction History

This endpoint is used to retrieve a list of history finance in the system.

GET /finance/history

This endpoint is used to retrieve financial history types (debit or credit) in the system.

GET /finance/history/debit
GET /finance/history/credit

Query Parameter (Filter Data)

Field Type Description
finance Integer ID Finance
starts Date Start Date
finish Date Finish Date

Query Parameter

Recommended for DataTable Documentation

Response (200 OK)

{
    "draw": 0,
    "recordsTotal": 2,
    "recordsFiltered": 2,
    "data": [{
        "id": "7",
        "code": "1785310703",
        "admin": "Admin Finance",
        "finance": "Saving Name",
        "type": "credit",
        "mode": "Withdraw",
        "payment": "admin",
        "cost": "0.00",
        "interest": "0.50",
        "nominal": "300000.00",
        "info": "",
        "date": "2026-07-29T00:38:23.053Z",
        "status": true
    }]
}

2. Detail Transaction

This endpoint is used for detail history on transaction in the system.

GET /finance/history/debit/{id}
GET /finance/history/credit/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "id": "1",
        "code": "1785299374",
        "admin": "Admin Finance",
        "serial": "1234567890",
        "name": "Full Name",
        "position": "Level Position",
        "email": "",
        "finance": "Saving Name",
        "mode": "Deposit",
        "cost": "0.00",
        "interest": "0.00",
        "nominal": "50000.00",
        "payment": "admin",
        "info": "",
        "date": "2026-07-28T21:29:34.065Z",
        "status": true,
        "file": null
    }
}

1. Balance

This endpoint is used to retrieve a financial balance in the system.

GET /finance/balance

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "code": "1234567890",
        "name": "Full Name",
        "level": "Level Position",
        "email": "",
        "phone": "",
        "address": null,
        "balance": "450000.00",
        "debit": "750000.00",
        "credit": "-300000.00"
    }
}

2. List Balance

This endpoint is used to retrieve financial balance types (debit or credit) in the system.

GET /finance/balance/debit
GET /finance/balance/credit

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "code": "1234567890",
        "name": "Full Name",
        "level": "Level Position",
        "email": "",
        "phone": "",
        "address": null,
        "balance": "450000.00",
        "finance": [{
            "id": "1",
            "code": "1001",
            "name": "Saving Name",
            "input": "1",
            "output": "0",
            "deposit": "500000.00",
            "withdraw": "0",
            "balance": "500000.00"
        }, {
            "id": "2",
            "code": "1002",
            "name": "Saving Name 1",
            "input": "1",
            "output": "0",
            "deposit": "50000.00",
            "withdraw": "0",
            "balance": "50000.00"
        }]
    }
}

3. Detail Balance

This endpoint is used for detail financial balance in the system.

GET /finance/balance/debit/{id}
GET /finance/balance/credit/{id}

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "code": "1234567890",
        "name": "Full Name",
        "level": "Level Position",
        "email": "",
        "phone": "",
        "address": null,
        "balance": "450000.00",
        "finance": {
            "id": "1",
            "code": "1001",
            "name": "Saving Name",
            "input": "1",
            "output": "0",
            "deposit": "500000.00",
            "withdraw": "0",
            "balance": "500000.00"
        }
    }
}

Mutation

This endpoint is used to retrieve a list of mutation finance in the system.

GET /finance/mutation

Query Parameter (Filter Data)

Field Type Description
finance Integer ID Finance
starts Date Start Date
finish Date Finish Date

Response (200 OK)

{
    "status": true,
    "message": "success",
    "data": {
        "code": "1234567890",
        "name": "Full Name",
        "level": "Level Position",
        "email": "",
        "phone": "",
        "address": "",
        "debit": "750000.00",
        "credit": "-300000.00",
        "balance": "450000.00",
        "period": {
            "starts": "2026-07-01",
            "finish": "2026-07-31"
        },
        "mutation": [{
            "code": "1785299365",
            "admin": "Admin Finance",
            "finance": "Saving Name",
            "type": "debit",
            "cost": "5000.00",
            "interest": "0.10",
            "subtotal": "505000.00",
            "deposit": "500000.00",
            "withdraw": 0,
            "balance": "500000.00",
            "payment": "admin",
            "info": "",
            "date": "2026-07-28T21:29:24.848Z"
        }]
    }
}