Introduction

The Qeei is a B2B SaaS (Software-as-a-Service) platform designed to digitize and streamline the asset valuation process. It operates as a multi-tenant system, meaning a single instance of the software serves multiple companies (tenants), with each company's data kept isolated.


The core concept is to move valuation companies away from manual, paper-based, and Excel-driven workflows to a centralized, online system that manages the entire lifecycle of a valuation request.



Access Requirements


Before using this API, you must obtain your App Key, Secret Key, and the implementation details for X-SIGNATURE from the system administrator.

All API requests must include these credentials; any request without them will be rejected.

Base API URL
https://qeei-backend-admin-dev.dafa.dev/api/v1

Common Errors

A guide to consistent error response formats used across all endpoints.

Error 401 – Unauthorized

The request requires authentication. The user is either not logged in or does not have a valid access token.

Error Response
{
    "message": "Unauthorized",
    "success": false
}

Error 403 – Forbidden

The request was understood, but the server refuses to authorize it. The user does not have permission to perform this action.

Error Response
{
    "message": "You are not allowed to perform this action",
    "success": false
}

Error 404 – Not Found

The requested resource could not be found on the server. It may have been moved or deleted.

Error Response
{
    "message": "Resource not found",
    "success": false
}

Error 405 – Method Not Allowed

The HTTP method used is not supported for this endpoint. Check the allowed request methods.

Error Response
{
    "message": "Method not allowed",
    "success": false
}

Error 419 – Page Expired

The session or CSRF token has expired. Please refresh the page and try again.

Error Response
{
    "message": "Page Expired",
    "success": false
}

Error 422 – Unprocessable Entity

The server understood the request, but the submitted data was invalid. Please review and correct the errors.(Errors may be return array or string)

Error Response
{
    "errors": [],
    "message": "Validation Error",
    "success": false
}

Error 500 – Internal Server Error

An unexpected error occurred on the server. Please try again later or contact support.

Error Response
{
    "message": "Server Error",
    "success": false
}

Mobile API

Budgets

GET /api/v1/mobile/budgets

List Budgets

List my budgets.

Retrieves a list of all budgets the user owns or has access to. Supports filtering by status and type.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "owner_id": 1,
            "name": "Trip Budget Doc",
            "description": null,
            "currency": "SAR",
            "type": "one_time",
            "status": "active",
            "total_amount": 5000,
            "total_expenses": 0,
            "ending_balance": 5000,
            "created_at": "2026-08-26T14:42:03.000000Z",
            "updated_at": "2026-08-26T14:42:03.000000Z",
            "userRole": "owner",
            "is_trashed": false,
            "deleted_at": null
        },
        {
            "id": 2,
            "owner_id": 1,
            "name": "Monthly Budget Doc",
            "description": null,
            "currency": "SAR",
            "type": "scheduled",
            "status": "active",
            "total_amount": 3000,
            "total_expenses": 0,
            "ending_balance": 3000,
            "created_at": "2026-08-26T14:42:03.000000Z",
            "updated_at": "2026-08-26T14:42:03.000000Z",
            "userRole": "owner",
            "is_trashed": false,
            "deleted_at": null
        }
    ],
    "message": "Budgets retrieved successfully",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
POST /api/v1/mobile/budgets

Create Budget

Initialise a new budget.

Create a new budget. Requires specifying the name, overall limit, and budget type (one-time or scheduled).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string New Project Budget
currency string USD
type string one_time
description string Documentation test budget

Request Validations Or Notes

Field/Name Examples
name required, string, min 2, max 100, EnglishLetters, Unique
description optional, string
currency required, string
type required, enum: one_time, scheduled
status optional, enum: active, finished, hidden
total_amount optional, number, min 0
Success (200 OK)
{
    "data": {
        "id": 3,
        "owner_id": 1,
        "name": "New Project Budget",
        "description": "Documentation test budget",
        "currency": "USD",
        "type": "one_time",
        "status": "active",
        "total_amount": 0,
        "total_expenses": 0,
        "ending_balance": null,
        "created_at": "2026-08-26T14:42:04.000000Z",
        "updated_at": "2026-08-26T14:42:04.000000Z",
        "userRole": null,
        "is_trashed": false,
        "deleted_at": null
    },
    "message": "Budget created successfully",
    "success": true
}
GET /api/v1/mobile/budgets/shared-with-me

Shared With Me

Budgets shared by others.

List budgets that other users have shared with you.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Budgets shared with you retrieved",
    "success": true
}
POST /api/v1/mobile/budgets/3/transactions/income

Add Income

Record income.

Directly record an income transaction. This is a helper endpoint that forces the transaction type to income.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
amount integer 500

Request Validations Or Notes

Field/Name Examples
type optional, allowed: income, expense
amount required, number, min 0.01
description optional, string, max 255
category optional, string, max 50
account optional, string, max 100
date optional, date (YYYY-MM-DD)
time optional, date format H:i
additionalDate optional, date (YYYY-MM-DD)
photo optional, file, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
Success (200 OK)
{
    "data": {
        "transaction": {
            "id": 3,
            "budget_id": "3",
            "type": "income",
            "amount": 500,
            "description": null,
            "category": null,
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": "14:42",
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        },
        "newEndingBalance": 5500
    },
    "message": "Income recorded successfully",
    "success": true
}
POST /api/v1/mobile/budgets/3/transactions/expense

Add Expense

Record expense.

Directly record an expense transaction. This is a helper endpoint that forces the transaction type to expense.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
amount integer 50
description string Buying milk and eggs
category string Food
date string 2026-08-26
time string 11:46

Request Validations Or Notes

Field/Name Examples
type optional, allowed: income, expense
amount required, number, min 0.01
description optional, string, max 255
category optional, string, max 50
account optional, string, max 100
date optional, date (YYYY-MM-DD)
time optional, date format H:i
additionalDate optional, date (YYYY-MM-DD)
photo optional, file, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
Success (200 OK)
{
    "data": {
        "transaction": {
            "id": 4,
            "budget_id": "3",
            "type": "expense",
            "amount": 50,
            "description": "Buying milk and eggs",
            "category": "Food",
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": "11:46",
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        },
        "newEndingBalance": 5450
    },
    "message": "Expense recorded successfully",
    "success": true
}
GET /api/v1/mobile/budgets/3/transactions

List Transactions

List budget history.

Retrieves a list of transactions for a specific budget. Supports date range filtering, category filtering, and listing trashed transactions.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 2,
            "budget_id": 3,
            "type": "expense",
            "amount": 50,
            "description": "Initial Expense",
            "category": "Food",
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": null,
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        },
        {
            "id": 3,
            "budget_id": 3,
            "type": "income",
            "amount": 500,
            "description": null,
            "category": null,
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": "14:42:00",
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        },
        {
            "id": 4,
            "budget_id": 3,
            "type": "expense",
            "amount": 50,
            "description": "Buying milk and eggs",
            "category": "Food",
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": "11:46:00",
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        }
    ],
    "message": "Transactions retrieved",
    "success": true,
    "summary": {
        "totalAmount": 500,
        "endingBalance": 400,
        "totalIncome": 500,
        "totalExpenses": 100
    },
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
POST /api/v1/mobile/budgets/3/split

Split Budget

Divide costs with others.

Distribute the budget total amount among multiple users as allocations.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
splits array [{"userId":4,"amount":2500,"percentage":50},{"userId":1,"amount":2500,"percentage":50}]

Request Validations Or Notes

Field/Name Examples
splits required, array, min 1
splits[].userId optional, exists users,id
splits[].amount required, number, min 0
splits[].percentage required, number, min 0, max 100
Success (200 OK)
{
    "data": {
        "splits": [
            {
                "id": 1,
                "budget_id": 3,
                "user_id": 4,
                "amount": "2500.00",
                "percentage": "50.00",
                "created_at": "2026-08-26T14:42:05.000000Z",
                "updated_at": "2026-08-26T14:42:05.000000Z",
                "user": {
                    "id": 4,
                    "name": "John Doe",
                    "email": "user2@demo.com",
                    "country_id": null,
                    "phone": "01211172289",
                    "phone_verified_at": null,
                    "avatar": null,
                    "postal_code": null,
                    "main_address": null,
                    "last_login_at": null,
                    "is_active": true,
                    "change_password_token": null,
                    "change_password_expired_at": null,
                    "deleted_at": null,
                    "created_at": "2026-08-26T14:42:03.000000Z",
                    "updated_at": "2026-08-26T14:42:03.000000Z",
                    "failed_login_attempts": 0,
                    "locked_until": null
                }
            },
            {
                "id": 2,
                "budget_id": 3,
                "user_id": 1,
                "amount": "2500.00",
                "percentage": "50.00",
                "created_at": "2026-08-26T14:42:05.000000Z",
                "updated_at": "2026-08-26T14:42:05.000000Z",
                "user": {
                    "id": 1,
                    "name": "Updated User Name",
                    "email": "updated_email@example.com",
                    "country_id": null,
                    "phone": "01011113333",
                    "phone_verified_at": null,
                    "avatar": null,
                    "postal_code": null,
                    "main_address": null,
                    "last_login_at": null,
                    "is_active": true,
                    "change_password_token": null,
                    "change_password_expired_at": null,
                    "deleted_at": null,
                    "created_at": "2026-08-26T14:41:46.000000Z",
                    "updated_at": "2026-08-26T14:41:52.000000Z",
                    "failed_login_attempts": 0,
                    "locked_until": null
                }
            }
        ],
        "totalAmount": 5000
    },
    "message": "Splits updated successfully",
    "success": true
}
GET /api/v1/mobile/budgets/3/split

View Splits

View split info.

View how a specific budget is divided among collaborators.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "budget": {
            "id": 3,
            "owner_id": 1,
            "name": "New Project Budget",
            "description": "Documentation test budget",
            "currency": "USD",
            "type": "one_time",
            "status": "active",
            "total_amount": 5000,
            "total_expenses": 50,
            "ending_balance": 4950,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:05.000000Z",
            "deleted_at": null,
            "userRole": "owner"
        },
        "splits": [
            {
                "id": 1,
                "budget_id": 3,
                "user_id": 4,
                "amount": "2500.00",
                "percentage": "50.00",
                "created_at": "2026-08-26T14:42:05.000000Z",
                "updated_at": "2026-08-26T14:42:05.000000Z",
                "user": {
                    "id": 4,
                    "name": "John Doe",
                    "email": "user2@demo.com",
                    "country_id": null,
                    "phone": "01211172289",
                    "phone_verified_at": null,
                    "avatar": null,
                    "postal_code": null,
                    "main_address": null,
                    "last_login_at": null,
                    "is_active": true,
                    "change_password_token": null,
                    "change_password_expired_at": null,
                    "deleted_at": null,
                    "created_at": "2026-08-26T14:42:03.000000Z",
                    "updated_at": "2026-08-26T14:42:03.000000Z",
                    "failed_login_attempts": 0,
                    "locked_until": null
                }
            },
            {
                "id": 2,
                "budget_id": 3,
                "user_id": 1,
                "amount": "2500.00",
                "percentage": "50.00",
                "created_at": "2026-08-26T14:42:05.000000Z",
                "updated_at": "2026-08-26T14:42:05.000000Z",
                "user": {
                    "id": 1,
                    "name": "Updated User Name",
                    "email": "updated_email@example.com",
                    "country_id": null,
                    "phone": "01011113333",
                    "phone_verified_at": null,
                    "avatar": null,
                    "postal_code": null,
                    "main_address": null,
                    "last_login_at": null,
                    "is_active": true,
                    "change_password_token": null,
                    "change_password_expired_at": null,
                    "deleted_at": null,
                    "created_at": "2026-08-26T14:41:46.000000Z",
                    "updated_at": "2026-08-26T14:41:52.000000Z",
                    "failed_login_attempts": 0,
                    "locked_until": null
                }
            }
        ],
        "totalAmount": 5000,
        "isComplete": true
    },
    "message": "Split details retrieved",
    "success": true
}
GET /api/v1/mobile/budgets/3

Get Budget Details

Retrieve Budget details.

Retrieves detailed information about a specific Budget using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "budget": {
            "id": 3,
            "owner_id": 1,
            "name": "New Project Budget",
            "description": "Documentation test budget",
            "currency": "USD",
            "type": "one_time",
            "status": "active",
            "total_amount": 5000,
            "total_expenses": 50,
            "ending_balance": 4950,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:05.000000Z",
            "userRole": "owner",
            "is_trashed": false,
            "deleted_at": null
        }
    },
    "message": "Budget retrieved",
    "success": true
}
PUT /api/v1/mobile/budgets/3

Update Budget

Update an existing Budget.

Updates the specified Budget with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
total_amount integer 5000

Request Validations Or Notes

Field/Name Examples
name optional, required, string, max 100
description optional, string
currency optional, required, string
type optional, required, enum: one_time, scheduled
status optional, enum: active, finished, hidden
total_amount optional, number, min 0
Success (200 OK)
{
    "data": {
        "id": 3,
        "owner_id": 1,
        "name": "New Project Budget",
        "description": "Documentation test budget",
        "currency": "USD",
        "type": "one_time",
        "status": "active",
        "total_amount": 5000,
        "total_expenses": 50,
        "ending_balance": 4950,
        "created_at": "2026-08-26T14:42:04.000000Z",
        "updated_at": "2026-08-26T14:42:05.000000Z",
        "userRole": null,
        "is_trashed": false,
        "deleted_at": null
    },
    "message": "Budget updated successfully",
    "success": true
}
PUT /api/v1/mobile/budgets/2/hide

hide Budget

Hide a budget.

Updates the budget status to hidden. Hidden budgets are still accessible but may be filtered out from default listings.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "owner_id": 1,
        "name": "Monthly Budget Doc",
        "description": null,
        "currency": "SAR",
        "type": "scheduled",
        "status": "hidden",
        "total_amount": 3000,
        "total_expenses": 0,
        "ending_balance": 3000,
        "created_at": "2026-08-26T14:42:03.000000Z",
        "updated_at": "2026-08-26T14:43:59.000000Z",
        "userRole": null,
        "is_trashed": false,
        "deleted_at": null
    },
    "message": "Budget hidden successfully",
    "success": true
}
GET /api/v1/mobile/budgets/3/transactions/2

Transaction Details

Reveal transaction info.

View details of a specific transaction.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "transaction": {
            "id": 2,
            "budget_id": 3,
            "type": "expense",
            "amount": "50.00",
            "description": "Initial Expense",
            "category": "Food",
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": null,
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:42:04.000000Z"
        },
        "createdBy": "Updated User Name"
    },
    "message": "Transaction details retrieved",
    "success": true
}
PUT /api/v1/mobile/budgets/3/transactions/2

Update Transaction

Edit transaction.

Update transaction details.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
amount integer 600
description string Buying organic milk

Request Validations Or Notes

Field/Name Examples
amount optional, required, number, min 0.01
description optional, string, max 255
category optional, string, max 50
account optional, string, max 100
date optional, required, date (YYYY-MM-DD)
photo optional, file, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
Success (200 OK)
{
    "data": {
        "transaction": {
            "id": 2,
            "budget_id": "3",
            "type": "expense",
            "amount": 600,
            "description": "Buying organic milk",
            "category": "Food",
            "account": null,
            "creation_date": "2026-08-26",
            "creation_time": null,
            "additional_date": null,
            "photo": null,
            "created_at": "2026-08-26T14:42:04.000000Z",
            "updated_at": "2026-08-26T14:44:00.000000Z"
        },
        "updatedBudgetSummary": {
            "totalAmount": 5000,
            "totalExpenses": 600,
            "endingBalance": 4400
        }
    },
    "message": "Transaction updated successfully",
    "success": true
}
POST /api/v1/mobile/splits/2/settle

Settle Split

Settle debt.

Mark a split allocation as settled.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "settled": true
    },
    "message": "Split settled successfully",
    "success": true
}
DELETE /api/v1/mobile/budgets/3

Delete Budget

Delete a Budget.

Deletes the specified Budget from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Budget deleted successfully.",
    "success": true
}
POST /api/v1/mobile/budgets/3/restore

Restore Budget

Restore deleted Budget.

Restore a previously deleted Budget record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "owner_id": 1,
        "name": "New Project Budget",
        "description": "Documentation test budget",
        "currency": "USD",
        "type": "one_time",
        "status": "active",
        "total_amount": 5000,
        "total_expenses": 600,
        "ending_balance": 4400,
        "created_at": "2026-08-26T14:42:04.000000Z",
        "updated_at": "2026-08-26T14:45:52.000000Z",
        "userRole": null,
        "is_trashed": false,
        "deleted_at": null
    },
    "message": "Budget restored successfully",
    "success": true
}
DELETE /api/v1/mobile/budgets/3/transactions/2

Delete Transaction

Delete transaction.

Remove a transaction from the budget.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
null

Asset Documents

GET /api/v1/mobile/asset-folders

Get AssetFolder List

Retrieve a list of AssetFolder.

Retrieves a list of AssetFolder records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Personal & Legal Documents",
            "cover_photo": "https:\/\/127.0.0.1:8000\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
            "documents_count": 3,
            "total_price": 19250.5,
            "active": true,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Folders retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/mobile/asset-folders

Create AssetFolder

Create a new AssetFolder.

Creates a new AssetFolder in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Insurance Policies

Request Validations Or Notes

Field/Name Examples
name required, string, min 3, max 50, EnglishLetters
cover_photo optional, image, max 5120 KB (upload)
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Insurance Policies",
        "cover_photo": null,
        "documents_count": 0,
        "total_price": 0,
        "active": true,
        "created_at": "2026-08-26",
        "documents": []
    },
    "message": "Folder created successfully.",
    "success": true
}
GET /api/v1/mobile/asset-docs

Get AssetDoc List

Retrieve a list of AssetDoc.

Retrieves a list of AssetDoc records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "asset_folder_id": 1,
            "name": "Apartment Lease Agreement",
            "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
            "start_date": "2025-01-01",
            "end_date": "2025-12-31",
            "reminder": 30,
            "value": "18000.00",
            "currency": "USD",
            "photos": [
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
            ],
            "documents": [
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
            ],
            "active": true,
            "created_at": "2026-08-26"
        },
        {
            "id": 2,
            "asset_folder_id": 1,
            "name": "Comprehensive Car Insurance",
            "description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
            "start_date": "2025-03-15",
            "end_date": "2026-03-14",
            "reminder": 14,
            "value": "1250.50",
            "currency": "USD",
            "photos": [
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
            ],
            "documents": [
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
            ],
            "active": true,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "asset_folder_id": 1,
            "name": "Passport",
            "description": "Primary international travel document. Renewal reminder set 90 days before expiry.",
            "start_date": "2021-06-01",
            "end_date": "2031-05-31",
            "reminder": 90,
            "value": null,
            "currency": null,
            "photos": [
                "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
            ],
            "documents": [],
            "active": true,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Documents retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
POST /api/v1/mobile/asset-docs

Create AssetDoc

Create a new AssetDoc.

Creates a new AssetDoc in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
asset_folder_id integer 1
name string Health Insurance Policy
description string Family health insurance plan covering 4 members, including dental and optical coverage.
start_date string 2025-02-01
end_date string 2026-01-31
reminder integer 21
value integer 3600
currency string USD
photos_files array []
document_files array []

Request Validations Or Notes

Field/Name Examples
asset_folder_id optional, Exists
name required, string, min 3, max 100, EnglishLetters
description optional, string
start_date optional, date (YYYY-MM-DD)
end_date optional, date (YYYY-MM-DD), on or after start_date
reminder optional, integer, min 0
value optional, number, max 999999999999
currency optional, string, max 10
photos_files optional, array, max 20
photos_files[] required, image, file types: jpg,jpeg,png,webp,heic, max 10240 KB (upload)
document_files optional, array
document_files[] required, file, file types: pdf,xls,xlsx,csv,doc,docx,txt,ppt,pptx, max 5120 KB (upload)
Success (200 OK)
{
    "data": {
        "id": 4,
        "asset_folder_id": 1,
        "name": "Health Insurance Policy",
        "description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
        "start_date": "2025-02-01",
        "end_date": "2026-01-31",
        "reminder": 21,
        "value": "3600.00",
        "currency": "USD",
        "photos": [],
        "documents": [],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document created successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/move

Move Documents

Bulk move documents.

Move one or more documents to a different folder.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
document_ids array [1]
target_folder_id integer 1

Request Validations Or Notes

Field/Name Examples
document_ids required, array
document_ids[] exists:asset_docs,id
target_folder_id required, exists asset_folders,id
Success (200 OK)
{
    "data": [],
    "message": "Documents moved successfully.",
    "success": true
}
GET /api/v1/mobile/asset-docs/1/download

Download Document

Download document files.

Get downloadable URLs for a document's photos and attached files.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Apartment Lease Agreement",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ]
    },
    "message": "Document files retrieved successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/1/duplicate

Duplicate Document

Duplicate a document.

Duplicate a document (copies fields and media; name suffixed with " (Copy)").

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 5,
        "asset_folder_id": 1,
        "name": "Apartment Lease Agreement (Copy)",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document duplicated successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/1/archive

Archive Document

Archive a document.

Archive a document (active=false). Distinct from soft-delete: the row stays queryable.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "asset_folder_id": 1,
        "name": "Apartment Lease Agreement",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": false,
        "created_at": "2026-08-26"
    },
    "message": "Document archived successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/1/unarchive

Unarchive Document

Unarchive a document.

Unarchive a document (active=true).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "asset_folder_id": 1,
        "name": "Apartment Lease Agreement",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document unarchived successfully.",
    "success": true
}
GET /api/v1/mobile/asset-folders/1

Get AssetFolder Details

Retrieve AssetFolder details.

Retrieves detailed information about a specific AssetFolder using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Personal & Legal Documents",
        "cover_photo": "https:\/\/127.0.0.1:8000\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
        "documents_count": 5,
        "total_price": 40850.5,
        "active": true,
        "created_at": "2026-08-26",
        "documents": [
            {
                "id": 1,
                "asset_folder_id": 1,
                "name": "Apartment Lease Agreement",
                "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
                "start_date": "2025-01-01",
                "end_date": "2025-12-31",
                "reminder": 30,
                "value": "18000.00",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 2,
                "asset_folder_id": 1,
                "name": "Comprehensive Car Insurance",
                "description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
                "start_date": "2025-03-15",
                "end_date": "2026-03-14",
                "reminder": 14,
                "value": "1250.50",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 3,
                "asset_folder_id": 1,
                "name": "Passport",
                "description": "Primary international travel document. Renewal reminder set 90 days before expiry.",
                "start_date": "2021-06-01",
                "end_date": "2031-05-31",
                "reminder": 90,
                "value": null,
                "currency": null,
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
                ],
                "documents": [],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 4,
                "asset_folder_id": 1,
                "name": "Health Insurance Policy",
                "description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
                "start_date": "2025-02-01",
                "end_date": "2026-01-31",
                "reminder": 21,
                "value": "3600.00",
                "currency": "USD",
                "photos": [],
                "documents": [],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 5,
                "asset_folder_id": 1,
                "name": "Apartment Lease Agreement (Copy)",
                "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
                "start_date": "2025-01-01",
                "end_date": "2025-12-31",
                "reminder": 30,
                "value": "18000.00",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            }
        ]
    },
    "message": "Folder retrieved successfully.",
    "success": true
}
PUT /api/v1/mobile/asset-folders/1

Update AssetFolder

Update an existing AssetFolder.

Updates the specified AssetFolder with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Personal Legal and Financial Documents

Request Validations Or Notes

Field/Name Examples
name optional, string, min 3, max 100, EnglishLetters
cover_photo optional, image, max 5120 KB (upload)
delete_cover_photo optional, true/false
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Personal Legal and Financial Documents",
        "cover_photo": "https:\/\/127.0.0.1:8000\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
        "documents_count": 5,
        "total_price": 40850.5,
        "active": true,
        "created_at": "2026-08-26",
        "documents": [
            {
                "id": 1,
                "asset_folder_id": 1,
                "name": "Apartment Lease Agreement",
                "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
                "start_date": "2025-01-01",
                "end_date": "2025-12-31",
                "reminder": 30,
                "value": "18000.00",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 2,
                "asset_folder_id": 1,
                "name": "Comprehensive Car Insurance",
                "description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
                "start_date": "2025-03-15",
                "end_date": "2026-03-14",
                "reminder": 14,
                "value": "1250.50",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 3,
                "asset_folder_id": 1,
                "name": "Passport",
                "description": "Primary international travel document. Renewal reminder set 90 days before expiry.",
                "start_date": "2021-06-01",
                "end_date": "2031-05-31",
                "reminder": 90,
                "value": null,
                "currency": null,
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
                ],
                "documents": [],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 4,
                "asset_folder_id": 1,
                "name": "Health Insurance Policy",
                "description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
                "start_date": "2025-02-01",
                "end_date": "2026-01-31",
                "reminder": 21,
                "value": "3600.00",
                "currency": "USD",
                "photos": [],
                "documents": [],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 5,
                "asset_folder_id": 1,
                "name": "Apartment Lease Agreement (Copy)",
                "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
                "start_date": "2025-01-01",
                "end_date": "2025-12-31",
                "reminder": 30,
                "value": "18000.00",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            }
        ]
    },
    "message": "Folder updated successfully.",
    "success": true
}
DELETE /api/v1/mobile/asset-folders/1

Delete AssetFolder

Delete a AssetFolder.

Deletes the specified AssetFolder from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Folder deleted successfully.",
    "success": true
}
GET /api/v1/mobile/asset-docs/6

Get AssetDoc Details

Retrieve AssetDoc details.

Retrieves detailed information about a specific AssetDoc using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 6,
        "asset_folder_id": 3,
        "name": "Apartment Lease Agreement",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document retrieved successfully.",
    "success": true
}
PUT /api/v1/mobile/asset-docs/6

Update AssetDoc

Update an existing AssetDoc.

Updates the specified AssetDoc with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Contract V2
document_files array []
deleted_photos array []
deleted_documents array []

Request Validations Or Notes

Field/Name Examples
asset_folder_id optional, Exists
name optional, string, min 3, max 100, EnglishLetters
description optional, string
start_date optional, date (YYYY-MM-DD)
end_date optional, date (YYYY-MM-DD), on or after start_date
reminder optional, integer, min 0
value optional, number, min 0.01, max 999999999999
currency optional, string, max 10
photos_files optional, array, max 6
photos_files[] required, image, file types: jpg,jpeg,png,webp,heic, max 10240 KB (upload)
document_files optional, array
document_files[] required, file, file types: pdf,xls,xlsx,csv,doc,docx,txt,ppt,pptx, max 5120 KB (upload)
deleted_photos optional, array
deleted_photos[] optional, string
deleted_documents optional, array
deleted_documents[] optional, string
Success (200 OK)
{
    "data": {
        "id": 6,
        "asset_folder_id": 3,
        "name": "Contract V2",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document updated successfully.",
    "success": true
}
DELETE /api/v1/mobile/asset-docs/6

Delete AssetDoc

Delete a AssetDoc.

Deletes the specified AssetDoc from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Document deleted successfully.",
    "success": true
}
POST /api/v1/mobile/asset-folders/3/restore

