REST API Reference
Welcome to the DigitCare ERP API documentation. The API serves endpoints for accounting, inventory, manufacturing, and user management. All authenticated endpoints require a Bearer token via Sanctum. Set the header Authorization: Bearer {token} in your requests.
354
Total Endpoints
33
Modules
v1
API Version
Accounting
12 endpoints
GET
api/accounting/accounts/{id}/ledger
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
GET
api/accounting/blueprints
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/accounting/payment-accounts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/accounting/payment-accounts
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
GET
api/accounting/payment-accounts/manage
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
DELETE
api/accounting/payment-accounts/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/accounting/payment-accounts/{id}/toggle
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
POST
api/accounting/preview-ledger
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/accounting/reports/account-transactions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/accounting/reports/bank-balance
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/accounting/reports/chart-of-accounts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/accounting/transactions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
Accounts
5 endpoints
GET
api/accounts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/accounts
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
GET
api/accounts/{account}
Path Parameters
| Field | Type / Rules |
|---|---|
| account | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
PATCH
api/accounts/{account}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
DELETE
api/accounts/{account}
Path Parameters
| Field | Type / Rules |
|---|---|
| account | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Activity Log
3 endpoints
GET
api/activity-log
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/activity-log/stats
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/activity-log/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Addresses
3 endpoints
PUT
api/addresses/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/addresses/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/addresses/{id}/set-default
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Attributes
7 endpoints
GET
api/attributes
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/attributes
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| values | required|array (strings) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/attributes/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| values | required|array (strings) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/attributes/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/attributes/{id}/values
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| values | required|array (strings) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
POST
api/attributes/{id}/values/reorder
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| values | required|array (strings) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/attributes/{id}/values/{valueId}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
| valueId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Auth
12 endpoints
POST
api/auth/forgot-password
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/auth/google/callback
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/auth/google/redirect
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/auth/login
Request Body
| Field | Type / Rules |
|---|---|
| required|string | |
| password | required|string |
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"token": "1|abcdef123456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "admin@example.com",
"role": "super-admin",
"permissions": [
"users.view",
"products.view"
]
}
}
}
POST
api/auth/logout
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/auth/me
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "John Doe",
"email": "admin@example.com",
"role": "super-admin",
"permissions": [
"all"
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/auth/password
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/auth/profile
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
POST
api/auth/reset-password
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/auth/sessions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
DELETE
api/auth/sessions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
DELETE
api/auth/sessions/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Branches
7 endpoints
GET
api/branches
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/branches
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| nullable|email | |
| phone | nullable|string |
| address | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
}
GET
api/branches/selected
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/branches/selected
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| nullable|email | |
| phone | nullable|string |
| address | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
}
GET
api/branches/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
}
PUT
api/branches/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| nullable|email | |
| phone | nullable|string |
| address | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Main Branch",
"email": "branch@example.com",
"phone": "01700000000",
"address": "Dhaka, Bangladesh",
"is_active": true
}
}
DELETE
api/branches/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Categories
8 endpoints
GET
api/categories
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/categories
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| parent_id | nullable|integer |
| description | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
}
POST
api/categories/reorder
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| parent_id | nullable|integer |
| description | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
}
GET
api/categories/tree
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/categories/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
}
PUT
api/categories/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| parent_id | nullable|integer |
| description | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
}
DELETE
api/categories/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PUT
api/categories/{id}/toggle-active
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| parent_id | nullable|integer |
| description | nullable|string |
| is_active | boolean |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Electronics",
"parent_id": null,
"children": [],
"is_active": true
}
}
Central
3 endpoints
POST
api/central/login
Request Body
| Field | Type / Rules |
|---|---|
| required|string | |
| password | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"token": "1|abcdef123456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "admin@example.com",
"role": "super-admin",
"permissions": [
"users.view",
"products.view"
]
}
}
}
POST
api/central/tenants/create
Request Body
| Field | Type / Rules |
|---|---|
| id | required|string |
| domain | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"output": "..."
}
}
POST
api/central/tenants/seed
Request Body
| Field | Type / Rules |
|---|---|
| id | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"output": "..."
}
}
Customer Portal
13 endpoints
GET
api/customer-portal/dashboard
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/customer-portal/invoices
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/customer-portal/invoices/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
GET
api/customer-portal/invoices/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
GET
api/customer-portal/ledger
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/customer-portal/payments
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/customer-portal/payments/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/customer-portal/profile
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/customer-portal/profile
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/customer-portal/profile/password
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/customer-portal/vouchers
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/customer-portal/vouchers/{type}/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| type | integer|string |
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/customer-portal/vouchers/{type}/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| type | integer|string |
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
Dashboard
7 endpoints
GET
api/dashboard/activities
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/charts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/financial
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/inventory
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/manufacturing
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/peoples
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/dashboard/top-products
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
Email Templates
5 endpoints
GET
api/email-templates
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/email-templates
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/email-templates/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/email-templates/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/email-templates/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Geocode
3 endpoints
GET
api/geocode/districts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/geocode/divisions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/geocode/upazilas
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
Import Export
3 endpoints
GET
api/import-export/{module}/export
Path Parameters
| Field | Type / Rules |
|---|---|
| module | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
POST
api/import-export/{module}/import
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/import-export/{module}/template
Path Parameters
| Field | Type / Rules |
|---|---|
| module | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Inventory
8 endpoints
GET
api/inventory/accounts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/inventory/accounts
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
PUT
api/inventory/accounts/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| code | required|string |
| type | required|string |
| nature | required|string (asset|liability|equity|income|expense) |
| description | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Cash Account",
"code": "1001",
"type": "asset",
"nature": "asset",
"balance": 50000
}
}
DELETE
api/inventory/accounts/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/inventory/levels
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/inventory/reports/transactions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/inventory/transactions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/inventory/valuation
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
Invoices
10 endpoints
GET
api/invoices
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/invoices
Request Body
| Field | Type / Rules |
|---|---|
| customer_id | required|integer |
| branch_id | required|integer |
| invoice_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.price | required|number |
| discount | nullable|number |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
GET
api/invoices/next-number
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/invoices/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/invoices/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
PUT
api/invoices/{id}
Request Body
| Field | Type / Rules |
|---|---|
| customer_id | required|integer |
| branch_id | required|integer |
| invoice_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.price | required|number |
| discount | nullable|number |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
DELETE
api/invoices/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/invoices/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
PATCH
api/invoices/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| customer_id | required|integer |
| branch_id | required|integer |
| invoice_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.price | required|number |
| discount | nullable|number |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
PATCH
api/invoices/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| customer_id | required|integer |
| branch_id | required|integer |
| invoice_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.price | required|number |
| discount | nullable|number |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
Manufacturing
52 endpoints
GET
api/manufacturing/boms
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/boms
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/boms/{bom}
Path Parameters
| Field | Type / Rules |
|---|---|
| bom | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/boms/{bom}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/boms/{bom}
Path Parameters
| Field | Type / Rules |
|---|---|
| bom | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/boms/{bom}/lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
POST
api/manufacturing/boms/{bom}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/finished-goods-stock-entries
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/finished-goods-stock-entries
Request Body
| Field | Type / Rules |
|---|---|
| from_branch_id | required|integer |
| to_branch_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/finished-goods-stock-entries/{finished_goods_stock_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| finished_goods_stock_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/finished-goods-stock-entries/{finished_goods_stock_entry}
Request Body
| Field | Type / Rules |
|---|---|
| from_branch_id | required|integer |
| to_branch_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/finished-goods-stock-entries/{finished_goods_stock_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| finished_goods_stock_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/finished-goods-stock-entries/{finished_goods_stock_entry}/toggle-lock
Request Body
| Field | Type / Rules |
|---|---|
| from_branch_id | required|integer |
| to_branch_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/material-issues
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/material-issues
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/material-issues/bom-requirements/{productionOrderId}
Path Parameters
| Field | Type / Rules |
|---|---|
| productionOrderId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/material-issues/{material_issue}
Path Parameters
| Field | Type / Rules |
|---|---|
| material_issue | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/material-issues/{material_issue}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/material-issues/{material_issue}
Path Parameters
| Field | Type / Rules |
|---|---|
| material_issue | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/material-issues/{material_issue}/lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
POST
api/manufacturing/material-issues/{material_issue}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/process-stages
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
DELETE
api/manufacturing/process-stages
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/manufacturing/production-completion-reports
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/production-completion-reports
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/production-completion-reports/{production_completion_report}
Path Parameters
| Field | Type / Rules |
|---|---|
| production_completion_report | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/production-completion-reports/{production_completion_report}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/production-completion-reports/{production_completion_report}
Path Parameters
| Field | Type / Rules |
|---|---|
| production_completion_report | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/production-completion-reports/{production_completion_report}/toggle-lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/production-lines
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
DELETE
api/manufacturing/production-lines
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/manufacturing/production-orders
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/production-orders
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/production-orders/{production_order}
Path Parameters
| Field | Type / Rules |
|---|---|
| production_order | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/production-orders/{production_order}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/production-orders/{production_order}
Path Parameters
| Field | Type / Rules |
|---|---|
| production_order | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/production-orders/{production_order}/lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/production-orders/{production_order}/raw-material-cost
Path Parameters
| Field | Type / Rules |
|---|---|
| production_order | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
POST
api/manufacturing/production-orders/{production_order}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/waste-scrap-entries
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/waste-scrap-entries
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/waste-scrap-entries/{waste_scrap_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| waste_scrap_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/waste-scrap-entries/{waste_scrap_entry}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/waste-scrap-entries/{waste_scrap_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| waste_scrap_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/waste-scrap-entries/{waste_scrap_entry}/toggle-lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/wip-entries
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/manufacturing/wip-entries
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
GET
api/manufacturing/wip-entries/stages
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/manufacturing/wip-entries/{wip_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| wip_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
PUT
api/manufacturing/wip-entries/{wip_entry}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
DELETE
api/manufacturing/wip-entries/{wip_entry}
Path Parameters
| Field | Type / Rules |
|---|---|
| wip_entry | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/manufacturing/wip-entries/{wip_entry}/toggle-lock
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| product_id | required|integer |
| quantity | required|number |
| branch_id | required|integer |
| materials | required|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Production Order #1",
"quantity": 100,
"status": "in_progress",
"branch_id": 1
}
}
Media
6 endpoints
GET
api/media
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"filename": "photo.webp",
"urls": {
"large": "\/storage\/media\/large\/photo.webp",
"medium": "\/storage\/media\/medium\/photo.webp",
"small": "\/storage\/media\/small\/photo.webp"
}
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/media
Request Body
| Field | Type / Rules |
|---|---|
| file | required|file (image) |
| alt | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"filename": "photo.webp",
"urls": {
"large": "\/storage\/media\/large\/photo.webp",
"medium": "\/storage\/media\/medium\/photo.webp",
"small": "\/storage\/media\/small\/photo.webp"
}
}
}
GET
api/media/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"filename": "photo.webp",
"urls": {
"large": "\/storage\/media\/large\/photo.webp",
"medium": "\/storage\/media\/medium\/photo.webp",
"small": "\/storage\/media\/small\/photo.webp"
}
}
}
PUT
api/media/{id}
Request Body
| Field | Type / Rules |
|---|---|
| file | required|file (image) |
| alt | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"filename": "photo.webp",
"urls": {
"large": "\/storage\/media\/large\/photo.webp",
"medium": "\/storage\/media\/medium\/photo.webp",
"small": "\/storage\/media\/small\/photo.webp"
}
}
}
DELETE
api/media/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/media/{id}/restore
Request Body
| Field | Type / Rules |
|---|---|
| file | required|file (image) |
| alt | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"filename": "photo.webp",
"urls": {
"large": "\/storage\/media\/large\/photo.webp",
"medium": "\/storage\/media\/medium\/photo.webp",
"small": "\/storage\/media\/small\/photo.webp"
}
}
}
Peoples
16 endpoints
GET
api/peoples
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/peoples
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| required|email | |
| password | nullable|string |
| phone | nullable|string |
| type | required|string (customer|supplier|employee|staff) |
| roles | nullable|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
POST
api/peoples/password-reset
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| required|email | |
| password | nullable|string |
| phone | nullable|string |
| type | required|string (customer|supplier|employee|staff) |
| roles | nullable|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
GET
api/peoples/password-reset/verify/{token}
Path Parameters
| Field | Type / Rules |
|---|---|
| token | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
POST
api/peoples/share-link/set-password/{token}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| required|email | |
| password | nullable|string |
| phone | nullable|string |
| type | required|string (customer|supplier|employee|staff) |
| roles | nullable|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
GET
api/peoples/share-link/verify/{token}
Path Parameters
| Field | Type / Rules |
|---|---|
| token | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
GET
api/peoples/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
POST
api/peoples/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| required|email | |
| password | nullable|string |
| phone | nullable|string |
| type | required|string (customer|supplier|employee|staff) |
| roles | nullable|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
DELETE
api/peoples/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/peoples/{id}/password-reset-link
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
GET
api/peoples/{id}/sessions
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
DELETE
api/peoples/{id}/sessions
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
DELETE
api/peoples/{id}/sessions/{sessionId}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
| sessionId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/peoples/{id}/share-link
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
GET
api/peoples/{userId}/addresses
Path Parameters
| Field | Type / Rules |
|---|---|
| userId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
POST
api/peoples/{userId}/addresses
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| required|email | |
| password | nullable|string |
| phone | nullable|string |
| type | required|string (customer|supplier|employee|staff) |
| roles | nullable|array |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "+880...",
"type": "customer",
"roles": [
{
"id": 1,
"name": "Customer"
}
],
"created_at": "2026-01-01"
}
}
Permission
6 endpoints
GET
api/permission/roles
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Manager",
"slug": "manager",
"permissions": [
"users.view",
"products.view"
],
"users_count": 5
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/permission/roles
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| description | nullable|string |
| permissions | required|array (permission slugs) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Manager",
"slug": "manager",
"permissions": [
"users.view",
"products.view"
],
"users_count": 5
}
}
GET
api/permission/roles/permissions
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Manager",
"slug": "manager",
"permissions": [
"users.view",
"products.view"
],
"users_count": 5
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/permission/roles/{role}
Path Parameters
| Field | Type / Rules |
|---|---|
| role | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Manager",
"slug": "manager",
"permissions": [
"users.view",
"products.view"
],
"users_count": 5
}
}
PUT
api/permission/roles/{role}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| description | nullable|string |
| permissions | required|array (permission slugs) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Manager",
"slug": "manager",
"permissions": [
"users.view",
"products.view"
],
"users_count": 5
}
}
DELETE
api/permission/roles/{role}
Path Parameters
| Field | Type / Rules |
|---|---|
| role | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Products
13 endpoints
GET
api/products
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/products
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| type | required|string (simple|variable|grouped|affiliate) |
| category_ids | nullable|array |
| description | nullable|string |
| status | required|string (active|inactive) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
GET
api/products/units
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
DELETE
api/products/units
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/products/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
PUT
api/products/{id}
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| type | required|string (simple|variable|grouped|affiliate) |
| category_ids | nullable|array |
| description | nullable|string |
| status | required|string (active|inactive) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
DELETE
api/products/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/products/{id}/duplicate
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
| type | required|string (simple|variable|grouped|affiliate) |
| category_ids | nullable|array |
| description | nullable|string |
| status | required|string (active|inactive) |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
GET
api/products/{productId}/variants
Path Parameters
| Field | Type / Rules |
|---|---|
| productId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
POST
api/products/{productId}/variants
Request Body
| Field | Type / Rules |
|---|---|
| sku | required|string |
| price | required|number |
| sale_price | nullable|number |
| cost_price | nullable|number |
| stock | required|integer |
| image_id | nullable|integer |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
POST
api/products/{productId}/variants/generate
Request Body
| Field | Type / Rules |
|---|---|
| sku | required|string |
| price | required|number |
| sale_price | nullable|number |
| cost_price | nullable|number |
| stock | required|integer |
| image_id | nullable|integer |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
PUT
api/products/{productId}/variants/{variantId}
Request Body
| Field | Type / Rules |
|---|---|
| sku | required|string |
| price | required|number |
| sale_price | nullable|number |
| cost_price | nullable|number |
| stock | required|integer |
| image_id | nullable|integer |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
DELETE
api/products/{productId}/variants/{variantId}
Path Parameters
| Field | Type / Rules |
|---|---|
| productId | integer|string |
| variantId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
Purchase Bills
10 endpoints
GET
api/purchase-bills
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/purchase-bills
Request Body
| Field | Type / Rules |
|---|---|
| supplier_id | required|integer |
| branch_id | required|integer |
| bill_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.cost_price | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/purchase-bills/next-number
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/purchase-bills/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/purchase-bills/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/purchase-bills/{id}
Request Body
| Field | Type / Rules |
|---|---|
| supplier_id | required|integer |
| branch_id | required|integer |
| bill_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.cost_price | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/purchase-bills/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
GET
api/purchase-bills/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PATCH
api/purchase-bills/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| supplier_id | required|integer |
| branch_id | required|integer |
| bill_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.cost_price | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PATCH
api/purchase-bills/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| supplier_id | required|integer |
| branch_id | required|integer |
| bill_date | required|date |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| items.*.cost_price | required|number |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Purchase Returns
11 endpoints
GET
api/purchase-returns
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/purchase-returns
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/purchase-returns/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/purchase-returns/supplier/{supplierId}/bills
Path Parameters
| Field | Type / Rules |
|---|---|
| supplierId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/purchase-returns/supplier/{supplierId}/products
Path Parameters
| Field | Type / Rules |
|---|---|
| supplierId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
GET
api/purchase-returns/supplier/{supplierId}/returnable-items
Path Parameters
| Field | Type / Rules |
|---|---|
| supplierId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/purchase-returns/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/purchase-returns/{id}
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/purchase-returns/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/purchase-returns/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PATCH
api/purchase-returns/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Pwa
3 endpoints
GET
api/pwa/manifest
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/pwa/settings
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/pwa/settings
Request Body
| Field | Type / Rules |
|---|---|
| app_name | required|string |
| short_name | required|string |
| theme_color | required|string |
| background_color | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Reports
13 endpoints
GET
api/reports/balance-sheet
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/cash-flow
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/cashbook
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/customer-statement
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/income-statement
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/payable
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/purchase
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/purchase-items
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/receivable
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/sales
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/sales-items
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/sales-tax
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/reports/supplier-statement
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
Sale Returns
12 endpoints
GET
api/sale-returns
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/sale-returns
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/sale-returns/customer/{clientId}/invoices
Path Parameters
| Field | Type / Rules |
|---|---|
| clientId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"invoice_number": "INV-0001",
"customer": {
"id": 1,
"name": "Customer Name"
},
"total": 5000,
"status": "paid",
"invoice_date": "2026-03-08",
"items": [
{
"variant_id": 1,
"name": "Product A",
"quantity": 2,
"price": 2500
}
]
}
}
GET
api/sale-returns/customer/{clientId}/products
Path Parameters
| Field | Type / Rules |
|---|---|
| clientId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"name": "Product Name",
"type": "simple",
"status": "active",
"categories": [
{
"id": 1,
"name": "Category A"
}
],
"variants": [
{
"id": 1,
"sku": "SKU-001",
"price": 500,
"stock": 100
}
]
}
}
GET
api/sale-returns/customer/{clientId}/returnable-items
Path Parameters
| Field | Type / Rules |
|---|---|
| clientId | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/sale-returns/next-number
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/sale-returns/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/sale-returns/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/sale-returns/{id}
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
DELETE
api/sale-returns/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/sale-returns/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PATCH
api/sale-returns/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| original_id | required|integer |
| items | required|array |
| items.*.variant_id | required|integer |
| items.*.quantity | required|number |
| reason | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Supplier Portal
13 endpoints
GET
api/supplier-portal/bills
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/supplier-portal/bills/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/supplier-portal/bills/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/supplier-portal/dashboard
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/supplier-portal/ledger
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/supplier-portal/payments
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/supplier-portal/payments/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/supplier-portal/profile
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/supplier-portal/profile
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
PUT
api/supplier-portal/profile/password
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/supplier-portal/vouchers
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/supplier-portal/vouchers/{type}/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| type | integer|string |
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/supplier-portal/vouchers/{type}/{id}/download
Path Parameters
| Field | Type / Rules |
|---|---|
| type | integer|string |
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
System
3 endpoints
GET
api/system/settings
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"timezone": "Asia\/Dhaka",
"currency_symbol": "ΰ§³",
"date_format": "d M, Y",
"time_format": "h:i a"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/system/settings
Request Body
| Field | Type / Rules |
|---|---|
| key | required|string |
| value | required |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"timezone": "Asia\/Dhaka",
"currency_symbol": "ΰ§³",
"date_format": "d M, Y",
"time_format": "h:i a"
}
}
POST
api/system/system-reset
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
User
1 endpoint
GET
api/user
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
User Activities
2 endpoints
POST
api/user-activities
Request Body
| Field | Type / Rules |
|---|---|
| name | required|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
GET
api/user-activities/{type}
Path Parameters
| Field | Type / Rules |
|---|---|
| type | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
}
Variants
2 endpoints
GET
api/variants/search
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"created_at": "2026-03-08T07:30:00Z",
"updated_at": "2026-03-08T07:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/variants/{variantId}/adjust-stock
Request Body
| Field | Type / Rules |
|---|---|
| quantity | required|integer |
| type | required|string (add|remove|set) |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
Voucher
8 endpoints
GET
api/voucher/stock-adj
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/voucher/stock-adj
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
GET
api/voucher/stock-adj/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/voucher/stock-adj/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
PUT
api/voucher/stock-adj/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
DELETE
api/voucher/stock-adj/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/voucher/stock-adj/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
PATCH
api/voucher/stock-adj/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
Vouchers
74 endpoints
GET
api/vouchers/advances
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/advances
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/advances/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/advances/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/advances/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/advances/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/advances/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/advances/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/contras
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/contras
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/contras/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/contras/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/contras/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/contras/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/contras/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/contras/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/defaults
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
PUT
api/vouchers/defaults
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/expenses
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/expenses
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/expenses/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/expenses/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/expenses/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/expenses/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/expenses/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/expenses/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/journals
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/journals
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/journals/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/journals/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/journals/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/journals/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/journals/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/journals/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/payments
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/payments
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/payments/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/payments/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/payments/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/payments/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/payments/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/payments/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/receipts
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/receipts
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/receipts/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/receipts/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/receipts/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/receipts/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/receipts/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/receipts/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/refunds
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/refunds
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/refunds/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/refunds/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/refunds/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/refunds/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
PATCH
api/vouchers/refunds/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PATCH
api/vouchers/refunds/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/salaries
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/salaries
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/salaries/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/salaries/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
PUT
api/vouchers/salaries/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
DELETE
api/vouchers/salaries/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/vouchers/salaries/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
POST
api/vouchers/salaries/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"type": "payment",
"amount": 5000,
"reference": "VCH-0001",
"status": "posted"
}
}
GET
api/vouchers/stock-transfers
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
POST
api/vouchers/stock-transfers
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
GET
api/vouchers/stock-transfers/setup
Query Parameters
| Field | Type / Rules |
|---|---|
| per_page | integer |
| page | integer |
| search | string |
| sort | string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Data fetched successfully",
"data": {
"items": [
{
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}
GET
api/vouchers/stock-transfers/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
PUT
api/vouchers/stock-transfers/{id}
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Updated successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
DELETE
api/vouchers/stock-transfers/{id}
Path Parameters
| Field | Type / Rules |
|---|---|
| id | integer|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Deleted successfully",
"data": null
}
POST
api/vouchers/stock-transfers/{id}/lock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
POST
api/vouchers/stock-transfers/{id}/unlock
Request Body
| Field | Type / Rules |
|---|---|
| type | required|string |
| amount | required|number |
| reference | nullable|string |
| branch_id | required|integer |
| notes | nullable|string |
Requires
Authorization: Bearer {token} header.
Response Example
200 OK
{
"success": true,
"message": "Created successfully",
"data": {
"id": 1,
"from_branch": "Main Branch",
"to_branch": "Branch 2",
"status": "completed",
"items": [
{
"variant_id": 1,
"quantity": 10
}
]
}
}
No endpoints found
Try adjusting your search query.