Skip to main content

API Reference

Quick Summary

This document focuses on the endpoints most frequently used operationally. For detailed example payloads + proof labels (mock/real/sanitized), see API Examples.

Swagger UI: Swagger UI OpenAPI spec: /openapi/adi-jaya.openapi.yaml Full endpoint coverage: API Full Catalog.

Source prefix: RouteServiceProvider + route files. Uncertain response schemas are marked requires verification and are recorded in the Verification Matrix.

Runtime Evidence Status

  • Backend runtime hit while compiling this document: Not done yet (environment access not available in docs session).
  • Current validation base: route file + controller source (adi-jaya-master) with sanitization.
  • Impact: endpoint/path is relatively strong, but final payload remains Partial until runtime tested.

A. Admin Web Endpoints (/admin/*)

Web admins use session auth (web + auth) and access:* middleware.

Area: Projects

MethodPathController@MethodAccess
GET/admin/projects/listProjectListController@indexhead_admin
GET/admin/projects/createProjectController@indexhead_admin
POST/admin/projects/createProjectController@createhead_admin
PUT/admin/projects/{project}ProjectController@updatehead_admin
DELETE/admin/projects/{project}ProjectController@destroyhead_admin

Area: SPB

MethodPathController@MethodAccess
POST/admin/spbs/storeSPBController@storeprojects
PATCHES/admin/spbs/{spb}/updateSPBController@updateprojects
PUT/admin/spbs/{spb}SPBController@updateStatushead_admin
GET/admin/spbs/list/{condition}SPBListController@indexmulti-role

Area: PO

MethodPathController@MethodAccess
GET/POST/admin/po/{spb}/createPoController@indexhead_admin/logistic/logistic_admin
POST/admin/po/{spb}PoController@createhead_admin/logistic/logistic_admin
PUT/admin/po/{po}PoController@updatehead_admin/logistic/logistic_admin
PUT/admin/po/status/{po}/updatePoController@updateStatushead_admin/project/spv/logistic/logistic_admin

Area: PO Payment

MethodPathController@MethodAccess
GET/admin/payments/list/{condition}PaymentPoListController@indexhead_admin/accounting
PUT/admin/payments/{po}PaymentPoController@updatehead_admin/accounting
PUT/admin/payments/{payment}/approvePaymentPoController@approvehead_admin/accounting_admin
PUT/admin/payments/{payment}/verifyPaymentPoController@verifyhead_admin

Area: SPK

MethodPathController@MethodAccess
GET/admin/spkSPKController@indexhead_admin/spk/accounting
POST/admin/spk/{project}/storeSPKController@storespk
PATCHES/admin/spk/{project}/{spk}/approveSPKController@approvehead_admin
PATCHES/admin/spk/{project}/{spk}/finishSPKController@finishhead_admin

B. API v1 (/api/v1/*)

Dominant auth: auth:sanctum.

Auth/User

MethodPathControllers
POST/api/v1/user/loginAPI\\V1\\Auth\\LoginController@login
POST/api/v1/user/logoutAPI\\V1\\Auth\\LoginController@logout
PATCHES/api/v1/user/firebase-tokenAPI\\V1\\FCM\\FCMController@update

Project/SPB/PO

MethodPathControllersNotes
GET/api/v1/projectProjectController@indexaccess project/spv
GET/api/v1/project/list-spbSPB PM Controller@indexSPB list
POST/api/v1/project/spb/{spb_no}SPB PM Controller@createcreate SPB
PATCHES/api/v1/project/spb/{spb_no}SPB PM Controller@updateSPB updates
GET/api/v1/project/spb/{spb_no}/poPOController@indexPO list per SPB
GET/api/v1/project/list-poPOListController@indexPO list
POST/PATCH/api/v1/project/spb/{spb_no}/po/{po_no}POController@updatereceive/complaint/approve/reject according to role

Public-like utility API

MethodPathControllers
GET/api/v1/supplierSupplierController@index
GET/api/v1/project-listProjectController@list
GET/api/v1/po-payment-receipt/po-listPOPaymentReceiptController@poList

C. Membership API

Derived from routes/membership.php.

MethodPath (indicative)Controllers
POST/membership/registerMembership\\RegisterController@store
POST/membership/loginMembership\\LoginController@login
PATCHES/membership/fcmMembership\\FcmController@store
POST/membership/otp/requestMembership\\OtpController@store
POST/membership/otp/checkMembership\\OtpController@check

Verification Notes

  • Status: Partial
  • Scope: Final prefix routes/membership.php in production depends on additional route loading in bootstrap/provider.
  • Action: Match the endpoint membership table with the runtime route:list results from the target server (refer to VM-001).