Restore AssetFolder

Restore deleted AssetFolder.

Restore a previously deleted AssetFolder record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Personal & Legal Documents",
        "cover_photo": "https:\/\/127.0.0.1:8000\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
        "documents_count": 3,
        "total_price": 19250.5,
        "active": true,
        "created_at": "2026-08-26",
        "documents": [
            {
                "id": 7,
                "asset_folder_id": 3,
                "name": "Comprehensive Car Insurance",
                "description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
                "start_date": "2025-03-15",
                "end_date": "2026-03-14",
                "reminder": 14,
                "value": "1250.50",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 8,
                "asset_folder_id": 3,
                "name": "Passport",
                "description": "Primary international travel document. Renewal reminder set 90 days before expiry.",
                "start_date": "2021-06-01",
                "end_date": "2031-05-31",
                "reminder": 90,
                "value": null,
                "currency": null,
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
                ],
                "documents": [],
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 9,
                "asset_folder_id": 3,
                "name": "Apartment Lease Agreement",
                "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
                "start_date": "2025-01-01",
                "end_date": "2025-12-31",
                "reminder": 30,
                "value": "18000.00",
                "currency": "USD",
                "photos": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
                ],
                "documents": [
                    "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
                ],
                "active": true,
                "created_at": "2026-08-26"
            }
        ]
    },
    "message": "Folder restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/asset-folders/3/force

Permanently Delete AssetFolder

Force delete AssetFolder.

Permanently remove the AssetFolder record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Folder permanently deleted.",
    "success": true
}
POST /api/v1/mobile/asset-docs/delete-many

Bulk Delete AssetDoc

Bulk delete AssetDoc.

Delete multiple AssetDoc records from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
documents array [10]
Success (200 OK)
{
    "data": [],
    "message": "Documents deleted successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/move-to-main-directory

Move AssetDoc to Main Directory

Move AssetDoc to main directory.

Move the specified AssetDoc records to the main directory.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
documents array [10]
Success (200 OK)
{
    "data": [],
    "message": "Documents moved to main directory successfully.",
    "success": true
}
POST /api/v1/mobile/asset-docs/10/restore

Restore AssetDoc

Restore deleted AssetDoc.

Restore a previously deleted AssetDoc record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 10,
        "asset_folder_id": 4,
        "name": "Apartment Lease Agreement",
        "description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
        "start_date": "2025-01-01",
        "end_date": "2025-12-31",
        "reminder": 30,
        "value": "18000.00",
        "currency": "USD",
        "photos": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
        ],
        "documents": [
            "https:\/\/127.0.0.1:8000\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
        ],
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Document restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/asset-docs/10/force

Permanently Delete AssetDoc

Force delete AssetDoc.

Permanently remove the AssetDoc record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Document permanently deleted.",
    "success": true
}

Categories

GET /api/v1/mobile/categories

Get All Categories (Mobile)

List categories (mobile).

Mobile app: retrieve the list of categories.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/mobile/categories/1

Get Category (Mobile)

Show category (mobile).

Mobile app: retrieve a single category by id.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "",
        "description": "",
        "translate": {
            "name": {
                "ar": "",
                "en": ""
            },
            "description": {
                "ar": "",
                "en": ""
            }
        },
        "icon": "test-icon.png",
        "status": true,
        "service_no": 1,
        "valuers": 1,
        "created_at": "2026-08-26"
    },
    "message": "Data retrieved successfully.",
    "success": true
}

Static Pages

GET /api/v1/mobile/pages/about_us

Get Pages By Type (Mobile)

List pages by type (mobile).

Mobile app: retrieve static pages of a given type.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "about_us",
            "name": "",
            "content": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "content": {
                    "ar": "",
                    "en": ""
                }
            },
            "is_active": true,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/mobile/pages/about_us/1

Get Page (Mobile)

Show page (mobile).

Mobile app: retrieve a single static page by type and id.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "about_us",
        "name": "",
        "content": "",
        "translate": {
            "name": {
                "ar": "",
                "en": ""
            },
            "content": {
                "ar": "",
                "en": ""
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "Data retrieved successfully.",
    "success": true
}

Manage Plans

GET /api/v1/user/plans

Get User Plans

Get user plans list.

Retrieve all available plans for authenticated user.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Plans retrieved successfully",
    "data": [
        {
            "id": 1,
            "name": [],
            "badge_label": [],
            "platform_type": "user",
            "regular_price": "100.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        },
        {
            "id": 3,
            "name": [],
            "badge_label": [],
            "platform_type": "user",
            "regular_price": "200.00",
            "sale_price": "100.00",
            "billing_cycle": "monthly",
            "color": "#008000",
            "is_active": true,
            "is_subscribed": true,
            "renewal_date": "2026-09-26T14:44:27.000000Z",
            "remaining_days": 30,
            "features": []
        }
    ]
}
POST /api/v1/plans/subscriptions/5/cancel

Cancel Subscription

Cancel subscription.

Cancel active subscription.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
cancelled_reason string No longer needed
Success (200 OK)
{
    "success": true,
    "message": "Subscription cancelled successfully",
    "data": {
        "id": 5,
        "subscribable_type": "User",
        "subscribable_id": 4,
        "manage_plan_id": 3,
        "status": "cancelled",
        "billing_cycle": "monthly",
        "regular_price": "100.00",
        "sale_price": "50.00",
        "sale_type": "fixed",
        "last_payment": "2026-08-26T14:44:27.000000Z",
        "is_active": false,
        "cancelled_at": "2026-08-26T14:44:27.000000Z",
        "cancelled_reason": "No longer needed",
        "plan": {
            "id": 3,
            "platform_type": "user",
            "regular_price": "200.00",
            "sale_price": "100.00",
            "billing_cycle": "monthly",
            "color": "#008000",
            "is_active": true
        }
    }
}
POST /api/v1/plans/subscriptions

Subscribe To Plan

Subscribe user to plan.

Subscribe authenticated user to a plan.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
plan_id integer 1
Success (200 OK)
{
    "success": true,
    "message": "Subscribed successfully",
    "data": {
        "id": 6,
        "subscribable_type": "User",
        "subscribable_id": 4,
        "manage_plan_id": 1,
        "status": "active",
        "billing_cycle": "monthly",
        "regular_price": "100.00",
        "sale_price": "50.00",
        "sale_type": "fixed",
        "last_payment": "2026-08-26T14:44:28.000000Z",
        "is_active": true,
        "plan": {
            "id": 1,
            "platform_type": "user",
            "regular_price": "100.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": true
        }
    }
}

Money Circles

GET /api/v1/mobile/money-circles/statuses

Get Circle Statuses

List circle statuses

Retrieve all available circle statuses with translated labels.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "key": "active",
            "value": "Active"
        },
        {
            "key": "completed",
            "value": "Completed"
        },
        {
            "key": "frozen",
            "value": "Frozen"
        },
        {
            "key": "published",
            "value": "Published"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/types

Get Circle Types

List circle types

Retrieve all available circle types with translated labels.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "key": "public",
            "value": "Public"
        },
        {
            "key": "private",
            "value": "Private"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/request-types

Get Request Types

List request types

Retrieve all available circle request types with translated labels.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "key": "join",
            "value": "Join"
        },
        {
            "key": "swap",
            "value": "Swap"
        },
        {
            "key": "extra_turn",
            "value": "Extra Turn"
        },
        {
            "key": "create_group",
            "value": "Create Group"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/request-statuses

Get Request Statuses

List request statuses

Retrieve all available circle request statuses with translated labels.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "key": "pending",
            "value": "Pending"
        },
        {
            "key": "approved",
            "value": "Approved"
        },
        {
            "key": "declined",
            "value": "Declined"
        },
        {
            "key": "cancelled",
            "value": "Cancelled"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/invitation-statuses

Get Invitation Statuses

List invitation statuses

Retrieve all available invitation statuses with translated labels.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "key": "pending",
            "value": "Pending"
        },
        {
            "key": "accepted",
            "value": "Accepted"
        },
        {
            "key": "declined",
            "value": "Declined"
        },
        {
            "key": "expired",
            "value": "Expired"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles

Create Circle

Create a circle

Create a new money circle. payment_duration and receive_duration accept an array of day-of-month integers (e.g. [15, 20]). The creator becomes a member and empty seats are generated; the response includes thisMonthReceiver (the current cycle receiver, or null if none is assigned yet).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Monthly Savings
total_amount integer 12000
monthly_amount integer 1000
duration_months integer 6
currency string SAR
start_date string 2026-08-28
end_date string 2027-02-28
privacy string public
names_hidden boolean
payout_method string central_pot
collector_type string creator
allow_swaps boolean 1
late_fee_per_day integer 0
commission_percent integer 0
payment_duration array [15,20]
receive_duration array [10,25]

Request Validations Or Notes

Field/Name Examples
name required, string, max 100
circle_code optional, string, max 20, unique circles,circle_code
creator_id optional, integer, exists users,id, Closure
total_amount required, number, min 0
monthly_amount optional, number, min 0
currency optional, string, max 3
duration_months required, integer, min 1
start_date required, date (YYYY-MM-DD), on or after today
end_date required, date (YYYY-MM-DD)
status optional, allowed: active, completed, frozen, published
privacy optional, allowed: public, private
names_hidden optional, true/false
payout_method optional, allowed: p2p_direct, central_pot
collector_type required if payout_method = central_pot, optional, allowed: creator, assigned_later
allow_swaps optional, true/false
late_fee_per_day optional, number, min 0
commission_percent optional, number, min 0
notes optional, string
payment_duration optional, array
payment_duration[] required, integer, min 0
receive_duration optional, array
receive_duration[] required, integer, min 0
Success (200 OK)
{
    "data": {
        "id": 4,
        "name": "Monthly Savings",
        "circle_code": "bh23HKhu2N",
        "creator_id": 5,
        "total_amount": "12000.00",
        "monthly_amount": "2000.00",
        "currency": "SAR",
        "duration_months": 6,
        "start_date": "2026-08-28T00:00:00.000000Z",
        "end_date": "2027-02-28T00:00:00.000000Z",
        "status": "published",
        "privacy": "public",
        "names_hidden": false,
        "collector_type": "creator",
        "payout_method": "central_pot",
        "allow_swaps": true,
        "late_fee_per_day": "0.00",
        "commission_percent": "0.00",
        "notes": null,
        "payment_duration": [
            15,
            20
        ],
        "receive_duration": [
            10,
            25
        ],
        "collected": 0,
        "remaining": 12000,
        "current_cycle": null,
        "contributors": 1,
        "taken_seats": 1,
        "myRole": "creator",
        "totalSeats": 6,
        "createdBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "managedBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "thisMonthReceiver": {
            "member_id": 7,
            "name": "Circle Owner",
            "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
        }
    },
    "message": "Data inserted successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles

Get Circle List

List circles

Retrieve the circles the authenticated user belongs to.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": null,
            "contributors": 4,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 6,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        },
        {
            "id": 2,
            "name": "Disposable Circle h0TR",
            "circle_code": "DSPB96G4",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 3,
            "name": "Invite Circle",
            "circle_code": "INVBTJKZ",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "private",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 4,
            "name": "Monthly Savings",
            "circle_code": "bh23HKhu2N",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "2000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-28T00:00:00.000000Z",
            "end_date": "2027-02-28T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": [
                15,
                20
            ],
            "receive_duration": [
                10,
                25
            ],
            "collected": 0,
            "remaining": 12000,
            "current_cycle": null,
            "contributors": 1,
            "taken_seats": 1,
            "myRole": "creator",
            "totalSeats": 6,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 7,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}
POST /api/v1/mobile/money-circles/join

Join Circle

Join via code

Join a circle using its unique circle code.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
circle_code string DOCPMKD6

Request Validations Or Notes

Field/Name Examples
circle_code required, string, exists circles,circle_code
Success (200 OK)
{
    "data": {
        "id": 9,
        "circle_id": 1,
        "requester_name": "Circle Joiner",
        "type": "join",
        "status": "pending",
        "details": {
            "user_id": 8
        },
        "user_id": 8,
        "request_type": "join",
        "requester_avatar": null,
        "created_at": "2026-08-26T14:42:49.000000Z"
    },
    "message": "Join request sent successfully. Please wait for admin approval.",
    "success": true
}
GET /api/v1/mobile/money-circles/invitations

Get Invitations

List invitations

List the authenticated user's pending invitations. Each invitation includes the circle details (id, name, circle_code, contributors, total_amount, circle_duration, monthly_payment, start_date), the invited user, and the inviter with their role in the circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "circle_id": 1,
            "invited_user_id": 6,
            "invited_by_id": 5,
            "status": "pending",
            "invited_at": "2026-08-26T14:42:44.000000Z",
            "responded_at": null,
            "expires_at": null,
            "note": null,
            "is_active": true,
            "circle": {
                "id": 1,
                "name": "Documentation Circle",
                "circle_code": "DOCPMKD6",
                "currency": "SAR",
                "contributors": 4,
                "total_amount": "12000.00",
                "circle_duration": 6,
                "monthly_payment": "1000.00",
                "start_date": "2026-08-27T00:00:00.000000Z"
            },
            "user": {
                "id": 6,
                "name": "Circle Invitee",
                "email": "circle.invitee@demo.com",
                "avatar": null,
                "avatar_url": null
            },
            "inviter": {
                "id": 5,
                "name": "Circle Owner",
                "email": "circle.owner@demo.com",
                "avatar": "media\/avatars\/circle-owner.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg",
                "role": "creator"
            }
        }
    ],
    "message": "Invitations retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/members

Get Member List

List members

List the members of a circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "circle_id": 1,
            "user_id": 5,
            "role": "creator",
            "is_frozen": false,
            "member_name": "Circle Owner",
            "seats": [],
            "turns": [
                {
                    "id": 1,
                    "turn_number": 1,
                    "month_year": "2026-08-26",
                    "status": "upcoming",
                    "payout_amount": "12000.00"
                }
            ],
            "assigned_to_turn": true,
            "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg",
            "monthly": 1000,
            "next_payment": "2026-09-01",
            "member_id": 1,
            "member_role": "creator",
            "member_phone_number": "999500000001"
        },
        {
            "id": 2,
            "circle_id": 1,
            "user_id": 11,
            "role": "member",
            "is_frozen": false,
            "member_name": "Circle Member",
            "seats": [],
            "turns": [
                {
                    "id": 2,
                    "turn_number": 2,
                    "month_year": "2026-09-26",
                    "status": "upcoming",
                    "payout_amount": "12000.00"
                }
            ],
            "assigned_to_turn": true,
            "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "monthly": 1000,
            "next_payment": "2026-08-01",
            "member_id": 2,
            "member_role": "member",
            "member_phone_number": "999500000007"
        },
        {
            "id": 3,
            "circle_id": 1,
            "user_id": 13,
            "role": "member",
            "is_frozen": false,
            "member_name": "Mona Manager",
            "seats": [],
            "turns": [
                {
                    "id": 3,
                    "turn_number": 3,
                    "month_year": "2026-10-26",
                    "status": "upcoming",
                    "payout_amount": "12000.00"
                }
            ],
            "assigned_to_turn": true,
            "member_profile_image": null,
            "monthly": 1000,
            "next_payment": "2026-08-01",
            "member_id": 3,
            "member_role": "member",
            "member_phone_number": "999500000020"
        },
        {
            "id": 4,
            "circle_id": 1,
            "user_id": 12,
            "role": "member",
            "is_frozen": false,
            "member_name": "Circle Payer",
            "seats": [],
            "turns": [
                {
                    "id": 4,
                    "turn_number": 4,
                    "month_year": "2026-11-26",
                    "status": "upcoming",
                    "payout_amount": "12000.00"
                }
            ],
            "assigned_to_turn": true,
            "member_profile_image": null,
            "monthly": 1000,
            "next_payment": "2026-08-01",
            "member_id": 4,
            "member_role": "member",
            "member_phone_number": "999500000008"
        }
    ],
    "message": "Members retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/members/2

Get Member Details

Member details

Retrieve the details of a single circle member (member_id, member_role, member_profile_image, member_phone_number, member_join_date, plus existing member info). Circle members only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "circle_id": 1,
        "user_id": 11,
        "role": "member",
        "is_frozen": false,
        "member_name": "Circle Member",
        "seats": [],
        "turns": [
            {
                "id": 2,
                "turn_number": 2,
                "month_year": "2026-09-26",
                "status": "upcoming",
                "payout_amount": "12000.00"
            }
        ],
        "assigned_to_turn": true,
        "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "monthly": 1000,
        "next_payment": "2026-08-01",
        "member_id": 2,
        "member_role": "member",
        "member_phone_number": "999500000007"
    },
    "message": "Member details retrieved successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/1/members

Add Member

Add member

Add a user to the circle by phone number. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
phone_number string 500000005
is_manager boolean

Request Validations Or Notes

Field/Name Examples
phone_number required, string, exists users,phone
notes optional, string
is_manager optional, true/false
Success (200 OK)
{
    "data": {
        "id": 10,
        "circle_id": "1",
        "user_id": 9,
        "role": "member",
        "is_frozen": null,
        "member_name": "Add Target",
        "seats": [
            1
        ],
        "turns": [
            {
                "id": 5,
                "turn_number": 5,
                "month_year": "2026-12-26",
                "status": "upcoming",
                "payout_amount": "12000.00"
            }
        ],
        "assigned_to_turn": true,
        "member_profile_image": null,
        "monthly": 1000,
        "next_payment": "2026-08-01",
        "member_id": 10,
        "member_role": "member",
        "member_phone_number": "999500000005"
    },
    "message": "Member added successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/seats

Get Seat List

List seats

List all seats in the circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 2,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 2,
            "month_year": "2026-09-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 3,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 3,
            "month_year": "2026-10-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 4,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 4,
            "month_year": "2026-11-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 5,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 5,
            "month_year": "2026-12-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 6,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 6,
            "month_year": "2027-01-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 7,
            "circle_id": 4,
            "member_id": 7,
            "seat_number": 1,
            "month_year": "2026-08-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 8,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 2,
            "month_year": "2026-09-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 9,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 3,
            "month_year": "2026-10-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 10,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 4,
            "month_year": "2026-11-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 11,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 5,
            "month_year": "2026-12-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 12,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 6,
            "month_year": "2027-01-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        }
    ],
    "message": "Seats timeline retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 11,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/seats/available

Available Seats

Available seats

List unassigned (upcoming) seats.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 2,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 2,
            "month_year": "2026-09-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 3,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 3,
            "month_year": "2026-10-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 4,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 4,
            "month_year": "2026-11-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 5,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 5,
            "month_year": "2026-12-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 6,
            "circle_id": 1,
            "member_id": null,
            "seat_number": 6,
            "month_year": "2027-01-26T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 7,
            "circle_id": 4,
            "member_id": 7,
            "seat_number": 1,
            "month_year": "2026-08-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 8,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 2,
            "month_year": "2026-09-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 9,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 3,
            "month_year": "2026-10-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 10,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 4,
            "month_year": "2026-11-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 11,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 5,
            "month_year": "2026-12-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        },
        {
            "id": 12,
            "circle_id": 4,
            "member_id": null,
            "seat_number": 6,
            "month_year": "2027-01-28T00:00:00.000000Z",
            "status": "upcoming",
            "payout_amount": "12000.00"
        }
    ],
    "message": "Available seats retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 11,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/payments/current-receiver

Current Receiver

Current receiver

Get the member who receives contributions this cycle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "seat_id": 2,
        "seat_number": 2,
        "month_year": "2026-09-26T00:00:00.000000Z",
        "payout_method": "central_pot",
        "receiver_member_id": 1,
        "receiver_user_id": 5,
        "payout_amount": "12000.00"
    },
    "message": "Current receiver retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/payments/history

Payment History

Payment history

List confirmed (paid) payments for the circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 3,
            "circle_id": 1,
            "seat_id": 2,
            "payer_member_id": 2,
            "amount": "1000.00",
            "due_date": "2026-09-02T00:00:00.000000Z",
            "paid_at": null,
            "status": "pending",
            "proof_image_url": null,
            "confirmed_by": null,
            "late_fee_applied": "0.00",
            "description": "Monthly contribution for cycle 1."
        },
        {
            "id": 4,
            "circle_id": 1,
            "seat_id": 2,
            "payer_member_id": 2,
            "amount": "1000.00",
            "due_date": "2026-09-09T00:00:00.000000Z",
            "paid_at": null,
            "status": "pending",
            "proof_image_url": null,
            "confirmed_by": null,
            "late_fee_applied": "0.00",
            "description": "Contribution flagged for review."
        }
    ],
    "message": "Payment history retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/requests

Get Requests List

List requests

List all circle action requests (swap / extra_turn / create_group / join); each carries a details object describing the request. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 4,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "extra_turn",
            "status": "pending",
            "details": {
                "requested_month": "2026-11",
                "reason": "Wedding expenses — requesting an additional payout turn."
            },
            "user_id": null,
            "request_type": "extra_turn",
            "created_at": "2026-08-26T14:42:44.000000Z"
        },
        {
            "id": 5,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "create_group",
            "status": "pending",
            "details": {
                "group_name": "Family Circle",
                "member_ids": [
                    1,
                    2
                ],
                "reason": "Grouping close relatives into a private sub-circle."
            },
            "group_name": "Family Circle",
            "user_id": null,
            "request_type": "create_group",
            "created_at": "2026-08-26T14:42:44.000000Z"
        },
        {
            "id": 9,
            "circle_id": 1,
            "requester_name": "Circle Joiner",
            "type": "join",
            "status": "pending",
            "details": {
                "user_id": 8
            },
            "user_id": 8,
            "request_type": "join",
            "requester_avatar": null,
            "created_at": "2026-08-26T14:42:49.000000Z"
        },
        {
            "id": 19,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 3,
                "requested_seat": 5,
                "reason": "Travel commitments — need a later payout month."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        },
        {
            "id": 20,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 2,
                "requested_seat": 4,
                "reason": "Swap no longer needed — declining this one."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        },
        {
            "id": 21,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 1,
                "requested_seat": 3,
                "reason": "Changed my mind — removing this one."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        }
    ],
    "message": "Requests retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 6,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/requests

Get Requests (Type: Swap Seat)

Filter requests by type

Filter by type=swap. Swap Seat: a member requests to exchange their assigned seat with another member. details: {current_seat, requested_seat, reason}.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
type string swap
Success (200 OK)
{
    "data": [
        {
            "id": 19,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 3,
                "requested_seat": 5,
                "reason": "Travel commitments — need a later payout month."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        },
        {
            "id": 20,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 2,
                "requested_seat": 4,
                "reason": "Swap no longer needed — declining this one."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        },
        {
            "id": 21,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "swap",
            "status": "pending",
            "details": {
                "current_seat": 1,
                "requested_seat": 3,
                "reason": "Changed my mind — removing this one."
            },
            "user_id": null,
            "request_type": "swap",
            "created_at": "2026-08-26T14:43:06.000000Z"
        }
    ],
    "message": "Requests retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/requests

Get Requests (Type: Extra Turn)

Filter requests by type

Filter by type=extra_turn. Extra Turn: a member requests an additional payout turn. details: {requested_month, reason}.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
type string extra_turn
Success (200 OK)
{
    "data": [
        {
            "id": 4,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "extra_turn",
            "status": "pending",
            "details": {
                "requested_month": "2026-11",
                "reason": "Wedding expenses — requesting an additional payout turn."
            },
            "user_id": null,
            "request_type": "extra_turn",
            "created_at": "2026-08-26T14:42:44.000000Z"
        }
    ],
    "message": "Requests retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/1/requests

Get Requests (Type: Create Group)

Filter requests by type

Filter by type=create_group. Create Group: a member requests to create a private sub-circle. details: {group_name, member_ids, reason}.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
type string create_group
Success (200 OK)
{
    "data": [
        {
            "id": 5,
            "circle_id": 1,
            "requester_member_id": 2,
            "requester_name": "Circle Member",
            "requester_details": {
                "member_id": 2,
                "user_id": 11,
                "name": "Circle Member",
                "email": "circle.member@demo.com",
                "avatar": "media\/avatars\/member-selim.jpg",
                "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
            },
            "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
            "type": "create_group",
            "status": "pending",
            "details": {
                "group_name": "Family Circle",
                "member_ids": [
                    1,
                    2
                ],
                "reason": "Grouping close relatives into a private sub-circle."
            },
            "group_name": "Family Circle",
            "user_id": null,
            "request_type": "create_group",
            "created_at": "2026-08-26T14:42:44.000000Z"
        }
    ],
    "message": "Requests retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/mobile/money-circles/1/requests

Create Request

Create request

Submit a circle action request. details is a structured object whose required keys depend on type — swap: {from_seat, to_seat}; extra_turn: {current_seat, to_seats[]}; create_group: {group_name, target_seat, add_members?}.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
type string create_group
details array {"group_name":"Family Circle","target_seat":2,"message":"Grouping close relatives into a private sub-circle."}

Request Validations Or Notes

Field/Name Examples
type required, allowed: join, swap, extra_turn, create_group
details required, array
details.reason optional, string, max 1000
details.to_seat required if type = swap, integer, exists seats,id, Closure
details.from_seat required if type = swap, integer, exists seats,id, Closure
details.message optional, string, max 1000
details.current_seat required if type = extra_turn, integer, exists seats,id, Closure
details.to_seats required if type = extra_turn, array, min 1
details.to_seats[] required, integer, exists seats,id, Closure
details.group_name required if type = create_group, string, max 255
details.target_seat required if type = create_group, integer, exists seats,id, Closure
details.add_members optional, array
details.add_members[] required, integer, exists users,id, Closure
Success (200 OK)
{
    "data": {
        "id": 22,
        "circle_id": "1",
        "requester_member_id": 1,
        "requester_name": "Circle Owner",
        "requester_details": {
            "member_id": 1,
            "user_id": 5,
            "name": "Circle Owner",
            "email": "circle.owner@demo.com",
            "avatar": "media\/avatars\/circle-owner.jpg",
            "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
        },
        "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg",
        "type": "create_group",
        "status": "pending",
        "details": {
            "message": "Grouping close relatives into a private sub-circle.",
            "group_name": "Family Circle",
            "target_seat": 2
        },
        "group_name": "Family Circle",
        "target_seat_details": {
            "seat_id": 2,
            "seat_number": 2,
            "member_id": null,
            "member_name": null,
            "member_email": null,
            "member_avatar": null,
            "member_avatar_url": null
        },
        "user_id": 5,
        "request_type": "create_group",
        "created_at": "2026-08-26T14:43:07.000000Z"
    },
    "message": "Create Group request created successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/my-requests

Get My Requests

My requests

List the requests you submitted in this circle (join, swap, extra_turn, or create_group).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 22,
            "circle_id": 1,
            "type": "create_group",
            "status": "pending",
            "details": {
                "message": "Grouping close relatives into a private sub-circle.",
                "group_name": "Family Circle",
                "target_seat": 2
            },
            "group_name": "Family Circle",
            "target_seat_details": {
                "seat_id": 2,
                "seat_number": 2,
                "member_id": null,
                "member_name": null,
                "member_email": null,
                "member_avatar": null,
                "member_avatar_url": null
            },
            "circle": {
                "id": 1,
                "name": "Documentation Circle",
                "total_amount": "12000.00",
                "monthly_amount": "1000.00",
                "currency": "SAR",
                "status": "published",
                "start_date": "2026-08-27T00:00:00.000000Z",
                "end_date": "2027-02-26T00:00:00.000000Z",
                "members_count": 4
            }
        }
    ],
    "message": "My requests retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/mobile/money-circles/search

Search Circles

Search circles

Search within the circles the authenticated user belongs to. Uses a single "query" parameter that searches in both circle name (partial match) and circle code (partial match). Returns circle_id, circle_name, invite_code, total_members, monthly_amount, created_by, status, start_date, end_date.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
query string Documentation

Request Validations Or Notes

Field/Name Examples
query optional, string, max 100
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": null,
            "contributors": 4,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 5,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": null,
                "profile_image": null
            }
        }
    ],
    "message": "Search results retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/search

Search Circles (by code)

Search circles

Search by circle code (partial match). The "query" parameter searches in both name and code, so this will find circles matching the code.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
query string DOCPMKD6

Request Validations Or Notes

Field/Name Examples
query optional, string, max 100
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": null,
            "contributors": 4,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 5,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": null,
                "profile_image": null
            }
        }
    ],
    "message": "Search results retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/search

Search Circles (by name)

Search circles

Search by circle name (partial match). The "query" parameter searches in both name and code.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
query string Doc

Request Validations Or Notes

Field/Name Examples
query optional, string, max 100
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": null,
            "contributors": 4,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 5,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": null,
                "profile_image": null
            }
        }
    ],
    "message": "Search results retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1/announcements

Get Circle Announcements

List announcements

List a circle's announcements (id, title, description, created_at), newest first. Returns an empty array when there are none. Circle members only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 16,
            "title": "New member joined the circle",
            "description": "Selim has joined the circle. Welcome aboard!",
            "created_at": "2026-08-26T14:43:15.000000Z"
        },
        {
            "id": 15,
            "title": "Cycle 1 payout scheduled",
            "description": "The first payout will be transferred on the 25th. Please submit your contribution before the 20th.",
            "created_at": "2026-08-24T14:43:15.000000Z"
        }
    ],
    "message": "Announcements retrieved successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/1

Get Circle Details

Circle details

Retrieve the details of a specific money circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Documentation Circle",
        "circle_code": "DOCPMKD6",
        "creator_id": 5,
        "total_amount": "12000.00",
        "monthly_amount": "1000.00",
        "currency": "SAR",
        "duration_months": 6,
        "start_date": "2026-08-27T00:00:00.000000Z",
        "end_date": "2027-02-26T00:00:00.000000Z",
        "status": "published",
        "privacy": "public",
        "names_hidden": false,
        "collector_type": "creator",
        "payout_method": "central_pot",
        "allow_swaps": true,
        "late_fee_per_day": "0.00",
        "commission_percent": "0.00",
        "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
        "payment_duration": [
            1,
            10,
            20
        ],
        "receive_duration": [
            25
        ],
        "collected": "2000.00",
        "remaining": 10000,
        "current_cycle": null,
        "contributors": 4,
        "taken_seats": 0,
        "myRole": "creator",
        "totalSeats": 5,
        "createdBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "managedBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "thisMonthReceiver": {
            "member_id": 1,
            "name": "Circle Owner",
            "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
        }
    },
    "message": "Data retrieved successfully.",
    "success": true
}
PUT /api/v1/mobile/money-circles/1

Update Circle

Update circle

Update circle details. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Updated Documentation Circle
privacy string private

Request Validations Or Notes

Field/Name Examples
name optional, string, max 100
circle_code optional, string, max 20, Unique
creator_id optional, integer, exists users,id
total_amount optional, number, min 0
monthly_amount optional, number, min 0
currency optional, string, max 3
duration_months optional, integer, min 1
start_date optional, date (YYYY-MM-DD)
end_date optional, date (YYYY-MM-DD), on or after start_date
status optional, allowed: active, completed, frozen, published
privacy optional, allowed: public, private
names_hidden optional, true/false
payout_method optional, allowed: p2p_direct, central_pot
collector_type required if payout_method = central_pot, optional, allowed: creator, assigned_later
allow_swaps optional, true/false
late_fee_per_day optional, number, min 0
commission_percent optional, number, min 0
notes optional, string
payment_duration optional, array
payment_duration[] required, integer, min 0
receive_duration optional, array
receive_duration[] required, integer, min 0
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Updated Documentation Circle",
        "circle_code": "DOCPMKD6",
        "creator_id": 5,
        "total_amount": "12000.00",
        "monthly_amount": "1000.00",
        "currency": "SAR",
        "duration_months": 6,
        "start_date": "2026-08-27T00:00:00.000000Z",
        "end_date": "2027-02-26T00:00:00.000000Z",
        "status": "published",
        "privacy": "private",
        "names_hidden": false,
        "collector_type": "creator",
        "payout_method": "central_pot",
        "allow_swaps": true,
        "late_fee_per_day": "0.00",
        "commission_percent": "0.00",
        "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
        "payment_duration": [
            1,
            10,
            20
        ],
        "receive_duration": [
            25
        ],
        "collected": "2000.00",
        "remaining": 10000,
        "current_cycle": null,
        "contributors": 4,
        "taken_seats": 0,
        "myRole": "creator",
        "totalSeats": 5,
        "createdBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "managedBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "thisMonthReceiver": {
            "member_id": 1,
            "name": "Circle Owner",
            "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
        }
    },
    "message": "Data updated successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/1/start

Start Circle

Start circle

Activate the circle. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Updated Documentation Circle",
        "circle_code": "DOCPMKD6",
        "creator_id": 5,
        "total_amount": "12000.00",
        "monthly_amount": "1000.00",
        "currency": "SAR",
        "duration_months": 6,
        "start_date": "2026-08-27T00:00:00.000000Z",
        "end_date": "2027-02-26T00:00:00.000000Z",
        "status": "active",
        "privacy": "private",
        "names_hidden": false,
        "collector_type": "creator",
        "payout_method": "central_pot",
        "allow_swaps": true,
        "late_fee_per_day": "0.00",
        "commission_percent": "0.00",
        "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
        "payment_duration": [
            1,
            10,
            20
        ],
        "receive_duration": [
            25
        ],
        "collected": "2000.00",
        "remaining": 10000,
        "current_cycle": "Aug, 2026",
        "contributors": 4,
        "taken_seats": 0,
        "myRole": "creator",
        "totalSeats": 5,
        "createdBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "managedBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "thisMonthReceiver": {
            "member_id": 1,
            "name": "Circle Owner",
            "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
        }
    },
    "message": "Circle started successfully.",
    "success": true
}
DELETE /api/v1/mobile/money-circles/12

Delete Circle

Delete circle

Soft-delete a money circle. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/3/invite

Invite Member

Invite to circle

Invite a user to the circle by user id.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
phone string 500000006
note string Please join my circle.

Request Validations Or Notes

Field/Name Examples
phone required, string, exists users,phone
note optional, string
Success (200 OK)
{
    "data": {
        "id": 5,
        "circle_id": 3,
        "invited_user_id": 10,
        "invited_by_id": 5,
        "status": "pending",
        "invited_at": "2026-08-26T14:44:42.000000Z",
        "responded_at": null,
        "expires_at": null,
        "note": "Please join my circle.",
        "is_active": true,
        "circle": {
            "id": 3,
            "name": "Invite Circle",
            "circle_code": "INVBTJKZ",
            "currency": "SAR",
            "contributors": 0,
            "total_amount": "6000.00",
            "circle_duration": 6,
            "monthly_payment": "1000.00",
            "start_date": "2026-08-27T00:00:00.000000Z"
        },
        "user": {
            "id": 10,
            "name": "Invite Target",
            "email": "circle.invitetarget@demo.com",
            "avatar": null,
            "avatar_url": null
        },
        "inviter": {
            "id": 5,
            "name": "Circle Owner",
            "email": "circle.owner@demo.com",
            "avatar": "media\/avatars\/circle-owner.jpg",
            "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg",
            "role": null
        }
    },
    "message": "Invitation sent successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/invitations/3/accept

Accept Invitation

Accept invitation

Accept a pending invitation (invited user only).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "circle_id": 13,
        "invited_user_id": 6,
        "invited_by_id": 5,
        "email": null,
        "phone": null,
        "status": "accepted",
        "invited_at": "2026-08-26T14:44:42.000000Z",
        "responded_at": "2026-08-26T14:44:42.000000Z",
        "expires_at": null,
        "note": null,
        "is_active": true,
        "deleted_at": null,
        "created_at": "2026-08-26T14:44:42.000000Z",
        "updated_at": "2026-08-26T14:44:42.000000Z"
    },
    "message": "Invitation accepted successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/invitations/4/decline

Decline Invitation

Decline invitation

Decline a pending invitation (invited user only).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Invitation declined successfully.",
    "success": true
}
PUT /api/v1/mobile/money-circles/13/members/18/role

Change Member Role

Change role

Change a member's role. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
role string manager

Request Validations Or Notes

Field/Name Examples
role required, allowed: member, manager
Success (200 OK)
{
    "data": {
        "id": 18,
        "circle_id": 13,
        "user_id": 11,
        "role": "manager",
        "is_frozen": false,
        "member_name": "Circle Member",
        "seats": [],
        "turns": [
            {
                "id": 14,
                "turn_number": 2,
                "month_year": "2026-09-26",
                "status": "upcoming",
                "payout_amount": "12000.00"
            }
        ],
        "assigned_to_turn": true,
        "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "monthly": 1000,
        "next_payment": "2026-08-01",
        "member_id": 18,
        "member_role": "manager",
        "member_phone_number": "999500000007"
    },
    "message": "Member role updated successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/members/18/freeze

Freeze Member

Freeze member

Freeze a member. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 18,
        "circle_id": 13,
        "user_id": 11,
        "role": "manager",
        "is_frozen": true,
        "member_name": "Circle Member",
        "seats": [],
        "turns": [
            {
                "id": 14,
                "turn_number": 2,
                "month_year": "2026-09-26",
                "status": "upcoming",
                "payout_amount": "12000.00"
            }
        ],
        "assigned_to_turn": true,
        "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "monthly": 1000,
        "next_payment": "2026-08-01",
        "member_id": 18,
        "member_role": "manager",
        "member_phone_number": "999500000007"
    },
    "message": "Member frozen successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/members/18/unfreeze

Unfreeze Member

Unfreeze member

Unfreeze a member. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 18,
        "circle_id": 13,
        "user_id": 11,
        "role": "manager",
        "is_frozen": false,
        "member_name": "Circle Member",
        "seats": [],
        "turns": [
            {
                "id": 14,
                "turn_number": 2,
                "month_year": "2026-09-26",
                "status": "upcoming",
                "payout_amount": "12000.00"
            }
        ],
        "assigned_to_turn": true,
        "member_profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "monthly": 1000,
        "next_payment": "2026-08-01",
        "member_id": 18,
        "member_role": "manager",
        "member_phone_number": "999500000007"
    },
    "message": "Member unfrozen successfully.",
    "success": true
}
DELETE /api/v1/mobile/money-circles/13/members/18/kick

Kick Member

Kick member

Remove a member from the circle. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Member kicked successfully.",
    "success": true
}
PUT /api/v1/mobile/money-circles/13/seats/reorder

Reorder Seats

Reorder seats

Reorder the seats of a circle. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Seats reordered successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/seats/assign

Assign Seat

Assign seat

Assign one or more upcoming seats to a member. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
member_id integer 17
seat_numbers array [1]
Success (200 OK)
{
    "data": [
        {
            "id": 13,
            "circle_id": 13,
            "member_id": 17,
            "seat_number": 1,
            "month_year": "2026-08-26T00:00:00.000000Z",
            "status": "current",
            "payout_amount": "12000.00"
        }
    ],
    "message": "Seat assigned successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/seats/swap-request

Swap Request

Swap request

Submit a seat swap request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Swap request handled successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/payments/pay

Pay Contribution

Submit payment

Submit a contribution for the current cycle. The submitted amount must equal the circle monthly contribution; the seat and receiver are resolved by the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
amount integer 1000
description string Contribution for this cycle

Request Validations Or Notes

Field/Name Examples
amount required, number, min 0
description optional, string, max 500
proof_image_url optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
Success (200 OK)
{
    "data": {
        "id": 7,
        "circle_id": 13,
        "seat_id": 14,
        "payer_member_id": 20,
        "amount": "1000.00",
        "due_date": "2026-08-26T00:00:00.000000Z",
        "paid_at": null,
        "status": "pending",
        "proof_image_url": null,
        "confirmed_by": null,
        "late_fee_applied": "0.00",
        "description": "Contribution for this cycle"
    },
    "message": "Payment submitted successfully. Awaiting confirmation.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/payments/5/confirm

Confirm Payment

Confirm payment

Confirm a pending payment. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 5,
        "circle_id": 13,
        "seat_id": 13,
        "payer_member_id": 18,
        "amount": "1000.00",
        "due_date": "2026-09-02T00:00:00.000000Z",
        "paid_at": "2026-08-26T14:44:55.000000Z",
        "status": "paid",
        "proof_image_url": null,
        "confirmed_by": 5,
        "late_fee_applied": "0.00",
        "description": "Monthly contribution for cycle 1."
    },
    "message": "Payment confirmed successfully.",
    "success": true
}
POST /api/v1/mobile/money-circles/13/payments/6/reject

Reject Payment

Reject payment

Reject a pending payment. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 6,
        "circle_id": 13,
        "seat_id": 13,
        "payer_member_id": 18,
        "amount": "1000.00",
        "due_date": "2026-09-09T00:00:00.000000Z",
        "paid_at": null,
        "status": "rejected",
        "proof_image_url": null,
        "confirmed_by": null,
        "late_fee_applied": "0.00",
        "description": "Contribution flagged for review."
    },
    "message": "Payment rejected.",
    "success": true
}
PUT /api/v1/mobile/money-circles/13/requests/46/approve

Approve Request

Approve request

Approve a request. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
message string Approved.
Success (200 OK)
{
    "data": {
        "id": 46,
        "circle_id": 13,
        "requester_member_id": 24,
        "requester_name": "Circle Member",
        "requester_details": {
            "member_id": 24,
            "user_id": 11,
            "name": "Circle Member",
            "email": "circle.member@demo.com",
            "avatar": "media\/avatars\/member-selim.jpg",
            "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
        },
        "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "type": "swap",
        "status": "approved",
        "details": {
            "current_seat": 3,
            "requested_seat": 5,
            "reason": "Travel commitments — need a later payout month."
        },
        "admin_response_message": "Approved.",
        "resolved_at": "2026-08-26T14:45:00.000000Z",
        "user_id": null,
        "request_type": "swap",
        "created_at": "2026-08-26T14:45:00.000000Z"
    },
    "message": "Request approved successfully.",
    "success": true
}
PUT /api/v1/mobile/money-circles/13/requests/47/decline

Decline Request

Decline request

Decline a request. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
message string Declined.
Success (200 OK)
{
    "data": {
        "id": 47,
        "circle_id": 13,
        "requester_member_id": 24,
        "requester_name": "Circle Member",
        "requester_details": {
            "member_id": 24,
            "user_id": 11,
            "name": "Circle Member",
            "email": "circle.member@demo.com",
            "avatar": "media\/avatars\/member-selim.jpg",
            "avatar_url": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg"
        },
        "requester_avatar": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/member-selim.jpg",
        "type": "swap",
        "status": "declined",
        "details": {
            "current_seat": 2,
            "requested_seat": 4,
            "reason": "Swap no longer needed — declining this one."
        },
        "admin_response_message": "Declined.",
        "resolved_at": "2026-08-26T14:45:00.000000Z",
        "user_id": null,
        "request_type": "swap",
        "created_at": "2026-08-26T14:45:00.000000Z"
    },
    "message": "Request declined successfully.",
    "success": true
}
DELETE /api/v1/mobile/money-circles/13/requests/48

Cancel Request

Cancel request

Cancel a request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Request cancelled successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/trash

Get Deleted Circles

Trashed circles

List soft-deleted circles.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Updated Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "private",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": "Aug, 2026",
            "contributors": 3,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 5,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        },
        {
            "id": 2,
            "name": "Disposable Circle h0TR",
            "circle_code": "DSPB96G4",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 3,
            "name": "Invite Circle",
            "circle_code": "INVBTJKZ",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "private",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 4,
            "name": "Monthly Savings",
            "circle_code": "bh23HKhu2N",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "2000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-28T00:00:00.000000Z",
            "end_date": "2027-02-28T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": [
                15,
                20
            ],
            "receive_duration": [
                10,
                25
            ],
            "collected": 0,
            "remaining": 12000,
            "current_cycle": null,
            "contributors": 1,
            "taken_seats": 1,
            "myRole": "creator",
            "totalSeats": 6,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 7,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        },
        {
            "id": 5,
            "name": "Disposable Circle bNkl",
            "circle_code": "DSPFNT2Y",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 6,
            "name": "Disposable Circle sPxI",
            "circle_code": "DSP76BGU",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 7,
            "name": "Disposable Circle Not4",
            "circle_code": "DSPBHCZP",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 8,
            "name": "Disposable Circle 3dJZ",
            "circle_code": "DSPXKR3L",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 9,
            "name": "Disposable Circle 5chW",
            "circle_code": "DSPGPINR",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 10,
            "name": "Disposable Circle LZCe",
            "circle_code": "DSPDXEQX",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        }
    ],
    "message": "Trashed data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 19,
        "last_page": 2
    }
}
PATCH /api/v1/mobile/money-circles/19/restore

Restore Circle

Restore circle

Restore a soft-deleted circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 19,
        "name": "Disposable Circle tURQ",
        "circle_code": "DSPUSFAU",
        "creator_id": 5,
        "total_amount": "6000.00",
        "monthly_amount": "1000.00",
        "currency": "SAR",
        "duration_months": 6,
        "start_date": "2026-08-27T00:00:00.000000Z",
        "end_date": "2027-02-26T00:00:00.000000Z",
        "status": "active",
        "privacy": "public",
        "names_hidden": false,
        "collector_type": "creator",
        "payout_method": "p2p_direct",
        "allow_swaps": true,
        "late_fee_per_day": "0.00",
        "commission_percent": "0.00",
        "notes": null,
        "payment_duration": null,
        "receive_duration": null,
        "collected": 0,
        "remaining": 6000,
        "current_cycle": "Aug, 2026",
        "contributors": 1,
        "taken_seats": 0,
        "myRole": "creator",
        "totalSeats": 0,
        "createdBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "managedBy": {
            "id": 5,
            "name": "Circle Owner"
        },
        "thisMonthReceiver": null
    },
    "message": "Data restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/money-circles/19/force

Permanently Delete Circle

Force delete circle

Permanently delete a circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data permanently deleted successfully.",
    "success": true
}
GET /api/v1/mobile/money-circles/13/turns

Get Turn List

List turns

List all turns in the circle.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 13,
            "turn_number": 1,
            "month_year": "2026-08-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": false,
            "is_group": false,
            "member": {
                "id": 17,
                "name": "Circle Owner",
                "role": "creator",
                "avatar": "media\/avatars\/circle-owner.jpg"
            },
            "group_members": null
        },
        {
            "id": 14,
            "turn_number": 2,
            "month_year": "2026-09-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": true,
            "is_group": false,
            "member": null,
            "group_members": null
        },
        {
            "id": 15,
            "turn_number": 3,
            "month_year": "2026-10-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": false,
            "is_group": false,
            "member": {
                "id": 20,
                "name": "Circle Payer",
                "role": "member",
                "avatar": null
            },
            "group_members": null
        },
        {
            "id": 16,
            "turn_number": 4,
            "month_year": "2026-11-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": false,
            "is_group": false,
            "member": {
                "id": 28,
                "name": "Mona Manager",
                "role": "member",
                "avatar": null
            },
            "group_members": null
        },
        {
            "id": 17,
            "turn_number": 5,
            "month_year": "2026-12-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": false,
            "is_group": false,
            "member": {
                "id": 22,
                "name": "Circle Invitee",
                "role": "member",
                "avatar": null
            },
            "group_members": null
        },
        {
            "id": 18,
            "turn_number": 6,
            "month_year": "2027-01-26",
            "status": "upcoming",
            "payout_amount": "12000.00",
            "is_empty": false,
            "is_group": false,
            "member": {
                "id": 24,
                "name": "Circle Member",
                "role": "member",
                "avatar": "media\/avatars\/member-selim.jpg"
            },
            "group_members": null
        }
    ]
}
PUT /api/v1/mobile/money-circles/13/turns/reorder

Reorder Turns

Reorder turns

Reorder the turns of a circle. Owner/Manager/Admin only.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
turns array [13,14,15,16,17,18]

Request Validations Or Notes

Field/Name Examples
turns required, array, min 1
turns[] required, integer
Success (200 OK)
{
    "data": [],
    "message": "Turns reordered successfully.",
    "success": true
}

My Circles

GET /api/v1/mobile/my-circles

Get My Circles

My circles

List the circles the authenticated user is a member of (paginated, supports search/sort).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Documentation Circle",
            "circle_code": "DOCPMKD6",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
            "payment_duration": [
                1,
                10,
                20
            ],
            "receive_duration": [
                25
            ],
            "collected": "2000.00",
            "remaining": 10000,
            "current_cycle": null,
            "contributors": 4,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 6,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 1,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        },
        {
            "id": 2,
            "name": "Disposable Circle h0TR",
            "circle_code": "DSPB96G4",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 3,
            "name": "Invite Circle",
            "circle_code": "INVBTJKZ",
            "creator_id": 5,
            "total_amount": "6000.00",
            "monthly_amount": "1000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-27T00:00:00.000000Z",
            "end_date": "2027-02-26T00:00:00.000000Z",
            "status": "active",
            "privacy": "private",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "p2p_direct",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": null,
            "receive_duration": null,
            "collected": 0,
            "remaining": 6000,
            "current_cycle": "Aug, 2026",
            "contributors": 1,
            "taken_seats": 0,
            "myRole": "creator",
            "totalSeats": 0,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": null
        },
        {
            "id": 4,
            "name": "Monthly Savings",
            "circle_code": "bh23HKhu2N",
            "creator_id": 5,
            "total_amount": "12000.00",
            "monthly_amount": "2000.00",
            "currency": "SAR",
            "duration_months": 6,
            "start_date": "2026-08-28T00:00:00.000000Z",
            "end_date": "2027-02-28T00:00:00.000000Z",
            "status": "published",
            "privacy": "public",
            "names_hidden": false,
            "collector_type": "creator",
            "payout_method": "central_pot",
            "allow_swaps": true,
            "late_fee_per_day": "0.00",
            "commission_percent": "0.00",
            "notes": null,
            "payment_duration": [
                15,
                20
            ],
            "receive_duration": [
                10,
                25
            ],
            "collected": 0,
            "remaining": 12000,
            "current_cycle": null,
            "contributors": 1,
            "taken_seats": 1,
            "myRole": "creator",
            "totalSeats": 6,
            "createdBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "managedBy": {
                "id": 5,
                "name": "Circle Owner"
            },
            "thisMonthReceiver": {
                "member_id": 7,
                "name": "Circle Owner",
                "profile_image": "https:\/\/127.0.0.1:8000\/storage\/media\/avatars\/circle-owner.jpg"
            }
        }
    ],
    "message": "My circles retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}

Business Cards

GET /api/v1/mobile/business-card-groups/1

Get Business-card-group Details

Retrieve Business-card-group details.

Retrieves detailed information about a specific Business-card-group using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Work Contacts",
        "active": true,
        "created_at": "2026-08-26",
        "contacts_count": 2,
        "contacts": [
            {
                "id": 1,
                "group_id": 1,
                "name": "Jane Smith",
                "job_title": "Software Engineer",
                "company": "Tech Corp",
                "phone": "+966501234567",
                "email": "jane.smith@techcorp.com",
                "website": "https:\/\/techcorp.com",
                "front_image": null,
                "back_image": null,
                "notes": null,
                "active": true,
                "created_at": "2026-08-26"
            },
            {
                "id": 2,
                "group_id": 1,
                "name": "Ali Hassan",
                "job_title": "Backend Developer",
                "company": "Dev Studio",
                "phone": "+966512345678",
                "email": "ali.hassan@devstudio.com",
                "website": "https:\/\/devstudio.com",
                "front_image": null,
                "back_image": null,
                "notes": "Met at a conference",
                "active": true,
                "created_at": "2026-08-26"
            }
        ]
    },
    "message": "Group retrieved successfully.",
    "success": true
}
POST /api/v1/mobile/business-card-groups/1

Update Business-card-group

Update an existing Business-card-group.

Updates the specified Business-card-group with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Updated Group Name

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
active optional, true/false
contact_ids optional, array
contact_ids[] required, exists business_card_contacts,id
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Updated Group Name",
        "active": true,
        "created_at": "2026-08-26",
        "contacts_count": 0,
        "contacts": []
    },
    "message": "Group updated successfully.",
    "success": true
}
DELETE /api/v1/mobile/business-card-groups/1

Delete Business-card-group

Delete a Business-card-group.

Deletes the specified Business-card-group from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Group deleted successfully.",
    "success": true
}
GET /api/v1/mobile/business-card-contacts/2

Get Business-card-contact Details

Retrieve Business-card-contact details.

Retrieves detailed information about a specific Business-card-contact using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "group_id": null,
        "name": "Ali Hassan",
        "job_title": "Backend Developer",
        "company": "Dev Studio",
        "phone": "+966512345678",
        "email": "ali.hassan@devstudio.com",
        "website": "https:\/\/devstudio.com",
        "front_image": null,
        "back_image": null,
        "notes": "Met at a conference",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Contact retrieved successfully.",
    "success": true,
    "summary": {
        "groups": [
            {
                "id": 2,
                "name": "Family"
            }
        ]
    }
}
PUT /api/v1/mobile/business-card-contacts/2

Update Business-card-contact

Update an existing Business-card-contact.

Updates the specified Business-card-contact with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Ali Updated
job_title string Senior Dev
company string Dev Studio
phone string +966512345678
email string ali.hassan@devstudio.com

Request Validations Or Notes

Field/Name Examples
group_id optional, exists business_card_groups,id
name required, string, max 255
job_title required, string, max 255
company required, string, max 255
phone required, string, max 20
email required, valid email, max 255
website optional, valid URL, max 255
front_image optional, image, max 5120 KB (upload)
back_image optional, image, max 5120 KB (upload)
notes optional, string
active optional, true/false
Success (200 OK)
{
    "data": {
        "id": 2,
        "group_id": null,
        "name": "Ali Updated",
        "job_title": "Senior Dev",
        "company": "Dev Studio",
        "phone": "+966512345678",
        "email": "ali.hassan@devstudio.com",
        "website": "https:\/\/devstudio.com",
        "front_image": null,
        "back_image": null,
        "notes": "Met at a conference",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Contact updated successfully.",
    "success": true
}
POST /api/v1/mobile/business-card-contacts/2/add-to-group

Add Contact to Group

Move contact into a group.

Assign a contact to a specific group.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
group_id integer 2
Success (200 OK)
{
    "data": {
        "id": 2,
        "group_id": 2,
        "name": "Ali Updated",
        "job_title": "Senior Dev",
        "company": "Dev Studio",
        "phone": "+966512345678",
        "email": "ali.hassan@devstudio.com",
        "website": "https:\/\/devstudio.com",
        "front_image": null,
        "back_image": null,
        "notes": "Met at a conference",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Contact added to group successfully.",
    "success": true
}
POST /api/v1/mobile/business-card-contacts/2/remove-from-group

Remove Contact from Group

Unassign contact from its group.

Remove a contact from its group without deleting the contact.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "group_id": null,
        "name": "Ali Updated",
        "job_title": "Senior Dev",
        "company": "Dev Studio",
        "phone": "+966512345678",
        "email": "ali.hassan@devstudio.com",
        "website": "https:\/\/devstudio.com",
        "front_image": null,
        "back_image": null,
        "notes": "Met at a conference",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Contact removed from group successfully.",
    "success": true
}
DELETE /api/v1/mobile/business-card-contacts/2

Delete Business-card-contact

Delete a Business-card-contact.

Deletes the specified Business-card-contact from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Contact deleted successfully.",
    "success": true
}
GET /api/v1/mobile/my-business-cards/2

Get My-business-card Details

Retrieve My-business-card details.

Retrieves detailed information about a specific My-business-card using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "My New Card",
        "job_title": "CTO",
        "company": "QEEI",
        "phone": "+966509990000",
        "email": "cto@qeei.com",
        "website": "https:\/\/qeei.com",
        "photo": null,
        "qr_code_value": "sample_qr_value",
        "field_name": [
            "Extension",
            "Fax",
            "WhatsApp"
        ],
        "color": "#E53935",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Business card retrieved successfully.",
    "success": true
}
PUT /api/v1/mobile/my-business-cards/2

Update My-business-card

Update an existing My-business-card.

Updates the specified My-business-card with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Updated Card Name
job_title string CTO
company string QEEI
phone string +966509990000
email string cto@qeei.com
qr_code_value string sample_qr_value
field_name array ["Extension","Mobile"]
color string #43A047
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Updated Card Name",
        "job_title": "CTO",
        "company": "QEEI",
        "phone": "+966509990000",
        "email": "cto@qeei.com",
        "website": "https:\/\/qeei.com",
        "photo": null,
        "qr_code_value": "sample_qr_value",
        "field_name": [
            "Extension",
            "Mobile"
        ],
        "color": "#43A047",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Business card updated successfully.",
    "success": true
}
DELETE /api/v1/mobile/my-business-cards/2

Delete My-business-card

Delete a My-business-card.

Deletes the specified My-business-card from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Business card deleted successfully.",
    "success": true
}
POST /api/v1/mobile/business-card-groups/2/restore

Restore Business-card-group

Restore deleted Business-card-group.

Restore a previously deleted Business-card-group record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Family",
        "active": true,
        "created_at": "2026-08-26",
        "contacts_count": 0,
        "contacts": []
    },
    "message": "Group restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/business-card-groups/2/force

Permanently Delete Business-card-group

Force delete Business-card-group.

Permanently remove the Business-card-group record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Group permanently deleted.",
    "success": true
}
POST /api/v1/mobile/business-card-contacts/1/restore

Restore Business-card-contact

Restore deleted Business-card-contact.

Restore a previously deleted Business-card-contact record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "group_id": null,
        "name": "Jane Smith",
        "job_title": "Software Engineer",
        "company": "Tech Corp",
        "phone": "+966501234567",
        "email": "jane.smith@techcorp.com",
        "website": "https:\/\/techcorp.com",
        "front_image": null,
        "back_image": null,
        "notes": null,
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Contact restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/business-card-contacts/1/force

Permanently Delete Business-card-contact

Force delete Business-card-contact.

Permanently remove the Business-card-contact record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Contact permanently deleted.",
    "success": true
}
POST /api/v1/mobile/my-business-cards/1/restore

Restore My-business-card

Restore deleted My-business-card.

Restore a previously deleted My-business-card record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "John Doe",
        "job_title": "Product Manager",
        "company": "QEEI",
        "phone": "+966509876543",
        "email": "john.doe@qeei.com",
        "website": "https:\/\/qeei.com",
        "photo": null,
        "qr_code_value": "qr_code_value",
        "field_name": [
            "Extension",
            "Fax"
        ],
        "color": "#1A73E8",
        "active": true,
        "created_at": "2026-08-26"
    },
    "message": "Business card restored successfully.",
    "success": true
}
DELETE /api/v1/mobile/my-business-cards/1/force

Permanently Delete My-business-card

Force delete My-business-card.

Permanently remove the My-business-card record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Business card permanently deleted.",
    "success": true
}

Users

POST /api/v1/mobile/users/register

User Register

Registers a new mobile user and triggers an OTP verification.

Initiates registration. User data is temporarily cached until verification.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
name string New User
country_code string 20
phone string 01011112222
email string user@example.com
password string P@ssw0rd123
password_confirmation string P@ssw0rd123

Request Validations Or Notes

Field/Name Examples
name required, string, min 2, max 100, regex
country_code required, string, Closure
country_id required, exists settings,id
phone required, regex, max 20, unique users,phone, Closure
full_phone optional, string, unique users,phone
email optional, valid email, unique users,email
password required, must match its *_confirmation field, StrongPassword
Success (200 OK)
{
    "data": {
        "otp": 1234
    },
    "message": "Registration OTP sent.",
    "success": true
}
POST /api/v1/mobile/users/login

User Login

Initializes login for a mobile user by verifying credentials.

Validates phone and password. Returns a Bearer token upon success.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222
password string P@ssw0rd123

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, exists users,phone, Closure
password required, string
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "New User",
        "email": "user@example.com",
        "phone": "01011112222",
        "country_code": "20",
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": true,
        "created_at": "2026-08-26",
        "token": "9|xS4R5ilkwQpoWEmZ61yyUTnBUuvZWH7pfjeRy8zJ79d15538",
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": "2026-08-26 14:41:49"
    },
    "message": "welcome New User",
    "success": true
}
POST /api/v1/mobile/users/verify

User Verify OTP

Completes the registration or login flow for mobile users by verifying the OTP.

Validates the 6-digit OTP code. For registration, this step persists the user record to the database.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222
otp string 1234

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
full_phone optional, string
otp required, 4 digits
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "New User",
        "email": "user@example.com",
        "phone": "01011112222",
        "country_code": "20",
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": true,
        "created_at": "2026-08-26",
        "token": "8|Nk8Zdbj9cOHk8kbiWYBgypHBI50M0axnwEtIcgL4919101a3",
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "Account verified and created successfully.",
    "success": true
}
POST /api/v1/mobile/users/forget-password

User Forget Password

Sends an OTP to the mobile user phone for password recovery.

Step 1 of password reset: Request an OTP for a registered phone number.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
Success (200 OK)
{
    "data": {
        "token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
        "otp": "1234"
    },
    "message": "OTP for password reset sent.",
    "success": true
}
POST /api/v1/mobile/users/verify-forget-password

User Verify Forgot Password OTP

Verifies the OTP and token for mobile user password recovery.

Step 2 of password reset: Verify the OTP received via SMS along with the temporary token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222
otp string 1234
change_password_token string SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
otp required, 4 digits
full_phone optional, string
change_password_token required, string, Closure
Success (200 OK)
{
    "data": {
        "change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
    },
    "message": "Your Otp Verified successfully.",
    "success": true
}
POST /api/v1/mobile/users/reset-password

User Reset Password

Updates the mobile user password using the provided token.

Step 3 of password reset: Finalize the password reset by providing the new password and the validated token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222
change_password_token string SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw
password string NewP@ssw0rd123
password_confirmation string NewP@ssw0rd123

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
password required, must match its *_confirmation field, StrongPassword, Closure
change_password_token required, string, Closure
Success (200 OK)
{
    "data": [],
    "message": "Password reset successfully.",
    "success": true
}
POST /api/v1/mobile/users/resend-otp

User Resend OTP

Resends a new OTP to the mobile user phone.

Requests a fresh OTP code. Checks both registration cache and database state.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
country_code string 20
phone string 01011112222

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
Success (200 OK)
{
    "data": {
        "otp": 1234
    },
    "message": "OTP resent successfully.",
    "success": true
}
GET /api/v1/mobile/users/profile

User Profile

Retrieves the authenticated mobile user profile.

Retrieves the authenticated mobile user profile.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Demo User 2",
        "email": "user2@example.com",
        "phone": "01011113333",
        "country_code": null,
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": true,
        "created_at": "2026-08-26",
        "token": null,
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "Profile retrieved successfully.",
    "success": true
}
POST /api/v1/mobile/users/change-password

User Change Password

Updates the password for the authenticated mobile user.

Requires the current (old) password for verification before updating to the new password.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
old_password string P@ssw0rd123
new_password string NewP@ssw0rd123
new_password_confirmation string NewP@ssw0rd123

Request Validations Or Notes

Field/Name Examples
old_password required
new_password required, different, StrongPassword
new_password_confirmation required, same
Success (200 OK)
{
    "data": [],
    "message": "Password changed successfully.",
    "success": true
}
POST /api/v1/mobile/users/profile

User Update Profile

Updates the authenticated mobile user profile with an optional avatar image.

Updates the user's profile details including name, email, phone, and avatar. Avatar must be a valid image.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Updated User Name
email string updated_email@example.com

Request Validations Or Notes

Field/Name Examples
name optional, string, max 255
email optional, valid email, unique users,email,1
country_code optional, string, Closure
country_id optional, exists settings,id
phone optional, regex, max 20, unique users,phone,1, Closure
avatar optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
delete_avatar optional, true/false
postal_code optional, string, max 20
main_address optional, string
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Updated User Name",
        "email": "updated_email@example.com",
        "phone": "01011113333",
        "country_code": null,
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": true,
        "created_at": "2026-08-26",
        "token": null,
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "Profile updated successfully.",
    "success": true
}
POST /api/v1/mobile/users/refresh-token

User Refresh Token

Issues a new session token for the authenticated mobile user.

Issues a new session token for the authenticated mobile user.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "user": {
            "id": 1,
            "name": "Updated User Name",
            "email": "updated_email@example.com",
            "phone": "01011113333",
            "country_id": null,
            "avatar": null,
            "postal_code": null,
            "main_address": null,
            "is_active": true,
            "last_login_at": null,
            "created_at": "2026-08-26T14:41:46.000000Z",
            "token": null,
            "expires_in": null,
            "token_type": "Bearer"
        },
        "token": "10|ubh0ZLtbqKj790GieSQpS8By4DZoBmafRpGFoVBu04946961",
        "token_type": "Bearer",
        "expires_in": null
    },
    "message": "New Token",
    "success": true
}
POST /api/v1/mobile/users/logout

User Logout

Logs out the authenticated mobile user and revokes the token.

Logs out the authenticated mobile user and revokes the token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Good by.",
    "success": true
}

Dashboard API

Authentication

POST /api/v1/login

Admin Login

Authenticates an administrator and returns an access token.

Authenticates an administrator and returns an access token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
step integer 1
email string admin@base.com
password string P@ssw0rd

Request Validations Or Notes

Field/Name Examples
step required, integer, allowed: 1, 2
email required, valid email, exists admins,email
password required if step = 1, StrongPassword
otp required if step = 2, 4 digits
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Admin",
        "email": "admin@base.com",
        "phone": "000000000000",
        "avatar": "",
        "token": "7|y7H6aREUak8ivQBbxcsUajeY9nQHdlIz3o8sfpPI1ef18275",
        "expires_in": null,
        "token_type": "Bearer",
        "roles": [
            {
                "id": 1,
                "name": "Default Role"
            },
            {
                "id": 2,
                "name": "Super Admin Role "
            }
        ],
        "permissions": [
            "users-fetch",
            "users-create",
            "users-read",
            "users-update",
            "users-delete",
            "valuers-fetch",
            "valuers-create",
            "valuers-read",
            "valuers-update",
            "valuers-delete",
            "requests-fetch",
            "requests-create",
            "requests-read",
            "requests-update",
            "requests-delete",
            "reports-fetch",
            "reports-create",
            "reports-read",
            "reports-update",
            "reports-delete",
            "team_management-fetch",
            "team_management-create",
            "team_management-read",
            "team_management-update",
            "team_management-delete",
            "finance-fetch",
            "finance-create",
            "finance-read",
            "finance-update",
            "finance-delete",
            "reviews-fetch",
            "reviews-create",
            "reviews-read",
            "reviews-update",
            "reviews-delete",
            "users-fetch",
            "users-create",
            "users-read",
            "users-update",
            "users-delete",
            "valuers-fetch",
            "valuers-create",
            "valuers-read",
            "valuers-update",
            "valuers-delete",
            "requests-fetch",
            "requests-create",
            "requests-read",
            "requests-update",
            "requests-delete",
            "reports-fetch",
            "reports-create",
            "reports-read",
            "reports-update",
            "reports-delete",
            "team_management-fetch",
            "team_management-create",
            "team_management-read",
            "team_management-update",
            "team_management-delete",
            "finance-fetch",
            "finance-create",
            "finance-read",
            "finance-update",
            "finance-delete",
            "reviews-fetch",
            "reviews-create",
            "reviews-read",
            "reviews-update",
            "reviews-delete"
        ],
        "created_at": "2026-08-26"
    },
    "message": "welcome Admin",
    "success": true
}
POST /api/v1/forget-password

Forget Password Request

Sends an OTP to the user email for password recovery.

Sends an OTP to the user email for password recovery.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
email string admin@base.com

Request Validations Or Notes

Field/Name Examples
email required, valid email, exists admins,email
Success (200 OK)
{
    "data": {
        "change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
    },
    "message": "Please check your email",
    "success": true
}
POST /api/v1/verify-forget-password-otp

Verify OTP

Verifies the OTP sent to the user email for password recovery.

Verifies the OTP sent to the user email for password recovery.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
email string admin@base.com
otp string 1234
change_password_token string SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
otp required, 4 digits
full_phone optional, string
change_password_token required, string, Closure
Success (200 OK)
{
    "data": {
        "change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
    },
    "message": "Your Otp Verified successfully.",
    "success": true
}
POST /api/v1/reset-password

Reset Password

Updates the user password using the provided OTP and temporary token.

Updates the user password using the provided OTP and temporary token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
email string admin@base.com
change_password_token string SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw
password string NewP@ssw0rd123
new_password_confirmation string NewP@ssw0rd123

Request Validations Or Notes

Field/Name Examples
country_code required, string, Closure
phone required, regex, max 20, Closure
password required, must match its *_confirmation field, StrongPassword, Closure
change_password_token required, string, Closure
Success (200 OK)
{
    "data": [],
    "message": "Password reset successfully.",
    "success": true
}
POST /api/v1/logout

Admin Logout

Revokes the current access token and logs the user out.

Revokes the current access token and logs the user out.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Good by.",
    "success": true
}

Administration

POST /api/v1/dashboard/admins

Create Admin

Create a new Admin.

Creates a new Admin in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Admin J47CIP
email string admin+J47CiP@gmail.com
phone string 01117166889
password string P@ss0rd
job_title string Administrator
avatar NULL
contract_type string full_time
password_confirmation string P@ss0rd
roles array [{"role_id":1},{"role_id":2}]
description array {"ar":"\u0648\u0635\u0641 \u0627\u0644\u0645\u0633\u0624\u0648\u0644","en":"Admin description"}

Request Validations Or Notes

Field/Name Examples
name required, string, min 2, max 100, regex
email required, valid email, regex, unique admins,email
phone required, regex, min 9, max 20, unique admins,phone
password required, must match its *_confirmation field, StrongPassword
password_confirmation required, same
avatar optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
is_active optional, true/false
roles required, array, min 1
roles[].role_id required, integer, exists roles,id
job_title required, string, min 2, max 100
contract_type required, string, min 2, max 100, allowed: full_time, part_time
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Admin J47CIP",
        "email": "admin+J47CiP@gmail.com",
        "phone": "01117166889",
        "avatar": null,
        "job_title": "Administrator",
        "contract_type": "full_time",
        "is_active": false,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": null
    },
    "message": "Data inserted successfully.",
    "success": true
}
GET /api/v1/dashboard/admins

Get Admin List

Retrieve a list of Admin.

Retrieves a list of Admin records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Admin",
            "email": "admin@base.com",
            "phone": "000000000000",
            "avatar": null,
            "job_title": null,
            "contract_type": null,
            "is_active": true,
            "roles": [
                {
                    "id": 1,
                    "name": "Default Role",
                    "description": "Default Role Description",
                    "permissions_count": 35,
                    "admins_count": 2,
                    "is_active": true,
                    "created_at": "2026-08-26",
                    "permissions": [
                        {
                            "id": 1,
                            "title": "Fetch Data",
                            "name": "users-fetch",
                            "permission_id": 1,
                            "model_id": 1
                        },
                        {
                            "id": 2,
                            "title": "Create Data",
                            "name": "users-create",
                            "permission_id": 2,
                            "model_id": 1
                        },
                        {
                            "id": 3,
                            "title": "Read Data",
                            "name": "users-read",
                            "permission_id": 3,
                            "model_id": 1
                        },
                        {
                            "id": 4,
                            "title": "Update Data",
                            "name": "users-update",
                            "permission_id": 4,
                            "model_id": 1
                        },
                        {
                            "id": 5,
                            "title": "Delete Data",
                            "name": "users-delete",
                            "permission_id": 5,
                            "model_id": 1
                        },
                        {
                            "id": 6,
                            "title": "Fetch Data",
                            "name": "valuers-fetch",
                            "permission_id": 1,
                            "model_id": 2
                        },
                        {
                            "id": 7,
                            "title": "Create Data",
                            "name": "valuers-create",
                            "permission_id": 2,
                            "model_id": 2
                        },
                        {
                            "id": 8,
                            "title": "Read Data",
                            "name": "valuers-read",
                            "permission_id": 3,
                            "model_id": 2
                        },
                        {
                            "id": 9,
                            "title": "Update Data",
                            "name": "valuers-update",
                            "permission_id": 4,
                            "model_id": 2
                        },
                        {
                            "id": 10,
                            "title": "Delete Data",
                            "name": "valuers-delete",
                            "permission_id": 5,
                            "model_id": 2
                        },
                        {
                            "id": 11,
                            "title": "Fetch Data",
                            "name": "requests-fetch",
                            "permission_id": 1,
                            "model_id": 3
                        },
                        {
                            "id": 12,
                            "title": "Create Data",
                            "name": "requests-create",
                            "permission_id": 2,
                            "model_id": 3
                        },
                        {
                            "id": 13,
                            "title": "Read Data",
                            "name": "requests-read",
                            "permission_id": 3,
                            "model_id": 3
                        },
                        {
                            "id": 14,
                            "title": "Update Data",
                            "name": "requests-update",
                            "permission_id": 4,
                            "model_id": 3
                        },
                        {
                            "id": 15,
                            "title": "Delete Data",
                            "name": "requests-delete",
                            "permission_id": 5,
                            "model_id": 3
                        },
                        {
                            "id": 16,
                            "title": "Fetch Data",
                            "name": "reports-fetch",
                            "permission_id": 1,
                            "model_id": 4
                        },
                        {
                            "id": 17,
                            "title": "Create Data",
                            "name": "reports-create",
                            "permission_id": 2,
                            "model_id": 4
                        },
                        {
                            "id": 18,
                            "title": "Read Data",
                            "name": "reports-read",
                            "permission_id": 3,
                            "model_id": 4
                        },
                        {
                            "id": 19,
                            "title": "Update Data",
                            "name": "reports-update",
                            "permission_id": 4,
                            "model_id": 4
                        },
                        {
                            "id": 20,
                            "title": "Delete Data",
                            "name": "reports-delete",
                            "permission_id": 5,
                            "model_id": 4
                        },
                        {
                            "id": 21,
                            "title": "Fetch Data",
                            "name": "team_management-fetch",
                            "permission_id": 1,
                            "model_id": 5
                        },
                        {
                            "id": 22,
                            "title": "Create Data",
                            "name": "team_management-create",
                            "permission_id": 2,
                            "model_id": 5
                        },
                        {
                            "id": 23,
                            "title": "Read Data",
                            "name": "team_management-read",
                            "permission_id": 3,
                            "model_id": 5
                        },
                        {
                            "id": 24,
                            "title": "Update Data",
                            "name": "team_management-update",
                            "permission_id": 4,
                            "model_id": 5
                        },
                        {
                            "id": 25,
                            "title": "Delete Data",
                            "name": "team_management-delete",
                            "permission_id": 5,
                            "model_id": 5
                        },
                        {
                            "id": 26,
                            "title": "Fetch Data",
                            "name": "finance-fetch",
                            "permission_id": 1,
                            "model_id": 6
                        },
                        {
                            "id": 27,
                            "title": "Create Data",
                            "name": "finance-create",
                            "permission_id": 2,
                            "model_id": 6
                        },
                        {
                            "id": 28,
                            "title": "Read Data",
                            "name": "finance-read",
                            "permission_id": 3,
                            "model_id": 6
                        },
                        {
                            "id": 29,
                            "title": "Update Data",
                            "name": "finance-update",
                            "permission_id": 4,
                            "model_id": 6
                        },
                        {
                            "id": 30,
                            "title": "Delete Data",
                            "name": "finance-delete",
                            "permission_id": 5,
                            "model_id": 6
                        },
                        {
                            "id": 31,
                            "title": "Fetch Data",
                            "name": "reviews-fetch",
                            "permission_id": 1,
                            "model_id": 7
                        },
                        {
                            "id": 32,
                            "title": "Create Data",
                            "name": "reviews-create",
                            "permission_id": 2,
                            "model_id": 7
                        },
                        {
                            "id": 33,
                            "title": "Read Data",
                            "name": "reviews-read",
                            "permission_id": 3,
                            "model_id": 7
                        },
                        {
                            "id": 34,
                            "title": "Update Data",
                            "name": "reviews-update",
                            "permission_id": 4,
                            "model_id": 7
                        },
                        {
                            "id": 35,
                            "title": "Delete Data",
                            "name": "reviews-delete",
                            "permission_id": 5,
                            "model_id": 7
                        }
                    ],
                    "translate": {
                        "name": {
                            "en": "Default Role",
                            "ar": "دور تقليدى"
                        },
                        "description": {
                            "en": "Default Role Description",
                            "ar": "وصف الدور التقليدى"
                        }
                    }
                },
                {
                    "id": 2,
                    "name": "Super Admin Role ",
                    "description": "Super Admin Role Description",
                    "permissions_count": 35,
                    "admins_count": 2,
                    "is_active": true,
                    "created_at": "2026-08-26",
                    "permissions": [
                        {
                            "id": 36,
                            "title": "Fetch Data",
                            "name": "users-fetch",
                            "permission_id": 1,
                            "model_id": 1
                        },
                        {
                            "id": 37,
                            "title": "Create Data",
                            "name": "users-create",
                            "permission_id": 2,
                            "model_id": 1
                        },
                        {
                            "id": 38,
                            "title": "Read Data",
                            "name": "users-read",
                            "permission_id": 3,
                            "model_id": 1
                        },
                        {
                            "id": 39,
                            "title": "Update Data",
                            "name": "users-update",
                            "permission_id": 4,
                            "model_id": 1
                        },
                        {
                            "id": 40,
                            "title": "Delete Data",
                            "name": "users-delete",
                            "permission_id": 5,
                            "model_id": 1
                        },
                        {
                            "id": 41,
                            "title": "Fetch Data",
                            "name": "valuers-fetch",
                            "permission_id": 1,
                            "model_id": 2
                        },
                        {
                            "id": 42,
                            "title": "Create Data",
                            "name": "valuers-create",
                            "permission_id": 2,
                            "model_id": 2
                        },
                        {
                            "id": 43,
                            "title": "Read Data",
                            "name": "valuers-read",
                            "permission_id": 3,
                            "model_id": 2
                        },
                        {
                            "id": 44,
                            "title": "Update Data",
                            "name": "valuers-update",
                            "permission_id": 4,
                            "model_id": 2
                        },
                        {
                            "id": 45,
                            "title": "Delete Data",
                            "name": "valuers-delete",
                            "permission_id": 5,
                            "model_id": 2
                        },
                        {
                            "id": 46,
                            "title": "Fetch Data",
                            "name": "requests-fetch",
                            "permission_id": 1,
                            "model_id": 3
                        },
                        {
                            "id": 47,
                            "title": "Create Data",
                            "name": "requests-create",
                            "permission_id": 2,
                            "model_id": 3
                        },
                        {
                            "id": 48,
                            "title": "Read Data",
                            "name": "requests-read",
                            "permission_id": 3,
                            "model_id": 3
                        },
                        {
                            "id": 49,
                            "title": "Update Data",
                            "name": "requests-update",
                            "permission_id": 4,
                            "model_id": 3
                        },
                        {
                            "id": 50,
                            "title": "Delete Data",
                            "name": "requests-delete",
                            "permission_id": 5,
                            "model_id": 3
                        },
                        {
                            "id": 51,
                            "title": "Fetch Data",
                            "name": "reports-fetch",
                            "permission_id": 1,
                            "model_id": 4
                        },
                        {
                            "id": 52,
                            "title": "Create Data",
                            "name": "reports-create",
                            "permission_id": 2,
                            "model_id": 4
                        },
                        {
                            "id": 53,
                            "title": "Read Data",
                            "name": "reports-read",
                            "permission_id": 3,
                            "model_id": 4
                        },
                        {
                            "id": 54,
                            "title": "Update Data",
                            "name": "reports-update",
                            "permission_id": 4,
                            "model_id": 4
                        },
                        {
                            "id": 55,
                            "title": "Delete Data",
                            "name": "reports-delete",
                            "permission_id": 5,
                            "model_id": 4
                        },
                        {
                            "id": 56,
                            "title": "Fetch Data",
                            "name": "team_management-fetch",
                            "permission_id": 1,
                            "model_id": 5
                        },
                        {
                            "id": 57,
                            "title": "Create Data",
                            "name": "team_management-create",
                            "permission_id": 2,
                            "model_id": 5
                        },
                        {
                            "id": 58,
                            "title": "Read Data",
                            "name": "team_management-read",
                            "permission_id": 3,
                            "model_id": 5
                        },
                        {
                            "id": 59,
                            "title": "Update Data",
                            "name": "team_management-update",
                            "permission_id": 4,
                            "model_id": 5
                        },
                        {
                            "id": 60,
                            "title": "Delete Data",
                            "name": "team_management-delete",
                            "permission_id": 5,
                            "model_id": 5
                        },
                        {
                            "id": 61,
                            "title": "Fetch Data",
                            "name": "finance-fetch",
                            "permission_id": 1,
                            "model_id": 6
                        },
                        {
                            "id": 62,
                            "title": "Create Data",
                            "name": "finance-create",
                            "permission_id": 2,
                            "model_id": 6
                        },
                        {
                            "id": 63,
                            "title": "Read Data",
                            "name": "finance-read",
                            "permission_id": 3,
                            "model_id": 6
                        },
                        {
                            "id": 64,
                            "title": "Update Data",
                            "name": "finance-update",
                            "permission_id": 4,
                            "model_id": 6
                        },
                        {
                            "id": 65,
                            "title": "Delete Data",
                            "name": "finance-delete",
                            "permission_id": 5,
                            "model_id": 6
                        },
                        {
                            "id": 66,
                            "title": "Fetch Data",
                            "name": "reviews-fetch",
                            "permission_id": 1,
                            "model_id": 7
                        },
                        {
                            "id": 67,
                            "title": "Create Data",
                            "name": "reviews-create",
                            "permission_id": 2,
                            "model_id": 7
                        },
                        {
                            "id": 68,
                            "title": "Read Data",
                            "name": "reviews-read",
                            "permission_id": 3,
                            "model_id": 7
                        },
                        {
                            "id": 69,
                            "title": "Update Data",
                            "name": "reviews-update",
                            "permission_id": 4,
                            "model_id": 7
                        },
                        {
                            "id": 70,
                            "title": "Delete Data",
                            "name": "reviews-delete",
                            "permission_id": 5,
                            "model_id": 7
                        }
                    ],
                    "translate": {
                        "name": {
                            "en": "Super Admin Role ",
                            "ar": "دور تقليدى"
                        },
                        "description": {
                            "en": "Default Role Description",
                            "ar": "وصف الدور التقليدى"
                        }
                    }
                }
            ],
            "created_at": "2026-08-26",
            "last_login_at": "2026-08-26 02:41 PM"
        },
        {
            "id": 2,
            "name": "Admin J47CIP",
            "email": "admin+J47CiP@gmail.com",
            "phone": "01117166889",
            "avatar": null,
            "job_title": "Administrator",
            "contract_type": "full_time",
            "is_active": true,
            "roles": [
                {
                    "id": 1,
                    "name": "Default Role",
                    "description": "Default Role Description",
                    "permissions_count": 35,
                    "admins_count": 2,
                    "is_active": true,
                    "created_at": "2026-08-26",
                    "permissions": [
                        {
                            "id": 1,
                            "title": "Fetch Data",
                            "name": "users-fetch",
                            "permission_id": 1,
                            "model_id": 1
                        },
                        {
                            "id": 2,
                            "title": "Create Data",
                            "name": "users-create",
                            "permission_id": 2,
                            "model_id": 1
                        },
                        {
                            "id": 3,
                            "title": "Read Data",
                            "name": "users-read",
                            "permission_id": 3,
                            "model_id": 1
                        },
                        {
                            "id": 4,
                            "title": "Update Data",
                            "name": "users-update",
                            "permission_id": 4,
                            "model_id": 1
                        },
                        {
                            "id": 5,
                            "title": "Delete Data",
                            "name": "users-delete",
                            "permission_id": 5,
                            "model_id": 1
                        },
                        {
                            "id": 6,
                            "title": "Fetch Data",
                            "name": "valuers-fetch",
                            "permission_id": 1,
                            "model_id": 2
                        },
                        {
                            "id": 7,
                            "title": "Create Data",
                            "name": "valuers-create",
                            "permission_id": 2,
                            "model_id": 2
                        },
                        {
                            "id": 8,
                            "title": "Read Data",
                            "name": "valuers-read",
                            "permission_id": 3,
                            "model_id": 2
                        },
                        {
                            "id": 9,
                            "title": "Update Data",
                            "name": "valuers-update",
                            "permission_id": 4,
                            "model_id": 2
                        },
                        {
                            "id": 10,
                            "title": "Delete Data",
                            "name": "valuers-delete",
                            "permission_id": 5,
                            "model_id": 2
                        },
                        {
                            "id": 11,
                            "title": "Fetch Data",
                            "name": "requests-fetch",
                            "permission_id": 1,
                            "model_id": 3
                        },
                        {
                            "id": 12,
                            "title": "Create Data",
                            "name": "requests-create",
                            "permission_id": 2,
                            "model_id": 3
                        },
                        {
                            "id": 13,
                            "title": "Read Data",
                            "name": "requests-read",
                            "permission_id": 3,
                            "model_id": 3
                        },
                        {
                            "id": 14,
                            "title": "Update Data",
                            "name": "requests-update",
                            "permission_id": 4,
                            "model_id": 3
                        },
                        {
                            "id": 15,
                            "title": "Delete Data",
                            "name": "requests-delete",
                            "permission_id": 5,
                            "model_id": 3
                        },
                        {
                            "id": 16,
                            "title": "Fetch Data",
                            "name": "reports-fetch",
                            "permission_id": 1,
                            "model_id": 4
                        },
                        {
                            "id": 17,
                            "title": "Create Data",
                            "name": "reports-create",
                            "permission_id": 2,
                            "model_id": 4
                        },
                        {
                            "id": 18,
                            "title": "Read Data",
                            "name": "reports-read",
                            "permission_id": 3,
                            "model_id": 4
                        },
                        {
                            "id": 19,
                            "title": "Update Data",
                            "name": "reports-update",
                            "permission_id": 4,
                            "model_id": 4
                        },
                        {
                            "id": 20,
                            "title": "Delete Data",
                            "name": "reports-delete",
                            "permission_id": 5,
                            "model_id": 4
                        },
                        {
                            "id": 21,
                            "title": "Fetch Data",
                            "name": "team_management-fetch",
                            "permission_id": 1,
                            "model_id": 5
                        },
                        {
                            "id": 22,
                            "title": "Create Data",
                            "name": "team_management-create",
                            "permission_id": 2,
                            "model_id": 5
                        },
                        {
                            "id": 23,
                            "title": "Read Data",
                            "name": "team_management-read",
                            "permission_id": 3,
                            "model_id": 5
                        },
                        {
                            "id": 24,
                            "title": "Update Data",
                            "name": "team_management-update",
                            "permission_id": 4,
                            "model_id": 5
                        },
                        {
                            "id": 25,
                            "title": "Delete Data",
                            "name": "team_management-delete",
                            "permission_id": 5,
                            "model_id": 5
                        },
                        {
                            "id": 26,
                            "title": "Fetch Data",
                            "name": "finance-fetch",
                            "permission_id": 1,
                            "model_id": 6
                        },
                        {
                            "id": 27,
                            "title": "Create Data",
                            "name": "finance-create",
                            "permission_id": 2,
                            "model_id": 6
                        },
                        {
                            "id": 28,
                            "title": "Read Data",
                            "name": "finance-read",
                            "permission_id": 3,
                            "model_id": 6
                        },
                        {
                            "id": 29,
                            "title": "Update Data",
                            "name": "finance-update",
                            "permission_id": 4,
                            "model_id": 6
                        },
                        {
                            "id": 30,
                            "title": "Delete Data",
                            "name": "finance-delete",
                            "permission_id": 5,
                            "model_id": 6
                        },
                        {
                            "id": 31,
                            "title": "Fetch Data",
                            "name": "reviews-fetch",
                            "permission_id": 1,
                            "model_id": 7
                        },
                        {
                            "id": 32,
                            "title": "Create Data",
                            "name": "reviews-create",
                            "permission_id": 2,
                            "model_id": 7
                        },
                        {
                            "id": 33,
                            "title": "Read Data",
                            "name": "reviews-read",
                            "permission_id": 3,
                            "model_id": 7
                        },
                        {
                            "id": 34,
                            "title": "Update Data",
                            "name": "reviews-update",
                            "permission_id": 4,
                            "model_id": 7
                        },
                        {
                            "id": 35,
                            "title": "Delete Data",
                            "name": "reviews-delete",
                            "permission_id": 5,
                            "model_id": 7
                        }
                    ],
                    "translate": {
                        "name": {
                            "en": "Default Role",
                            "ar": "دور تقليدى"
                        },
                        "description": {
                            "en": "Default Role Description",
                            "ar": "وصف الدور التقليدى"
                        }
                    }
                },
                {
                    "id": 2,
                    "name": "Super Admin Role ",
                    "description": "Super Admin Role Description",
                    "permissions_count": 35,
                    "admins_count": 2,
                    "is_active": true,
                    "created_at": "2026-08-26",
                    "permissions": [
                        {
                            "id": 36,
                            "title": "Fetch Data",
                            "name": "users-fetch",
                            "permission_id": 1,
                            "model_id": 1
                        },
                        {
                            "id": 37,
                            "title": "Create Data",
                            "name": "users-create",
                            "permission_id": 2,
                            "model_id": 1
                        },
                        {
                            "id": 38,
                            "title": "Read Data",
                            "name": "users-read",
                            "permission_id": 3,
                            "model_id": 1
                        },
                        {
                            "id": 39,
                            "title": "Update Data",
                            "name": "users-update",
                            "permission_id": 4,
                            "model_id": 1
                        },
                        {
                            "id": 40,
                            "title": "Delete Data",
                            "name": "users-delete",
                            "permission_id": 5,
                            "model_id": 1
                        },
                        {
                            "id": 41,
                            "title": "Fetch Data",
                            "name": "valuers-fetch",
                            "permission_id": 1,
                            "model_id": 2
                        },
                        {
                            "id": 42,
                            "title": "Create Data",
                            "name": "valuers-create",
                            "permission_id": 2,
                            "model_id": 2
                        },
                        {
                            "id": 43,
                            "title": "Read Data",
                            "name": "valuers-read",
                            "permission_id": 3,
                            "model_id": 2
                        },
                        {
                            "id": 44,
                            "title": "Update Data",
                            "name": "valuers-update",
                            "permission_id": 4,
                            "model_id": 2
                        },
                        {
                            "id": 45,
                            "title": "Delete Data",
                            "name": "valuers-delete",
                            "permission_id": 5,
                            "model_id": 2
                        },
                        {
                            "id": 46,
                            "title": "Fetch Data",
                            "name": "requests-fetch",
                            "permission_id": 1,
                            "model_id": 3
                        },
                        {
                            "id": 47,
                            "title": "Create Data",
                            "name": "requests-create",
                            "permission_id": 2,
                            "model_id": 3
                        },
                        {
                            "id": 48,
                            "title": "Read Data",
                            "name": "requests-read",
                            "permission_id": 3,
                            "model_id": 3
                        },
                        {
                            "id": 49,
                            "title": "Update Data",
                            "name": "requests-update",
                            "permission_id": 4,
                            "model_id": 3
                        },
                        {
                            "id": 50,
                            "title": "Delete Data",
                            "name": "requests-delete",
                            "permission_id": 5,
                            "model_id": 3
                        },
                        {
                            "id": 51,
                            "title": "Fetch Data",
                            "name": "reports-fetch",
                            "permission_id": 1,
                            "model_id": 4
                        },
                        {
                            "id": 52,
                            "title": "Create Data",
                            "name": "reports-create",
                            "permission_id": 2,
                            "model_id": 4
                        },
                        {
                            "id": 53,
                            "title": "Read Data",
                            "name": "reports-read",
                            "permission_id": 3,
                            "model_id": 4
                        },
                        {
                            "id": 54,
                            "title": "Update Data",
                            "name": "reports-update",
                            "permission_id": 4,
                            "model_id": 4
                        },
                        {
                            "id": 55,
                            "title": "Delete Data",
                            "name": "reports-delete",
                            "permission_id": 5,
                            "model_id": 4
                        },
                        {
                            "id": 56,
                            "title": "Fetch Data",
                            "name": "team_management-fetch",
                            "permission_id": 1,
                            "model_id": 5
                        },
                        {
                            "id": 57,
                            "title": "Create Data",
                            "name": "team_management-create",
                            "permission_id": 2,
                            "model_id": 5
                        },
                        {
                            "id": 58,
                            "title": "Read Data",
                            "name": "team_management-read",
                            "permission_id": 3,
                            "model_id": 5
                        },
                        {
                            "id": 59,
                            "title": "Update Data",
                            "name": "team_management-update",
                            "permission_id": 4,
                            "model_id": 5
                        },
                        {
                            "id": 60,
                            "title": "Delete Data",
                            "name": "team_management-delete",
                            "permission_id": 5,
                            "model_id": 5
                        },
                        {
                            "id": 61,
                            "title": "Fetch Data",
                            "name": "finance-fetch",
                            "permission_id": 1,
                            "model_id": 6
                        },
                        {
                            "id": 62,
                            "title": "Create Data",
                            "name": "finance-create",
                            "permission_id": 2,
                            "model_id": 6
                        },
                        {
                            "id": 63,
                            "title": "Read Data",
                            "name": "finance-read",
                            "permission_id": 3,
                            "model_id": 6
                        },
                        {
                            "id": 64,
                            "title": "Update Data",
                            "name": "finance-update",
                            "permission_id": 4,
                            "model_id": 6
                        },
                        {
                            "id": 65,
                            "title": "Delete Data",
                            "name": "finance-delete",
                            "permission_id": 5,
                            "model_id": 6
                        },
                        {
                            "id": 66,
                            "title": "Fetch Data",
                            "name": "reviews-fetch",
                            "permission_id": 1,
                            "model_id": 7
                        },
                        {
                            "id": 67,
                            "title": "Create Data",
                            "name": "reviews-create",
                            "permission_id": 2,
                            "model_id": 7
                        },
                        {
                            "id": 68,
                            "title": "Read Data",
                            "name": "reviews-read",
                            "permission_id": 3,
                            "model_id": 7
                        },
                        {
                            "id": 69,
                            "title": "Update Data",
                            "name": "reviews-update",
                            "permission_id": 4,
                            "model_id": 7
                        },
                        {
                            "id": 70,
                            "title": "Delete Data",
                            "name": "reviews-delete",
                            "permission_id": 5,
                            "model_id": 7
                        }
                    ],
                    "translate": {
                        "name": {
                            "en": "Super Admin Role ",
                            "ar": "دور تقليدى"
                        },
                        "description": {
                            "en": "Default Role Description",
                            "ar": "وصف الدور التقليدى"
                        }
                    }
                }
            ],
            "created_at": "2026-08-26",
            "last_login_at": null
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
POST /api/v1/dashboard/roles

Create Role

Create a new Role.

Creates a new Role in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u0623\u062e\u062a\u0628\u0627\u0631","en":"Test Role"}
permissions array [{"permission_id":1,"model_id":1}]
description array {"ar":"\u0648\u0635\u0641 \u0627\u0644\u062f\u0648\u0631","en":"Role description"}

Request Validations Or Notes

Field/Name Examples
name required
name.ar required, ArabicLetters
name.en required, EnglishLetters
description optional, array
description.ar optional, string
description.en optional, string
permissions required, array, min 1
permissions[].permission_id required, integer, exists permissions,id
permissions[].model_id required, integer, CheckPermissionInModule
permissions[].name optional, string
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Role",
        "description": "Role description",
        "permissions_count": 0,
        "admins_count": 0,
        "is_active": false,
        "created_at": "2026-08-26",
        "permissions": [
            {
                "id": 71,
                "title": "Fetch Data",
                "name": "users_fetch",
                "permission_id": 1,
                "model_id": 1
            }
        ],
        "translate": {
            "name": {
                "en": "Test Role",
                "ar": "دور تقليدى"
            },
            "description": {
                "en": "Default Role Description",
                "ar": "وصف الدور التقليدى"
            }
        }
    },
    "message": "Role created successfully.",
    "success": true
}
GET /api/v1/dashboard/roles

Get Role List

Retrieve a list of Role.

Retrieves a list of Role records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Default Role",
            "description": "Default Role Description",
            "permissions_count": 35,
            "admins_count": 2,
            "is_active": true,
            "created_at": "2026-08-26",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "users-fetch",
                    "permission_id": 1,
                    "model_id": 1
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "users-create",
                    "permission_id": 2,
                    "model_id": 1
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "users-read",
                    "permission_id": 3,
                    "model_id": 1
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "users-update",
                    "permission_id": 4,
                    "model_id": 1
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "users-delete",
                    "permission_id": 5,
                    "model_id": 1
                },
                {
                    "id": 6,
                    "title": "Fetch Data",
                    "name": "valuers-fetch",
                    "permission_id": 1,
                    "model_id": 2
                },
                {
                    "id": 7,
                    "title": "Create Data",
                    "name": "valuers-create",
                    "permission_id": 2,
                    "model_id": 2
                },
                {
                    "id": 8,
                    "title": "Read Data",
                    "name": "valuers-read",
                    "permission_id": 3,
                    "model_id": 2
                },
                {
                    "id": 9,
                    "title": "Update Data",
                    "name": "valuers-update",
                    "permission_id": 4,
                    "model_id": 2
                },
                {
                    "id": 10,
                    "title": "Delete Data",
                    "name": "valuers-delete",
                    "permission_id": 5,
                    "model_id": 2
                },
                {
                    "id": 11,
                    "title": "Fetch Data",
                    "name": "requests-fetch",
                    "permission_id": 1,
                    "model_id": 3
                },
                {
                    "id": 12,
                    "title": "Create Data",
                    "name": "requests-create",
                    "permission_id": 2,
                    "model_id": 3
                },
                {
                    "id": 13,
                    "title": "Read Data",
                    "name": "requests-read",
                    "permission_id": 3,
                    "model_id": 3
                },
                {
                    "id": 14,
                    "title": "Update Data",
                    "name": "requests-update",
                    "permission_id": 4,
                    "model_id": 3
                },
                {
                    "id": 15,
                    "title": "Delete Data",
                    "name": "requests-delete",
                    "permission_id": 5,
                    "model_id": 3
                },
                {
                    "id": 16,
                    "title": "Fetch Data",
                    "name": "reports-fetch",
                    "permission_id": 1,
                    "model_id": 4
                },
                {
                    "id": 17,
                    "title": "Create Data",
                    "name": "reports-create",
                    "permission_id": 2,
                    "model_id": 4
                },
                {
                    "id": 18,
                    "title": "Read Data",
                    "name": "reports-read",
                    "permission_id": 3,
                    "model_id": 4
                },
                {
                    "id": 19,
                    "title": "Update Data",
                    "name": "reports-update",
                    "permission_id": 4,
                    "model_id": 4
                },
                {
                    "id": 20,
                    "title": "Delete Data",
                    "name": "reports-delete",
                    "permission_id": 5,
                    "model_id": 4
                },
                {
                    "id": 21,
                    "title": "Fetch Data",
                    "name": "team_management-fetch",
                    "permission_id": 1,
                    "model_id": 5
                },
                {
                    "id": 22,
                    "title": "Create Data",
                    "name": "team_management-create",
                    "permission_id": 2,
                    "model_id": 5
                },
                {
                    "id": 23,
                    "title": "Read Data",
                    "name": "team_management-read",
                    "permission_id": 3,
                    "model_id": 5
                },
                {
                    "id": 24,
                    "title": "Update Data",
                    "name": "team_management-update",
                    "permission_id": 4,
                    "model_id": 5
                },
                {
                    "id": 25,
                    "title": "Delete Data",
                    "name": "team_management-delete",
                    "permission_id": 5,
                    "model_id": 5
                },
                {
                    "id": 26,
                    "title": "Fetch Data",
                    "name": "finance-fetch",
                    "permission_id": 1,
                    "model_id": 6
                },
                {
                    "id": 27,
                    "title": "Create Data",
                    "name": "finance-create",
                    "permission_id": 2,
                    "model_id": 6
                },
                {
                    "id": 28,
                    "title": "Read Data",
                    "name": "finance-read",
                    "permission_id": 3,
                    "model_id": 6
                },
                {
                    "id": 29,
                    "title": "Update Data",
                    "name": "finance-update",
                    "permission_id": 4,
                    "model_id": 6
                },
                {
                    "id": 30,
                    "title": "Delete Data",
                    "name": "finance-delete",
                    "permission_id": 5,
                    "model_id": 6
                },
                {
                    "id": 31,
                    "title": "Fetch Data",
                    "name": "reviews-fetch",
                    "permission_id": 1,
                    "model_id": 7
                },
                {
                    "id": 32,
                    "title": "Create Data",
                    "name": "reviews-create",
                    "permission_id": 2,
                    "model_id": 7
                },
                {
                    "id": 33,
                    "title": "Read Data",
                    "name": "reviews-read",
                    "permission_id": 3,
                    "model_id": 7
                },
                {
                    "id": 34,
                    "title": "Update Data",
                    "name": "reviews-update",
                    "permission_id": 4,
                    "model_id": 7
                },
                {
                    "id": 35,
                    "title": "Delete Data",
                    "name": "reviews-delete",
                    "permission_id": 5,
                    "model_id": 7
                }
            ],
            "translate": {
                "name": {
                    "en": "Default Role",
                    "ar": "دور تقليدى"
                },
                "description": {
                    "en": "Default Role Description",
                    "ar": "وصف الدور التقليدى"
                }
            }
        },
        {
            "id": 2,
            "name": "Super Admin Role ",
            "description": "Super Admin Role Description",
            "permissions_count": 35,
            "admins_count": 2,
            "is_active": true,
            "created_at": "2026-08-26",
            "permissions": [
                {
                    "id": 36,
                    "title": "Fetch Data",
                    "name": "users-fetch",
                    "permission_id": 1,
                    "model_id": 1
                },
                {
                    "id": 37,
                    "title": "Create Data",
                    "name": "users-create",
                    "permission_id": 2,
                    "model_id": 1
                },
                {
                    "id": 38,
                    "title": "Read Data",
                    "name": "users-read",
                    "permission_id": 3,
                    "model_id": 1
                },
                {
                    "id": 39,
                    "title": "Update Data",
                    "name": "users-update",
                    "permission_id": 4,
                    "model_id": 1
                },
                {
                    "id": 40,
                    "title": "Delete Data",
                    "name": "users-delete",
                    "permission_id": 5,
                    "model_id": 1
                },
                {
                    "id": 41,
                    "title": "Fetch Data",
                    "name": "valuers-fetch",
                    "permission_id": 1,
                    "model_id": 2
                },
                {
                    "id": 42,
                    "title": "Create Data",
                    "name": "valuers-create",
                    "permission_id": 2,
                    "model_id": 2
                },
                {
                    "id": 43,
                    "title": "Read Data",
                    "name": "valuers-read",
                    "permission_id": 3,
                    "model_id": 2
                },
                {
                    "id": 44,
                    "title": "Update Data",
                    "name": "valuers-update",
                    "permission_id": 4,
                    "model_id": 2
                },
                {
                    "id": 45,
                    "title": "Delete Data",
                    "name": "valuers-delete",
                    "permission_id": 5,
                    "model_id": 2
                },
                {
                    "id": 46,
                    "title": "Fetch Data",
                    "name": "requests-fetch",
                    "permission_id": 1,
                    "model_id": 3
                },
                {
                    "id": 47,
                    "title": "Create Data",
                    "name": "requests-create",
                    "permission_id": 2,
                    "model_id": 3
                },
                {
                    "id": 48,
                    "title": "Read Data",
                    "name": "requests-read",
                    "permission_id": 3,
                    "model_id": 3
                },
                {
                    "id": 49,
                    "title": "Update Data",
                    "name": "requests-update",
                    "permission_id": 4,
                    "model_id": 3
                },
                {
                    "id": 50,
                    "title": "Delete Data",
                    "name": "requests-delete",
                    "permission_id": 5,
                    "model_id": 3
                },
                {
                    "id": 51,
                    "title": "Fetch Data",
                    "name": "reports-fetch",
                    "permission_id": 1,
                    "model_id": 4
                },
                {
                    "id": 52,
                    "title": "Create Data",
                    "name": "reports-create",
                    "permission_id": 2,
                    "model_id": 4
                },
                {
                    "id": 53,
                    "title": "Read Data",
                    "name": "reports-read",
                    "permission_id": 3,
                    "model_id": 4
                },
                {
                    "id": 54,
                    "title": "Update Data",
                    "name": "reports-update",
                    "permission_id": 4,
                    "model_id": 4
                },
                {
                    "id": 55,
                    "title": "Delete Data",
                    "name": "reports-delete",
                    "permission_id": 5,
                    "model_id": 4
                },
                {
                    "id": 56,
                    "title": "Fetch Data",
                    "name": "team_management-fetch",
                    "permission_id": 1,
                    "model_id": 5
                },
                {
                    "id": 57,
                    "title": "Create Data",
                    "name": "team_management-create",
                    "permission_id": 2,
                    "model_id": 5
                },
                {
                    "id": 58,
                    "title": "Read Data",
                    "name": "team_management-read",
                    "permission_id": 3,
                    "model_id": 5
                },
                {
                    "id": 59,
                    "title": "Update Data",
                    "name": "team_management-update",
                    "permission_id": 4,
                    "model_id": 5
                },
                {
                    "id": 60,
                    "title": "Delete Data",
                    "name": "team_management-delete",
                    "permission_id": 5,
                    "model_id": 5
                },
                {
                    "id": 61,
                    "title": "Fetch Data",
                    "name": "finance-fetch",
                    "permission_id": 1,
                    "model_id": 6
                },
                {
                    "id": 62,
                    "title": "Create Data",
                    "name": "finance-create",
                    "permission_id": 2,
                    "model_id": 6
                },
                {
                    "id": 63,
                    "title": "Read Data",
                    "name": "finance-read",
                    "permission_id": 3,
                    "model_id": 6
                },
                {
                    "id": 64,
                    "title": "Update Data",
                    "name": "finance-update",
                    "permission_id": 4,
                    "model_id": 6
                },
                {
                    "id": 65,
                    "title": "Delete Data",
                    "name": "finance-delete",
                    "permission_id": 5,
                    "model_id": 6
                },
                {
                    "id": 66,
                    "title": "Fetch Data",
                    "name": "reviews-fetch",
                    "permission_id": 1,
                    "model_id": 7
                },
                {
                    "id": 67,
                    "title": "Create Data",
                    "name": "reviews-create",
                    "permission_id": 2,
                    "model_id": 7
                },
                {
                    "id": 68,
                    "title": "Read Data",
                    "name": "reviews-read",
                    "permission_id": 3,
                    "model_id": 7
                },
                {
                    "id": 69,
                    "title": "Update Data",
                    "name": "reviews-update",
                    "permission_id": 4,
                    "model_id": 7
                },
                {
                    "id": 70,
                    "title": "Delete Data",
                    "name": "reviews-delete",
                    "permission_id": 5,
                    "model_id": 7
                }
            ],
            "translate": {
                "name": {
                    "en": "Super Admin Role ",
                    "ar": "دور تقليدى"
                },
                "description": {
                    "en": "Default Role Description",
                    "ar": "وصف الدور التقليدى"
                }
            }
        },
        {
            "id": 3,
            "name": "Test Role",
            "description": "Role description",
            "permissions_count": 1,
            "admins_count": 0,
            "is_active": true,
            "created_at": "2026-08-26",
            "permissions": [
                {
                    "id": 71,
                    "title": "Fetch Data",
                    "name": "users_fetch",
                    "permission_id": 1,
                    "model_id": 1
                }
            ],
            "translate": {
                "name": {
                    "en": "Test Role",
                    "ar": "دور تقليدى"
                },
                "description": {
                    "en": "Default Role Description",
                    "ar": "وصف الدور التقليدى"
                }
            }
        }
    ],
    "message": "Roles retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
GET /api/v1/dashboard/roles/1/admins

Get Role Admins

List role admins.

Retrieves a paginated list of admins assigned to the specified role.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Admin",
            "email": "admin@base.com",
            "avatar": "",
            "created_at": "2026-08-26"
        },
        {
            "id": 2,
            "name": "Admin J47CIP",
            "email": "admin+J47CiP@gmail.com",
            "avatar": "",
            "created_at": "2026-08-26"
        }
    ],
    "message": "Role admins retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
POST /api/v1/dashboard/roles/1/admins

Assign Admins To Role

Assign admins to a role.

Assigns one or more existing admins to the specified role. Accepts an array of admin_ids. Re-assigning an admin already on the role has no effect - duplicates are safely ignored. Returns the updated role (with refreshed admins_count) and the list of assigned admins.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
admin_ids array [1]

Request Validations Or Notes

Field/Name Examples
admin_ids required, array, min 1
admin_ids[] required, integer, distinct, Exists
Success (200 OK)
{
    "data": {
        "role": {
            "id": 1,
            "name": "Default Role",
            "description": "Default Role Description",
            "permissions_count": 35,
            "admins_count": 2,
            "is_active": true,
            "created_at": "2026-08-26",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "users-fetch",
                    "permission_id": 1,
                    "model_id": 1
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "users-create",
                    "permission_id": 2,
                    "model_id": 1
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "users-read",
                    "permission_id": 3,
                    "model_id": 1
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "users-update",
                    "permission_id": 4,
                    "model_id": 1
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "users-delete",
                    "permission_id": 5,
                    "model_id": 1
                },
                {
                    "id": 6,
                    "title": "Fetch Data",
                    "name": "valuers-fetch",
                    "permission_id": 1,
                    "model_id": 2
                },
                {
                    "id": 7,
                    "title": "Create Data",
                    "name": "valuers-create",
                    "permission_id": 2,
                    "model_id": 2
                },
                {
                    "id": 8,
                    "title": "Read Data",
                    "name": "valuers-read",
                    "permission_id": 3,
                    "model_id": 2
                },
                {
                    "id": 9,
                    "title": "Update Data",
                    "name": "valuers-update",
                    "permission_id": 4,
                    "model_id": 2
                },
                {
                    "id": 10,
                    "title": "Delete Data",
                    "name": "valuers-delete",
                    "permission_id": 5,
                    "model_id": 2
                },
                {
                    "id": 11,
                    "title": "Fetch Data",
                    "name": "requests-fetch",
                    "permission_id": 1,
                    "model_id": 3
                },
                {
                    "id": 12,
                    "title": "Create Data",
                    "name": "requests-create",
                    "permission_id": 2,
                    "model_id": 3
                },
                {
                    "id": 13,
                    "title": "Read Data",
                    "name": "requests-read",
                    "permission_id": 3,
                    "model_id": 3
                },
                {
                    "id": 14,
                    "title": "Update Data",
                    "name": "requests-update",
                    "permission_id": 4,
                    "model_id": 3
                },
                {
                    "id": 15,
                    "title": "Delete Data",
                    "name": "requests-delete",
                    "permission_id": 5,
                    "model_id": 3
                },
                {
                    "id": 16,
                    "title": "Fetch Data",
                    "name": "reports-fetch",
                    "permission_id": 1,
                    "model_id": 4
                },
                {
                    "id": 17,
                    "title": "Create Data",
                    "name": "reports-create",
                    "permission_id": 2,
                    "model_id": 4
                },
                {
                    "id": 18,
                    "title": "Read Data",
                    "name": "reports-read",
                    "permission_id": 3,
                    "model_id": 4
                },
                {
                    "id": 19,
                    "title": "Update Data",
                    "name": "reports-update",
                    "permission_id": 4,
                    "model_id": 4
                },
                {
                    "id": 20,
                    "title": "Delete Data",
                    "name": "reports-delete",
                    "permission_id": 5,
                    "model_id": 4
                },
                {
                    "id": 21,
                    "title": "Fetch Data",
                    "name": "team_management-fetch",
                    "permission_id": 1,
                    "model_id": 5
                },
                {
                    "id": 22,
                    "title": "Create Data",
                    "name": "team_management-create",
                    "permission_id": 2,
                    "model_id": 5
                },
                {
                    "id": 23,
                    "title": "Read Data",
                    "name": "team_management-read",
                    "permission_id": 3,
                    "model_id": 5
                },
                {
                    "id": 24,
                    "title": "Update Data",
                    "name": "team_management-update",
                    "permission_id": 4,
                    "model_id": 5
                },
                {
                    "id": 25,
                    "title": "Delete Data",
                    "name": "team_management-delete",
                    "permission_id": 5,
                    "model_id": 5
                },
                {
                    "id": 26,
                    "title": "Fetch Data",
                    "name": "finance-fetch",
                    "permission_id": 1,
                    "model_id": 6
                },
                {
                    "id": 27,
                    "title": "Create Data",
                    "name": "finance-create",
                    "permission_id": 2,
                    "model_id": 6
                },
                {
                    "id": 28,
                    "title": "Read Data",
                    "name": "finance-read",
                    "permission_id": 3,
                    "model_id": 6
                },
                {
                    "id": 29,
                    "title": "Update Data",
                    "name": "finance-update",
                    "permission_id": 4,
                    "model_id": 6
                },
                {
                    "id": 30,
                    "title": "Delete Data",
                    "name": "finance-delete",
                    "permission_id": 5,
                    "model_id": 6
                },
                {
                    "id": 31,
                    "title": "Fetch Data",
                    "name": "reviews-fetch",
                    "permission_id": 1,
                    "model_id": 7
                },
                {
                    "id": 32,
                    "title": "Create Data",
                    "name": "reviews-create",
                    "permission_id": 2,
                    "model_id": 7
                },
                {
                    "id": 33,
                    "title": "Read Data",
                    "name": "reviews-read",
                    "permission_id": 3,
                    "model_id": 7
                },
                {
                    "id": 34,
                    "title": "Update Data",
                    "name": "reviews-update",
                    "permission_id": 4,
                    "model_id": 7
                },
                {
                    "id": 35,
                    "title": "Delete Data",
                    "name": "reviews-delete",
                    "permission_id": 5,
                    "model_id": 7
                }
            ],
            "translate": {
                "name": {
                    "en": "Default Role",
                    "ar": "دور تقليدى"
                },
                "description": {
                    "en": "Default Role Description",
                    "ar": "وصف الدور التقليدى"
                }
            }
        },
        "admins": [
            {
                "id": 1,
                "name": "Admin",
                "email": "admin@base.com",
                "avatar": "",
                "created_at": "2026-08-26"
            }
        ]
    },
    "message": "admins::messages.admins_assigned_to_role",
    "success": true
}
GET /api/v1/dashboard/roles/1/available-admins

Get Role Available Admins

List available admins.

Retrieves a list of admins that are not assigned to the specified role.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Available admins retrieved successfully.",
    "success": true
}
GET /api/v1/dashboard/roles/1/available-admins?search=sarah

Search Available Admins

Search available admins by name.

Retrieves admins not assigned to the specified role, filtered by name. The search parameter is optional and combines with the existing role-exclusion filter.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Available admins retrieved successfully.",
    "success": true
}
GET /api/v1/dashboard/roles/1/permissions

Get Role Permissions

List role permissions.

Retrieves the permissions assigned to the specified role, categorized by module.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "title": "Users",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "users-fetch",
                    "permission_id": 1,
                    "model_id": 1
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "users-create",
                    "permission_id": 2,
                    "model_id": 1
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "users-read",
                    "permission_id": 3,
                    "model_id": 1
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "users-update",
                    "permission_id": 4,
                    "model_id": 1
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "users-delete",
                    "permission_id": 5,
                    "model_id": 1
                }
            ]
        },
        {
            "id": 2,
            "title": "Valuers",
            "permissions": [
                {
                    "id": 6,
                    "title": "Fetch Data",
                    "name": "valuers-fetch",
                    "permission_id": 1,
                    "model_id": 2
                },
                {
                    "id": 7,
                    "title": "Create Data",
                    "name": "valuers-create",
                    "permission_id": 2,
                    "model_id": 2
                },
                {
                    "id": 8,
                    "title": "Read Data",
                    "name": "valuers-read",
                    "permission_id": 3,
                    "model_id": 2
                },
                {
                    "id": 9,
                    "title": "Update Data",
                    "name": "valuers-update",
                    "permission_id": 4,
                    "model_id": 2
                },
                {
                    "id": 10,
                    "title": "Delete Data",
                    "name": "valuers-delete",
                    "permission_id": 5,
                    "model_id": 2
                }
            ]
        },
        {
            "id": 3,
            "title": "Requests",
            "permissions": [
                {
                    "id": 11,
                    "title": "Fetch Data",
                    "name": "requests-fetch",
                    "permission_id": 1,
                    "model_id": 3
                },
                {
                    "id": 12,
                    "title": "Create Data",
                    "name": "requests-create",
                    "permission_id": 2,
                    "model_id": 3
                },
                {
                    "id": 13,
                    "title": "Read Data",
                    "name": "requests-read",
                    "permission_id": 3,
                    "model_id": 3
                },
                {
                    "id": 14,
                    "title": "Update Data",
                    "name": "requests-update",
                    "permission_id": 4,
                    "model_id": 3
                },
                {
                    "id": 15,
                    "title": "Delete Data",
                    "name": "requests-delete",
                    "permission_id": 5,
                    "model_id": 3
                }
            ]
        },
        {
            "id": 4,
            "title": "Reports",
            "permissions": [
                {
                    "id": 16,
                    "title": "Fetch Data",
                    "name": "reports-fetch",
                    "permission_id": 1,
                    "model_id": 4
                },
                {
                    "id": 17,
                    "title": "Create Data",
                    "name": "reports-create",
                    "permission_id": 2,
                    "model_id": 4
                },
                {
                    "id": 18,
                    "title": "Read Data",
                    "name": "reports-read",
                    "permission_id": 3,
                    "model_id": 4
                },
                {
                    "id": 19,
                    "title": "Update Data",
                    "name": "reports-update",
                    "permission_id": 4,
                    "model_id": 4
                },
                {
                    "id": 20,
                    "title": "Delete Data",
                    "name": "reports-delete",
                    "permission_id": 5,
                    "model_id": 4
                }
            ]
        },
        {
            "id": 5,
            "title": "Team Management",
            "permissions": [
                {
                    "id": 21,
                    "title": "Fetch Data",
                    "name": "team_management-fetch",
                    "permission_id": 1,
                    "model_id": 5
                },
                {
                    "id": 22,
                    "title": "Create Data",
                    "name": "team_management-create",
                    "permission_id": 2,
                    "model_id": 5
                },
                {
                    "id": 23,
                    "title": "Read Data",
                    "name": "team_management-read",
                    "permission_id": 3,
                    "model_id": 5
                },
                {
                    "id": 24,
                    "title": "Update Data",
                    "name": "team_management-update",
                    "permission_id": 4,
                    "model_id": 5
                },
                {
                    "id": 25,
                    "title": "Delete Data",
                    "name": "team_management-delete",
                    "permission_id": 5,
                    "model_id": 5
                }
            ]
        },
        {
            "id": 6,
            "title": "Finance",
            "permissions": [
                {
                    "id": 26,
                    "title": "Fetch Data",
                    "name": "finance-fetch",
                    "permission_id": 1,
                    "model_id": 6
                },
                {
                    "id": 27,
                    "title": "Create Data",
                    "name": "finance-create",
                    "permission_id": 2,
                    "model_id": 6
                },
                {
                    "id": 28,
                    "title": "Read Data",
                    "name": "finance-read",
                    "permission_id": 3,
                    "model_id": 6
                },
                {
                    "id": 29,
                    "title": "Update Data",
                    "name": "finance-update",
                    "permission_id": 4,
                    "model_id": 6
                },
                {
                    "id": 30,
                    "title": "Delete Data",
                    "name": "finance-delete",
                    "permission_id": 5,
                    "model_id": 6
                }
            ]
        },
        {
            "id": 7,
            "title": "reviews",
            "permissions": [
                {
                    "id": 31,
                    "title": "Fetch Data",
                    "name": "reviews-fetch",
                    "permission_id": 1,
                    "model_id": 7
                },
                {
                    "id": 32,
                    "title": "Create Data",
                    "name": "reviews-create",
                    "permission_id": 2,
                    "model_id": 7
                },
                {
                    "id": 33,
                    "title": "Read Data",
                    "name": "reviews-read",
                    "permission_id": 3,
                    "model_id": 7
                },
                {
                    "id": 34,
                    "title": "Update Data",
                    "name": "reviews-update",
                    "permission_id": 4,
                    "model_id": 7
                },
                {
                    "id": 35,
                    "title": "Delete Data",
                    "name": "reviews-delete",
                    "permission_id": 5,
                    "model_id": 7
                }
            ]
        }
    ],
    "message": "Role permissions retrieved successfully.",
    "success": true
}
GET /api/v1/dashboard/admins/2

Get Admin Details

Retrieve Admin details.

Retrieves detailed information about a specific Admin using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Admin J47CIP",
        "email": "admin+J47CiP@gmail.com",
        "phone": "01117166889",
        "avatar": null,
        "job_title": "Administrator",
        "contract_type": "full_time",
        "is_active": true,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 35,
                "admins_count": 2,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 35,
                "admins_count": 2,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": null
    },
    "message": "Data retrieved successfully.",
    "success": true
}
PUT /api/v1/dashboard/admins/2

Update Admin

Update an existing Admin.

Updates the specified Admin with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Admin Updated ORAG0V
email string admin_upd+oRaG0v@gmail.com
phone string 01228456239
avatar NULL
password string P@ss0rd
job_title string Manager
contract_type string part_time
roles array [{"role_id":1},{"role_id":2}]
id integer 2

Request Validations Or Notes

Field/Name Examples
name optional, string, min 2, max 100, regex
email optional, valid email, regex, Unique
phone optional, regex, min 9, max 20, unique admins,phone
password optional, StrongPassword
avatar optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
is_active optional, true/false
roles optional, array, min 1
roles[].role_id optional, integer, exists roles,id
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Admin Updated ORAG0V",
        "email": "admin_upd+oRaG0v@gmail.com",
        "phone": "01228456239",
        "avatar": null,
        "job_title": "Administrator",
        "contract_type": "full_time",
        "is_active": true,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": null
    },
    "message": "Data updated successfully.",
    "success": true
}
PATCH /api/v1/dashboard/admins/2/toggle-active

Toggle Admin Status

Switch the Admin status between active and inactive.

Updates the status of the specified Admin by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Admin Updated ORAG0V",
        "email": "admin_upd+oRaG0v@gmail.com",
        "phone": "01228456239",
        "avatar": null,
        "job_title": "Administrator",
        "contract_type": "full_time",
        "is_active": false,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": null
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/dashboard/admins/2/roles/1

Remove Role From Admin

Remove role from admin.

Removes the specified role from the admin. Returns an error if the admin does not have this role.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Role removed from admin successfully.",
    "success": true
}
DELETE /api/v1/dashboard/admins/2

Delete Admin

Delete a Admin.

Deletes the specified Admin from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}
GET /api/v1/dashboard/roles/3

Get Role Details

Retrieve Role details.

Retrieves detailed information about a specific Role using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Role",
        "description": "Role description",
        "permissions_count": 1,
        "admins_count": 0,
        "is_active": true,
        "created_at": "2026-08-26",
        "permissions": [
            {
                "id": 71,
                "title": "Fetch Data",
                "name": "users_fetch",
                "permission_id": 1,
                "model_id": 1
            }
        ],
        "translate": {
            "name": {
                "en": "Test Role",
                "ar": "دور تقليدى"
            },
            "description": {
                "en": "Default Role Description",
                "ar": "وصف الدور التقليدى"
            }
        }
    },
    "message": "Role retrieved successfully.",
    "success": true
}
PUT /api/v1/dashboard/roles/3

Update Role

Update an existing Role.

Updates the specified Role with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
id integer 3
name array {"ar":"\u0623\u062e\u062a\u0628\u0627\u0631","en":"Test Role"}
permissions array [{"permission_id":1,"model_id":1}]

Request Validations Or Notes

Field/Name Examples
name sometimes
name.ar optional, ArabicLetters
name.en optional, EnglishLetters
description optional, array
description.ar optional, string
description.en optional, string
permissions optional, array
permissions[].permission_id optional, integer, exists permissions,id
permissions[].model_id optional, integer, CheckPermissionInModule
permissions[].name optional, string
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Role",
        "description": "Role description",
        "permissions_count": 0,
        "admins_count": 0,
        "is_active": true,
        "created_at": "2026-08-26",
        "permissions": [
            {
                "id": 71,
                "title": "Fetch Data",
                "name": "users_fetch",
                "permission_id": 1,
                "model_id": 1
            }
        ],
        "translate": {
            "name": {
                "en": "Test Role",
                "ar": "دور تقليدى"
            },
            "description": {
                "en": "Default Role Description",
                "ar": "وصف الدور التقليدى"
            }
        }
    },
    "message": "Role updated successfully.",
    "success": true
}
PATCH /api/v1/dashboard/roles/3/toggle-active

Toggle Role Status

Switch the Role status between active and inactive.

Updates the status of the specified Role by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Role",
        "description": "Role description",
        "permissions_count": 0,
        "admins_count": 0,
        "is_active": false,
        "created_at": "2026-08-26",
        "permissions": [
            {
                "id": 71,
                "title": "Fetch Data",
                "name": "users_fetch",
                "permission_id": 1,
                "model_id": 1
            }
        ],
        "translate": {
            "name": {
                "en": "Test Role",
                "ar": "دور تقليدى"
            },
            "description": {
                "en": "Default Role Description",
                "ar": "وصف الدور التقليدى"
            }
        }
    },
    "message": "Role status updated successfully.",
    "success": true
}
DELETE /api/v1/dashboard/roles/3

Delete Role

Delete a Role.

Deletes the specified Role from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Role deleted successfully.",
    "success": true
}
GET /api/v1/dashboard/admins/trash

Get Deleted Admin

List deleted Admin.

Retrieve a list of soft-deleted Admin records from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 2,
            "name": "Admin Updated ORAG0V",
            "email": "admin_upd+oRaG0v@gmail.com",
            "phone": "01228456239",
            "avatar": null,
            "job_title": "Administrator",
            "contract_type": "full_time",
            "is_active": false,
            "roles": [
                {
                    "id": 2,
                    "name": "Super Admin Role ",
                    "description": "Super Admin Role Description",
                    "permissions_count": 0,
                    "admins_count": 0,
                    "is_active": true,
                    "created_at": "2026-08-26",
                    "permissions": [
                        {
                            "id": 36,
                            "title": "Fetch Data",
                            "name": "users-fetch",
                            "permission_id": 1,
                            "model_id": 1
                        },
                        {
                            "id": 37,
                            "title": "Create Data",
                            "name": "users-create",
                            "permission_id": 2,
                            "model_id": 1
                        },
                        {
                            "id": 38,
                            "title": "Read Data",
                            "name": "users-read",
                            "permission_id": 3,
                            "model_id": 1
                        },
                        {
                            "id": 39,
                            "title": "Update Data",
                            "name": "users-update",
                            "permission_id": 4,
                            "model_id": 1
                        },
                        {
                            "id": 40,
                            "title": "Delete Data",
                            "name": "users-delete",
                            "permission_id": 5,
                            "model_id": 1
                        },
                        {
                            "id": 41,
                            "title": "Fetch Data",
                            "name": "valuers-fetch",
                            "permission_id": 1,
                            "model_id": 2
                        },
                        {
                            "id": 42,
                            "title": "Create Data",
                            "name": "valuers-create",
                            "permission_id": 2,
                            "model_id": 2
                        },
                        {
                            "id": 43,
                            "title": "Read Data",
                            "name": "valuers-read",
                            "permission_id": 3,
                            "model_id": 2
                        },
                        {
                            "id": 44,
                            "title": "Update Data",
                            "name": "valuers-update",
                            "permission_id": 4,
                            "model_id": 2
                        },
                        {
                            "id": 45,
                            "title": "Delete Data",
                            "name": "valuers-delete",
                            "permission_id": 5,
                            "model_id": 2
                        },
                        {
                            "id": 46,
                            "title": "Fetch Data",
                            "name": "requests-fetch",
                            "permission_id": 1,
                            "model_id": 3
                        },
                        {
                            "id": 47,
                            "title": "Create Data",
                            "name": "requests-create",
                            "permission_id": 2,
                            "model_id": 3
                        },
                        {
                            "id": 48,
                            "title": "Read Data",
                            "name": "requests-read",
                            "permission_id": 3,
                            "model_id": 3
                        },
                        {
                            "id": 49,
                            "title": "Update Data",
                            "name": "requests-update",
                            "permission_id": 4,
                            "model_id": 3
                        },
                        {
                            "id": 50,
                            "title": "Delete Data",
                            "name": "requests-delete",
                            "permission_id": 5,
                            "model_id": 3
                        },
                        {
                            "id": 51,
                            "title": "Fetch Data",
                            "name": "reports-fetch",
                            "permission_id": 1,
                            "model_id": 4
                        },
                        {
                            "id": 52,
                            "title": "Create Data",
                            "name": "reports-create",
                            "permission_id": 2,
                            "model_id": 4
                        },
                        {
                            "id": 53,
                            "title": "Read Data",
                            "name": "reports-read",
                            "permission_id": 3,
                            "model_id": 4
                        },
                        {
                            "id": 54,
                            "title": "Update Data",
                            "name": "reports-update",
                            "permission_id": 4,
                            "model_id": 4
                        },
                        {
                            "id": 55,
                            "title": "Delete Data",
                            "name": "reports-delete",
                            "permission_id": 5,
                            "model_id": 4
                        },
                        {
                            "id": 56,
                            "title": "Fetch Data",
                            "name": "team_management-fetch",
                            "permission_id": 1,
                            "model_id": 5
                        },
                        {
                            "id": 57,
                            "title": "Create Data",
                            "name": "team_management-create",
                            "permission_id": 2,
                            "model_id": 5
                        },
                        {
                            "id": 58,
                            "title": "Read Data",
                            "name": "team_management-read",
                            "permission_id": 3,
                            "model_id": 5
                        },
                        {
                            "id": 59,
                            "title": "Update Data",
                            "name": "team_management-update",
                            "permission_id": 4,
                            "model_id": 5
                        },
                        {
                            "id": 60,
                            "title": "Delete Data",
                            "name": "team_management-delete",
                            "permission_id": 5,
                            "model_id": 5
                        },
                        {
                            "id": 61,
                            "title": "Fetch Data",
                            "name": "finance-fetch",
                            "permission_id": 1,
                            "model_id": 6
                        },
                        {
                            "id": 62,
                            "title": "Create Data",
                            "name": "finance-create",
                            "permission_id": 2,
                            "model_id": 6
                        },
                        {
                            "id": 63,
                            "title": "Read Data",
                            "name": "finance-read",
                            "permission_id": 3,
                            "model_id": 6
                        },
                        {
                            "id": 64,
                            "title": "Update Data",
                            "name": "finance-update",
                            "permission_id": 4,
                            "model_id": 6
                        },
                        {
                            "id": 65,
                            "title": "Delete Data",
                            "name": "finance-delete",
                            "permission_id": 5,
                            "model_id": 6
                        },
                        {
                            "id": 66,
                            "title": "Fetch Data",
                            "name": "reviews-fetch",
                            "permission_id": 1,
                            "model_id": 7
                        },
                        {
                            "id": 67,
                            "title": "Create Data",
                            "name": "reviews-create",
                            "permission_id": 2,
                            "model_id": 7
                        },
                        {
                            "id": 68,
                            "title": "Read Data",
                            "name": "reviews-read",
                            "permission_id": 3,
                            "model_id": 7
                        },
                        {
                            "id": 69,
                            "title": "Update Data",
                            "name": "reviews-update",
                            "permission_id": 4,
                            "model_id": 7
                        },
                        {
                            "id": 70,
                            "title": "Delete Data",
                            "name": "reviews-delete",
                            "permission_id": 5,
                            "model_id": 7
                        }
                    ],
                    "translate": {
                        "name": {
                            "en": "Super Admin Role ",
                            "ar": "دور تقليدى"
                        },
                        "description": {
                            "en": "Default Role Description",
                            "ar": "وصف الدور التقليدى"
                        }
                    }
                }
            ],
            "created_at": "2026-08-26",
            "last_login_at": null
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/dashboard/admins/2/restore

Restore Admin

Restore deleted Admin.

Restore a previously deleted Admin record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Admin Updated ORAG0V",
        "email": "admin_upd+oRaG0v@gmail.com",
        "phone": "01228456239",
        "avatar": null,
        "job_title": "Administrator",
        "contract_type": "full_time",
        "is_active": false,
        "roles": [
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": null
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/dashboard/admins/2/force-delete

Permanently Delete Admin

Force delete Admin.

Permanently remove the Admin record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}
GET /api/v1/dashboard/roles/trash

Get Deleted Role

List deleted Role.

Retrieve a list of soft-deleted Role records from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 3,
            "name": "Test Role",
            "description": "Role description",
            "permissions_count": 0,
            "admins_count": 0,
            "is_active": false,
            "created_at": "2026-08-26",
            "permissions": [
                {
                    "id": 71,
                    "title": "Fetch Data",
                    "name": "users_fetch",
                    "permission_id": 1,
                    "model_id": 1
                }
            ],
            "translate": {
                "name": {
                    "en": "Test Role",
                    "ar": "دور تقليدى"
                },
                "description": {
                    "en": "Default Role Description",
                    "ar": "وصف الدور التقليدى"
                }
            }
        }
    ],
    "message": "Trashed roles retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/dashboard/roles/3/restore

Restore Role

Restore deleted Role.

Restore a previously deleted Role record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Role",
        "description": "Role description",
        "permissions_count": 0,
        "admins_count": 0,
        "is_active": false,
        "created_at": "2026-08-26",
        "permissions": [
            {
                "id": 71,
                "title": "Fetch Data",
                "name": "users_fetch",
                "permission_id": 1,
                "model_id": 1
            }
        ],
        "translate": {
            "name": {
                "en": "Test Role",
                "ar": "دور تقليدى"
            },
            "description": {
                "en": "Default Role Description",
                "ar": "وصف الدور التقليدى"
            }
        }
    },
    "message": "Role restored successfully.",
    "success": true
}
DELETE /api/v1/dashboard/roles/3/force-delete

Permanently Delete Role

Force delete Role.

Permanently remove the Role record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Role permanently deleted.",
    "success": true
}

Models

GET /api/v1/dashboard/models

Get Permission Models

List permission models.

Retrieves every module with its available permissions and IDs, for use when building the role create/edit permissions form. Does not require a role id.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "title": "Users",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 2,
            "title": "Valuers",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 3,
            "title": "Requests",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 4,
            "title": "Reports",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 5,
            "title": "Team Management",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 6,
            "title": "Finance",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        },
        {
            "id": 7,
            "title": "reviews",
            "permissions": [
                {
                    "id": 1,
                    "title": "Fetch Data",
                    "name": "fetch"
                },
                {
                    "id": 2,
                    "title": "Create Data",
                    "name": "create"
                },
                {
                    "id": 3,
                    "title": "Read Data",
                    "name": "read"
                },
                {
                    "id": 4,
                    "title": "Update Data",
                    "name": "update"
                },
                {
                    "id": 5,
                    "title": "Delete Data",
                    "name": "delete"
                }
            ]
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 7,
        "last_page": 1
    }
}

Users

GET /api/v1/dashboard/users

Get User List

Retrieve a list of User.

Retrieves a list of User records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Updated User Name",
            "email": "updated_email@example.com",
            "phone": "01011113333",
            "country_code": null,
            "avatar": null,
            "postal_code": null,
            "main_address": null,
            "is_active": true,
            "created_at": "2026-08-26",
            "token": null,
            "expires_in": null,
            "token_type": "Bearer",
            "last_login_at": null
        },
        {
            "id": 2,
            "name": "New User",
            "email": "user@example.com",
            "phone": "01011112222",
            "country_code": "20",
            "avatar": null,
            "postal_code": null,
            "main_address": null,
            "is_active": true,
            "created_at": "2026-08-26",
            "token": null,
            "expires_in": null,
            "token_type": "Bearer",
            "last_login_at": "2026-08-26 14:41:49"
        }
    ],
    "message": "Users retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/dashboard/users/13

Get User Details

Retrieve User details.

Retrieves detailed information about a specific User using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 13,
        "name": "Mona Manager",
        "email": "mona.manager@doc.example.com",
        "phone": "500000020",
        "country_code": "999",
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": true,
        "created_at": "2026-08-26",
        "token": null,
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "User details retrieved successfully.",
    "success": true
}
PATCH /api/v1/dashboard/users/13/toggle-active

Toggle User Status

Switch the User status between active and inactive.

Updates the status of the specified User by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 13,
        "name": "Mona Manager",
        "email": "mona.manager@doc.example.com",
        "phone": "500000020",
        "country_code": "999",
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": false,
        "created_at": "2026-08-26",
        "token": null,
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "User status updated successfully.",
    "success": true
}
DELETE /api/v1/dashboard/users/13

Delete User

Delete a User.

Deletes the specified User from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "User deleted successfully.",
    "success": true
}
GET /api/v1/dashboard/users/trash

Get Deleted User

List deleted User.

Retrieve a list of soft-deleted User records from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 3,
            "name": "Trashed User",
            "email": "trashed_doc@example.com",
            "phone": "0509998887",
            "country_code": null,
            "avatar": null,
            "postal_code": null,
            "main_address": null,
            "is_active": true,
            "created_at": "2026-08-26",
            "token": null,
            "expires_in": null,
            "token_type": "Bearer",
            "last_login_at": null
        },
        {
            "id": 13,
            "name": "Mona Manager",
            "email": "mona.manager@doc.example.com",
            "phone": "500000020",
            "country_code": "999",
            "avatar": null,
            "postal_code": null,
            "main_address": null,
            "is_active": false,
            "created_at": "2026-08-26",
            "token": null,
            "expires_in": null,
            "token_type": "Bearer",
            "last_login_at": null
        }
    ],
    "message": "Trashed users retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
PATCH /api/v1/dashboard/users/13/restore

Restore User

Restore deleted User.

Restore a previously deleted User record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 13,
        "name": "Mona Manager",
        "email": "mona.manager@doc.example.com",
        "phone": "500000020",
        "country_code": "999",
        "avatar": null,
        "postal_code": null,
        "main_address": null,
        "is_active": false,
        "created_at": "2026-08-26",
        "token": null,
        "expires_in": null,
        "token_type": "Bearer",
        "last_login_at": null
    },
    "message": "User restored successfully.",
    "success": true
}
DELETE /api/v1/dashboard/users/13/force-delete

Permanently Delete User

Force delete User.

Permanently remove the User record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "User force deleted permanently.",
    "success": true
}

Locations

GET /api/v1/locations/country

Get Countries List

Locations

Get Countries List

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "country",
            "name_ar": "مصر",
            "name_en": "Egypt",
            "setting_id": null,
            "is_active": true,
            "code": "EG",
            "phone_code": "20",
            "phone_length": 11
        },
        {
            "id": 2,
            "type": "country",
            "name_ar": "دولة التوثيق",
            "name_en": "Documentation country",
            "setting_id": null,
            "is_active": true,
            "code": null,
            "phone_code": null,
            "phone_length": null
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/locations/country/search

Search Countries

Locations

Search Countries

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
keyword string Egypt
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "country",
            "name_ar": "مصر",
            "name_en": "Egypt",
            "setting_id": null,
            "is_active": true,
            "code": "EG",
            "phone_code": "20",
            "phone_length": 11
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/locations/city

Get Cities List

Locations

Get Cities List

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "country",
            "name_ar": "مصر",
            "name_en": "Egypt",
            "setting_id": null,
            "is_active": true,
            "code": "EG",
            "phone_code": "20",
            "phone_length": 11,
            "cities": []
        },
        {
            "id": 2,
            "type": "country",
            "name_ar": "دولة التوثيق",
            "name_en": "Documentation country",
            "setting_id": null,
            "is_active": true,
            "code": null,
            "phone_code": null,
            "phone_length": null,
            "cities": []
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/locations/city/search

Search Cities

Locations

Search Cities

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Query Parameters

Field/Name Type Examples
keyword string Cairo
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "country",
            "name_ar": "مصر",
            "name_en": "Egypt",
            "setting_id": null,
            "is_active": true,
            "code": "EG",
            "phone_code": "20",
            "phone_length": 11,
            "cities": []
        },
        {
            "id": 2,
            "type": "country",
            "name_ar": "دولة التوثيق",
            "name_en": "Documentation country",
            "setting_id": null,
            "is_active": true,
            "code": null,
            "phone_code": null,
            "phone_length": null,
            "cities": []
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/locations/country/1/cities

Get Cities By country

Locations

Get Cities By Country

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data retrieved successfully.",
    "success": true
}
GET /api/v1/locations/nationality

Get Nationalities List

Locations

Get Nationalities List

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data retrieved successfully.",
    "success": true
}

Categories

POST /api/v1/dashboard/categories

Create Category

Create a new Category.

Creates a new Category in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u062a\u0635\u0646\u064a\u0641 \u062a\u062c\u0631\u064a\u0628\u064a 77123594","en":"Test Category 77123594"}
description array {"ar":"\u0648\u0635\u0641 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test description"}
icon string icon-77123594.png
service_no integer 1
valuers integer 10
status integer 1

Request Validations Or Notes

Field/Name Examples
name.ar required, ArabicLetters
name.en required, EnglishLetters
description.ar optional, ArabicLetters
description.en optional, EnglishLetters
icon optional, string, max 255
service_no optional, integer
valuers optional, integer
status optional, true/false
Success (200 OK)
{
    "data": {
        "id": 3,
        "name": "Test Category 77123594",
        "description": "Test description",
        "translate": {
            "name": {
                "ar": "تصنيف تجريبي 77123594",
                "en": "Test Category 77123594"
            },
            "description": {
                "ar": "وصف تجريبي",
                "en": "Test description"
            }
        },
        "icon": "icon-77123594.png",
        "status": true,
        "service_no": 1,
        "valuers": 10,
        "created_at": "2026-08-26"
    },
    "message": "Data inserted successfully.",
    "success": true
}
GET /api/v1/dashboard/categories

Get Category List

Retrieve a list of Category.

Retrieves a list of Category records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/dashboard/categories/1

Get Category Details

Retrieve Category details.

Retrieves detailed information about a specific Category using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "",
        "description": "",
        "translate": {
            "name": {
                "ar": "",
                "en": ""
            },
            "description": {
                "ar": "",
                "en": ""
            }
        },
        "icon": "test-icon.png",
        "status": true,
        "service_no": 1,
        "valuers": 1,
        "created_at": "2026-08-26"
    },
    "message": "Data retrieved successfully.",
    "success": true
}
PUT /api/v1/dashboard/categories/1

Update Category

Update an existing Category.

Updates the specified Category with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u062a\u0635\u0646\u064a\u0641 \u062a\u062c\u0631\u064a\u0628\u064a 72827807","en":"Test Category 72827807"}
description array {"ar":"\u0648\u0635\u0641 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test description"}
icon string icon-upd-72827807.png
service_no integer 1
valuers integer 10
status integer 1
id integer 1

Request Validations Or Notes

Field/Name Examples
name.ar required, ArabicLetters
name.en required, EnglishLetters
description.ar optional, ArabicLetters
description.en optional, EnglishLetters
icon optional, string, max 255
service_no optional, integer
valuers optional, integer
status optional, true/false
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Test Category 72827807",
        "description": "Test description",
        "translate": {
            "name": {
                "ar": "تصنيف تجريبي 72827807",
                "en": "Test Category 72827807"
            },
            "description": {
                "ar": "وصف تجريبي",
                "en": "Test description"
            }
        },
        "icon": "icon-upd-72827807.png",
        "status": true,
        "service_no": 1,
        "valuers": 10,
        "created_at": "2026-08-26"
    },
    "message": "Data updated successfully.",
    "success": true
}
PATCH /api/v1/dashboard/categories/1/toggle-active

Toggle Category Status

Switch the Category status between active and inactive.

Updates the status of the specified Category by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Test Category 72827807",
        "description": "Test description",
        "translate": {
            "name": {
                "ar": "تصنيف تجريبي 72827807",
                "en": "Test Category 72827807"
            },
            "description": {
                "ar": "وصف تجريبي",
                "en": "Test description"
            }
        },
        "icon": "icon-upd-72827807.png",
        "status": false,
        "service_no": 1,
        "valuers": 10,
        "created_at": "2026-08-26"
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/dashboard/categories/1

Delete Category

Delete a Category.

Deletes the specified Category from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}
GET /api/v1/dashboard/categories/trash

Get Deleted Category

List deleted Category.

Retrieve a list of soft-deleted Category records from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "Test Category 72827807",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 72827807",
                    "en": "Test Category 72827807"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-upd-72827807.png",
            "status": false,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        },
        {
            "id": 2,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "trashed-icon.png",
            "status": true,
            "service_no": 2,
            "valuers": 2,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
PATCH /api/v1/dashboard/categories/1/restore

Restore Category

Restore deleted Category.

Restore a previously deleted Category record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data restored successfully.",
    "success": true
}
DELETE /api/v1/dashboard/categories/1/force-delete

Permanently Delete Category

Force delete Category.

Permanently remove the Category record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}

Categories?Search=Test+Category+77123594

GET /api/v1/dashboard/categories?search=Test+Category+77123594

Search Category List

Retrieve a list of Category.

Filters the categories list by matching the search term against the category name.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}

Categories?Status=1

GET /api/v1/dashboard/categories?status=1

Filter Category List by Active Status

Retrieve a list of Category.

Filters the categories list to only active categories (status=1).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}

Categories?Status=0

GET /api/v1/dashboard/categories?status=0

Filter Category List by Inactive Status

Retrieve a list of Category.

Filters the categories list to only inactive categories (status=0).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}

Categories?Search=Test+Category+77123594&Status=1

GET /api/v1/dashboard/categories?search=Test+Category+77123594&status=1

Search and Filter Category List

Retrieve a list of Category.

Combines the search and status filters — both are applied together (AND condition), returning only active categories whose name matches the search term.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "",
            "description": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "description": {
                    "ar": "",
                    "en": ""
                }
            },
            "icon": "test-icon.png",
            "status": true,
            "service_no": 1,
            "valuers": 1,
            "created_at": "2026-08-26"
        },
        {
            "id": 3,
            "name": "Test Category 77123594",
            "description": "Test description",
            "translate": {
                "name": {
                    "ar": "تصنيف تجريبي 77123594",
                    "en": "Test Category 77123594"
                },
                "description": {
                    "ar": "وصف تجريبي",
                    "en": "Test description"
                }
            },
            "icon": "icon-77123594.png",
            "status": true,
            "service_no": 1,
            "valuers": 10,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}

Static Pages

POST /api/v1/pages/police

Create Static_page

Create a new Static_page.

Creates a new Static_page in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u0635\u0641\u062d\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629 23226419","en":"Test Page 23226419"}
content array {"ar":"\u0645\u062d\u062a\u0648\u0649 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test content"}
type string police
is_active integer 1

Request Validations Or Notes

Field/Name Examples
name.ar required, ArabicLetters
name.en required, EnglishLetters
content.ar required, ArabicLetters
content.en required, EnglishLetters
type required, unique static_pages, enum: about_us, police, terms
is_active optional, true/false
Success (200 OK)
{
    "data": {
        "id": 3,
        "type": "police",
        "name": "Test Page 23226419",
        "content": "Test content",
        "translate": {
            "name": {
                "ar": "صفحة تجريبية 23226419",
                "en": "Test Page 23226419"
            },
            "content": {
                "ar": "محتوى تجريبي",
                "en": "Test content"
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "Data inserted successfully.",
    "success": true
}
GET /api/v1/pages/about_us

Get Static_page List

Retrieve a list of Static_page.

Retrieves a list of Static_page records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "type": "about_us",
            "name": "",
            "content": "",
            "translate": {
                "name": {
                    "ar": "",
                    "en": ""
                },
                "content": {
                    "ar": "",
                    "en": ""
                }
            },
            "is_active": true,
            "created_at": "2026-08-26"
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/pages/about_us/1

Get Static_page Details

Retrieve Static_page details.

Retrieves detailed information about a specific Static_page using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "about_us",
        "name": "",
        "content": "",
        "translate": {
            "name": {
                "ar": "",
                "en": ""
            },
            "content": {
                "ar": "",
                "en": ""
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "Data retrieved successfully.",
    "success": true
}
PUT /api/v1/pages/about_us/1

Update Static_page

Update an existing Static_page.

Updates the specified Static_page with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u0635\u0641\u062d\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629 32027291","en":"Updated Page 32027291"}
content array {"ar":"\u0645\u062d\u062a\u0648\u0649 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Updated content"}
type string about_us
is_active integer 1

Request Validations Or Notes

Field/Name Examples
name.ar optional, ArabicLetters
name.en optional, EnglishLetters
content.ar optional, ArabicLetters
content.en optional, EnglishLetters
type optional, enum: about_us, police, terms, Unique
is_active optional, true/false
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "about_us",
        "name": "Updated Page 32027291",
        "content": "Updated content",
        "translate": {
            "name": {
                "ar": "صفحة تجريبية 32027291",
                "en": "Updated Page 32027291"
            },
            "content": {
                "ar": "محتوى تجريبي",
                "en": "Updated content"
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "Data updated successfully.",
    "success": true
}
PATCH /api/v1/pages/1/switch-active

Toggle Static_page Status

Switch the Static_page status between active and inactive.

Updates the status of the specified Static_page by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "about_us",
        "name": "Updated Page 32027291",
        "content": "Updated content",
        "translate": {
            "name": {
                "ar": "صفحة تجريبية 32027291",
                "en": "Updated Page 32027291"
            },
            "content": {
                "ar": "محتوى تجريبي",
                "en": "Updated content"
            }
        },
        "is_active": false,
        "created_at": "2026-08-26"
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/pages/5/force-delete

Permanently Delete Static_page

Force delete Static_page.

Permanently remove the Static_page record from the system. This action cannot be undone.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}

Manage Plans

POST /api/v1/plans

Create Manage plan

Create a new Manage plan.

Creates a new Manage plan in the system using the provided data. The request validates the required fields before storing the resource in the database. Upon successful creation, the system returns the newly created record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u062e\u0637\u0629 77153327","en":"Plan 77153327"}
badge_label array {"ar":"\u0645\u0645\u064a\u0632","en":"Featured"}
platform_type string user
regular_price integer 100
sale_price integer 50
billing_cycle string monthly
color string #FF0000
is_active integer 1

Request Validations Or Notes

Field/Name Examples
name.ar required, ArabicLetters
name.en required, EnglishLetters
badge_label.ar optional, ArabicLetters
badge_label.en optional, EnglishLetters
platform_type required, allowed: user, valuer
regular_price required, number, min 0
billing_cycle required, allowed: monthly, yearly
sale_price optional, number, min 0, lt
sale_type optional, allowed: percentage, fixed
color optional, string, max 255
is_active optional, true/false
features optional, array
features[].id required, exists manage_plan_features,id
features[].value optional, integer
features[].name.ar optional, ArabicLetters
features[].name.en optional, EnglishLetters
Success (200 OK)
{
    "data": {
        "id": 4,
        "name": {
            "ar": "خطة 77153327",
            "en": "Plan 77153327"
        },
        "badge_label": {
            "ar": "مميز",
            "en": "Featured"
        },
        "platform_type": "user",
        "regular_price": "100.00",
        "sale_price": "50.00",
        "billing_cycle": "monthly",
        "color": "#FF0000",
        "is_active": true,
        "features": [],
        "created_at": "2026-08-26T14:42:37.000000Z",
        "renewal_date": null,
        "remaining_days": null,
        "is_subscribed": false
    },
    "message": "Data inserted successfully.",
    "success": true
}
GET /api/v1/plans

Get Manage plan List

Retrieve a list of Manage plan.

Retrieves a list of Manage plan records from the system. The response may support pagination, filtering, and sorting based on the provided request parameters.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": [],
            "badge_label": [],
            "platform_type": "user",
            "regular_price": "100.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        },
        {
            "id": 3,
            "name": [],
            "badge_label": [],
            "platform_type": "user",
            "regular_price": "200.00",
            "sale_price": "100.00",
            "billing_cycle": "monthly",
            "color": "#008000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        },
        {
            "id": 4,
            "name": {
                "ar": "خطة 77153327",
                "en": "Plan 77153327"
            },
            "badge_label": {
                "ar": "مميز",
                "en": "Featured"
            },
            "platform_type": "user",
            "regular_price": "100.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    },
    "total_plans": 3,
    "total_active_plans": 3,
    "total_inactive_plans": 0
}
GET /api/v1/plans/features

Get Manage Plan Features

Get manage plan features list.

Retrieve all manage plan features.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Features retrieved successfully.",
    "success": true
}
POST /api/v1/plans/search

Search Manage Plans

Search manage plans.

Search manage plans by keyword (paginated).

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
keyword string Plan
per_page integer 10
Success (200 OK)
{
    "data": [
        {
            "id": 4,
            "name": {
                "ar": "خطة 77153327",
                "en": "Plan 77153327"
            },
            "badge_label": {
                "ar": "مميز",
                "en": "Featured"
            },
            "platform_type": "user",
            "regular_price": "100.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        }
    ],
    "message": "Search results retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    },
    "total_plans": 3,
    "total_active_plans": 3,
    "total_inactive_plans": 0
}
GET /api/v1/plans/4

Get Manage plan Details

Retrieve Manage plan details.

Retrieves detailed information about a specific Manage plan using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 4,
        "name": {
            "ar": "خطة 77153327",
            "en": "Plan 77153327"
        },
        "badge_label": {
            "ar": "مميز",
            "en": "Featured"
        },
        "platform_type": "user",
        "regular_price": "100.00",
        "sale_price": "50.00",
        "billing_cycle": "monthly",
        "color": "#FF0000",
        "is_active": true,
        "is_subscribed": false,
        "renewal_date": null,
        "remaining_days": 0,
        "features": []
    },
    "message": "Plan retrieved successfully.",
    "success": true
}
PUT /api/v1/plans/4

Update Manage plan

Update an existing Manage plan.

Updates the specified Manage plan with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name array {"ar":"\u062e\u0637\u0629 87593641","en":"Plan 87593641"}
badge_label array {"ar":"\u0645\u0645\u064a\u0632","en":"Featured"}
platform_type string user
regular_price integer 300
sale_price integer 50
billing_cycle string monthly
color string #FF0000
is_active integer 1
id integer 4

Request Validations Or Notes

Field/Name Examples
id required, exists manage_plans,id
name.ar optional, required, ArabicLetters
name.en optional, required, EnglishLetters
badge_label.ar optional, ArabicLetters
badge_label.en optional, EnglishLetters
platform_type optional, required, allowed: user, valuer
regular_price optional, required, number, min 0
billing_cycle optional, required, allowed: monthly, yearly
sale_price optional, number, min 0, lt
sale_type optional, allowed: percentage, fixed
color optional, string, max 255
is_active optional, true/false
features optional, array
features[].id required, required_with, exists manage_plan_features,id
features[].value optional, string
features[].name.ar optional, ArabicLetters
features[].name.en optional, EnglishLetters
Success (200 OK)
{
    "data": {
        "id": 4,
        "name": {
            "ar": "خطة 87593641",
            "en": "Plan 87593641"
        },
        "badge_label": {
            "ar": "مميز",
            "en": "Featured"
        },
        "platform_type": "user",
        "regular_price": "300.00",
        "sale_price": "50.00",
        "billing_cycle": "monthly",
        "color": "#FF0000",
        "is_active": true,
        "features": [],
        "created_at": "2026-08-26T14:42:37.000000Z",
        "renewal_date": null,
        "remaining_days": null,
        "is_subscribed": false
    },
    "message": "Data updated successfully.",
    "success": true
}
PATCH /api/v1/plans/4/toggle-active

Toggle Manage plan Status

Switch the Manage plan status between active and inactive.

Updates the status of the specified Manage plan by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 4,
        "name": {
            "ar": "خطة 87593641",
            "en": "Plan 87593641"
        },
        "badge_label": {
            "ar": "مميز",
            "en": "Featured"
        },
        "platform_type": "user",
        "regular_price": "300.00",
        "sale_price": "50.00",
        "billing_cycle": "monthly",
        "color": "#FF0000",
        "is_active": false,
        "features": [],
        "created_at": "2026-08-26T14:42:37.000000Z",
        "renewal_date": null,
        "remaining_days": null,
        "is_subscribed": false
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/plans/4

Delete Manage plan

Delete a Manage plan.

Deletes the specified Manage plan from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}
GET /api/v1/plans/trash

Get Deleted Manage Plan

List deleted manage plans.

Get deleted manage plans.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 2,
            "name": [],
            "badge_label": [],
            "platform_type": "user",
            "regular_price": "200.00",
            "sale_price": "100.00",
            "billing_cycle": "yearly",
            "color": "#FF0000",
            "is_active": true,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        },
        {
            "id": 4,
            "name": {
                "ar": "خطة 87593641",
                "en": "Plan 87593641"
            },
            "badge_label": {
                "ar": "مميز",
                "en": "Featured"
            },
            "platform_type": "user",
            "regular_price": "300.00",
            "sale_price": "50.00",
            "billing_cycle": "monthly",
            "color": "#FF0000",
            "is_active": false,
            "is_subscribed": false,
            "renewal_date": null,
            "remaining_days": 0,
            "features": []
        }
    ],
    "message": "Data retrieved successfully.",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    },
    "total_plans": 2,
    "total_active_plans": 2,
    "total_inactive_plans": 0
}
PATCH /api/v1/plans/2/restore

Restore Manage plan

Restore deleted Manage plan.

Restore a previously deleted Manage plan record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": [],
        "badge_label": [],
        "platform_type": "user",
        "regular_price": "200.00",
        "sale_price": "100.00",
        "billing_cycle": "yearly",
        "color": "#FF0000",
        "is_active": true,
        "features": [],
        "created_at": "2026-08-26T14:42:37.000000Z",
        "renewal_date": null,
        "remaining_days": null,
        "is_subscribed": false
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/plans/2

Delete Manage plan

Delete a Manage plan.

Deletes the specified Manage plan from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}

Valuer Requests

GET /api/v1/admin/valuer-requests

Get Valuer Requests List

List valuer requests.

Admin lists all valuer onboarding requests.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "company_name": "Review Co",
            "business_type": "corporate",
            "contact_person_name": "Ahmed Ali",
            "valuation_type": "real_estate",
            "requested_subdomain": "review-co-doc",
            "status": "under_review",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": null
        },
        {
            "id": 2,
            "company_name": "Approve Co",
            "business_type": "corporate",
            "contact_person_name": "Sara Nasser",
            "valuation_type": "real_estate",
            "requested_subdomain": "approve-co-doc",
            "status": "ready_for_approval",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": null
        },
        {
            "id": 3,
            "company_name": "Reject Co",
            "business_type": "individual",
            "contact_person_name": "Omar Khalid",
            "valuation_type": "vehicles",
            "requested_subdomain": "reject-co-doc",
            "status": "under_review",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": null
        },
        {
            "id": 4,
            "company_name": "Portal Co",
            "business_type": "corporate",
            "contact_person_name": "Lina Saad",
            "valuation_type": "real_estate",
            "requested_subdomain": "portal-co-doc",
            "status": "approved",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}
GET /api/v1/admin/valuer-requests/1

Get Valuer Request Details

Get valuer request details.

Admin views a single request with its documents.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "company_name": "Review Co",
        "business_type": "corporate",
        "contact_person_name": "Ahmed Ali",
        "valuation_type": "real_estate",
        "requested_subdomain": "review-co-doc",
        "status": "under_review",
        "admin_notes": null,
        "approved_at": null,
        "tenant_id": null,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:16.000000Z",
        "documents": [
            {
                "id": 1,
                "name": "taqeem_license",
                "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
                "status": "pending",
                "rejection_reason": null,
                "extracted_value": null,
                "admin_note": null,
                "created_at": "2026-08-26T14:43:16.000000Z"
            },
            {
                "id": 2,
                "name": "commercial_registration",
                "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
                "status": "pending",
                "rejection_reason": null,
                "extracted_value": null,
                "admin_note": null,
                "created_at": "2026-08-26T14:43:16.000000Z"
            }
        ]
    }
}
GET /api/v1/admin/valuer-requests/1/documents

Get Valuer Request Documents

Get request documents.

Admin lists the documents attached to a request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "name": "taqeem_license",
            "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
            "status": "pending",
            "rejection_reason": null,
            "extracted_value": null,
            "admin_note": null,
            "created_at": "2026-08-26T14:43:16.000000Z"
        },
        {
            "id": 2,
            "name": "commercial_registration",
            "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
            "status": "pending",
            "rejection_reason": null,
            "extracted_value": null,
            "admin_note": null,
            "created_at": "2026-08-26T14:43:16.000000Z"
        }
    ]
}
POST /api/v1/admin/valuer-requests/1/documents/1/accept

Accept Document

Accept a document.

Admin accepts a valid document and records its extracted value.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
extracted_value string LIC-123456
admin_note string Verified against registry.

Request Validations Or Notes

Field/Name Examples
extracted_value optional, string, max 255
admin_note optional, string
Success (200 OK)
{
    "message": "Document accepted successfully.",
    "data": {
        "id": 1,
        "name": "taqeem_license",
        "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
        "status": "accepted",
        "rejection_reason": null,
        "extracted_value": "LIC-123456",
        "admin_note": "Verified against registry.",
        "created_at": "2026-08-26T14:43:16.000000Z"
    }
}
PUT /api/v1/admin/valuer-requests/1/documents/1/extracted-value

Update Extracted Value

Update extracted value.

Admin updates the value extracted from a document.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
extracted_value string 987654321
Success (200 OK)
{
    "message": "Extracted value updated.",
    "data": {
        "id": 1,
        "name": "taqeem_license",
        "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
        "status": "accepted",
        "rejection_reason": null,
        "extracted_value": "987654321",
        "admin_note": "Verified against registry.",
        "created_at": "2026-08-26T14:43:16.000000Z"
    }
}
POST /api/v1/admin/valuer-requests/1/documents/2/reject

Reject Document

Reject a document.

Admin rejects an invalid document.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
rejection_reason string The document is expired.

Request Validations Or Notes

Field/Name Examples
rejection_reason required, string, min 10
Success (200 OK)
{
    "message": "Document rejected successfully.",
    "data": {
        "id": 2,
        "name": "commercial_registration",
        "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
        "status": "rejected",
        "rejection_reason": "The document is expired.",
        "extracted_value": null,
        "admin_note": null,
        "created_at": "2026-08-26T14:43:16.000000Z"
    }
}
POST /api/v1/admin/valuer-requests/1/documents/2/request-reupload

Request Document Reupload

Request document reupload.

Admin asks the valuer to reupload a document.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
rejection_reason string Please reupload a clearer copy.
Success (200 OK)
{
    "message": "Reupload requested.",
    "data": {
        "id": 2,
        "name": "commercial_registration",
        "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
        "status": "need_reupload",
        "rejection_reason": "Please reupload a clearer copy.",
        "extracted_value": null,
        "admin_note": null,
        "created_at": "2026-08-26T14:43:16.000000Z"
    }
}
POST /api/v1/admin/valuer-requests/1/note

Add Note

Add a note.

Admin attaches an internal note to the request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
admin_notes string Following up on the reupload.
Success (200 OK)
{
    "message": "Note added successfully.",
    "data": {
        "id": 1,
        "company_name": "Review Co",
        "business_type": "corporate",
        "contact_person_name": "Ahmed Ali",
        "valuation_type": "real_estate",
        "requested_subdomain": "review-co-doc",
        "status": "need_reupload",
        "admin_notes": "Following up on the reupload.",
        "approved_at": null,
        "tenant_id": null,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:17.000000Z",
        "documents": null
    }
}
PUT /api/v1/admin/valuer-requests/1

Update Valuer Request

Update valuer request.

Admin updates editable fields on a request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
company_name string Review Co (Updated)
contact_person_name string Ahmed A.

Request Validations Or Notes

Field/Name Examples
business_type optional, allowed: individual, corporate
company_name optional, string, max 255
contact_person_name optional, string, max 255
email optional, string, valid email, max 255, unique valuers,email,
phone optional, string, max 20
country_id optional, integer
city_id optional, integer
valuation_type optional, string, max 255
requested_subdomain optional, string, max 100, unique valuer_requests,requested_subdomain,
Success (200 OK)
{
    "message": "Updated.",
    "data": {
        "id": 1,
        "company_name": "Review Co (Updated)",
        "business_type": "corporate",
        "contact_person_name": "Ahmed A.",
        "valuation_type": "real_estate",
        "requested_subdomain": "review-co-doc",
        "status": "need_reupload",
        "admin_notes": "Following up on the reupload.",
        "approved_at": null,
        "tenant_id": null,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:17.000000Z",
        "documents": [
            {
                "id": 1,
                "name": "taqeem_license",
                "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
                "status": "accepted",
                "rejection_reason": null,
                "extracted_value": "987654321",
                "admin_note": "Verified against registry.",
                "created_at": "2026-08-26T14:43:16.000000Z"
            },
            {
                "id": 2,
                "name": "commercial_registration",
                "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
                "status": "need_reupload",
                "rejection_reason": "Please reupload a clearer copy.",
                "extracted_value": null,
                "admin_note": null,
                "created_at": "2026-08-26T14:43:16.000000Z"
            }
        ]
    }
}
POST /api/v1/admin/valuer-requests/3/reject

Reject Valuer Request

Reject valuer request.

Admin rejects a request.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
rejection_reason string Does not meet requirements.

Request Validations Or Notes

Field/Name Examples
rejection_reason required, string, max 1000
Success (200 OK)
{
    "message": "Request rejected successfully.",
    "data": {
        "id": 3,
        "company_name": "Reject Co",
        "business_type": "individual",
        "contact_person_name": "Omar Khalid",
        "valuation_type": "vehicles",
        "requested_subdomain": "reject-co-doc",
        "status": "rejected",
        "admin_notes": "Does not meet requirements.",
        "approved_at": null,
        "tenant_id": null,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:17.000000Z",
        "documents": null
    }
}
POST /api/v1/admin/valuer-requests/2/approve

Approve Valuer Request

Approve valuer request.

Admin approves a request; a tenant workspace is provisioned.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
notes string All documents verified.

Request Validations Or Notes

Field/Name Examples
notes optional, string, max 1000
Success (200 OK)
{
    "message": "Request approved successfully. Tenant provisioned.",
    "data": {
        "id": 2,
        "company_name": "Approve Co",
        "business_type": "corporate",
        "contact_person_name": "Sara Nasser",
        "valuation_type": "real_estate",
        "requested_subdomain": "approve-co-doc",
        "status": "approved",
        "admin_notes": "All documents verified.",
        "approved_at": "2026-08-26T14:43:17.000000Z",
        "tenant_id": 1,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:17.000000Z",
        "documents": null
    }
}

Profile

GET /api/v1/dashboard/profile

Get Admin Profile

Get authenticated admin profile.

Retrieves the profile information of the currently authenticated admin (identified via the auth token, not a URL id). Returns the same profile structure as the update-profile endpoint.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Admin",
        "email": "admin@base.com",
        "phone": "000000000000",
        "avatar": null,
        "job_title": null,
        "contract_type": null,
        "is_active": true,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": "2026-08-26 02:43 PM"
    },
    "message": "admins::messages.profile_retrieved",
    "success": true
}
PUT /api/v1/dashboard/profile

Update Admin Profile

Update authenticated admin profile.

Updates the profile of the currently authenticated admin. Only editable fields (name, email, phone, avatar) are accepted; password, permissions, and roles are excluded and must be changed via their own endpoints. Send 'delete_avatar' as true to remove the current avatar. Since file uploads cannot be sent over a literal PUT/PATCH request, send this as POST with an 'X-HTTP-Method-Override: PUT' header when uploading an avatar.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name string Admin Self Updated
email string admin_self@gmail.com
phone string 01555502754
delete_avatar boolean

Request Validations Or Notes

Field/Name Examples
name optional, string, max 255
phone optional, regex, max 20, Unique
avatar optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload)
delete_avatar optional, true/false
Success (200 OK)
{
    "data": {
        "id": 1,
        "name": "Admin Self Updated",
        "email": "admin@base.com",
        "phone": "01555502754",
        "avatar": null,
        "job_title": null,
        "contract_type": null,
        "is_active": true,
        "roles": [
            {
                "id": 1,
                "name": "Default Role",
                "description": "Default Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 6,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 7,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 8,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 9,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 10,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 11,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 12,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 13,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 14,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 15,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 16,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 17,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 18,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 19,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 20,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 21,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 22,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 23,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 24,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 25,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 26,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 27,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 28,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 29,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 30,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 31,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 32,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 33,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 34,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 35,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Default Role",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            },
            {
                "id": 2,
                "name": "Super Admin Role ",
                "description": "Super Admin Role Description",
                "permissions_count": 0,
                "admins_count": 0,
                "is_active": true,
                "created_at": "2026-08-26",
                "permissions": [
                    {
                        "id": 36,
                        "title": "Fetch Data",
                        "name": "users-fetch",
                        "permission_id": 1,
                        "model_id": 1
                    },
                    {
                        "id": 37,
                        "title": "Create Data",
                        "name": "users-create",
                        "permission_id": 2,
                        "model_id": 1
                    },
                    {
                        "id": 38,
                        "title": "Read Data",
                        "name": "users-read",
                        "permission_id": 3,
                        "model_id": 1
                    },
                    {
                        "id": 39,
                        "title": "Update Data",
                        "name": "users-update",
                        "permission_id": 4,
                        "model_id": 1
                    },
                    {
                        "id": 40,
                        "title": "Delete Data",
                        "name": "users-delete",
                        "permission_id": 5,
                        "model_id": 1
                    },
                    {
                        "id": 41,
                        "title": "Fetch Data",
                        "name": "valuers-fetch",
                        "permission_id": 1,
                        "model_id": 2
                    },
                    {
                        "id": 42,
                        "title": "Create Data",
                        "name": "valuers-create",
                        "permission_id": 2,
                        "model_id": 2
                    },
                    {
                        "id": 43,
                        "title": "Read Data",
                        "name": "valuers-read",
                        "permission_id": 3,
                        "model_id": 2
                    },
                    {
                        "id": 44,
                        "title": "Update Data",
                        "name": "valuers-update",
                        "permission_id": 4,
                        "model_id": 2
                    },
                    {
                        "id": 45,
                        "title": "Delete Data",
                        "name": "valuers-delete",
                        "permission_id": 5,
                        "model_id": 2
                    },
                    {
                        "id": 46,
                        "title": "Fetch Data",
                        "name": "requests-fetch",
                        "permission_id": 1,
                        "model_id": 3
                    },
                    {
                        "id": 47,
                        "title": "Create Data",
                        "name": "requests-create",
                        "permission_id": 2,
                        "model_id": 3
                    },
                    {
                        "id": 48,
                        "title": "Read Data",
                        "name": "requests-read",
                        "permission_id": 3,
                        "model_id": 3
                    },
                    {
                        "id": 49,
                        "title": "Update Data",
                        "name": "requests-update",
                        "permission_id": 4,
                        "model_id": 3
                    },
                    {
                        "id": 50,
                        "title": "Delete Data",
                        "name": "requests-delete",
                        "permission_id": 5,
                        "model_id": 3
                    },
                    {
                        "id": 51,
                        "title": "Fetch Data",
                        "name": "reports-fetch",
                        "permission_id": 1,
                        "model_id": 4
                    },
                    {
                        "id": 52,
                        "title": "Create Data",
                        "name": "reports-create",
                        "permission_id": 2,
                        "model_id": 4
                    },
                    {
                        "id": 53,
                        "title": "Read Data",
                        "name": "reports-read",
                        "permission_id": 3,
                        "model_id": 4
                    },
                    {
                        "id": 54,
                        "title": "Update Data",
                        "name": "reports-update",
                        "permission_id": 4,
                        "model_id": 4
                    },
                    {
                        "id": 55,
                        "title": "Delete Data",
                        "name": "reports-delete",
                        "permission_id": 5,
                        "model_id": 4
                    },
                    {
                        "id": 56,
                        "title": "Fetch Data",
                        "name": "team_management-fetch",
                        "permission_id": 1,
                        "model_id": 5
                    },
                    {
                        "id": 57,
                        "title": "Create Data",
                        "name": "team_management-create",
                        "permission_id": 2,
                        "model_id": 5
                    },
                    {
                        "id": 58,
                        "title": "Read Data",
                        "name": "team_management-read",
                        "permission_id": 3,
                        "model_id": 5
                    },
                    {
                        "id": 59,
                        "title": "Update Data",
                        "name": "team_management-update",
                        "permission_id": 4,
                        "model_id": 5
                    },
                    {
                        "id": 60,
                        "title": "Delete Data",
                        "name": "team_management-delete",
                        "permission_id": 5,
                        "model_id": 5
                    },
                    {
                        "id": 61,
                        "title": "Fetch Data",
                        "name": "finance-fetch",
                        "permission_id": 1,
                        "model_id": 6
                    },
                    {
                        "id": 62,
                        "title": "Create Data",
                        "name": "finance-create",
                        "permission_id": 2,
                        "model_id": 6
                    },
                    {
                        "id": 63,
                        "title": "Read Data",
                        "name": "finance-read",
                        "permission_id": 3,
                        "model_id": 6
                    },
                    {
                        "id": 64,
                        "title": "Update Data",
                        "name": "finance-update",
                        "permission_id": 4,
                        "model_id": 6
                    },
                    {
                        "id": 65,
                        "title": "Delete Data",
                        "name": "finance-delete",
                        "permission_id": 5,
                        "model_id": 6
                    },
                    {
                        "id": 66,
                        "title": "Fetch Data",
                        "name": "reviews-fetch",
                        "permission_id": 1,
                        "model_id": 7
                    },
                    {
                        "id": 67,
                        "title": "Create Data",
                        "name": "reviews-create",
                        "permission_id": 2,
                        "model_id": 7
                    },
                    {
                        "id": 68,
                        "title": "Read Data",
                        "name": "reviews-read",
                        "permission_id": 3,
                        "model_id": 7
                    },
                    {
                        "id": 69,
                        "title": "Update Data",
                        "name": "reviews-update",
                        "permission_id": 4,
                        "model_id": 7
                    },
                    {
                        "id": 70,
                        "title": "Delete Data",
                        "name": "reviews-delete",
                        "permission_id": 5,
                        "model_id": 7
                    }
                ],
                "translate": {
                    "name": {
                        "en": "Super Admin Role ",
                        "ar": "دور تقليدى"
                    },
                    "description": {
                        "en": "Default Role Description",
                        "ar": "وصف الدور التقليدى"
                    }
                }
            }
        ],
        "created_at": "2026-08-26",
        "last_login_at": "2026-08-26 02:43 PM"
    },
    "message": "admins::messages.profile_updated",
    "success": true
}

Change Password

POST /api/v1/dashboard/change-password

Change Admin Password

Change authenticated admin password.

Changes the password of the currently authenticated admin. Requires the correct old_password; the new password must satisfy the project password policy and be confirmed via password_confirmation. The old/new password values are never returned in the response.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
old_password string P@ssw0rd
new_password string NewP@ss0rd1
password_confirmation string NewP@ss0rd1

Request Validations Or Notes

Field/Name Examples
old_password required
new_password required, different, StrongPassword
password_confirmation required, same
Success (200 OK)
{
    "data": [],
    "message": "admins::messages.password_changed",
    "success": true
}

FAQs

GET /api/v1/faqs/1

Get Faq Details

Retrieve Faq details.

Retrieves detailed information about a specific Faq using its unique identifier.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "question": "",
        "answer": "",
        "translate": {
            "question": {
                "ar": "",
                "en": ""
            },
            "answer": {
                "ar": "",
                "en": ""
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "faq::faq.retrieved",
    "success": true
}
PUT /api/v1/faqs/1

Update Faq

Update an existing Faq.

Updates the specified Faq with the provided data. The system validates the request and applies the changes to the existing record.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
question array {"ar":"\u0633\u0624\u0627\u0644 \u062a\u062c\u0631\u064a\u0628\u064a 49831726","en":"Updated question 49831726"}
answer array {"ar":"\u0625\u062c\u0627\u0628\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629","en":"Test answer"}
is_active integer 1
id integer 1

Request Validations Or Notes

Field/Name Examples
question.ar optional, ArabicLetters
question.en optional, EnglishLetters
answer.ar optional, ArabicLetters
answer.en optional, EnglishLetters
is_active optional, true/false
Success (200 OK)
{
    "data": {
        "id": 1,
        "question": "Updated question 49831726",
        "answer": "Test answer",
        "translate": {
            "question": {
                "ar": "سؤال تجريبي 49831726",
                "en": "Updated question 49831726"
            },
            "answer": {
                "ar": "إجابة تجريبية",
                "en": "Test answer"
            }
        },
        "is_active": true,
        "created_at": "2026-08-26"
    },
    "message": "faq::faq.updated",
    "success": true
}
PATCH /api/v1/faqs/1/switch-active

Toggle Faq Status

Switch the Faq status between active and inactive.

Updates the status of the specified Faq by toggling it between active and inactive. This operation allows enabling or disabling the resource without deleting it from the system.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "question": "Updated question 49831726",
        "answer": "Test answer",
        "translate": {
            "question": {
                "ar": "سؤال تجريبي 49831726",
                "en": "Updated question 49831726"
            },
            "answer": {
                "ar": "إجابة تجريبية",
                "en": "Test answer"
            }
        },
        "is_active": false,
        "created_at": "2026-08-26"
    },
    "message": "faq::faq.updated",
    "success": true
}
DELETE /api/v1/faqs/1

Delete Faq

Delete a Faq.

Deletes the specified Faq from the system using its unique identifier. Depending on the system configuration, the deletion may be permanent or soft deleted.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "faq::faq.deleted",
    "success": true
}
GET /api/v1/faqs/trash

Get Deleted Faq

List deleted Faq.

Retrieve a list of soft-deleted Faq records from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 1,
            "question": "Updated question 49831726",
            "answer": "Test answer",
            "translate": {
                "question": {
                    "ar": "سؤال تجريبي 49831726",
                    "en": "Updated question 49831726"
                },
                "answer": {
                    "ar": "إجابة تجريبية",
                    "en": "Test answer"
                }
            },
            "is_active": false,
            "created_at": "2026-08-26"
        },
        {
            "id": 2,
            "question": "",
            "answer": "",
            "translate": {
                "question": {
                    "ar": "",
                    "en": ""
                },
                "answer": {
                    "ar": "",
                    "en": ""
                }
            },
            "is_active": true,
            "created_at": "2026-08-26"
        },
        {
            "id": 4,
            "question": "",
            "answer": "",
            "translate": {
                "question": {
                    "ar": "",
                    "en": ""
                },
                "answer": {
                    "ar": "",
                    "en": ""
                }
            },
            "is_active": true,
            "created_at": "2026-08-26"
        },
        {
            "id": 5,
            "question": "",
            "answer": "",
            "translate": {
                "question": {
                    "ar": "",
                    "en": ""
                },
                "answer": {
                    "ar": "",
                    "en": ""
                }
            },
            "is_active": true,
            "created_at": "2026-08-26"
        }
    ],
    "message": "faq::faq.retrieved",
    "success": true,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    },
    "total_faqs": 1,
    "active_faqs": 1,
    "inactive_faqs": 0
}
PATCH /api/v1/faqs/5/restore

Restore Faq

Restore deleted Faq.

Restore a previously deleted Faq record from the recycle bin.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "faq::faq.restored",
    "success": true
}

Settings

POST /api/v1/settings/country

Create country

Locations

locations-store-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name_en string Test Country
name_ar string أختبار دولة
data array {"code":"TC","phone_code":"999","phone_length":9}
Success (200 OK)
{
    "data": {
        "name_ar": "أختبار دولة",
        "name_en": "Test Country",
        "data": {
            "code": "TC",
            "phone_code": "999",
            "phone_length": 9
        },
        "type": "country",
        "setting_id": null,
        "updated_at": "2026-08-26T14:42:02.000000Z",
        "created_at": "26-08-2026 14:42:02",
        "id": 3
    },
    "message": "Data inserted successfully.",
    "success": true
}
POST /api/v1/settings/city

Create city

Locations

locations-store-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name_en string Test City
name_ar string أختبار مدينة
parent_id integer 1
Success (200 OK)
{
    "data": {
        "name_ar": "أختبار مدينة",
        "name_en": "Test City",
        "type": "city",
        "setting_id": 1,
        "updated_at": "2026-08-26T14:42:02.000000Z",
        "created_at": "26-08-2026 14:42:02",
        "id": 4
    },
    "message": "Data inserted successfully.",
    "success": true
}
POST /api/v1/settings/nationality

Create nationality

Locations

locations-store-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name_en string Test Nationality
name_ar string أختبار جنسية
Success (200 OK)
{
    "data": {
        "name_ar": "أختبار جنسية",
        "name_en": "Test Nationality",
        "type": "nationality",
        "setting_id": null,
        "updated_at": "2026-08-26T14:42:02.000000Z",
        "created_at": "26-08-2026 14:42:02",
        "id": 5
    },
    "message": "Data inserted successfully.",
    "success": true
}
PUT /api/v1/settings/country/1

Update country

Locations

locations-update-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key

Request Body

Field/Name Type Examples
name_en string Test Country
name_ar string أختبار دولة
data array {"code":"TC","phone_code":"999","phone_length":9}
id integer 1
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "country",
        "name_ar": "أختبار دولة",
        "name_en": "Test Country",
        "data": {
            "code": "TC",
            "phone_code": "999",
            "phone_length": 9
        },
        "setting_id": null,
        "is_active": 1,
        "deleted_at": null,
        "created_at": "26-08-2026 14:41:46",
        "updated_at": "2026-08-26T14:42:02.000000Z"
    },
    "message": "Data updated successfully.",
    "success": true
}
PATCH /api/v1/settings/country/1/toggle-active

Toggle country

Locations

locations-toggle-active-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 1,
        "type": "country",
        "name_ar": "أختبار دولة",
        "name_en": "Test Country",
        "setting_id": null,
        "is_active": false,
        "code": "TC",
        "phone_code": "999",
        "phone_length": 9
    },
    "message": "Data updated successfully.",
    "success": true
}
DELETE /api/v1/settings/country/1

Delete country

Locations

locations-delete-setting

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [],
    "message": "Data deleted successfully.",
    "success": true
}

Valuer Portal API

Valuer Dashboard

GET /api/v1/valuer/dashboard

Valuer Dashboard

Valuer dashboard.

Provider dashboard summary.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Portal Co",
        "valuer_type": null,
        "authorized_contact_name": null,
        "email": "demo.valuer@doctest.com",
        "status": null,
        "admin_notes": null,
        "approved_at": null,
        "tenant_id": null,
        "country_id": null,
        "city_id": null,
        "category_id": null,
        "created_at": "2026-08-26T14:43:17.000000Z",
        "updated_at": "2026-08-26T14:43:18.000000Z",
        "valuer_request": {
            "id": 4,
            "company_name": "Portal Co",
            "business_type": "corporate",
            "contact_person_name": "Lina Saad",
            "valuation_type": "real_estate",
            "requested_subdomain": "portal-co-doc",
            "status": "approved",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": [
                {
                    "id": 3,
                    "name": "taqeem_license",
                    "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
                    "status": "accepted",
                    "rejection_reason": null,
                    "extracted_value": null,
                    "admin_note": null,
                    "created_at": "2026-08-26T14:43:16.000000Z"
                }
            ]
        }
    }
}
GET /api/v1/valuer/application

Get Application

Get application.

The provider views its own onboarding application.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 4,
        "company_name": "Portal Co",
        "business_type": "corporate",
        "contact_person_name": "Lina Saad",
        "valuation_type": "real_estate",
        "requested_subdomain": "portal-co-doc",
        "status": "approved",
        "admin_notes": null,
        "approved_at": null,
        "tenant_id": null,
        "country_id": 1,
        "city_id": 1,
        "created_at": "2026-08-26T14:43:16.000000Z",
        "updated_at": "2026-08-26T14:43:16.000000Z",
        "documents": [
            {
                "id": 3,
                "name": "taqeem_license",
                "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
                "status": "accepted",
                "rejection_reason": null,
                "extracted_value": null,
                "admin_note": null,
                "created_at": "2026-08-26T14:43:16.000000Z"
            }
        ]
    }
}
GET /api/v1/valuer/documents

Get Documents

Get documents.

The provider lists its own documents.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": [
        {
            "id": 3,
            "name": "taqeem_license",
            "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
            "status": "accepted",
            "rejection_reason": null,
            "extracted_value": null,
            "admin_note": null,
            "created_at": "2026-08-26T14:43:16.000000Z"
        }
    ]
}
GET /api/v1/valuer/documents/3/download

Download Document

Download document.

The provider gets a document path/URL.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "path": "valuer_documents\/demo\/portal_taqeem_license.pdf"
}
GET /api/v1/valuer/review-status

Review Status

Review status.

The provider checks its review status.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "status": "approved"
}
GET /api/v1/valuer/workspace

Workspace

Workspace.

The provider enters its provisioned workspace.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "message": "Welcome to your workspace",
    "is_active": true
}

Public API

Valuer Registration

GET /api/v1/web/check-subdomain

Check Subdomain

Check subdomain availability.

Check whether a requested subdomain is available.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Query Parameters

Field/Name Type Examples
requested_subdomain string brand-new-co-uyzecn
Success (200 OK)
{
    "available": true,
    "message": "Subdomain is available"
}

Authentication

POST /api/v1/web/login

Valuer Login

Valuer login.

Provider authenticates and receives a portal token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json

Request Body

Field/Name Type Examples
email string demo.valuer@doctest.com
password string password123

Request Validations Or Notes

Field/Name Examples
email required, valid email, exists valuers,email
password required, string
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Portal Co",
        "valuer_type": null,
        "authorized_contact_name": null,
        "email": "demo.valuer@doctest.com",
        "status": null,
        "admin_notes": null,
        "approved_at": null,
        "tenant_id": null,
        "country_id": null,
        "city_id": null,
        "category_id": null,
        "created_at": "2026-08-26T14:43:17.000000Z",
        "updated_at": "2026-08-26T14:43:18.000000Z",
        "valuer_request": {
            "id": 4,
            "company_name": "Portal Co",
            "business_type": "corporate",
            "contact_person_name": "Lina Saad",
            "valuation_type": "real_estate",
            "requested_subdomain": "portal-co-doc",
            "status": "approved",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": [
                {
                    "id": 3,
                    "name": "taqeem_license",
                    "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
                    "status": "accepted",
                    "rejection_reason": null,
                    "extracted_value": null,
                    "admin_note": null,
                    "created_at": "2026-08-26T14:43:16.000000Z"
                }
            ]
        }
    },
    "token": "79|HJCgpAzDGcJF5NAmFVPoC3i6f2HLD1PPba3Ff28r060f9105"
}
GET /api/v1/web/me

Get Authenticated Valuer

Get authenticated valuer.

Return the authenticated provider profile.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "data": {
        "id": 2,
        "name": "Portal Co",
        "valuer_type": null,
        "authorized_contact_name": null,
        "email": "demo.valuer@doctest.com",
        "status": null,
        "admin_notes": null,
        "approved_at": null,
        "tenant_id": null,
        "country_id": null,
        "city_id": null,
        "category_id": null,
        "created_at": "2026-08-26T14:43:17.000000Z",
        "updated_at": "2026-08-26T14:43:18.000000Z",
        "valuer_request": {
            "id": 4,
            "company_name": "Portal Co",
            "business_type": "corporate",
            "contact_person_name": "Lina Saad",
            "valuation_type": "real_estate",
            "requested_subdomain": "portal-co-doc",
            "status": "approved",
            "admin_notes": null,
            "approved_at": null,
            "tenant_id": null,
            "country_id": 1,
            "city_id": 1,
            "created_at": "2026-08-26T14:43:16.000000Z",
            "updated_at": "2026-08-26T14:43:16.000000Z",
            "documents": [
                {
                    "id": 3,
                    "name": "taqeem_license",
                    "file": "https:\/\/127.0.0.1:8000\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
                    "status": "accepted",
                    "rejection_reason": null,
                    "extracted_value": null,
                    "admin_note": null,
                    "created_at": "2026-08-26T14:43:16.000000Z"
                }
            ]
        }
    }
}
POST /api/v1/web/logout

Valuer Logout

Valuer logout.

Provider revokes the current portal token.

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "message": "Logged out successfully"
}