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.
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.
{
"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.
{
"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.
{
"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.
{
"message": "Method not allowed",
"success": false
}
Error 419 – Page Expired
The session or CSRF token has expired. Please refresh the page and try again.
{
"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)
{
"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.
{
"message": "Server Error",
"success": false
}
Mobile API
Budgets
List Budgets
List my budgets.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Trip Budget Doc",
"type": "one_time",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": "owner",
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:12:19.000000Z",
"description": null,
"total_amount": 5000,
"ending_balance": 5000,
"total_expenses": 0
},
{
"id": 2,
"name": "Monthly Budget Doc",
"type": "scheduled",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": "owner",
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:12:19.000000Z",
"description": null,
"total_amount": 3000,
"ending_balance": 3000,
"total_expenses": 0
}
],
"message": "Budgets retrieved successfully",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Create Budget
Initialise a new budget.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | New Project Budget |
| type | string | one_time |
| currency | string | USD |
| 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 |
{
"data": {
"id": 3,
"name": "New Project Budget",
"type": "one_time",
"status": "active",
"currency": "USD",
"owner_id": 1,
"userRole": null,
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:12:19.000000Z",
"description": "Documentation test budget",
"total_amount": 0,
"ending_balance": null,
"total_expenses": 0
},
"message": "Budget created successfully",
"success": true
}
Shared With Me
Budgets shared by others.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Budgets shared with you retrieved",
"success": true
}
Add Income
Record income.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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) |
{
"data": {
"transaction": {
"id": 2,
"type": "income",
"photo": null,
"amount": 500,
"account": null,
"category": null,
"budget_id": "1",
"created_at": "2026-10-19T07:12:23.000000Z",
"updated_at": "2026-10-19T07:12:23.000000Z",
"description": null,
"creation_date": "2026-10-19",
"creation_time": "07:12",
"additional_date": null
},
"newEndingBalance": 5500
},
"message": "Income recorded successfully",
"success": true
}
Add Expense
Record expense.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| date | string | 2026-10-19 |
| time | string | 11:46 |
| amount | integer | 50 |
| category | string | Food |
| description | string | Buying milk and eggs |
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) |
{
"data": {
"transaction": {
"id": 3,
"type": "expense",
"photo": null,
"amount": 50,
"account": null,
"category": "Food",
"budget_id": "1",
"created_at": "2026-10-19T07:12:24.000000Z",
"updated_at": "2026-10-19T07:12:24.000000Z",
"description": "Buying milk and eggs",
"creation_date": "2026-10-19",
"creation_time": "11:46",
"additional_date": null
},
"newEndingBalance": 5450
},
"message": "Expense recorded successfully",
"success": true
}
List Transactions
List budget history.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 3,
"type": "expense",
"photo": null,
"amount": 50,
"account": null,
"category": "Food",
"budget_id": 1,
"created_at": "2026-10-19T07:12:24.000000Z",
"updated_at": "2026-10-19T07:12:24.000000Z",
"description": "Buying milk and eggs",
"creation_date": "2026-10-19",
"creation_time": "11:46:00",
"additional_date": null
},
{
"id": 2,
"type": "income",
"photo": null,
"amount": 500,
"account": null,
"category": null,
"budget_id": 1,
"created_at": "2026-10-19T07:12:23.000000Z",
"updated_at": "2026-10-19T07:12:23.000000Z",
"description": null,
"creation_date": "2026-10-19",
"creation_time": "07:12:00",
"additional_date": null
},
{
"id": 1,
"type": "expense",
"photo": null,
"amount": 50,
"account": null,
"category": "Food",
"budget_id": 1,
"created_at": "2026-10-19T07:12:19.000000Z",
"updated_at": "2026-10-19T07:12:19.000000Z",
"description": "Initial Expense",
"creation_date": "2026-10-19",
"creation_time": null,
"additional_date": null
}
],
"message": "Transactions retrieved",
"success": true,
"summary": {
"totalAmount": 500,
"totalIncome": 500,
"endingBalance": 400,
"totalExpenses": 100
},
"pagination": {
"total": 3,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Split Budget
Divide costs with others.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| splits | array | [{"amount":2500,"userId":4,"percentage":50},{"amount":2500,"userId":1,"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 |
{
"data": {
"splits": [
{
"id": 1,
"user": {
"id": 4,
"name": "Demo User",
"email": "user2@demo.com",
"phone": "01211172299",
"avatar": null,
"is_active": true,
"country_id": null,
"created_at": "2026-10-19T07:11:54.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:11:56.000000Z",
"postal_code": null,
"locked_until": null,
"main_address": null,
"last_login_at": "2026-10-19T07:11:56.000000Z",
"phone_verified_at": null,
"change_password_token": null,
"failed_login_attempts": 0,
"change_password_expired_at": null
},
"amount": "2500.00",
"user_id": 4,
"budget_id": 1,
"created_at": "2026-10-19T07:12:28.000000Z",
"percentage": "50.00",
"updated_at": "2026-10-19T07:12:28.000000Z"
},
{
"id": 2,
"user": {
"id": 1,
"name": "Updated User Name",
"email": "updated_email@example.com",
"phone": "01011113333",
"avatar": null,
"is_active": true,
"country_id": null,
"created_at": "2026-10-19T07:10:16.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:10:59.000000Z",
"postal_code": null,
"locked_until": null,
"main_address": null,
"last_login_at": null,
"phone_verified_at": null,
"change_password_token": null,
"failed_login_attempts": 0,
"change_password_expired_at": null
},
"amount": "2500.00",
"user_id": 1,
"budget_id": 1,
"created_at": "2026-10-19T07:12:28.000000Z",
"percentage": "50.00",
"updated_at": "2026-10-19T07:12:28.000000Z"
}
],
"totalAmount": 5000
},
"message": "Splits updated successfully",
"success": true
}
View Splits
View split info.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"budget": {
"id": 1,
"name": "Trip Budget Doc",
"type": "one_time",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": "owner",
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:12:28.000000Z",
"description": null,
"total_amount": 5000,
"ending_balance": 4950,
"total_expenses": 50
},
"splits": [
{
"id": 1,
"user": {
"id": 4,
"name": "Demo User",
"email": "user2@demo.com",
"phone": "01211172299",
"avatar": null,
"is_active": true,
"country_id": null,
"created_at": "2026-10-19T07:11:54.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:11:56.000000Z",
"postal_code": null,
"locked_until": null,
"main_address": null,
"last_login_at": "2026-10-19T07:11:56.000000Z",
"phone_verified_at": null,
"change_password_token": null,
"failed_login_attempts": 0,
"change_password_expired_at": null
},
"amount": "2500.00",
"user_id": 4,
"budget_id": 1,
"created_at": "2026-10-19T07:12:28.000000Z",
"percentage": "50.00",
"updated_at": "2026-10-19T07:12:28.000000Z"
},
{
"id": 2,
"user": {
"id": 1,
"name": "Updated User Name",
"email": "updated_email@example.com",
"phone": "01011113333",
"avatar": null,
"is_active": true,
"country_id": null,
"created_at": "2026-10-19T07:10:16.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:10:59.000000Z",
"postal_code": null,
"locked_until": null,
"main_address": null,
"last_login_at": null,
"phone_verified_at": null,
"change_password_token": null,
"failed_login_attempts": 0,
"change_password_expired_at": null
},
"amount": "2500.00",
"user_id": 1,
"budget_id": 1,
"created_at": "2026-10-19T07:12:28.000000Z",
"percentage": "50.00",
"updated_at": "2026-10-19T07:12:28.000000Z"
}
],
"isComplete": true,
"totalAmount": 5000
},
"message": "Split details retrieved",
"success": true
}
Get Budget Details
Retrieve Budget details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"budget": {
"id": 1,
"name": "Trip Budget Doc",
"type": "one_time",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": "owner",
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:12:28.000000Z",
"description": null,
"total_amount": 5000,
"ending_balance": 4950,
"total_expenses": 50
}
},
"message": "Budget retrieved",
"success": true
}
Update Budget
Update an existing Budget.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 1,
"name": "Trip Budget Doc",
"type": "one_time",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": null,
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:12:28.000000Z",
"description": null,
"total_amount": 5000,
"ending_balance": 4950,
"total_expenses": 50
},
"message": "Budget updated successfully",
"success": true
}
hide Budget
Hide a budget.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Monthly Budget Doc",
"type": "scheduled",
"status": "hidden",
"currency": "SAR",
"owner_id": 1,
"userRole": null,
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:24:41.000000Z",
"description": null,
"total_amount": 3000,
"ending_balance": 3000,
"total_expenses": 0
},
"message": "Budget hidden successfully",
"success": true
}
Transaction Details
Reveal transaction info.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"createdBy": "Updated User Name",
"transaction": {
"id": 3,
"type": "expense",
"photo": null,
"amount": "50.00",
"account": null,
"category": "Food",
"budget_id": 1,
"created_at": "2026-10-19T07:12:24.000000Z",
"updated_at": "2026-10-19T07:12:24.000000Z",
"description": "Buying milk and eggs",
"creation_date": "2026-10-19",
"creation_time": "11:46:00",
"additional_date": null
}
},
"message": "Transaction details retrieved",
"success": true
}
Update Transaction
Edit transaction.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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) |
{
"data": {
"transaction": {
"id": 3,
"type": "expense",
"photo": null,
"amount": 600,
"account": null,
"category": "Food",
"budget_id": "1",
"created_at": "2026-10-19T07:12:24.000000Z",
"updated_at": "2026-10-19T07:24:45.000000Z",
"description": "Buying organic milk",
"creation_date": "2026-10-19",
"creation_time": "11:46:00",
"additional_date": null
},
"updatedBudgetSummary": {
"totalAmount": 5000,
"endingBalance": 4400,
"totalExpenses": 600
}
},
"message": "Transaction updated successfully",
"success": true
}
Settle Split
Settle debt.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"settled": true
},
"message": "Split settled successfully",
"success": true
}
Delete Budget
Delete a Budget.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Budget deleted successfully.",
"success": true
}
Restore Budget
Restore deleted Budget.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Trip Budget Doc",
"type": "one_time",
"status": "active",
"currency": "SAR",
"owner_id": 1,
"userRole": null,
"created_at": "2026-10-19T07:12:19.000000Z",
"deleted_at": null,
"is_trashed": false,
"updated_at": "2026-10-19T07:32:28.000000Z",
"description": null,
"total_amount": 5000,
"ending_balance": 4400,
"total_expenses": 600
},
"message": "Budget restored successfully",
"success": true
}
Delete Transaction
Delete transaction.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
null
Asset Documents
Get AssetFolder List
Retrieve a list of AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Personal & Legal Documents",
"active": true,
"created_at": "2026-10-19",
"cover_photo": "http:\/\/qeei_backend_admin.test\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
"total_price": 19250.5,
"documents_count": 3
}
],
"message": "Folders retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Create AssetFolder
Create a new AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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) |
{
"data": {
"id": 2,
"name": "Insurance Policies",
"active": true,
"documents": [],
"created_at": "2026-10-19",
"cover_photo": null,
"total_price": 0,
"documents_count": 0
},
"message": "Folder created successfully.",
"success": true
}
Get AssetDoc List
Retrieve a list of AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
{
"id": 2,
"name": "Comprehensive Car Insurance",
"value": "1250.50",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
],
"currency": "USD",
"end_date": "2026-03-14",
"reminder": {
"time": "2026-03-14 08:30:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-03-15",
"description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
"asset_folder_id": 1
},
{
"id": 3,
"name": "Passport",
"value": null,
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
],
"currency": null,
"end_date": "2031-05-31",
"reminder": {
"time": "2031-03-02 09:00:00",
"is_periodic": true,
"periodic_method": "yearly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2021-06-01",
"description": "Primary international travel document. Renewal reminder repeats every year, starting three months before expiry.",
"asset_folder_id": 1
}
],
"message": "Documents retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Create AssetDoc
Create a new AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Health Insurance Policy |
| value | integer | 3600 |
| currency | string | USD |
| end_date | string | 2026-01-31 |
| reminder | array | {"time":"2026-01-10 09:00:00","is_periodic":true,"periodic_method":"monthly"} |
| start_date | string | 2025-02-01 |
| description | string | Family health insurance plan covering 4 members, including dental and optical coverage. |
| photos_files | array | [] |
| document_files | array | [] |
| asset_folder_id | integer | 1 |
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, array |
| reminder.time | required, required_with, date (YYYY-MM-DD) |
| reminder.is_periodic | required, required_with, true/false |
| reminder.periodic_method | optional, string, allowed: daily, weekly, monthly, yearly, required if reminder.is_periodic = true |
| 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) |
{
"data": {
"id": 4,
"name": "Health Insurance Policy",
"value": "3600.00",
"active": true,
"photos": [],
"currency": "USD",
"end_date": "2026-01-31",
"reminder": {
"time": "2026-01-10 09:00:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2025-02-01",
"description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
"asset_folder_id": 1
},
"message": "Document created successfully.",
"success": true
}
Move Documents
Bulk move documents.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": [],
"message": "Documents moved successfully.",
"success": true
}
Download Document
Download document files.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Apartment Lease Agreement",
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
]
},
"message": "Document files retrieved successfully.",
"success": true
}
Duplicate Document
Duplicate a document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"name": "Apartment Lease Agreement (Copy)",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
"message": "Document duplicated successfully.",
"success": true
}
Archive Document
Archive a document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": false,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
"message": "Document archived successfully.",
"success": true
}
Unarchive Document
Unarchive a document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
"message": "Document unarchived successfully.",
"success": true
}
Get AssetFolder Details
Retrieve AssetFolder details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Personal & Legal Documents",
"active": true,
"documents": [
{
"id": 1,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
{
"id": 2,
"name": "Comprehensive Car Insurance",
"value": "1250.50",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
],
"currency": "USD",
"end_date": "2026-03-14",
"reminder": {
"time": "2026-03-14 08:30:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-03-15",
"description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
"asset_folder_id": 1
},
{
"id": 3,
"name": "Passport",
"value": null,
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
],
"currency": null,
"end_date": "2031-05-31",
"reminder": {
"time": "2031-03-02 09:00:00",
"is_periodic": true,
"periodic_method": "yearly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2021-06-01",
"description": "Primary international travel document. Renewal reminder repeats every year, starting three months before expiry.",
"asset_folder_id": 1
},
{
"id": 4,
"name": "Health Insurance Policy",
"value": "3600.00",
"active": true,
"photos": [],
"currency": "USD",
"end_date": "2026-01-31",
"reminder": {
"time": "2026-01-10 09:00:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2025-02-01",
"description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
"asset_folder_id": 1
},
{
"id": 5,
"name": "Apartment Lease Agreement (Copy)",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
}
],
"created_at": "2026-10-19",
"cover_photo": "http:\/\/qeei_backend_admin.test\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
"total_price": 40850.5,
"documents_count": 5
},
"message": "Folder retrieved successfully.",
"success": true
}
Update AssetFolder
Update an existing AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 1,
"name": "Personal Legal and Financial Documents",
"active": true,
"documents": [
{
"id": 1,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
},
{
"id": 2,
"name": "Comprehensive Car Insurance",
"value": "1250.50",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
],
"currency": "USD",
"end_date": "2026-03-14",
"reminder": {
"time": "2026-03-14 08:30:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-03-15",
"description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
"asset_folder_id": 1
},
{
"id": 3,
"name": "Passport",
"value": null,
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
],
"currency": null,
"end_date": "2031-05-31",
"reminder": {
"time": "2031-03-02 09:00:00",
"is_periodic": true,
"periodic_method": "yearly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2021-06-01",
"description": "Primary international travel document. Renewal reminder repeats every year, starting three months before expiry.",
"asset_folder_id": 1
},
{
"id": 4,
"name": "Health Insurance Policy",
"value": "3600.00",
"active": true,
"photos": [],
"currency": "USD",
"end_date": "2026-01-31",
"reminder": {
"time": "2026-01-10 09:00:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2025-02-01",
"description": "Family health insurance plan covering 4 members, including dental and optical coverage.",
"asset_folder_id": 1
},
{
"id": 5,
"name": "Apartment Lease Agreement (Copy)",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 1
}
],
"created_at": "2026-10-19",
"cover_photo": "http:\/\/qeei_backend_admin.test\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
"total_price": 40850.5,
"documents_count": 5
},
"message": "Folder updated successfully.",
"success": true
}
Delete AssetFolder
Delete a AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Folder deleted successfully.",
"success": true
}
Get AssetDoc Details
Retrieve AssetDoc details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 6,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 3
},
"message": "Document retrieved successfully.",
"success": true
}
Update AssetDoc
Update an existing AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Contract V2 |
| deleted_photos | array | [] |
| document_files | 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, array |
| reminder.time | required, required_with, date (YYYY-MM-DD) |
| reminder.is_periodic | required, required_with, true/false |
| reminder.periodic_method | optional, string, allowed: daily, weekly, monthly, yearly, required if reminder.is_periodic = true |
| 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 |
{
"data": {
"id": 6,
"name": "Contract V2",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 3
},
"message": "Document updated successfully.",
"success": true
}
Delete AssetDoc
Delete a AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Document deleted successfully.",
"success": true
}
Restore AssetFolder
Restore deleted AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Personal & Legal Documents",
"active": true,
"documents": [
{
"id": 7,
"name": "Comprehensive Car Insurance",
"value": "1250.50",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-card.jpg"
],
"currency": "USD",
"end_date": "2026-03-14",
"reminder": {
"time": "2026-03-14 08:30:00",
"is_periodic": true,
"periodic_method": "monthly"
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/car-insurance-policy.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-03-15",
"description": "Full-coverage auto insurance for vehicle plate XYZ-1234, including roadside assistance and windscreen cover.",
"asset_folder_id": 3
},
{
"id": 8,
"name": "Passport",
"value": null,
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2021\/passport-photo-page.jpg"
],
"currency": null,
"end_date": "2031-05-31",
"reminder": {
"time": "2031-03-02 09:00:00",
"is_periodic": true,
"periodic_method": "yearly"
},
"documents": [],
"created_at": "2026-10-19",
"start_date": "2021-06-01",
"description": "Primary international travel document. Renewal reminder repeats every year, starting three months before expiry.",
"asset_folder_id": 3
},
{
"id": 9,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 3
}
],
"created_at": "2026-10-19",
"cover_photo": "http:\/\/qeei_backend_admin.test\/storage\/media\/asset-folders\/covers\/personal-legal-documents.jpg",
"total_price": 19250.5,
"documents_count": 3
},
"message": "Folder restored successfully.",
"success": true
}
Permanently Delete AssetFolder
Force delete AssetFolder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Folder permanently deleted.",
"success": true
}
Bulk Delete AssetDoc
Bulk delete AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| documents | array | [10] |
{
"data": [],
"message": "Documents deleted successfully.",
"success": true
}
Move AssetDoc to Main Directory
Move AssetDoc to main directory.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| documents | array | [10] |
{
"data": [],
"message": "Documents moved to main directory successfully.",
"success": true
}
Restore AssetDoc
Restore deleted AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 10,
"name": "Apartment Lease Agreement",
"value": "18000.00",
"active": true,
"photos": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-front.jpg",
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-signature-page.jpg"
],
"currency": "USD",
"end_date": "2025-12-31",
"reminder": {
"time": "2025-12-01 09:00:00",
"is_periodic": false,
"periodic_method": null
},
"documents": [
"http:\/\/qeei_backend_admin.test\/storage\/media\/asset-docs\/2025\/apartment-lease-agreement.pdf"
],
"created_at": "2026-10-19",
"start_date": "2025-01-01",
"description": "12-month residential lease for Unit 4B, Green Valley Residences. Auto-renews annually unless cancelled 60 days before expiry.",
"asset_folder_id": 4
},
"message": "Document restored successfully.",
"success": true
}
Permanently Delete AssetDoc
Force delete AssetDoc.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Document permanently deleted.",
"success": true
}
FAQs
Get All FAQs (Mobile)
List FAQs (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 3,
"answer": "Test answer",
"question": "Test question 21635182",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 21635182",
"en": "Test question 21635182"
}
},
"created_at": "2026-10-19"
}
],
"message": "faq::faq.retrieved",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_faqs": 2,
"active_faqs": 2,
"inactive_faqs": 0
}
Get FAQ (Mobile)
Show FAQ (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "faq::faq.retrieved",
"success": true
}
Categories
Get All Categories (Mobile)
List categories (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Category (Mobile)
Show category (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
"message": "Data retrieved successfully.",
"success": true
}
Tags
Get All Tags (Mobile)
List tags (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"color": "#FF0000",
"status": true,
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "",
"translate": {
"tag_name": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 3,
"color": "#FF0000",
"status": true,
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "Test Tag 96182373",
"translate": {
"tag_name": {
"ar": "وسم تجريبي 96182373",
"en": "Test Tag 96182373"
}
},
"created_at": "2026-10-19"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Tag (Mobile)
Show tag (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"color": "#FF0000",
"status": true,
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "",
"translate": {
"tag_name": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Static Pages
Get Pages By Type (Mobile)
List pages by type (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "",
"type": "about_us",
"content": "",
"is_active": true,
"translate": {
"name": {
"ar": "",
"en": ""
},
"content": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Get Page (Mobile)
Show page (mobile).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "",
"type": "about_us",
"content": "",
"is_active": true,
"translate": {
"name": {
"ar": "",
"en": ""
},
"content": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Business Cards
Get Business-card-group List
Retrieve a list of Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Work |
{
"data": [
{
"id": 1,
"name": "Work Contacts",
"active": true,
"contacts": [],
"created_at": "2026-10-19",
"contacts_count": 1
}
],
"message": "Groups retrieved successfully.",
"success": true
}
Create Business-card-group
Create a new Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Family |
| active | boolean | 1 |
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 |
{
"data": {
"id": 2,
"name": "Family",
"active": true,
"contacts": [],
"created_at": "2026-10-19",
"contacts_count": 0
},
"message": "Group created successfully.",
"success": true
}
Get Business-card-contact List
Retrieve a list of Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Jane |
{
"data": [
{
"id": 1,
"name": "Jane Smith",
"email": "jane.smith@techcorp.com",
"notes": null,
"phone": "+966501234567",
"active": true,
"company": "Tech Corp",
"website": "https:\/\/techcorp.com",
"group_ids": [
1
],
"job_title": "Software Engineer",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
}
],
"message": "Contacts retrieved successfully.",
"success": true,
"summary": {
"groups": [
{
"id": 1,
"name": "Work Contacts"
},
{
"id": 2,
"name": "Family"
}
]
},
"pagination": {
"total": 1,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Create Business-card-contact
Create a new Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Ali Hassan |
| string | ali.hassan@devstudio.com | |
| notes | string | Met at a conference |
| phone | string | +966512345678 |
| active | boolean | 1 |
| company | string | Dev Studio |
| website | string | https://devstudio.com |
| group_ids | array | [2] |
| job_title | string | Backend Developer |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| group_ids | optional, array |
| group_ids[] | required, exists business_card_groups,id |
| 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 |
| 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 |
{
"data": {
"id": 2,
"name": "Ali Hassan",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [
2
],
"job_title": "Backend Developer",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact created successfully.",
"success": true
}
Get My-business-card List
Retrieve a list of My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| name | string | John |
{
"data": [
{
"id": 1,
"name": "John Doe",
"color": "#1A73E8",
"email": "john.doe@qeei.com",
"phone": "+966509876543",
"photo": null,
"active": true,
"company": "QEEI",
"website": "https:\/\/qeei.com",
"job_title": "Product Manager",
"created_at": "2026-10-19",
"field_name": [
"Extension",
"Fax"
],
"qr_code_value": "qr_code_value"
}
],
"message": "Business cards retrieved successfully.",
"success": true
}
Create My-business-card
Create a new My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | My New Card |
| color | string | #E53935 |
| string | cto@qeei.com | |
| phone | string | +966509990000 |
| active | boolean | 1 |
| company | string | QEEI |
| website | string | https://qeei.com |
| job_title | string | CTO |
| field_name | array | ["Extension","Fax","WhatsApp"] |
| qr_code_value | string | sample_qr_value |
{
"data": {
"id": 2,
"name": "My New Card",
"color": "#E53935",
"email": "cto@qeei.com",
"phone": "+966509990000",
"photo": null,
"active": true,
"company": "QEEI",
"website": "https:\/\/qeei.com",
"job_title": "CTO",
"created_at": "2026-10-19",
"field_name": [
"Extension",
"Fax",
"WhatsApp"
],
"qr_code_value": "sample_qr_value"
},
"message": "Business card created successfully.",
"success": true
}
Get Business-card-group Details
Retrieve Business-card-group details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Family",
"active": true,
"contacts": [
{
"id": 2,
"name": "Ali Hassan",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [
2
],
"job_title": "Backend Developer",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
}
],
"created_at": "2026-10-19",
"contacts_count": 1
},
"message": "Group retrieved successfully.",
"success": true
}
Update Business-card-group
Update an existing Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 2,
"name": "Updated Group Name",
"active": true,
"contacts": [],
"created_at": "2026-10-19",
"contacts_count": 1
},
"message": "Group updated successfully.",
"success": true
}
Delete Business-card-group
Delete a Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Group deleted successfully.",
"success": true
}
Get Business-card-contact Details
Retrieve Business-card-contact details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Ali Hassan",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [],
"job_title": "Backend Developer",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact retrieved successfully.",
"success": true,
"summary": {
"groups": [
{
"id": 1,
"name": "Work Contacts"
}
]
}
}
Update Business-card-contact
Update an existing Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Ali Updated |
| string | ali.hassan@devstudio.com | |
| phone | string | +966512345678 |
| company | string | Dev Studio |
| job_title | string | Senior Dev |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| group_ids | optional, array |
| group_ids[] | required, exists business_card_groups,id |
| 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 |
| 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 |
{
"data": {
"id": 2,
"name": "Ali Updated",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [],
"job_title": "Senior Dev",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact updated successfully.",
"success": true
}
Add Contact to Group
Add contact to a group without removing it from its other groups.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| group_id | integer | 1 |
{
"data": {
"id": 2,
"name": "Ali Updated",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [
1
],
"job_title": "Senior Dev",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact added to group successfully.",
"success": true
}
Remove Contact from Group
Remove contact from its groups, keeping the contact itself.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Ali Updated",
"email": "ali.hassan@devstudio.com",
"notes": "Met at a conference",
"phone": "+966512345678",
"active": true,
"company": "Dev Studio",
"website": "https:\/\/devstudio.com",
"group_ids": [],
"job_title": "Senior Dev",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact removed from group successfully.",
"success": true
}
Delete Business-card-contact
Delete a Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Contact deleted successfully.",
"success": true
}
Get My-business-card Details
Retrieve My-business-card details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "My New Card",
"color": "#E53935",
"email": "cto@qeei.com",
"phone": "+966509990000",
"photo": null,
"active": true,
"company": "QEEI",
"website": "https:\/\/qeei.com",
"job_title": "CTO",
"created_at": "2026-10-19",
"field_name": [
"Extension",
"Fax",
"WhatsApp"
],
"qr_code_value": "sample_qr_value"
},
"message": "Business card retrieved successfully.",
"success": true
}
Update My-business-card
Update an existing My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Updated Card Name |
| color | string | #43A047 |
| string | cto@qeei.com | |
| phone | string | +966509990000 |
| company | string | QEEI |
| job_title | string | CTO |
| field_name | array | ["Extension","Mobile"] |
| qr_code_value | string | sample_qr_value |
{
"data": {
"id": 2,
"name": "Updated Card Name",
"color": "#43A047",
"email": "cto@qeei.com",
"phone": "+966509990000",
"photo": null,
"active": true,
"company": "QEEI",
"website": "https:\/\/qeei.com",
"job_title": "CTO",
"created_at": "2026-10-19",
"field_name": [
"Extension",
"Mobile"
],
"qr_code_value": "sample_qr_value"
},
"message": "Business card updated successfully.",
"success": true
}
Delete My-business-card
Delete a My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Business card deleted successfully.",
"success": true
}
Restore Business-card-group
Restore deleted Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Work Contacts",
"active": true,
"contacts": [],
"created_at": "2026-10-19",
"contacts_count": 1
},
"message": "Group restored successfully.",
"success": true
}
Permanently Delete Business-card-group
Force delete Business-card-group.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Group permanently deleted.",
"success": true
}
Restore Business-card-contact
Restore deleted Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Jane Smith",
"email": "jane.smith@techcorp.com",
"notes": null,
"phone": "+966501234567",
"active": true,
"company": "Tech Corp",
"website": "https:\/\/techcorp.com",
"group_ids": [],
"job_title": "Software Engineer",
"back_image": null,
"created_at": "2026-10-19",
"front_image": null
},
"message": "Contact restored successfully.",
"success": true
}
Permanently Delete Business-card-contact
Force delete Business-card-contact.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Contact permanently deleted.",
"success": true
}
Restore My-business-card
Restore deleted My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "John Doe",
"color": "#1A73E8",
"email": "john.doe@qeei.com",
"phone": "+966509876543",
"photo": null,
"active": true,
"company": "QEEI",
"website": "https:\/\/qeei.com",
"job_title": "Product Manager",
"created_at": "2026-10-19",
"field_name": [
"Extension",
"Fax"
],
"qr_code_value": "qr_code_value"
},
"message": "Business card restored successfully.",
"success": true
}
Permanently Delete My-business-card
Force delete My-business-card.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Business card permanently deleted.",
"success": true
}
Money Circles
Get Circle Statuses
List circle statuses
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "active",
"value": "Active"
},
{
"key": "completed",
"value": "Completed"
},
{
"key": "frozen",
"value": "Frozen"
},
{
"key": "published",
"value": "Published"
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Circle Types
List circle types
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "public",
"value": "Public"
},
{
"key": "private",
"value": "Private"
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Request Types
List request types
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"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 Request Statuses
List request statuses
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "pending",
"value": "Pending"
},
{
"key": "approved",
"value": "Approved"
},
{
"key": "declined",
"value": "Declined"
},
{
"key": "cancelled",
"value": "Cancelled"
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Invitation Statuses
List invitation statuses
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "pending",
"value": "Pending"
},
{
"key": "accepted",
"value": "Accepted"
},
{
"key": "declined",
"value": "Declined"
},
{
"key": "expired",
"value": "Expired"
}
],
"message": "Data retrieved successfully.",
"success": true
}
Create Circle
Create a circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Monthly Savings |
| privacy | string | public |
| currency | string | SAR |
| end_date | string | 2027-04-21 |
| start_date | string | 2026-10-21 |
| allow_swaps | boolean | 1 |
| names_hidden | boolean | |
| total_amount | integer | 12000 |
| payout_method | string | central_pot |
| collector_type | string | creator |
| monthly_amount | integer | 1000 |
| duration_months | integer | 6 |
| late_fee_per_day | integer | 0 |
| payment_duration | array | [15,20] |
| receive_duration | array | [10,25] |
| commission_percent | integer | 0 |
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) |
| 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 |
{
"data": {
"id": 7,
"name": "Monthly Savings",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-21T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 11,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-21T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "n0EQcvenQM",
"taken_turns": 1,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "2000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
15,
20
],
"receive_duration": [
10,
25
],
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
"message": "Data inserted successfully.",
"success": true
}
Get Circle List
List circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 4,
"total_turns": 7,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
{
"id": 2,
"name": "Disposable Circle hn9g",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 5,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPXOHDC",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 3,
"name": "Invite Circle",
"notes": null,
"myRole": "member",
"status": "active",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"id": 5,
"name": "Circle Owner"
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "INVVWANR",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 4,
"name": "Start Circle Demo",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 7,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "SRTHAJHV",
"taken_turns": 1,
"total_turns": 1,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 5,
"name": "Kick Member Circle Demo",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 8,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "KCK4OANO",
"taken_turns": 0,
"total_turns": 0,
"contributors": 2,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 6,
"name": "Published Documentation Circle",
"notes": null,
"myRole": "admin",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 10,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "PUBOKOSB",
"taken_turns": 0,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 7,
"name": "Monthly Savings",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-21T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 11,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-21T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "n0EQcvenQM",
"taken_turns": 1,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "2000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
15,
20
],
"receive_duration": [
10,
25
],
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 7,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Join Circle
Join via code
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| circle_code | string | DOC9SVTY |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| circle_code | required, string, exists circles,circle_code |
{
"data": {
"id": 13,
"type": "join",
"user": {
"id": 8,
"name": "Circle Joiner",
"email": "circle.joiner@demo.com",
"avatar": null
},
"status": "pending",
"user_id": 8,
"circle_id": 1,
"created_at": "2026-10-19T07:15:04.000000Z"
},
"message": "Join request sent successfully. Please wait for admin approval.",
"success": true
}
Get Invitations
List invitations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"note": null,
"user": {
"id": 6,
"name": "Circle Invitee",
"email": "circle.invitee@demo.com",
"avatar": null,
"avatar_url": null
},
"circle": {
"id": 1,
"name": "Documentation Circle",
"currency": "SAR",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"contributors": 4,
"total_amount": "12000.00",
"circle_duration": 6,
"monthly_payment": "1000.00"
},
"status": "pending",
"inviter": {
"id": 5,
"name": "Circle Owner",
"role": "creator",
"email": "circle.owner@demo.com",
"avatar": "media\/avatars\/circle-owner.jpg",
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"circle_id": 1,
"is_active": true,
"expires_at": null,
"invited_at": "2026-10-19T07:14:22.000000Z",
"responded_at": null,
"invited_by_id": 5,
"invited_user_id": 6
}
],
"message": "Invitations retrieved successfully.",
"success": true
}
Get Member List
List members
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"groups": [
{
"name": "Family Circle",
"status": "approved",
"members": [
{
"id": 1,
"name": "Circle Owner",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"is_leader": true
},
{
"id": 2,
"name": "Circle Member",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"is_leader": false
}
],
"circle_id": 1,
"created_at": "2026-10-19T07:15:43.000000Z",
"description": "Grouping close relatives into a private sub-circle.",
"requester_member_id": 1
}
],
"members": [
{
"id": 1,
"turns": [
{
"id": 1,
"status": "upcoming",
"month_year": "2026-10-19",
"turn_number": 1,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 5,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:15:41.000000Z",
"is_manager": true,
"member_name": "Circle Owner",
"is_collector": true,
"next_payment": "2026-11-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000001",
"member_profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
{
"id": 2,
"turns": [
{
"id": 2,
"status": "upcoming",
"month_year": "2026-11-19",
"turn_number": 2,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 11,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:19.000000Z",
"is_manager": false,
"member_name": "Circle Member",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000007",
"member_profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
},
{
"id": 4,
"turns": [
{
"id": 3,
"status": "upcoming",
"month_year": "2026-12-19",
"turn_number": 3,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 12,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:21.000000Z",
"is_manager": false,
"member_name": "Circle Payer",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000008",
"member_profile_image": null
},
{
"id": 3,
"turns": [
{
"id": 4,
"status": "upcoming",
"month_year": "2027-01-19",
"turn_number": 4,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 14,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:21.000000Z",
"is_manager": false,
"member_name": "Mona Manager",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000020",
"member_profile_image": null
}
]
},
"message": "Members retrieved successfully.",
"success": true
}
Get Member Details
Member details
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"turns": [
{
"id": 2,
"status": "upcoming",
"month_year": "2026-11-19",
"turn_number": 2,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 11,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:19.000000Z",
"is_manager": false,
"member_name": "Circle Member",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000007",
"member_profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
},
"message": "Member details retrieved successfully.",
"success": true
}
Add Member
Add member
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| user_id | integer | 9 |
| is_manager | boolean |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| user_id | required, integer, exists users,id |
| notes | optional, string |
| is_manager | optional, true/false |
| profile_settings | required, array |
| profile_settings.payment_method | required, string, allowed: visa, cash |
| profile_settings.agreed_to_rules | required, true/false |
| profile_settings.agreed_to_privacy | required, true/false |
{
"data": {
"id": 14,
"turns": [
{
"id": 5,
"status": "upcoming",
"month_year": "2027-02-19",
"turn_number": 5,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 9,
"is_admin": null,
"circle_id": 1,
"is_frozen": null,
"joined_at": "2026-10-19T07:15:44.000000Z",
"is_manager": false,
"member_name": "Add Target",
"is_collector": null,
"next_payment": "2026-10-01",
"payment_method": "cash",
"agreed_to_rules": true,
"assigned_to_turn": true,
"agreed_to_privacy": true,
"member_phone_number": "999500000005",
"member_profile_image": null
},
"message": "Member added successfully.",
"success": true
}
Get Group List (Approved)
List approved groups
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 19,
"name": "Family Circle",
"status": "approved",
"members": [
{
"name": "Circle Owner",
"role": "creator",
"email": "circle.owner@demo.com",
"avatar": "media\/avatars\/circle-owner.jpg",
"user_id": 5,
"is_leader": true,
"joined_at": "2026-10-19 07:15:41",
"member_id": 1,
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
{
"name": "Circle Member",
"role": "member",
"email": "circle.member@demo.com",
"avatar": "media\/avatars\/member-selim.jpg",
"user_id": 11,
"is_leader": false,
"joined_at": "2026-10-19 07:14:19",
"member_id": 2,
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
}
],
"circle_id": 1,
"created_at": "2026-10-19T07:15:43.000000Z",
"created_by": 1,
"updated_at": "2026-10-19T07:15:43.000000Z",
"description": "Grouping close relatives into a private sub-circle.",
"target_turn": 3
}
],
"message": "Groups retrieved successfully.",
"success": true
}
Get Group Details
Get group details
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 19,
"name": "Family Circle",
"status": "approved",
"members": [
{
"name": "Circle Owner",
"role": "creator",
"email": "circle.owner@demo.com",
"avatar": "media\/avatars\/circle-owner.jpg",
"user_id": 5,
"is_leader": true,
"joined_at": "2026-10-19 07:15:41",
"member_id": 1,
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
{
"name": "Circle Member",
"role": "member",
"email": "circle.member@demo.com",
"avatar": "media\/avatars\/member-selim.jpg",
"user_id": 11,
"is_leader": false,
"joined_at": "2026-10-19 07:14:19",
"member_id": 2,
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
}
],
"circle_id": 1,
"created_at": "2026-10-19T07:15:43.000000Z",
"created_by": 1,
"updated_at": "2026-10-19T07:15:43.000000Z",
"description": "Grouping close relatives into a private sub-circle.",
"target_turn": 3
},
"message": "Group retrieved successfully.",
"success": true
}
Current Receiver
Current receiver
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00",
"payout_method": "central_pot",
"receiver_user_id": 5,
"receiver_member_id": 1
},
"message": "Data retrieved successfully.",
"success": true
}
Payment History
Payment history
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"amount": "1000.00",
"status": "pending",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-10-26T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Monthly contribution for cycle 1.",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
{
"id": 2,
"amount": "1000.00",
"status": "pending",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-11-02T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Contribution flagged for review.",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
}
],
"message": "Payment history retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Payment History (by Member)
Member payment history
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"amount": "1000.00",
"status": "pending",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-10-26T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Monthly contribution for cycle 1.",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
{
"id": 2,
"amount": "1000.00",
"status": "pending",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-11-02T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Contribution flagged for review.",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
}
],
"message": "Payment history retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Payment Rounds
Payment rounds
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"turn": {
"id": 1,
"status": "upcoming",
"month_year": "2026-10-19",
"turn_holder": {
"name": "Circle Owner",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"is_group": false,
"member_id": 1
},
"turn_number": 1
},
"members": [
{
"name": "Circle Owner",
"amount": null,
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"paid_at": null,
"turn_id": 1,
"user_id": 5,
"due_date": null,
"group_id": null,
"member_id": 1,
"group_name": null,
"payment_id": null,
"turn_number": 1,
"is_collector": true,
"payment_status": "overdue",
"is_group_leader": false,
"proof_image_url": null,
"group_members_count": null
},
{
"name": "Circle Member",
"amount": 1000,
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"paid_at": null,
"turn_id": 2,
"user_id": 11,
"due_date": "2026-10-26",
"group_id": null,
"member_id": 2,
"group_name": null,
"payment_id": 1,
"turn_number": 2,
"is_collector": false,
"payment_status": "pending",
"is_group_leader": false,
"proof_image_url": null,
"group_members_count": null
},
{
"name": "Circle Payer",
"amount": null,
"avatar": null,
"paid_at": null,
"turn_id": 3,
"user_id": 12,
"due_date": null,
"group_id": null,
"member_id": 4,
"group_name": null,
"payment_id": null,
"turn_number": 3,
"is_collector": false,
"payment_status": "overdue",
"is_group_leader": false,
"proof_image_url": null,
"group_members_count": null
},
{
"name": "Mona Manager",
"amount": null,
"avatar": null,
"paid_at": null,
"turn_id": 4,
"user_id": 14,
"due_date": null,
"group_id": null,
"member_id": 3,
"group_name": null,
"payment_id": null,
"turn_number": 4,
"is_collector": false,
"payment_status": "overdue",
"is_group_leader": false,
"proof_image_url": null,
"group_members_count": null
}
]
},
"message": "Turn payments retrieved successfully.",
"success": true
}
Get Payment Rounds Per Group
Payment rounds per group
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"turn": {
"id": 3,
"status": "upcoming",
"month_year": "2026-12-19",
"turn_number": 3
},
"members": [
{
"name": "Circle Owner",
"amount": null,
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"details": null,
"paid_at": null,
"user_id": 5,
"due_date": null,
"is_leader": true,
"member_id": 1,
"payment_id": null,
"payment_status": "unpaid",
"proof_image_url": null
},
{
"name": "Circle Member",
"amount": null,
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"details": null,
"paid_at": null,
"user_id": 11,
"due_date": null,
"is_leader": false,
"member_id": 2,
"payment_id": null,
"payment_status": "unpaid",
"proof_image_url": null
}
],
"group_details": {
"name": "Family Circle",
"status": "approved",
"total_amount": 0,
"members_count": 2
}
},
"message": "Turn payments for circle group retrieved successfully.",
"success": true
}
Get Requests List
List requests
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 13,
"type": "join",
"user": {
"id": 8,
"name": "Circle Joiner",
"email": "circle.joiner@demo.com",
"avatar": null
},
"status": "pending",
"user_id": 8,
"circle_id": 1,
"created_at": "2026-10-19T07:15:04.000000Z"
},
{
"id": 32,
"type": "swap",
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 5,
"from_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
},
{
"id": 33,
"type": "swap",
"status": "pending",
"details": {
"reason": "Swap no longer needed — declining this one.",
"to_turn": 4,
"from_turn": 2
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 2,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
},
{
"id": 34,
"type": "swap",
"status": "pending",
"details": {
"reason": "Changed my mind — removing this one.",
"to_turn": 6,
"from_turn": 4
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 6,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
},
{
"id": 35,
"type": "extra_turn",
"status": "pending",
"details": {
"message": "Wedding expenses — requesting an additional payout turn.",
"to_turns": [
2
],
"current_turn": 1
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"current_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"target_turns_details": [
{
"status": "upcoming",
"turn_id": 2,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
}
]
},
{
"id": 36,
"type": "create_group",
"status": "pending",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 2
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"target_turn_details": {
"turn_number": 2
}
},
{
"id": 37,
"type": "create_group",
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
"target_turn_details": {
"turn_number": 3
}
}
],
"message": "Requests retrieved successfully.",
"success": true,
"pagination": {
"total": 7,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Requests (Type: Swap Seat)
Filter requests by type
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| type | string | swap |
{
"data": [
{
"id": 32,
"type": "swap",
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 5,
"from_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
},
{
"id": 33,
"type": "swap",
"status": "pending",
"details": {
"reason": "Swap no longer needed — declining this one.",
"to_turn": 4,
"from_turn": 2
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 2,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
},
{
"id": 34,
"type": "swap",
"status": "pending",
"details": {
"reason": "Changed my mind — removing this one.",
"to_turn": 6,
"from_turn": 4
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 6,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
}
],
"message": "Requests retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Requests (Type: Extra Turn)
Filter requests by type
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| type | string | extra_turn |
{
"data": [
{
"id": 35,
"type": "extra_turn",
"status": "pending",
"details": {
"message": "Wedding expenses — requesting an additional payout turn.",
"to_turns": [
2
],
"current_turn": 1
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"current_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"target_turns_details": [
{
"status": "upcoming",
"turn_id": 2,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
}
]
}
],
"message": "Requests retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Requests (Type: Create Group)
Filter requests by type
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| type | string | create_group |
{
"data": [
{
"id": 36,
"type": "create_group",
"status": "pending",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 2
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"target_turn_details": {
"turn_number": 2
}
},
{
"id": 37,
"type": "create_group",
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
"target_turn_details": {
"turn_number": 3
}
}
],
"message": "Requests retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Create Request (Swap)
Create swap request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| type | string | swap |
| details | array | {"reason":"Travel commitments \u2014 need a later payout month.","to_turn":3,"from_turn":1} |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| type | bail, required, allowed: join, swap, extra_turn, create_group |
| details | bail, required, array |
| details.reason | optional, string, max 1000 |
| details.from_turn | required if type = swap, integer, Exists |
| details.to_turn | required if type = swap, integer, Exists |
| details.message | optional, string, max 1000 |
| details.current_turn | required if type = extra_turn, integer, Exists |
| details.to_turns | required if type = extra_turn, array, min 1 |
| details.to_turns[] | required, integer, Exists |
| details.group_name | required if type = create_group, string, max 255 |
| details.target_turn | bail, required if type = create_group, integer, Exists |
| details.add_members | optional, array |
| details.add_members[] | required, bail, integer, Exists |
{
"data": {
"id": 38,
"type": "swap",
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 3,
"from_turn": 1
},
"user_id": 5,
"circle_id": 1,
"created_at": "2026-10-19T07:17:45.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
},
"message": "Swap request created successfully.",
"success": true
}
Create Request (Extra Turn)
Create extra turn request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| type | string | extra_turn |
| details | array | {"message":"Wedding expenses \u2014 requesting an additional payout turn.","to_turns":[5],"current_turn":1} |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| type | bail, required, allowed: join, swap, extra_turn, create_group |
| details | bail, required, array |
| details.reason | optional, string, max 1000 |
| details.from_turn | required if type = swap, integer, Exists |
| details.to_turn | required if type = swap, integer, Exists |
| details.message | optional, string, max 1000 |
| details.current_turn | required if type = extra_turn, integer, Exists |
| details.to_turns | required if type = extra_turn, array, min 1 |
| details.to_turns[] | required, integer, Exists |
| details.group_name | required if type = create_group, string, max 255 |
| details.target_turn | bail, required if type = create_group, integer, Exists |
| details.add_members | optional, array |
| details.add_members[] | required, bail, integer, Exists |
{
"data": {
"id": 39,
"type": "extra_turn",
"status": "pending",
"details": {
"message": "Wedding expenses — requesting an additional payout turn.",
"to_turns": [
5
],
"current_turn": 1
},
"user_id": 5,
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
"current_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"target_turns_details": [
{
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
}
]
},
"message": "Extra Turn request created successfully.",
"success": true
}
Create Request (Create Group)
Create group request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| type | string | create_group |
| details | array | {"message":"Grouping close relatives into a private sub-circle.","group_name":"Family Circle","add_members":[1,2],"target_turn":6} |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| type | bail, required, allowed: join, swap, extra_turn, create_group |
| details | bail, required, array |
| details.reason | optional, string, max 1000 |
| details.from_turn | required if type = swap, integer, Exists |
| details.to_turn | required if type = swap, integer, Exists |
| details.message | optional, string, max 1000 |
| details.current_turn | required if type = extra_turn, integer, Exists |
| details.to_turns | required if type = extra_turn, array, min 1 |
| details.to_turns[] | required, integer, Exists |
| details.group_name | required if type = create_group, string, max 255 |
| details.target_turn | bail, required if type = create_group, integer, Exists |
| details.add_members | optional, array |
| details.add_members[] | required, bail, integer, Exists |
{
"data": {
"id": 41,
"type": "create_group",
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 6
},
"user_id": 5,
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"group_name": "Family Circle",
"resolved_at": "2026-10-19T07:17:46.000000Z",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
"target_turn_details": {
"turn_number": 6
}
},
"message": "Create Group request created successfully.",
"success": true
}
Get My Requests
My requests
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 39,
"type": "extra_turn",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "pending",
"details": {
"message": "Wedding expenses — requesting an additional payout turn.",
"to_turns": [
5
],
"current_turn": 1
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"current_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"target_turns_details": [
{
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
}
]
},
{
"id": 40,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1
],
"target_turn": 5
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
],
"target_turn_details": {
"turn_number": 5
}
},
{
"id": 41,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 6
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"target_turn_details": {
"turn_number": 6
}
},
{
"id": 38,
"type": "swap",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 3,
"from_turn": 1
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:45.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
}
},
{
"id": 34,
"type": "swap",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "pending",
"details": {
"reason": "Changed my mind — removing this one.",
"to_turn": 6,
"from_turn": 4
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 6,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
}
},
{
"id": 37,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00"
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 3
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"target_turn_details": {
"turn_number": 3
}
}
],
"message": "My requests retrieved successfully.",
"success": true,
"pagination": {
"total": 6,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get All My Requests
All my requests
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 39,
"type": "extra_turn",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "pending",
"details": {
"message": "Wedding expenses — requesting an additional payout turn.",
"to_turns": [
5
],
"current_turn": 1
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"current_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
"target_turns_details": [
{
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
}
]
},
{
"id": 40,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1
],
"target_turn": 5
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
],
"target_turn_details": {
"turn_number": 5
}
},
{
"id": 41,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 6
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:46.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"target_turn_details": {
"turn_number": 6
}
},
{
"id": 38,
"type": "swap",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 3,
"from_turn": 1
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:45.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "completed",
"turn_id": 1,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
}
},
{
"id": 34,
"type": "swap",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "pending",
"details": {
"reason": "Changed my mind — removing this one.",
"to_turn": 6,
"from_turn": 4
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 6,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
}
},
{
"id": 37,
"type": "create_group",
"circle": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"status": "active",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"start_date": "2026-10-18T00:00:00.000000Z",
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 7,
"total_amount": "12000.00",
"members_count": 4,
"monthly_amount": "1000.00",
"duration_months": 6
},
"status": "approved",
"details": {
"message": "Grouping close relatives into a private sub-circle.",
"group_name": "Family Circle",
"add_members": [
1,
2
],
"target_turn": 3
},
"circle_id": 1,
"created_at": "2026-10-19T07:17:43.000000Z",
"group_name": "Family Circle",
"group_members": [
{
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
},
{
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
],
"target_turn_details": {
"turn_number": 3
}
}
],
"message": "My requests retrieved successfully.",
"success": true,
"pagination": {
"total": 6,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Search Circles
Search circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 9,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
{
"id": 6,
"name": "Published Documentation Circle",
"notes": null,
"myRole": "admin",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 10,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "PUBOKOSB",
"taken_turns": 0,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
}
],
"message": "Search results retrieved successfully.",
"success": true
}
Search Circles (by code)
Search circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| query | string | DOC9SVTY |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| query | optional, string, max 100 |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 9,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
}
],
"message": "Search results retrieved successfully.",
"success": true
}
Search Circles (by name)
Search circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 9,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
{
"id": 6,
"name": "Published Documentation Circle",
"notes": null,
"myRole": "admin",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 10,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "PUBOKOSB",
"taken_turns": 0,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
}
],
"message": "Search results retrieved successfully.",
"success": true
}
Get Circle Announcements
List announcements
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 16,
"title": "New member joined the circle",
"created_at": "2026-10-19T07:19:06.000000Z",
"description": "Selim has joined the circle. Welcome aboard!"
},
{
"id": 15,
"title": "Cycle 1 payout scheduled",
"created_at": "2026-10-17T07:19:06.000000Z",
"description": "The first payout will be transferred on the 25th. Please submit your contribution before the 20th."
}
],
"message": "Announcements retrieved successfully.",
"success": true
}
Get Turn List
List turns
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"group": null,
"member": {
"id": 1,
"name": "Circle Owner",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"is_manager": true
},
"status": "completed",
"is_empty": false,
"is_group": false,
"is_my_turn": true,
"month_year": "2026-10-19T00:00:00.000000Z",
"turn_number": 1,
"payout_amount": "12000.00"
},
{
"id": 2,
"group": null,
"member": {
"id": 2,
"name": "Circle Member",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"is_manager": false
},
"status": "upcoming",
"is_empty": false,
"is_group": false,
"is_my_turn": false,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
},
{
"id": 3,
"group": null,
"member": {
"id": 4,
"name": "Circle Payer",
"avatar": null,
"is_manager": false
},
"status": "upcoming",
"is_empty": false,
"is_group": false,
"is_my_turn": false,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
{
"id": 4,
"group": null,
"member": {
"id": 3,
"name": "Mona Manager",
"avatar": null,
"is_manager": false
},
"status": "upcoming",
"is_empty": false,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
{
"id": 5,
"group": null,
"member": {
"id": 1,
"name": "Circle Owner",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"is_manager": true
},
"status": "upcoming",
"is_empty": false,
"is_group": false,
"is_my_turn": true,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
},
{
"id": 6,
"group": {
"name": null,
"status": "approved",
"members": [
{
"id": 1,
"name": "Circle Owner",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"is_leader": true
},
{
"id": 2,
"name": "Circle Member",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"is_leader": false
}
],
"circle_id": 1,
"created_at": null,
"description": null,
"requester_member_id": null
},
"member": null,
"status": "upcoming",
"is_empty": false,
"is_group": true,
"is_my_turn": true,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
{
"id": 7,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-04-19T00:00:00.000000Z",
"turn_number": 7,
"payout_amount": "12000.00"
},
{
"id": 21,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-05-19T00:00:00.000000Z",
"turn_number": 8,
"payout_amount": "12000.00"
},
{
"id": 22,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-06-19T00:00:00.000000Z",
"turn_number": 9,
"payout_amount": "12000.00"
}
]
}
Get Available Turns
Available turns
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 7,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-04-19T00:00:00.000000Z",
"turn_number": 7,
"payout_amount": "12000.00"
},
{
"id": 21,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-05-19T00:00:00.000000Z",
"turn_number": 8,
"payout_amount": "12000.00"
},
{
"id": 22,
"group": null,
"member": null,
"status": "upcoming",
"is_empty": true,
"is_group": false,
"is_my_turn": false,
"month_year": "2027-06-19T00:00:00.000000Z",
"turn_number": 9,
"payout_amount": "12000.00"
}
],
"message": "Available turns retrieved successfully.",
"success": true
}
Get Circle Details
Circle details
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 6,
"total_turns": 9,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
"message": "Data retrieved successfully.",
"success": true
}
Update Circle
Update circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
| collector_member_id | required if payout_method = central_pot, optional, integer, Exists |
{
"data": {
"id": 4,
"name": "Updated Documentation Circle",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 7,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "SRTHAJHV",
"taken_turns": 1,
"total_turns": 1,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
"message": "Data updated successfully.",
"success": true
}
Start Circle
Start circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 4,
"name": "Updated Documentation Circle",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 7,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "SRTHAJHV",
"taken_turns": 1,
"total_turns": 1,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
"message": "Circle started successfully.",
"success": true
}
Delete Circle
Delete circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Invite Member
Invite to circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| note | string | Please join my circle. |
| phone | string | 500000006 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| phone | required, string, exists users,phone |
| note | optional, string |
{
"data": {
"id": 3,
"note": "Please join my circle.",
"user": {
"id": 10,
"name": "Invite Target",
"email": "circle.invitetarget@demo.com",
"avatar": null,
"avatar_url": null
},
"circle": {
"id": 3,
"name": "Invite Circle",
"currency": "SAR",
"start_date": "2026-10-20T00:00:00.000000Z",
"circle_code": "INVVWANR",
"contributors": 0,
"total_amount": "6000.00",
"circle_duration": 6,
"monthly_payment": "1000.00"
},
"status": "pending",
"inviter": {
"id": 5,
"name": "Circle Owner",
"role": null,
"email": "circle.owner@demo.com",
"avatar": "media\/avatars\/circle-owner.jpg",
"avatar_url": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"circle_id": 3,
"is_active": true,
"expires_at": null,
"invited_at": "2026-10-19T07:27:22.000000Z",
"responded_at": null,
"invited_by_id": 5,
"invited_user_id": 10
},
"message": "Invitation sent successfully.",
"success": true
}
Accept Invitation
Accept invitation
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"note": null,
"email": null,
"phone": null,
"status": "accepted",
"circle_id": 1,
"is_active": true,
"created_at": "2026-10-19T07:14:22.000000Z",
"deleted_at": null,
"expires_at": null,
"invited_at": "2026-10-19T07:14:22.000000Z",
"updated_at": "2026-10-19T07:27:22.000000Z",
"responded_at": "2026-10-19T07:27:22.000000Z",
"invited_by_id": 5,
"invited_user_id": 6
},
"message": "Invitation accepted successfully.",
"success": true
}
Decline Invitation
Decline invitation
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Invitation declined successfully.",
"success": true
}
Get My Circle Profile
My circle profile
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"phone": "500000001",
"phone_code": "999",
"member_name": "Circle Owner",
"country_code": "TC",
"member_avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"payment_method": "cash",
"agreed_to_rules": true,
"agreed_to_privacy": true
},
"message": "Member details retrieved successfully.",
"success": true
}
Update Member Profile
Update profile
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| member_name | string | Updated Name |
| profile_settings | array | {"payment_method":"cash","agreed_to_rules":true,"agreed_to_privacy":true} |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| member_name | required, string, max 100 |
| member_avatar | optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload) |
| profile_settings | required, array |
| profile_settings.payment_method | required, allowed: visa, cash |
| profile_settings.agreed_to_rules | required, accepted |
| profile_settings.agreed_to_privacy | required, accepted |
{
"data": {
"phone": "500000001",
"phone_code": "999",
"member_name": "Updated Name",
"country_code": "TC",
"member_avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"payment_method": "cash",
"agreed_to_rules": true,
"agreed_to_privacy": true
},
"message": "Your profile in the circle has been updated successfully.",
"success": true
}
Freeze Member
Freeze member
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"turns": [
{
"id": 2,
"status": "frozen",
"month_year": "2026-11-19",
"turn_number": 2,
"payout_amount": "12000.00"
},
{
"id": 6,
"status": "frozen",
"month_year": "2027-03-19",
"turn_number": 6,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 11,
"is_admin": false,
"circle_id": 1,
"is_frozen": true,
"joined_at": "2026-10-19T07:14:19.000000Z",
"is_manager": false,
"member_name": "Circle Member",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000007",
"member_profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
},
"message": "Member frozen successfully.",
"success": true
}
Unfreeze Member
Unfreeze member
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"turns": [
{
"id": 2,
"status": "upcoming",
"month_year": "2026-11-19",
"turn_number": 2,
"payout_amount": "12000.00"
},
{
"id": 6,
"status": "upcoming",
"month_year": "2027-03-19",
"turn_number": 6,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 11,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:19.000000Z",
"is_manager": false,
"member_name": "Circle Member",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000007",
"member_profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg"
},
"message": "Member unfrozen successfully.",
"success": true
}
Kick Member
Kick member
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Member kicked successfully.",
"success": true
}
Change Member Role
Change role
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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: manager |
{
"data": {
"id": 4,
"turns": [
{
"id": 3,
"status": "upcoming",
"month_year": "2026-12-19",
"turn_number": 3,
"payout_amount": "12000.00"
}
],
"monthly": 1000,
"user_id": 12,
"is_admin": false,
"circle_id": 1,
"is_frozen": false,
"joined_at": "2026-10-19T07:14:21.000000Z",
"is_manager": true,
"member_name": "Circle Payer",
"is_collector": false,
"next_payment": "2026-10-01",
"payment_method": null,
"agreed_to_rules": false,
"assigned_to_turn": true,
"agreed_to_privacy": false,
"member_phone_number": "999500000008",
"member_profile_image": null
},
"message": "Member role updated successfully.",
"success": true
}
Pay Contribution
Submit payment
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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) |
{
"data": {
"id": 3,
"amount": "1000.00",
"status": "pending",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-10-19T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Payer",
"description": "Contribution for this cycle",
"confirmed_by": null,
"payer_member_id": 4,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
"message": "Payment submitted successfully. Awaiting confirmation.",
"success": true
}
Pay Group Share
Pay group share
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| amount | integer | 500 |
| group_id | integer | 83 |
| description | string | Sub-payment for this cycle |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| details | optional, array |
| group_id | required, integer, Closure |
| amount | required, number, GroupMemberShareAmount |
| description | optional, string, max 500 |
| proof_image_url | optional, image, file types: jpeg,png,jpg,gif, max 2048 KB (upload) |
{
"data": {
"id": 4,
"amount": "500.00",
"status": "pending",
"details": {
"group_id": 83,
"group_request_id": 83
},
"paid_at": null,
"turn_id": 1,
"due_date": "2026-10-19T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Sub-payment for this cycle",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": true,
"late_fee_applied": "0.00"
},
"message": "Payment has been submitted to group successfully.",
"success": true
}
Confirm Payment
Confirm payment
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"amount": "1000.00",
"status": "paid",
"details": null,
"paid_at": "2026-10-19T07:28:44.000000Z",
"turn_id": 1,
"due_date": "2026-10-26T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Monthly contribution for cycle 1.",
"confirmed_by": 5,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
"message": "Payment confirmed successfully.",
"success": true
}
Reject Payment
Reject payment
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"amount": "1000.00",
"status": "rejected",
"details": null,
"paid_at": null,
"turn_id": 1,
"due_date": "2026-11-02T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Contribution flagged for review.",
"confirmed_by": null,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
"message": "Payment rejected.",
"success": true
}
Get Payment Details
Get payment details
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"amount": "1000.00",
"status": "paid",
"details": null,
"paid_at": "2026-10-19T07:28:44.000000Z",
"turn_id": 1,
"due_date": "2026-10-26T00:00:00.000000Z",
"circle_id": 1,
"payer_name": "Circle Member",
"description": "Monthly contribution for cycle 1.",
"confirmed_by": 5,
"payer_member_id": 2,
"proof_image_url": null,
"is_group_payment": false,
"late_fee_applied": "0.00"
},
"message": "Payment details retrieved successfully.",
"success": true
}
Get Request Details
Get request details
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 84,
"type": "swap",
"status": "pending",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 5,
"from_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:29:23.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
}
},
"message": "Request retrieved successfully.",
"success": true
}
Approve Request
Approve request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| message | string | Approved. |
{
"data": {
"id": 84,
"type": "swap",
"status": "approved",
"details": {
"reason": "Travel commitments — need a later payout month.",
"to_turn": 5,
"from_turn": 3
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:29:23.000000Z",
"resolved_at": "2026-10-19T07:29:24.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 5,
"month_year": "2027-02-19T00:00:00.000000Z",
"turn_number": 5,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 3,
"month_year": "2026-12-19T00:00:00.000000Z",
"turn_number": 3,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"admin_response_message": "Approved."
},
"message": "Request approved successfully.",
"success": true
}
Decline Request
Decline request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| message | string | Declined. |
{
"data": {
"id": 85,
"type": "swap",
"status": "declined",
"details": {
"reason": "Swap no longer needed — declining this one.",
"to_turn": 4,
"from_turn": 2
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:29:23.000000Z",
"resolved_at": "2026-10-19T07:29:25.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 2,
"month_year": "2026-11-19T00:00:00.000000Z",
"turn_number": 2,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Member",
"email": "circle.member@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/member-selim.jpg",
"user_id": 11,
"member_id": 2
},
"admin_response_message": "Declined."
},
"message": "Request declined successfully.",
"success": true
}
Cancel Request
Cancel request
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 86,
"type": "swap",
"status": "cancelled",
"details": {
"reason": "Changed my mind — removing this one.",
"to_turn": 6,
"from_turn": 4
},
"user_id": null,
"circle_id": 1,
"created_at": "2026-10-19T07:29:23.000000Z",
"resolved_at": "2026-10-19T07:29:25.000000Z",
"to_turn_details": {
"status": "upcoming",
"turn_id": 6,
"month_year": "2027-03-19T00:00:00.000000Z",
"turn_number": 6,
"payout_amount": "12000.00"
},
"from_turn_details": {
"status": "upcoming",
"turn_id": 4,
"month_year": "2027-01-19T00:00:00.000000Z",
"turn_number": 4,
"payout_amount": "12000.00"
},
"requester_details": {
"name": "Circle Owner",
"email": "circle.owner@demo.com",
"avatar": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg",
"user_id": 5,
"member_id": 1
}
},
"message": "Request cancelled successfully.",
"success": true
}
Assign Turn
Assign turns
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| assignments | array | [{"turn_ids":[21],"member_ids":[2]}] |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| assignments | required, array, min 1 |
| assignments[].member_ids | required, array, min 1 |
| assignments[].member_ids.* | required, integer, exists circle_members,id |
| assignments[].turn_ids | optional, array |
| assignments[].turn_ids.* | required, integer, exists turns,id |
| assignments[].turns_to_remove | optional, array |
| assignments[].turns_to_remove.* | required, integer, exists turns,id |
{
"data": [],
"message": "Turns assigned successfully.",
"success": true
}
Assign Turn With Removal
Assign turn with removal
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| assignments | array | [{"turn_ids":[22],"member_ids":[2],"turns_to_remove":[]}] |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| assignments | required, array, min 1 |
| assignments[].member_ids | required, array, min 1 |
| assignments[].member_ids.* | required, integer, exists circle_members,id |
| assignments[].turn_ids | optional, array |
| assignments[].turn_ids.* | required, integer, exists turns,id |
| assignments[].turns_to_remove | optional, array |
| assignments[].turns_to_remove.* | required, integer, exists turns,id |
{
"data": [],
"message": "Turns assigned successfully.",
"success": true
}
Reorder Turns
Reorder turns
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| turns | array | [9,10,11,12,13,14] |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| turns | required, array, min 1 |
| turns[] | required, integer |
{
"data": [],
"message": "Turns reordered successfully.",
"success": true
}
Get Deleted Circles
Trashed circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2500.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 9500,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 9,
"total_turns": 12,
"contributors": 5,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
{
"id": 2,
"name": "Disposable Circle hn9g",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 5,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPXOHDC",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 3,
"name": "Invite Circle",
"notes": null,
"myRole": "member",
"status": "active",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"id": 5,
"name": "Circle Owner"
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "INVVWANR",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 4,
"name": "Updated Documentation Circle",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 7,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "SRTHAJHV",
"taken_turns": 1,
"total_turns": 1,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 5,
"name": "Kick Member Circle Demo",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 8,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "KCK4OANO",
"taken_turns": 0,
"total_turns": 0,
"contributors": 2,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 6,
"name": "Published Documentation Circle",
"notes": null,
"myRole": "admin",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 10,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "PUBOKOSB",
"taken_turns": 0,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 7,
"name": "Monthly Savings",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-21T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 11,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-21T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "n0EQcvenQM",
"taken_turns": 1,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "2000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
15,
20
],
"receive_duration": [
10,
25
],
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 8,
"name": "Disposable Circle tQTU",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 12,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPACY6X",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 9,
"name": "Disposable Circle C7R1",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 13,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPQNXWP",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 10,
"name": "Disposable Circle QETb",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 15,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSP98F7M",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
}
],
"message": "Trashed data retrieved successfully.",
"success": true,
"pagination": {
"total": 23,
"per_page": 10,
"last_page": 3,
"current_page": 1
}
}
Restore Circle
Restore circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 23,
"name": "Disposable Circle fYbn",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 31,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPXPBAL",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
"message": "Data restored successfully.",
"success": true
}
Permanently Delete Circle
Force delete circle
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data permanently deleted successfully.",
"success": true
}
My Circles
Get My Circles
My circles
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Documentation Circle",
"notes": "Family savings circle: 6 members contribute 1,000 monthly and take turns receiving the pooled amount.",
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-18T00:00:00.000000Z",
"collected": "2000.00",
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 1,
"is_manager": true
},
"remaining": 10000,
"creator_id": 5,
"start_date": "2026-10-18T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DOC9SVTY",
"taken_turns": 4,
"total_turns": 7,
"contributors": 4,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": "Oct, 2026",
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
1,
10,
20
],
"receive_duration": [
25
],
"thisMonthReceiver": {
"name": "Circle Owner",
"member_id": 1,
"profile_image": "http:\/\/qeei_backend_admin.test\/storage\/media\/avatars\/circle-owner.jpg"
},
"commission_percent": "0.00",
"collector_member_id": 1
},
{
"id": 2,
"name": "Disposable Circle hn9g",
"notes": null,
"myRole": "manager",
"status": "active",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 5,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "DSPXOHDC",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 3,
"name": "Invite Circle",
"notes": null,
"myRole": "member",
"status": "active",
"privacy": "private",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"id": 5,
"name": "Circle Owner"
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "INVVWANR",
"taken_turns": 0,
"total_turns": 0,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": "Oct, 2026",
"payout_method": "p2p_direct",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 4,
"name": "Start Circle Demo",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 7,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "SRTHAJHV",
"taken_turns": 1,
"total_turns": 1,
"contributors": 1,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 5,
"name": "Kick Member Circle Demo",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 8,
"is_manager": true
},
"remaining": 6000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "KCK4OANO",
"taken_turns": 0,
"total_turns": 0,
"contributors": 2,
"names_hidden": false,
"total_amount": "6000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 6,
"name": "Published Documentation Circle",
"notes": null,
"myRole": "admin",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-19T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 10,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-20T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "PUBOKOSB",
"taken_turns": 0,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "1000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": null,
"receive_duration": null,
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
},
{
"id": 7,
"name": "Monthly Savings",
"notes": null,
"myRole": "manager",
"status": "published",
"privacy": "public",
"currency": "SAR",
"end_date": "2027-04-21T00:00:00.000000Z",
"collected": 0,
"createdBy": {
"id": 5,
"name": "Circle Owner"
},
"managedBy": {
"name": "Circle Owner",
"user_id": 5,
"member_id": 11,
"is_manager": true
},
"remaining": 12000,
"creator_id": 5,
"start_date": "2026-10-21T00:00:00.000000Z",
"allow_swaps": true,
"circle_code": "n0EQcvenQM",
"taken_turns": 1,
"total_turns": 6,
"contributors": 1,
"names_hidden": false,
"total_amount": "12000.00",
"current_cycle": null,
"payout_method": "central_pot",
"collector_type": "creator",
"monthly_amount": "2000.00",
"duration_months": 6,
"late_fee_per_day": "0.00",
"payment_duration": [
15,
20
],
"receive_duration": [
10,
25
],
"thisMonthReceiver": null,
"commission_percent": "0.00",
"collector_member_id": null
}
],
"message": "My circles retrieved successfully.",
"success": true,
"pagination": {
"total": 7,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Valuers
List Valuers
Browse the valuer catalogue.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 7,
"img": "http:\/\/qeei_backend_admin.test\/storage\/valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"cover": null,
"rating": 4.8,
"city_id": 4,
"category": [],
"location": {
"city": "Test City",
"country": "Documentation country"
},
"country_id": 2,
"company_name": "Al Nada Valuation",
"business_type": "corporate",
"reviews_count": 342,
"individual_name": null
},
{
"id": 6,
"img": null,
"name": "Documentation Workspace Valuation House",
"cover": null,
"rating": 4.5,
"city_id": 4,
"category": [],
"location": {
"city": "Test City",
"country": "Documentation country"
},
"country_id": 2,
"company_name": "Documentation Workspace Valuation",
"business_type": "corporate",
"reviews_count": 120,
"individual_name": null
},
{
"id": 4,
"img": "http:\/\/qeei_backend_admin.test\/storage\/https:\/\/example.com\/xtenant-logo.png",
"name": "X-Tenant Doc Co",
"cover": null,
"rating": 0,
"city_id": 1,
"category": [],
"location": {
"city": "Test Country",
"country": "Test Country"
},
"country_id": 1,
"company_name": "Review Co (Updated)",
"business_type": "corporate",
"reviews_count": 0,
"individual_name": null
},
{
"id": 3,
"img": null,
"name": "Portal Co",
"cover": null,
"rating": 0,
"city_id": 1,
"category": [],
"location": {
"city": "Test Country",
"country": "Test Country"
},
"country_id": 1,
"company_name": "Portal Co",
"business_type": "corporate",
"reviews_count": 0,
"individual_name": null
},
{
"id": 2,
"img": "http:\/\/qeei_backend_admin.test\/storage\/valuers\/profile-co.png",
"name": "Profile Co",
"cover": "valuers\/profile-co-cover.png",
"rating": 4.7,
"city_id": 4,
"category": [
{
"id": 4,
"icon": "real_estate",
"name": "Real Estate Appraisal",
"status": true,
"valuers": 0,
"translate": {
"name": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
},
"description": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Real Estate Appraisal"
},
{
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
}
],
"location": {
"city": "Test City",
"country": "Documentation country"
},
"country_id": 2,
"company_name": "Profile Co",
"business_type": "corporate",
"reviews_count": 215,
"individual_name": null
},
{
"id": 1,
"img": null,
"name": "Approve Co",
"cover": null,
"rating": 0,
"city_id": 1,
"category": [],
"location": {
"city": "Test Country",
"country": "Test Country"
},
"country_id": 1,
"company_name": "Approve Co",
"business_type": "corporate",
"reviews_count": 0,
"individual_name": null
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 6,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
List Valuers Filtered By Category
Browse the valuers of one category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| category_id | integer | 4 |
{
"data": [
{
"id": 2,
"img": "http:\/\/qeei_backend_admin.test\/storage\/valuers\/profile-co.png",
"name": "Profile Co",
"cover": "valuers\/profile-co-cover.png",
"rating": 4.7,
"city_id": 4,
"category": [
{
"id": 4,
"icon": "real_estate",
"name": "Real Estate Appraisal",
"status": true,
"valuers": 0,
"translate": {
"name": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
},
"description": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Real Estate Appraisal"
},
{
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
}
],
"location": {
"city": "Test City",
"country": "Documentation country"
},
"country_id": 2,
"company_name": "Profile Co",
"business_type": "corporate",
"reviews_count": 215,
"individual_name": null
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Valuer Public Profile
Open a valuer public profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"logo": "valuers\/profile-co.png",
"name": "Profile Co",
"about": "About Profile Co<\/h2>
Profile Co has been helping families and businesses in the region understand their property value since 2012.<\/p>
- Licensed by the Real Estate Authority<\/li>
- More than 2,000 completed reports<\/li>
- Arabic and English reports<\/li><\/ul>",
"cover": "valuers\/profile-co-cover.png",
"rating": 4.7,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"services": [
{
"id": 1,
"form": {
"id": 1,
"name": "Profile Valuation Form",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
},
"description": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 5,
"description": "Profile Valuation Form"
},
"name": "Documentation Profile Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/documentation-profile-valuation.png",
"rating": 4.5,
"form_id": 1,
"benefits": [],
"category": {
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"duration": 48,
"features": [
"Licensed valuers",
"Report within 48 hours"
],
"overview": "A certified property value from Profile Co, delivered in both languages.",
"is_active": true,
"price_end": 1200,
"translate": {
"name": {
"ar": "توثيق تقييم الملف الشخصي",
"en": "Documentation Profile Valuation"
},
"overview": {
"ar": "قيمة عقارية معتمدة من Profile Co، تُسلّم باللغتين.",
"en": "A certified property value from Profile Co, delivered in both languages."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 2,
"created_at": "2026-10-19",
"category_id": 5,
"description": null,
"price_start": 400,
"reviews_count": 96
}
],
"company_name": "Profile Co",
"reviews_count": 215,
"individual_name": null
},
"message": "Data retrieved successfully.",
"success": true
}
Get Valuer Public Profile Services Filtered By Category
Open a valuer profile filtered by category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| category_id | integer | 5 |
{
"data": {
"id": 2,
"logo": "valuers\/profile-co.png",
"name": "Profile Co",
"about": "About Profile Co<\/h2>
Profile Co has been helping families and businesses in the region understand their property value since 2012.<\/p>
- Licensed by the Real Estate Authority<\/li>
- More than 2,000 completed reports<\/li>
- Arabic and English reports<\/li><\/ul>",
"cover": "valuers\/profile-co-cover.png",
"rating": 4.7,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"services": [
{
"id": 1,
"form": {
"id": 1,
"name": "Profile Valuation Form",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
},
"description": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 5,
"description": "Profile Valuation Form"
},
"name": "Documentation Profile Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/documentation-profile-valuation.png",
"rating": 4.5,
"form_id": 1,
"benefits": [],
"category": {
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"duration": 48,
"features": [
"Licensed valuers",
"Report within 48 hours"
],
"overview": "A certified property value from Profile Co, delivered in both languages.",
"is_active": true,
"price_end": 1200,
"translate": {
"name": {
"ar": "توثيق تقييم الملف الشخصي",
"en": "Documentation Profile Valuation"
},
"overview": {
"ar": "قيمة عقارية معتمدة من Profile Co، تُسلّم باللغتين.",
"en": "A certified property value from Profile Co, delivered in both languages."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 2,
"created_at": "2026-10-19",
"category_id": 5,
"description": null,
"price_start": 400,
"reviews_count": 96
}
],
"company_name": "Profile Co",
"reviews_count": 215,
"individual_name": null
},
"message": "Data retrieved successfully.",
"success": true
}
Valuation Services
Get Valuation Services List
Browse the valuation services catalogue.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| category_id | optional, integer, exists categories,id |
| valuer_id | optional, integer, exists valuers,id |
| per_page | optional, integer, min 1, max 100 |
| page | optional, integer, min 1 |
{
"data": [
{
"id": 7,
"form": {
"id": 11,
"name": "Documentation Vehicle Form B",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Vehicle Form B",
"en": "Documentation Vehicle Form B"
},
"description": {
"ar": "Documentation Vehicle Form B",
"en": "Documentation Vehicle Form B"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 7,
"description": "Documentation Vehicle Form B"
},
"name": "Documentation Vehicle Valuation Plus",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-vehicle-valuation-plus.png",
"rating": 4.1,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 11,
"benefits": [],
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"duration": 48,
"features": [
"Physical site visit"
],
"overview": "Vehicle inspection with a physical site visit.",
"is_active": true,
"price_end": 900,
"translate": {
"name": {
"ar": "توثيق تقييم مركبة بلس",
"en": "Documentation Vehicle Valuation Plus"
},
"overview": {
"ar": "فحص مركبة مع زيارة ميدانية.",
"en": "Vehicle inspection with a physical site visit."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 7,
"description": null,
"price_start": 400,
"reviews_count": 21
},
{
"id": 6,
"form": {
"id": 10,
"name": "Documentation Vehicle Form A",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
},
"description": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 7,
"description": "Documentation Vehicle Form A"
},
"name": "Documentation Vehicle Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-vehicle-valuation.png",
"rating": 4.3,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 10,
"benefits": [
{
"id": 32,
"icon": "shield",
"name": "Accredited report",
"service_id": 6,
"sort_order": 0
}
],
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"duration": 24,
"features": [
"Same day report"
],
"overview": "Accredited resale value for cars and light commercial vehicles.",
"is_active": true,
"price_end": 600,
"translate": {
"name": {
"ar": "توثيق تقييم مركبة",
"en": "Documentation Vehicle Valuation"
},
"overview": {
"ar": "قيمة إعادة بيع معتمدة للسيارات والمركبات الخفيفة.",
"en": "Accredited resale value for cars and light commercial vehicles."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 7,
"description": null,
"price_start": 250,
"reviews_count": 64
},
{
"id": 5,
"form": {
"id": 9,
"name": "Documentation Property Form",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Property Form",
"en": "Documentation Property Form"
},
"description": {
"ar": "Documentation Property Form",
"en": "Documentation Property Form"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 6,
"description": "Documentation Property Form"
},
"name": "Documentation Property Valuation",
"tags": [
{
"id": 4,
"color": "#0000FF",
"status": true,
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"tag_name": "Fast turnaround",
"translate": {
"tag_name": {
"ar": "تسليم سريع",
"en": "Fast turnaround"
}
},
"created_at": "2026-10-19"
}
],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-property-valuation.png",
"rating": 4.6,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 9,
"benefits": [
{
"id": 30,
"icon": "shield",
"name": "Accredited report",
"service_id": 5,
"sort_order": 0
},
{
"id": 31,
"icon": "headset",
"name": "Expert support",
"service_id": 5,
"sort_order": 1
}
],
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"duration": 72,
"features": [
"Licensed valuers",
"Report within 48 hours"
],
"overview": "A certified market value for your residential property, delivered by a licensed valuer.",
"is_active": true,
"price_end": 1500,
"translate": {
"name": {
"ar": "توثيق تقييم عقاري",
"en": "Documentation Property Valuation"
},
"overview": {
"ar": "قيمة سوقية معتمدة لعقارك السكني، يقدمها خبير تقييم مرخص.",
"en": "A certified market value for your residential property, delivered by a licensed valuer."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 6,
"description": null,
"price_start": 500,
"reviews_count": 128
},
{
"id": 1,
"form": {
"id": 1,
"name": "Profile Valuation Form",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
},
"description": {
"ar": "نموذج تقييم الملف الشخصي",
"en": "Profile Valuation Form"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 5,
"description": "Profile Valuation Form"
},
"name": "Documentation Profile Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/documentation-profile-valuation.png",
"rating": 4.5,
"valuer": {
"id": 2,
"logo": "valuers\/profile-co.png",
"name": "Profile Co",
"rating": 4.7,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Profile Co",
"reviews_count": 215,
"individual_name": null
},
"form_id": 1,
"benefits": [],
"category": {
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"duration": 48,
"features": [
"Licensed valuers",
"Report within 48 hours"
],
"overview": "A certified property value from Profile Co, delivered in both languages.",
"is_active": true,
"price_end": 1200,
"translate": {
"name": {
"ar": "توثيق تقييم الملف الشخصي",
"en": "Documentation Profile Valuation"
},
"overview": {
"ar": "قيمة عقارية معتمدة من Profile Co، تُسلّم باللغتين.",
"en": "A certified property value from Profile Co, delivered in both languages."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 2,
"created_at": "2026-10-19",
"category_id": 5,
"description": null,
"price_start": 400,
"reviews_count": 96
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 4,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
List and filter valuation services
Filter the services list by category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| valuer_id | integer | 7 |
| category_id | integer | 7 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| category_id | optional, integer, exists categories,id |
| valuer_id | optional, integer, exists valuers,id |
| per_page | optional, integer, min 1, max 100 |
| page | optional, integer, min 1 |
{
"data": [
{
"id": 7,
"form": {
"id": 11,
"name": "Documentation Vehicle Form B",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Vehicle Form B",
"en": "Documentation Vehicle Form B"
},
"description": {
"ar": "Documentation Vehicle Form B",
"en": "Documentation Vehicle Form B"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 7,
"description": "Documentation Vehicle Form B"
},
"name": "Documentation Vehicle Valuation Plus",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-vehicle-valuation-plus.png",
"rating": 4.1,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 11,
"benefits": [],
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"duration": 48,
"features": [
"Physical site visit"
],
"overview": "Vehicle inspection with a physical site visit.",
"is_active": true,
"price_end": 900,
"translate": {
"name": {
"ar": "توثيق تقييم مركبة بلس",
"en": "Documentation Vehicle Valuation Plus"
},
"overview": {
"ar": "فحص مركبة مع زيارة ميدانية.",
"en": "Vehicle inspection with a physical site visit."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 7,
"description": null,
"price_start": 400,
"reviews_count": 21
},
{
"id": 6,
"form": {
"id": 10,
"name": "Documentation Vehicle Form A",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
},
"description": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 7,
"description": "Documentation Vehicle Form A"
},
"name": "Documentation Vehicle Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-vehicle-valuation.png",
"rating": 4.3,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 10,
"benefits": [
{
"id": 32,
"icon": "shield",
"name": "Accredited report",
"service_id": 6,
"sort_order": 0
}
],
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"duration": 24,
"features": [
"Same day report"
],
"overview": "Accredited resale value for cars and light commercial vehicles.",
"is_active": true,
"price_end": 600,
"translate": {
"name": {
"ar": "توثيق تقييم مركبة",
"en": "Documentation Vehicle Valuation"
},
"overview": {
"ar": "قيمة إعادة بيع معتمدة للسيارات والمركبات الخفيفة.",
"en": "Accredited resale value for cars and light commercial vehicles."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 7,
"description": null,
"price_start": 250,
"reviews_count": 64
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Paginate Valuation Services
Page through the services list.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| page | integer | 2 |
| per_page | integer | 1 |
| category_id | integer | 7 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| category_id | optional, integer, exists categories,id |
| valuer_id | optional, integer, exists valuers,id |
| per_page | optional, integer, min 1, max 100 |
| page | optional, integer, min 1 |
{
"data": [
{
"id": 6,
"form": {
"id": 10,
"name": "Documentation Vehicle Form A",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
},
"description": {
"ar": "Documentation Vehicle Form A",
"en": "Documentation Vehicle Form A"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 7,
"description": "Documentation Vehicle Form A"
},
"name": "Documentation Vehicle Valuation",
"tags": [],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-vehicle-valuation.png",
"rating": 4.3,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 10,
"benefits": [
{
"id": 32,
"icon": "shield",
"name": "Accredited report",
"service_id": 6,
"sort_order": 0
}
],
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"duration": 24,
"features": [
"Same day report"
],
"overview": "Accredited resale value for cars and light commercial vehicles.",
"is_active": true,
"price_end": 600,
"translate": {
"name": {
"ar": "توثيق تقييم مركبة",
"en": "Documentation Vehicle Valuation"
},
"overview": {
"ar": "قيمة إعادة بيع معتمدة للسيارات والمركبات الخفيفة.",
"en": "Accredited resale value for cars and light commercial vehicles."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 7,
"description": null,
"price_start": 250,
"reviews_count": 64
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 1,
"last_page": 2,
"current_page": 2
}
}
Get Valuation Services Empty Result
Handle an empty services list.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| category_id | integer | 9 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Valuer Service Details
View the details of a valuation service and its form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"form": {
"id": 9,
"name": "Documentation Property Form",
"steps": [
{
"id": 5,
"title": "Property Details",
"form_id": 9,
"questions": [
{
"id": 4,
"tag": {
"id": 4,
"color": "#0000FF",
"status": true,
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "[MaxDepthReached]",
"en": "[MaxDepthReached]"
},
"description": {
"ar": "[MaxDepthReached]",
"en": "[MaxDepthReached]"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"tag_name": "Fast turnaround",
"translate": {
"tag_name": {
"ar": "تسليم سريع",
"en": "Fast turnaround"
}
},
"created_at": "2026-10-19"
},
"label": "Property type",
"tag_id": 4,
"options": [
{
"id": 3,
"is_default": true,
"sort_order": 1,
"question_id": 4,
"option_label": "Villa",
"option_value": "villa",
"price_adjustment_type": "fixed",
"price_adjustment_value": 0
},
{
"id": 4,
"is_default": false,
"sort_order": 2,
"question_id": 4,
"option_label": "Apartment",
"option_value": "apartment",
"price_adjustment_type": "percentage",
"price_adjustment_value": 5
}
],
"step_id": 5,
"field_type": "radio",
"sort_order": 1,
"description": "Choose the kind of property being valued.",
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 5,
"tag": null,
"label": "Built area",
"tag_id": null,
"options": [],
"step_id": 5,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": "m2",
"pricing_type": "per_unit",
"pricing_unit": "m2",
"pricing_value": 5
}
],
"step_number": 1
},
{
"id": 6,
"title": "Documents",
"form_id": 9,
"questions": [
{
"id": 6,
"tag": null,
"label": "Attach documents",
"tag_id": null,
"options": [],
"step_id": 6,
"field_type": "file",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 2
}
],
"status": "published",
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"translate": {
"name": {
"ar": "Documentation Property Form",
"en": "Documentation Property Form"
},
"description": {
"ar": "Documentation Property Form",
"en": "Documentation Property Form"
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": 6,
"description": "Documentation Property Form",
"steps_count": 2,
"questions_count": 3
},
"name": "Documentation Property Valuation",
"tags": [
{
"id": 4,
"color": "#0000FF",
"status": true,
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"tag_name": "Fast turnaround",
"translate": {
"tag_name": {
"ar": "تسليم سريع",
"en": "Fast turnaround"
}
},
"created_at": "2026-10-19"
}
],
"image": "http:\/\/qeei_backend_admin.test\/storage\/services\/images\/documentation-property-valuation.png",
"rating": 4.6,
"valuer": {
"id": 7,
"logo": "valuers\/al-nada-valuation.png",
"name": "Nada Valuation House",
"rating": 4.8,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"company_name": "Al Nada Valuation",
"reviews_count": 342,
"individual_name": null
},
"form_id": 9,
"benefits": [
{
"id": 33,
"icon": "shield",
"name": "Accredited report",
"service_id": 5,
"sort_order": 0
},
{
"id": 34,
"icon": "headset",
"name": "Expert support",
"service_id": 5,
"sort_order": 1
}
],
"category": {
"id": 6,
"icon": "mobile-property-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
},
"currency": "SAR",
"duration": 72,
"features": [
"Licensed valuers",
"Report within 48 hours"
],
"overview": "A certified market value for your residential property, delivered by a licensed valuer.",
"is_active": true,
"price_end": 1500,
"translate": {
"name": {
"ar": "توثيق تقييم عقاري",
"en": "Documentation Property Valuation"
},
"overview": {
"ar": "قيمة سوقية معتمدة لعقارك السكني، يقدمها خبير تقييم مرخص.",
"en": "A certified market value for your residential property, delivered by a licensed valuer."
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 7,
"created_at": "2026-10-19",
"category_id": 6,
"description": null,
"price_start": 500,
"reviews_count": 128
},
"message": "Data retrieved successfully.",
"success": true
}
Users
User Register
Registers a new mobile user and triggers an OTP verification.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | New User |
| string | user@example.com | |
| phone | string | 01011112222 |
| password | string | P@ssw0rd123 |
| country_code | string | 20 |
| 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 |
| optional, valid email, unique users,email | |
| password | required, must match its *_confirmation field, StrongPassword |
{
"data": {
"otp": 1234
},
"message": "Registration OTP sent.",
"success": true
}
User Login
Initializes login for a mobile user by verifying credentials.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| phone | string | 01011112222 |
| password | string | P@ssw0rd123 |
| country_code | string | 20 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| country_code | required, string, Closure |
| phone | required, regex, max 20, exists users,phone, Closure |
| password | required, string |
{
"data": {
"id": 3,
"name": "New User",
"email": "user@example.com",
"phone": "01011112222",
"token": "10|vr2HcutEhjjjZgbhvOit8y348y2L8YtWELWB9Xwp82ff2c57",
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "20",
"main_address": null,
"last_login_at": "2026-10-19 07:10:44"
},
"message": "welcome New User",
"success": true
}
User Verify OTP
Completes the registration or login flow for mobile users by verifying the OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| phone | string | 01011112222 |
| country_code | string | 20 |
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 |
{
"data": {
"id": 3,
"name": "New User",
"email": "user@example.com",
"phone": "01011112222",
"token": "9|XlOD47QGXA0q0qEvv7CrrI7YkRGe5kh7n8vTJZE4cd0b4929",
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "20",
"main_address": null,
"last_login_at": null
},
"message": "Account verified and created successfully.",
"success": true
}
User Forget Password
Sends an OTP to the mobile user phone for password recovery.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| phone | string | 01011112222 |
| country_code | string | 20 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| country_code | required, string, Closure |
| phone | required, regex, max 20, Closure |
{
"data": {
"otp": "1234",
"token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "OTP for password reset sent.",
"success": true
}
User Verify Forgot Password OTP
Verifies the OTP and token for mobile user password recovery.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| phone | string | 01011112222 |
| country_code | string | 20 |
| 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 |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Your Otp Verified successfully.",
"success": true
}
User Reset Password
Updates the mobile user password using the provided token.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| phone | string | 01011112222 |
| password | string | NewP@ssw0rd123 |
| country_code | string | 20 |
| change_password_token | string | SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw |
| 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 |
{
"data": [],
"message": "Password reset successfully.",
"success": true
}
User Resend OTP
Resends a new OTP to the mobile user phone.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| phone | string | 01011112222 |
| country_code | string | 20 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| country_code | required, string, Closure |
| phone | required, regex, max 20, Closure |
{
"data": {
"otp": 1234
},
"message": "OTP resent successfully.",
"success": true
}
User Profile
Retrieves the authenticated mobile user profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Demo User 2",
"email": "user2@example.com",
"phone": "01011113333",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": null,
"main_address": null,
"last_login_at": null
},
"message": "Profile retrieved successfully.",
"success": true
}
User Change Password
Updates the password for the authenticated mobile user.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| new_password | string | NewP@ssw0rd123 |
| old_password | string | P@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 |
{
"data": [],
"message": "Password changed successfully.",
"success": true
}
User Update Profile
Updates the authenticated mobile user profile with an optional avatar image.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Updated User Name |
| string | updated_email@example.com |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| 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 |
{
"data": {
"id": 1,
"name": "Updated User Name",
"email": "updated_email@example.com",
"phone": "01011113333",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": null,
"main_address": null,
"last_login_at": null
},
"message": "Profile updated successfully.",
"success": true
}
User Refresh Token
Issues a new session token for the authenticated mobile user.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"user": {
"id": 1,
"name": "Updated User Name",
"email": "updated_email@example.com",
"phone": "01011113333",
"token": null,
"avatar": null,
"is_active": true,
"country_id": null,
"created_at": "2026-10-19T07:10:16.000000Z",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"main_address": null,
"last_login_at": null
},
"token": "11|pScY1k5l3e2FwTTD0EfsDU4sxJHcwqrrVFaBzIs3f07deb7a",
"expires_in": null,
"token_type": "Bearer"
},
"message": "New Token",
"success": true
}
User Logout
Logs out the authenticated mobile user and revokes the token.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Good by.",
"success": true
}
User Delete Account
Deletes the account of the authenticated mobile user.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Your account has been deleted successfully.",
"success": true
}
Dashboard API
Authentication
Admin Login
Authenticates an administrator and returns an access token.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| step | integer | 1 |
| string | admin@base.com | |
| password | string | P@ssw0rd |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| step | required, integer, allowed: 1, 2 |
| required, valid email, exists admins,email | |
| password | required if step = 1, StrongPassword |
| otp | required if step = 2, 4 digits |
{
"data": {
"id": 1,
"name": "Admin",
"email": "admin@base.com",
"phone": "000000000000",
"roles": [
{
"id": 1,
"name": "Default Role"
},
{
"id": 2,
"name": "Super Admin Role "
}
],
"token": "8|ueXke3BmVZg6Y0x4vyK03fndrNYej1ZnRwnAqVrue22790b9",
"avatar": "",
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"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"
]
},
"message": "welcome Admin",
"success": true
}
Reset Password
Complete password reset.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com | |
| password | string | NewP@ssw0rd123 |
| change_password_token | string | SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw |
| new_password_confirmation | string | NewP@ssw0rd123 |
{
"data": [],
"message": "Password reset successfully.",
"success": true
}
Login
Standard mobile login.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| step | integer | 1 |
| string | doc-admin@base.com | |
| password | string | P@ssw0rd123 |
{
"data": {
"id": 3,
"name": "Documentation Admin",
"email": "doc-admin@base.com",
"phone": "01699614601",
"roles": [],
"token": "13|oAsg1ZEjAREIULGSUsnTkpVtdWdRYnoRtMA1pV93a3c7640c",
"avatar": null,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"permissions": []
},
"message": "welcome Documentation Admin",
"success": true
}
Forget Password
Request reset OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Please check your email",
"success": true
}
Verify Forget Password OTP
Verify reset OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| string | doc-admin@base.com | |
| change_password_token | string | SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Your Otp Verified successfully.",
"success": true
}
Resend OTP
Resend verification code.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com |
{
"data": {
"otp": 1234
},
"message": "OTP resent successfully.",
"success": true
}
Logout
Admin logout.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Good by.",
"success": true
}
Forget Password Request
Sends an OTP to the user email for password recovery.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | admin@base.com |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| required, valid email, exists admins,email |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Please check your email",
"success": true
}
Verify OTP
Verifies the OTP sent to the user email for password recovery.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| string | admin@base.com | |
| 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 |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Your Otp Verified successfully.",
"success": true
}
Admin Logout
Revokes the current access token and logs the user out.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Good by.",
"success": true
}
Resend Forgot Password Otp
Resend Forgot Password OTP
Resend reset code.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Please check your email",
"success": true
}
Administration
Create Admin
Create a new Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Admin LHATIS |
| string | admin+lHaTIS@gmail.com | |
| phone | string | 01115534901 |
| roles | array | [{"role_id":1},{"role_id":2}] |
| avatar | NULL | |
| password | string | P@ss0rd |
| job_title | string | Administrator |
| description | array | {"ar":"\u0648\u0635\u0641 \u0627\u0644\u0645\u0633\u0624\u0648\u0644","en":"Admin description"} |
| contract_type | string | full_time |
| password_confirmation | string | P@ss0rd |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | required, string, min 2, max 100, regex |
| 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 |
{
"data": {
"id": 4,
"name": "Admin LHATIS",
"email": "admin+lHaTIS@gmail.com",
"phone": "01115534901",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": false,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
"message": "Data inserted successfully.",
"success": true
}
Get Admin List
Retrieve a list of Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Admin",
"email": "admin@base.com",
"phone": "000000000000",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
}
],
"avatar": null,
"is_active": true,
"job_title": null,
"created_at": "2026-10-19",
"contract_type": null,
"last_login_at": "2026-10-19 07:11 AM"
},
{
"id": 2,
"name": "Documentation Target Admin",
"email": "documentation-target@base.com",
"phone": "01617664049",
"roles": [],
"avatar": null,
"is_active": true,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
{
"id": 3,
"name": "Documentation Admin",
"email": "doc-admin@base.com",
"phone": "01692137354",
"roles": [],
"avatar": null,
"is_active": true,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": "2026-10-19 07:11 AM"
},
{
"id": 4,
"name": "Admin LHATIS",
"email": "admin+lHaTIS@gmail.com",
"phone": "01115534901",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
}
],
"avatar": null,
"is_active": true,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 4,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Create Role
Create a new Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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"} |
| description | array | {"ar":"\u0648\u0635\u0641 \u0627\u0644\u062f\u0648\u0631","en":"Role description"} |
| permissions | array | [{"model_id":1,"permission_id":1}] |
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 |
{
"data": {
"id": 3,
"name": "Test Role",
"is_active": false,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 0
},
"message": "Role created successfully.",
"success": true
}
Get Role List
Retrieve a list of Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 3,
"name": "Test Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 1
}
],
"message": "Roles retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Role Admins
List role admins.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Admin",
"email": "admin@base.com",
"avatar": "",
"created_at": "2026-10-19"
},
{
"id": 4,
"name": "Admin LHATIS",
"email": "admin+lHaTIS@gmail.com",
"avatar": "",
"created_at": "2026-10-19"
}
],
"message": "Role admins retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Assign Admins To Role
Assign admins to a role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| admin_ids | array | [3] |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| admin_ids | required, array, min 1 |
| admin_ids[] | required, integer, distinct, Exists |
{
"data": {
"role": {
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 3,
"permissions_count": 35
},
"admins": [
{
"id": 3,
"name": "Documentation Admin",
"email": "doc-admin@base.com",
"avatar": null,
"created_at": "2026-10-19"
}
]
},
"message": "admins::messages.admins_assigned_to_role",
"success": true
}
Get Role Available Admins
List available admins.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": "Documentation Target Admin",
"avatar": null,
"job_title": "Administrator"
}
],
"message": "Available admins retrieved successfully.",
"success": true
}
Search Available Admins
Search available admins by name.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": "Documentation Target Admin",
"avatar": null,
"job_title": "Administrator"
}
],
"message": "Available admins retrieved successfully.",
"success": true
}
Get Role Permissions
List role permissions.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"title": "Users",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
}
]
},
{
"id": 2,
"title": "Valuers",
"permissions": [
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
}
]
},
{
"id": 3,
"title": "Requests",
"permissions": [
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
}
]
},
{
"id": 4,
"title": "Reports",
"permissions": [
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
}
]
},
{
"id": 5,
"title": "Team Management",
"permissions": [
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
}
]
},
{
"id": 6,
"title": "Finance",
"permissions": [
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
}
]
},
{
"id": 7,
"title": "reviews",
"permissions": [
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
]
}
],
"message": "Role permissions retrieved successfully.",
"success": true
}
Get Admin Details
Retrieve Admin details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 4,
"name": "Admin LHATIS",
"email": "admin+lHaTIS@gmail.com",
"phone": "01115534901",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 3,
"permissions_count": 35
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
}
],
"avatar": null,
"is_active": true,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
"message": "Data retrieved successfully.",
"success": true
}
Update Admin
Update an existing Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 4 |
| name | string | Admin Updated XRTBKM |
| string | admin_upd+XRtbkm@gmail.com | |
| phone | string | 01223378819 |
| roles | array | [{"role_id":1},{"role_id":2}] |
| avatar | NULL | |
| password | string | P@ss0rd |
| job_title | string | Manager |
| contract_type | string | part_time |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, min 2, max 100, regex |
| 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 |
{
"data": {
"id": 4,
"name": "Admin Updated XRTBKM",
"email": "admin_upd+XRtbkm@gmail.com",
"phone": "01223378819",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": true,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
"message": "Data updated successfully.",
"success": true
}
Toggle Admin Status
Switch the Admin status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 4,
"name": "Admin Updated XRTBKM",
"email": "admin_upd+XRtbkm@gmail.com",
"phone": "01223378819",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": false,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
"message": "Data updated successfully.",
"success": true
}
Remove Role From Admin
Remove role from admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Role removed from admin successfully.",
"success": true
}
Delete Admin
Delete a Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Role Details
Retrieve Role details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Test Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 1
},
"message": "Role retrieved successfully.",
"success": true
}
Update Role
Update an existing Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 | [{"model_id":1,"permission_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 |
{
"data": {
"id": 3,
"name": "Test Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 0
},
"message": "Role updated successfully.",
"success": true
}
Toggle Role Status
Switch the Role status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Test Role",
"is_active": false,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 0
},
"message": "Role status updated successfully.",
"success": true
}
Delete Role
Delete a Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Role deleted successfully.",
"success": true
}
Get Deleted Admin
List deleted Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 4,
"name": "Admin Updated XRTBKM",
"email": "admin_upd+XRtbkm@gmail.com",
"phone": "01223378819",
"roles": [
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": false,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Restore Admin
Restore deleted Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 4,
"name": "Admin Updated XRTBKM",
"email": "admin_upd+XRtbkm@gmail.com",
"phone": "01223378819",
"roles": [
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": false,
"job_title": "Administrator",
"created_at": "2026-10-19",
"contract_type": "full_time",
"last_login_at": null
},
"message": "Data updated successfully.",
"success": true
}
Permanently Delete Admin
Force delete Admin.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Deleted Role
List deleted Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 3,
"name": "Test Role",
"is_active": false,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"message": "Trashed roles retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Restore Role
Restore deleted Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Test Role",
"is_active": false,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 0
},
"message": "Role restored successfully.",
"success": true
}
Permanently Delete Role
Force delete Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Role permanently deleted.",
"success": true
}
Activity Logs
Get Admin Activity Logs By Subject
Get activity logs by subject.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 13,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Admins\\Models\\Admins"
},
"log_type": "admin",
"created_at": "2026-10-19 07:11:35",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
"change_password_expired_at": "2026-10-19 07:21:35"
},
"old": {
"change_password_token": null,
"change_password_expired_at": null
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in Admins"
},
{
"id": 12,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Admins\\Models\\Admins"
},
"log_type": "admin",
"created_at": "2026-10-19 07:11:32",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"change_password_token": null,
"change_password_expired_at": null
},
"old": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
"change_password_expired_at": "2026-10-19T07:21:24.000000Z"
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in Admins"
},
{
"id": 11,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Admins\\Models\\Admins"
},
"log_type": "admin",
"created_at": "2026-10-19 07:11:24",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
"change_password_expired_at": "2026-10-19 07:21:24"
},
"old": {
"change_password_token": null,
"change_password_expired_at": null
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in Admins"
},
{
"id": 10,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Admins\\Models\\Admins"
},
"log_type": "admin",
"created_at": "2026-10-19 07:11:22",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"last_login_at": "2026-10-19T07:11:22.373798Z"
},
"old": {
"last_login_at": null
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in Admins"
},
{
"id": 7,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Users\\Models\\User"
},
"log_type": "user",
"created_at": "2026-10-19 07:10:53",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"change_password_token": null,
"change_password_expired_at": null
},
"old": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
"change_password_expired_at": "2026-10-19T07:20:46.000000Z"
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in User"
},
{
"id": 6,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Users\\Models\\User"
},
"log_type": "user",
"created_at": "2026-10-19 07:10:46",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw",
"change_password_expired_at": "2026-10-19 07:20:46"
},
"old": {
"change_password_token": null,
"change_password_expired_at": null
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in User"
},
{
"id": 5,
"action": "updated",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Users\\Models\\User"
},
"log_type": "user",
"created_at": "2026-10-19 07:10:44",
"ip_address": "127.0.0.1",
"properties": {
"new": {
"last_login_at": "2026-10-19 07:10:44"
},
"old": {
"last_login_at": null
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record updated in User"
},
{
"id": 4,
"action": "created",
"causer": {
"id": 1,
"name": "Admin",
"type": "Modules\\Admins\\Models\\Admins"
},
"subject": {
"id": 3,
"type": "Modules\\Users\\Models\\User"
},
"log_type": "user",
"created_at": "2026-10-19 07:10:41",
"ip_address": "127.0.0.1",
"properties": {
"attributes": {
"id": 3,
"name": "New User",
"email": "user@example.com",
"phone": "01011112222",
"avatar": "",
"password": "$2y$12$b4BT7U19n530g61zMPcUP.Yuiz.EC6p.fO.2rIHDAf7ESYp2zvVt.",
"country_id": 1,
"created_at": "2026-10-19 07:10:41",
"updated_at": "2026-10-19 07:10:41",
"phone_verified_at": "2026-10-19 07:10:40"
}
},
"user_agent": "GuzzleHttp\/7",
"description": "Record created in User"
}
],
"message": "Success",
"success": true,
"pagination": {
"total": 8,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Export Admin Activity Logs By Subject
Export activity logs by subject.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"url": "http:\/\/qeei_backend_admin.test\/api\/v1\/dashboard\/activity-logs\/export\/activity-log-export-3-20261019_071145.csv\/download",
"path": "exports\/activity-logs\/activity-log-export-3-20261019_071145.csv",
"file_name": "activity-log-export-3-20261019_071145.csv"
}
}
Download Admin Activity Log Export
Download exported activity log file.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
null
Roles?Search=Admin
Search Roles
Search roles by name.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 2,
"permissions_count": 35
},
{
"id": 3,
"name": "Test Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Test Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Role description",
"permissions": [
{
"id": 71,
"name": "users_fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
}
],
"admins_count": 0,
"permissions_count": 1
}
],
"message": "Roles retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Models
Get Permission Models
List permission models.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"title": "Users",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 2,
"title": "Valuers",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 3,
"title": "Requests",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 4,
"title": "Reports",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 5,
"title": "Team Management",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 6,
"title": "Finance",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
},
{
"id": 7,
"title": "reviews",
"permissions": [
{
"id": 1,
"name": "fetch",
"title": "Fetch Data"
},
{
"id": 2,
"name": "create",
"title": "Create Data"
},
{
"id": 3,
"name": "read",
"title": "Read Data"
},
{
"id": 4,
"name": "update",
"title": "Update Data"
},
{
"id": 5,
"name": "delete",
"title": "Delete Data"
}
]
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 7,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Users
Get User List
Retrieve a list of User.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "Updated User Name",
"email": "updated_email@example.com",
"phone": "01011113333",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": null,
"main_address": null,
"last_login_at": null
},
{
"id": 3,
"name": "New User",
"email": "user@example.com",
"phone": "01011112222",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "20",
"main_address": null,
"last_login_at": "2026-10-19 07:10:44"
},
{
"id": 4,
"name": "Demo User",
"email": "user2@demo.com",
"phone": "01211172299",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": null,
"main_address": null,
"last_login_at": "2026-10-19 07:11:56"
}
],
"message": "Users retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get User Details
Retrieve User details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 14,
"name": "Mona Manager",
"email": "mona.manager@doc.example.com",
"phone": "500000020",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "999",
"main_address": null,
"last_login_at": null
},
"message": "User details retrieved successfully.",
"success": true
}
Toggle User Status
Switch the User status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 14,
"name": "Mona Manager",
"email": "mona.manager@doc.example.com",
"phone": "500000020",
"token": null,
"avatar": null,
"is_active": false,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "999",
"main_address": null,
"last_login_at": null
},
"message": "User status updated successfully.",
"success": true
}
Delete User
Delete a User.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "User deleted successfully.",
"success": true
}
Get Deleted User
List deleted User.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": "Delete User",
"email": "delete_user@example.com",
"phone": "01011119999",
"token": null,
"avatar": null,
"is_active": true,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": null,
"main_address": null,
"last_login_at": null
},
{
"id": 14,
"name": "Mona Manager",
"email": "mona.manager@doc.example.com",
"phone": "500000020",
"token": null,
"avatar": null,
"is_active": false,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "999",
"main_address": null,
"last_login_at": null
}
],
"message": "Trashed users retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Restore User
Restore deleted User.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 14,
"name": "Mona Manager",
"email": "mona.manager@doc.example.com",
"phone": "500000020",
"token": null,
"avatar": null,
"is_active": false,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"postal_code": null,
"country_code": "999",
"main_address": null,
"last_login_at": null
},
"message": "User restored successfully.",
"success": true
}
Permanently Delete User
Force delete User.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "User force deleted permanently.",
"success": true
}
Locations
Get Countries List
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"code": "EG",
"type": "country",
"name_ar": "مصر",
"name_en": "Egypt",
"is_active": true,
"phone_code": "20",
"setting_id": null,
"phone_length": 11
},
{
"id": 2,
"code": null,
"type": "country",
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
}
],
"message": "Data retrieved successfully.",
"success": true
}
Search Countries
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| keyword | string | Egypt |
{
"data": [
{
"id": 1,
"code": "EG",
"type": "country",
"name_ar": "مصر",
"name_en": "Egypt",
"is_active": true,
"phone_code": "20",
"setting_id": null,
"phone_length": 11
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Cities List
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"code": "EG",
"type": "country",
"cities": [],
"name_ar": "مصر",
"name_en": "Egypt",
"is_active": true,
"phone_code": "20",
"setting_id": null,
"phone_length": 11
},
{
"id": 2,
"code": null,
"type": "country",
"cities": [],
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
}
],
"message": "Data retrieved successfully.",
"success": true
}
Search Cities
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| keyword | string | Cairo |
{
"data": [
{
"id": 1,
"code": "EG",
"type": "country",
"cities": [],
"name_ar": "مصر",
"name_en": "Egypt",
"is_active": true,
"phone_code": "20",
"setting_id": null,
"phone_length": 11
},
{
"id": 2,
"code": null,
"type": "country",
"cities": [],
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Cities By country
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true
}
Get Nationalities List
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true
}
FAQs
Create Faq
Create a new Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| answer | array | {"ar":"\u0625\u062c\u0627\u0628\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629","en":"Test answer"} |
| question | array | {"ar":"\u0633\u0624\u0627\u0644 \u062a\u062c\u0631\u064a\u0628\u064a 21635182","en":"Test question 21635182"} |
| is_active | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| question.ar | required, ArabicLetters |
| question.en | required, EnglishLetters |
| answer.ar | optional, ArabicLetters |
| answer.en | optional, EnglishLetters |
| is_active | optional, true/false |
{
"data": {
"id": 3,
"answer": "Test answer",
"question": "Test question 21635182",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 21635182",
"en": "Test question 21635182"
}
},
"created_at": "2026-10-19"
},
"message": "faq::faq.inserted",
"success": true
}
Get Faq List
Retrieve a list of Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 3,
"answer": "Test answer",
"question": "Test question 21635182",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 21635182",
"en": "Test question 21635182"
}
},
"created_at": "2026-10-19"
}
],
"message": "faq::faq.retrieved",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_faqs": 2,
"active_faqs": 2,
"inactive_faqs": 0
}
Search FAQs
Search FAQs.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | test |
{
"data": [
{
"id": 3,
"answer": "Test answer",
"question": "Test question 21635182",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 21635182",
"en": "Test question 21635182"
}
},
"created_at": "2026-10-19"
}
],
"message": "faq::faq.retrieved",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_faqs": 2,
"active_faqs": 2,
"inactive_faqs": 0
}
Filter FAQs by status
Filter FAQs by status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| status | integer | 1 |
{
"data": [
{
"id": 1,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 3,
"answer": "Test answer",
"question": "Test question 21635182",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 21635182",
"en": "Test question 21635182"
}
},
"created_at": "2026-10-19"
}
],
"message": "faq::faq.retrieved",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_faqs": 2,
"active_faqs": 2,
"inactive_faqs": 0
}
Get Faq Details
Retrieve Faq details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "faq::faq.retrieved",
"success": true
}
Update Faq
Update an existing Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 1 |
| answer | array | {"ar":"\u0625\u062c\u0627\u0628\u0629 \u062a\u062c\u0631\u064a\u0628\u064a\u0629","en":"Test answer"} |
| question | array | {"ar":"\u0633\u0624\u0627\u0644 \u062a\u062c\u0631\u064a\u0628\u064a 62747610","en":"Updated question 62747610"} |
| is_active | 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 |
{
"data": {
"id": 1,
"answer": "Test answer",
"question": "Updated question 62747610",
"is_active": true,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 62747610",
"en": "Updated question 62747610"
}
},
"created_at": "2026-10-19"
},
"message": "faq::faq.updated",
"success": true
}
Toggle Faq Status
Switch the Faq status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"answer": "Test answer",
"question": "Updated question 62747610",
"is_active": false,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 62747610",
"en": "Updated question 62747610"
}
},
"created_at": "2026-10-19"
},
"message": "faq::faq.updated",
"success": true
}
Delete Faq
Delete a Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "faq::faq.deleted",
"success": true
}
Get Deleted Faq
List deleted Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"answer": "Test answer",
"question": "Updated question 62747610",
"is_active": false,
"translate": {
"answer": {
"ar": "إجابة تجريبية",
"en": "Test answer"
},
"question": {
"ar": "سؤال تجريبي 62747610",
"en": "Updated question 62747610"
}
},
"created_at": "2026-10-19"
},
{
"id": 2,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 4,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
{
"id": 5,
"answer": "",
"question": "",
"is_active": true,
"translate": {
"answer": {
"ar": "",
"en": ""
},
"question": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
}
],
"message": "faq::faq.retrieved",
"success": true,
"pagination": {
"total": 4,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_faqs": 1,
"active_faqs": 1,
"inactive_faqs": 0
}
Restore Faq
Restore deleted Faq.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "faq::faq.restored",
"success": true
}
Categories
Create Category
Create a new Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| icon | string | icon-14890347.png |
| name | array | {"ar":"\u062a\u0635\u0646\u064a\u0641 \u062a\u062c\u0631\u064a\u0628\u064a 14890347","en":"Test Category 14890347"} |
| status | integer | 1 |
| valuers | integer | 10 |
| service_no | integer | 1 |
| description | array | {"ar":"\u0648\u0635\u0641 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test description"} |
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 |
{
"data": {
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
},
"message": "Data inserted successfully.",
"success": true
}
Get Category List
Retrieve a list of Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Category Details
Retrieve Category details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 8,
"icon": "mobile-equipment-icon.png",
"name": "Equipment",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "معدات",
"en": "Equipment"
},
"description": {
"ar": "معدات",
"en": "Equipment"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Equipment"
},
"message": "Data retrieved successfully.",
"success": true
}
Update Category
Update an existing Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 8 |
| icon | string | icon-upd-67191901.png |
| name | array | {"ar":"\u062a\u0635\u0646\u064a\u0641 \u062a\u062c\u0631\u064a\u0628\u064a 67191901","en":"Test Category 67191901"} |
| status | integer | 1 |
| valuers | integer | 10 |
| service_no | integer | 1 |
| description | array | {"ar":"\u0648\u0635\u0641 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test description"} |
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 |
{
"data": {
"id": 8,
"icon": "icon-upd-67191901.png",
"name": "Test Category 67191901",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 67191901",
"en": "Test Category 67191901"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
},
"message": "Data updated successfully.",
"success": true
}
Toggle Category Status
Switch the Category status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 8,
"icon": "icon-upd-67191901.png",
"name": "Test Category 67191901",
"status": false,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 67191901",
"en": "Test Category 67191901"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
},
"message": "Data updated successfully.",
"success": true
}
Delete Category
Delete a Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Deleted Category
List deleted Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"icon": "trashed-icon.png",
"name": "",
"status": true,
"valuers": 2,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 2,
"description": ""
},
{
"id": 8,
"icon": "icon-upd-67191901.png",
"name": "Test Category 67191901",
"status": false,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 67191901",
"en": "Test Category 67191901"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Restore Category
Restore deleted Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data restored successfully.",
"success": true
}
Permanently Delete Category
Force delete Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Categories?Search=Test+Category+14890347
Search Category List
Retrieve a list of Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Categories?Status=1
Filter Category List by Active Status
Retrieve a list of Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Categories?Status=0
Filter Category List by Inactive Status
Retrieve a list of Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Categories?Search=Test+Category+14890347&Status=1
Search and Filter Category List
Retrieve a list of Category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": ""
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Static Pages
Create Static_page
Create a new Static_page.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 41166850","en":"Test Page 41166850"} |
| type | string | police |
| content | array | {"ar":"\u0645\u062d\u062a\u0648\u0649 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Test content"} |
| is_active | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name.ar | required, ArabicLetters |
| name.en | required, EnglishLetters |
| content.ar | required |
| content.en | required |
| type | required, unique static_pages, enum: about_us, police, terms |
| is_active | optional, true/false |
{
"data": {
"id": 3,
"name": "Test Page 41166850",
"type": "police",
"content": "Test content",
"is_active": true,
"translate": {
"name": {
"ar": "صفحة تجريبية 41166850",
"en": "Test Page 41166850"
},
"content": {
"ar": "محتوى تجريبي",
"en": "Test content"
}
},
"created_at": "2026-10-19"
},
"message": "Data inserted successfully.",
"success": true
}
Get Static_page List
Retrieve a list of Static_page.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "",
"type": "about_us",
"content": "",
"is_active": true,
"translate": {
"name": {
"ar": "",
"en": ""
},
"content": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Get Static_page Details
Retrieve Static_page details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "",
"type": "about_us",
"content": "",
"is_active": true,
"translate": {
"name": {
"ar": "",
"en": ""
},
"content": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Update Static_page
Update an existing Static_page.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 91047398","en":"Updated Page 91047398"} |
| type | string | about_us |
| content | array | {"ar":"\u0645\u062d\u062a\u0648\u0649 \u062a\u062c\u0631\u064a\u0628\u064a","en":"Updated content"} |
| is_active | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name.ar | optional, ArabicLetters |
| name.en | optional, EnglishLetters |
| content.ar | optional |
| content.en | optional |
| type | optional, enum: about_us, police, terms, Unique |
| is_active | optional, true/false |
{
"data": {
"id": 1,
"name": "Updated Page 91047398",
"type": "about_us",
"content": "Updated content",
"is_active": true,
"translate": {
"name": {
"ar": "صفحة تجريبية 91047398",
"en": "Updated Page 91047398"
},
"content": {
"ar": "محتوى تجريبي",
"en": "Updated content"
}
},
"created_at": "2026-10-19"
},
"message": "Data updated successfully.",
"success": true
}
Toggle Static_page Status
Switch the Static_page status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Updated Page 91047398",
"type": "about_us",
"content": "Updated content",
"is_active": false,
"translate": {
"name": {
"ar": "صفحة تجريبية 91047398",
"en": "Updated Page 91047398"
},
"content": {
"ar": "محتوى تجريبي",
"en": "Updated content"
}
},
"created_at": "2026-10-19"
},
"message": "Data updated successfully.",
"success": true
}
Permanently Delete Static_page
Force delete Static_page.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Manage Plans
Create Manage plan
Create a new Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | array | {"ar":"\u062e\u0637\u0629 54785994","en":"Plan 54785994"} |
| color | string | #D97706 |
| features | array | [{"id":1,"value":100}] |
| is_active | integer | 1 |
| sale_price | integer | 50 |
| badge_label | array | {"ar":"\u0645\u0645\u064a\u0632","en":"Featured"} |
| billing_cycle | string | monthly |
| platform_type | string | user |
| regular_price | integer | 100 |
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, regex |
| 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 |
{
"data": {
"id": 5,
"name": "Plan 54785994",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة 54785994",
"en": "Plan 54785994"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
"message": "Data inserted successfully.",
"success": true
}
Get Manage plan List
Retrieve a list of Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": null,
"color": "#D97706",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": null,
"en": null
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "50.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 3,
"name": "Company plan A",
"color": "#059669",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة أ",
"en": "Company plan A"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "50.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "valuer",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 4,
"name": "Company plan B",
"color": "#6C5DD3",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة ب",
"en": "Company plan B"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "100.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "valuer",
"regular_price": "200.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 5,
"name": "Plan 54785994",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة 54785994",
"en": "Plan 54785994"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 4,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_plans": 4,
"total_subscribers": 0,
"total_active_plans": 4,
"total_inactive_plans": 0
}
Get Manage Plan Features
Get manage plan features list.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": "feature 1",
"plans": [
{
"value": 100,
"manage_plan_id": 4
},
{
"value": 100,
"manage_plan_id": 5
}
],
"value": null,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"message": "Features retrieved successfully.",
"success": true
}
Get Manage plan Details
Retrieve Manage plan details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"name": "Plan 54785994",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة 54785994",
"en": "Plan 54785994"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
"message": "Plan retrieved successfully.",
"success": true
}
Update Manage plan
Update an existing Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 5 |
| name | array | {"ar":"\u062e\u0637\u0629 90764274","en":"Plan 90764274"} |
| color | string | #D97706 |
| features | array | [{"id":1,"value":"150"}] |
| is_active | integer | 1 |
| sale_price | integer | 50 |
| badge_label | array | {"ar":"\u0645\u0645\u064a\u0632","en":"Featured"} |
| billing_cycle | string | monthly |
| platform_type | string | user |
| regular_price | integer | 300 |
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, regex |
| is_active | optional, true/false |
| features | optional, array |
| features[].id | required, required_with, exists manage_plan_features,id |
| features[].value | optional, integer |
| features[].name.ar | optional, ArabicLetters |
| features[].name.en | optional, EnglishLetters |
{
"data": {
"id": 5,
"name": "Plan 90764274",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 150,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة 90764274",
"en": "Plan 90764274"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "300.00",
"remaining_days": null,
"subscribers_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Toggle Manage plan Status
Switch the Manage plan status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"name": {
"ar": "خطة 90764274",
"en": "Plan 90764274"
},
"color": "#D97706",
"features": [
{
"id": 1,
"pivot": {
"value": 150,
"created_at": "2026-10-19T07:13:34.000000Z",
"updated_at": "2026-10-19T07:25:53.000000Z",
"manage_plan_id": 5,
"manage_plan_feature_id": 1
}
}
],
"is_active": false,
"created_at": "2026-10-19T07:13:34.000000Z",
"sale_price": "50.00",
"badge_label": {
"ar": "مميز",
"en": "Featured"
},
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "300.00",
"remaining_days": null,
"subscribers_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Delete Manage plan
Delete a Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Deleted Manage Plan
List deleted manage plans.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": null,
"color": "#D97706",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": null,
"en": null
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "100.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "yearly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "200.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 5,
"name": "Plan 90764274",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 150,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": false,
"translate": {
"name": {
"ar": "خطة 90764274",
"en": "Plan 90764274"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "300.00",
"remaining_days": null,
"subscribers_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_plans": 3,
"total_subscribers": 0,
"total_active_plans": 3,
"total_inactive_plans": 0
}
Restore Manage plan
Restore deleted Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"name": {
"ar": "خطة 90764274",
"en": "Plan 90764274"
},
"color": "#D97706",
"features": [
{
"id": 1,
"pivot": {
"value": 150,
"created_at": "2026-10-19T07:13:34.000000Z",
"updated_at": "2026-10-19T07:25:53.000000Z",
"manage_plan_id": 5,
"manage_plan_feature_id": 1
}
}
],
"is_active": false,
"created_at": "2026-10-19T07:13:34.000000Z",
"sale_price": "50.00",
"badge_label": {
"ar": "مميز",
"en": "Featured"
},
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "300.00",
"remaining_days": null,
"subscribers_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Delete Manage plan
Delete a Manage plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Plans?Search=Plan&Status=1
Search Manage Plans By Keyword And Status
Filter manage plans by search and status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"name": null,
"color": "#D97706",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": null,
"en": null
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "50.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 3,
"name": "Company plan A",
"color": "#059669",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة أ",
"en": "Company plan A"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "50.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "valuer",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 4,
"name": "Company plan B",
"color": "#6C5DD3",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة ب",
"en": "Company plan B"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "100.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "valuer",
"regular_price": "200.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 5,
"name": "Plan 54785994",
"color": "#D97706",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة 54785994",
"en": "Plan 54785994"
},
"badge_label": {
"ar": "مميز",
"en": "Featured"
}
},
"sale_price": "50.00",
"badge_label": "Featured",
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "user",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 4,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"total_plans": 4,
"total_subscribers": 0,
"total_active_plans": 4,
"total_inactive_plans": 0
}
Valuer Requests
Get Valuer Requests List
List valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:50.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Review Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed Ali",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
},
{
"id": 2,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "ready_for_approval",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:51.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": null
},
{
"id": 3,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:19:51.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
{
"id": 4,
"email": "profile.docs.valuer@doctest.com",
"phone": "+966500000012",
"avatar": null,
"status": "approved",
"city_id": 4,
"country": "Documentation country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
},
{
"id": 5,
"name": "Property"
}
],
"country_id": 2,
"created_at": "2026-10-19T07:19:55.000000Z",
"updated_at": "2026-10-19T07:19:55.000000Z",
"admin_notes": null,
"approved_at": "2026-10-19T07:19:55.000000Z",
"cover_image": null,
"company_name": "Profile Co",
"subscription": "premium",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test City",
"country": "Documentation country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "profile-co-doc",
"documents_all_approved": null
},
{
"id": 5,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": null
},
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
}
],
"pagination": {
"total": 6,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 4
}
Filter Valuer Requests
Filter valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Review |
| status | string | under_review |
| subscription | string | standard |
{
"data": [
{
"id": 1,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:50.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Review Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed Ali",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
}
],
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 4
}
Exclude Valuer Requests by Status
Exclude valuer requests by status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| exclude_status | array | ["suspended","rejected"] |
{
"data": [
{
"id": 1,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:50.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Review Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed Ali",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
},
{
"id": 2,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "ready_for_approval",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:51.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": null
},
{
"id": 3,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:19:51.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
{
"id": 4,
"email": "profile.docs.valuer@doctest.com",
"phone": "+966500000012",
"avatar": null,
"status": "approved",
"city_id": 4,
"country": "Documentation country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
},
{
"id": 5,
"name": "Property"
}
],
"country_id": 2,
"created_at": "2026-10-19T07:19:55.000000Z",
"updated_at": "2026-10-19T07:19:55.000000Z",
"admin_notes": null,
"approved_at": "2026-10-19T07:19:55.000000Z",
"cover_image": null,
"company_name": "Profile Co",
"subscription": "premium",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test City",
"country": "Documentation country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "profile-co-doc",
"documents_all_approved": null
},
{
"id": 5,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": null
},
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
}
],
"pagination": {
"total": 6,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 4
}
Get Valuer Request Details
Get valuer request details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"ulid": null,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 1,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "pending",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": null
},
{
"id": 2,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
"name": "commercial_registration",
"ulid": null,
"status": "pending",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": null
}
],
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:19:50.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Review Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed Ali",
"requested_subdomain": "review-co-doc",
"documents_all_approved": false
}
}
Get Valuer Request Documents
Get request documents.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "pending",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": null
},
{
"id": 2,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
"name": "commercial_registration",
"ulid": null,
"status": "pending",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": null
}
]
}
Accept Document
Accept a document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| admin_note | string | Verified against registry. |
| extracted_value | string | LIC-123456 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| extracted_value | optional, string, max 255 |
| admin_note | optional, string |
{
"data": {
"id": 1,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": "Verified against registry.",
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": "LIC-123456",
"rejection_reason": null
},
"message": "Document accepted successfully."
}
Update Extracted Value
Update extracted value.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| extracted_value | string | 987654321 |
{
"data": {
"id": 1,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": "Verified against registry.",
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": "987654321",
"rejection_reason": null
},
"message": "Extracted value updated."
}
Reject Document
Reject a document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 2,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
"name": "commercial_registration",
"ulid": null,
"status": "rejected",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": "The document is expired."
},
"message": "Document rejected successfully."
}
Request Document Reupload
Request document reupload.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| rejection_reason | string | Please reupload a clearer copy. |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| rejection_reason | required, string, min 10 |
{
"data": {
"id": 2,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
"name": "commercial_registration",
"ulid": null,
"status": "need_reupload",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": "Please reupload a clearer copy."
},
"message": "Reupload requested."
}
Add Note
Add a note.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| admin_notes | string | Following up on the reupload. |
{
"data": {
"id": 1,
"ulid": null,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "need_reupload",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:30.000000Z",
"admin_notes": "Following up on the reupload.",
"approved_at": null,
"cover_image": null,
"company_name": "Review Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed Ali",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
},
"message": "Note added successfully."
}
Update Valuer Request
Update valuer request.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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, required, enum: individual, corporate |
| company_name | optional, string, max 255, regex |
| individual_name | optional, string, max 255, regex |
| contact_person_name | optional, string, max 255, regex |
| 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, array |
| valuation_type[] | required, integer, distinct, Exists |
{
"data": {
"id": 1,
"ulid": null,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "need_reupload",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 1,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": "Verified against registry.",
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": "987654321",
"rejection_reason": null
},
{
"id": 2,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/commercial_registration.pdf",
"name": "commercial_registration",
"ulid": null,
"status": "need_reupload",
"admin_note": null,
"created_at": "2026-10-19T07:19:50.000000Z",
"extracted_value": null,
"rejection_reason": "Please reupload a clearer copy."
}
],
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:30.000000Z",
"admin_notes": "Following up on the reupload.",
"approved_at": null,
"cover_image": null,
"company_name": "Review Co (Updated)",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed A",
"requested_subdomain": "review-co-doc",
"documents_all_approved": false
},
"message": "Updated."
}
Reject Valuer Request
Reject valuer request.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 3,
"ulid": null,
"email": null,
"phone": null,
"avatar": null,
"status": "rejected",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:30.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": "Does not meet requirements.",
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
"message": "Request rejected successfully."
}
Reopen Valuer Request
Reopen a rejected request.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"ulid": null,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:31.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": "Does not meet requirements.",
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
"message": "Request reopened successfully."
}
Approve Valuer Request
Approve valuer request.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | 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 |
{
"data": {
"id": 2,
"ulid": null,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": [],
"tenant_id": 4,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:32.000000Z",
"admin_notes": "All documents verified.",
"approved_at": "2026-10-19T07:20:32.000000Z",
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": true
},
"message": "Request approved successfully. Tenant provisioned."
}
Toggle Valuer Request Suspend Status
Toggle request suspend status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"ulid": null,
"email": null,
"phone": null,
"avatar": null,
"status": "suspended",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:32.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": "Does not meet requirements.",
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
"message": "Request status toggled successfully."
}
Get New Valuer Requests
List the latest new valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
}
],
"pagination": {
"total": 1,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Valuer Request Statuses
List valuer request statuses.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "pending_review",
"value": "Pending Review"
},
{
"key": "under_review",
"value": "Under Review"
},
{
"key": "need_reupload",
"value": "Needs Reupload"
},
{
"key": "ready_for_approval",
"value": "Ready for Approval"
},
{
"key": "approved",
"value": "Approved"
},
{
"key": "rejected",
"value": "Rejected"
},
{
"key": "tenant_provisioning",
"value": "Tenant Provisioning"
},
{
"key": "workspace_active",
"value": "Workspace Active"
},
{
"key": "suspended",
"value": "Suspended"
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Valuer Requests List
List valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "need_reupload",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:30.000000Z",
"admin_notes": "Following up on the reupload.",
"approved_at": null,
"cover_image": null,
"company_name": "Review Co (Updated)",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed A",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
},
{
"id": 2,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "ready_for_approval",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": "All documents verified.",
"approved_at": null,
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": null
},
{
"id": 3,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
{
"id": 4,
"email": "profile.docs.valuer@doctest.com",
"phone": "+966500000012",
"avatar": null,
"status": "approved",
"city_id": 4,
"country": "Documentation country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
},
{
"id": 5,
"name": "Property"
}
],
"country_id": 2,
"created_at": "2026-10-19T07:19:55.000000Z",
"updated_at": "2026-10-19T07:19:55.000000Z",
"admin_notes": null,
"approved_at": "2026-10-19T07:19:55.000000Z",
"cover_image": null,
"company_name": "Profile Co",
"subscription": "premium",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test City",
"country": "Documentation country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "profile-co-doc",
"documents_all_approved": null
},
{
"id": 5,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:21:41.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": null
},
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
}
],
"pagination": {
"total": 6,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 3
}
Filter Valuer Requests
Filter valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Review |
| status | string | under_review |
| subscription | string | standard |
{
"data": [],
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 3
}
Filter Valuer Requests by Category
Filter valuer requests by service category.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| category_id | integer | 5 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| search | optional, string, max 255 |
| status | optional, string, allowed: pending_review, under_review, need_reupload, ready_for_approval, approved, rejected, tenant_provisioning, workspace_active, suspended |
| category_id | optional, integer, exists categories,id |
| per_page | optional, integer, min 1, max 100 |
| page | optional, integer, min 1 |
{
"data": [
{
"id": 4,
"email": "profile.docs.valuer@doctest.com",
"phone": "+966500000012",
"avatar": null,
"status": "approved",
"city_id": 4,
"country": "Documentation country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
},
{
"id": 5,
"name": "Property"
}
],
"country_id": 2,
"created_at": "2026-10-19T07:19:55.000000Z",
"updated_at": "2026-10-19T07:19:55.000000Z",
"admin_notes": null,
"approved_at": "2026-10-19T07:19:55.000000Z",
"cover_image": null,
"company_name": "Profile Co",
"subscription": "premium",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test City",
"country": "Documentation country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "profile-co-doc",
"documents_all_approved": null
}
],
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 3
}
Exclude Valuer Requests by Status
Exclude valuer requests by status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| exclude_status | array | ["suspended","rejected"] |
{
"data": [
{
"id": 1,
"email": "xtenant.valuer@doctest.com",
"phone": null,
"avatar": null,
"status": "need_reupload",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:30.000000Z",
"admin_notes": "Following up on the reupload.",
"approved_at": null,
"cover_image": null,
"company_name": "Review Co (Updated)",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmed A",
"requested_subdomain": "review-co-doc",
"documents_all_approved": null
},
{
"id": 2,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "ready_for_approval",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": "All documents verified.",
"approved_at": null,
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": null
},
{
"id": 3,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
{
"id": 4,
"email": "profile.docs.valuer@doctest.com",
"phone": "+966500000012",
"avatar": null,
"status": "approved",
"city_id": 4,
"country": "Documentation country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
},
{
"id": 5,
"name": "Property"
}
],
"country_id": 2,
"created_at": "2026-10-19T07:19:55.000000Z",
"updated_at": "2026-10-19T07:19:55.000000Z",
"admin_notes": null,
"approved_at": "2026-10-19T07:19:55.000000Z",
"cover_image": null,
"company_name": "Profile Co",
"subscription": "premium",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test City",
"country": "Documentation country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "profile-co-doc",
"documents_all_approved": null
},
{
"id": 5,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:21:41.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": null
},
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
}
],
"pagination": {
"total": 6,
"per_page": 10,
"last_page": 1,
"current_page": 1
},
"new_valuers_count": 3
}
Get New Valuer Requests
List the latest new valuer requests.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| per_count | integer | 7 |
{
"data": [
{
"id": 6,
"email": "ahmadtest+eiiyvx@demo.com",
"phone": "+966553943171",
"avatar": null,
"status": "pending_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [
{
"id": 4,
"name": "Real Estate Appraisal"
}
],
"country_id": 1,
"created_at": "2026-10-19T07:20:26.000000Z",
"updated_at": "2026-10-19T07:20:26.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Demo Corp eiiyvx",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Ahmad Test",
"requested_subdomain": "demo-corp-eiiyvx",
"documents_all_approved": null
},
{
"id": 3,
"email": null,
"phone": null,
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:51.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Reject Co",
"subscription": "standard",
"business_type": "individual",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Omar Khalid",
"requested_subdomain": "reject-co-doc",
"documents_all_approved": null
},
{
"id": 2,
"email": "approve.valuer@doctest.com",
"phone": "+966500000010",
"avatar": null,
"status": "ready_for_approval",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": null,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:50.000000Z",
"updated_at": "2026-10-19T07:20:41.000000Z",
"admin_notes": "All documents verified.",
"approved_at": null,
"cover_image": null,
"company_name": "Approve Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Sara Nasser",
"requested_subdomain": "approve-co-doc",
"documents_all_approved": null
}
],
"pagination": {
"total": 3,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Valuer Request Statuses
List valuer request statuses.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"key": "pending_review",
"value": "Pending Review"
},
{
"key": "under_review",
"value": "Under Review"
},
{
"key": "need_reupload",
"value": "Needs Reupload"
},
{
"key": "ready_for_approval",
"value": "Ready for Approval"
},
{
"key": "approved",
"value": "Approved"
},
{
"key": "rejected",
"value": "Rejected"
},
{
"key": "tenant_provisioning",
"value": "Tenant Provisioning"
},
{
"key": "workspace_active",
"value": "Workspace Active"
},
{
"key": "suspended",
"value": "Suspended"
}
],
"message": "Data retrieved successfully.",
"success": true
}
List Contact Us Messages
List contact-us messages.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"valuer": {
"id": 3,
"name": "Portal Co",
"email": "demo.valuer@doctest.com"
},
"message": "I would like to know more about the subscription plans.",
"created_at": "2026-10-19T07:21:27+00:00",
"attachments": [],
"message_type": "inquiry"
}
],
"success": true
}
Clients
Create Client
Create a new client
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | MOdI8SSoghgr0808YEvM8vJH8bLpHI2lTQ3bhYMnL5QZf5DYnu5vPGp5QFwxWhYo |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | array | {"ar":"\u0634\u0631\u0643\u0629 \u0627\u062e\u062a\u0628\u0627\u0631 AR","en":"Test Company EN"} |
| industry | string | Real Estate Developer |
| country_id | integer | 1 |
| client_email | string | test+qh4utf@example.com |
| phone_number | string | 0512345678 |
| contract_type | string | Yearly Contract |
| contact_person_email | string | john@example.com |
| contact_person_phone | string | 0512345678 |
| contact_person_fullname | array | {"ar":"\u062c\u0648\u0646 \u062f\u0648","en":"John Doe"} |
| contact_person_password | string | password123 |
| contact_person_password_confirmation | string | password123 |
{
"data": {
"id": 1,
"industry": "Real Estate Developer",
"documents": [],
"is_active": true,
"country_id": 1,
"client_email": "test+qh4utf@example.com",
"company_name": {
"ar": "شركة اختبار AR",
"en": "Test Company EN"
},
"phone_number": "0512345678",
"contract_type": "Yearly Contract",
"contact_person_email": "john@example.com",
"contact_person_phone": "0512345678",
"contact_person_fullname": {
"ar": "جون دو",
"en": "John Doe"
}
},
"message": "Data inserted successfully.",
"success": true
}
Get Clients List
Get paginated list of clients
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | MOdI8SSoghgr0808YEvM8vJH8bLpHI2lTQ3bhYMnL5QZf5DYnu5vPGp5QFwxWhYo |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"industry": "Real Estate Developer",
"documents": [],
"is_active": true,
"country_id": 1,
"client_email": "test+qh4utf@example.com",
"company_name": {
"ar": "شركة اختبار AR",
"en": "Test Company EN"
},
"phone_number": "0512345678",
"contract_type": "Yearly Contract",
"contact_person_email": "john@example.com",
"contact_person_phone": "0512345678",
"contact_person_fullname": {
"ar": "جون دو",
"en": "John Doe"
}
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Profile
Get Admin Profile
Get authenticated admin profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"name": "Admin",
"email": "admin@base.com",
"phone": "000000000000",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": true,
"job_title": null,
"created_at": "2026-10-19",
"contract_type": null,
"last_login_at": "2026-10-19 07:23 AM"
},
"message": "admins::messages.profile_retrieved",
"success": true
}
Update Admin Profile
Update authenticated admin profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Admin Self Updated |
| string | admin_self@gmail.com | |
| phone | string | 01551981056 |
| 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 |
{
"data": {
"id": 1,
"name": "Admin Self Updated",
"email": "admin@base.com",
"phone": "01551981056",
"roles": [
{
"id": 1,
"name": "Default Role",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Default Role"
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Default Role Description",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
},
{
"id": 2,
"name": "Super Admin Role ",
"is_active": true,
"translate": {
"name": {
"ar": "دور تقليدى",
"en": "Super Admin Role "
},
"description": {
"ar": "وصف الدور التقليدى",
"en": "Default Role Description"
}
},
"created_at": "2026-10-19",
"description": "Super Admin Role Description",
"permissions": [
{
"id": 36,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 37,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 38,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 39,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 40,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
},
{
"id": 41,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 42,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 43,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 44,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 45,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
},
{
"id": 46,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 47,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 48,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 49,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 50,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
},
{
"id": 51,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 52,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 53,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 54,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 55,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
},
{
"id": 56,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 57,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 58,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 59,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 60,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
},
{
"id": 61,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 62,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 63,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 64,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 65,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
},
{
"id": 66,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 67,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 68,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 69,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 70,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
],
"admins_count": 0,
"permissions_count": 0
}
],
"avatar": null,
"is_active": true,
"job_title": null,
"created_at": "2026-10-19",
"contract_type": null,
"last_login_at": "2026-10-19 07:23 AM"
},
"message": "admins::messages.profile_updated",
"success": true
}
Change Password
Change Admin Password
Change authenticated admin password.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| new_password | string | NewP@ss0rd1 |
| old_password | string | P@ssw0rd |
| password_confirmation | string | NewP@ss0rd1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| old_password | required |
| new_password | required, different, StrongPassword |
| password_confirmation | required, same |
{
"data": [],
"message": "admins::messages.password_changed",
"success": true
}
Settings
Create country
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| data | array | {"code":"TC","phone_code":"999","phone_length":9} |
| name_ar | string | أختبار دولة |
| name_en | string | Test Country |
{
"data": {
"id": 3,
"data": {
"code": "TC",
"phone_code": "999",
"phone_length": 9
},
"type": "country",
"name_ar": "أختبار دولة",
"name_en": "Test Country",
"created_at": "19-10-2026 07:12:14",
"setting_id": null,
"updated_at": "2026-10-19T07:12:14.000000Z"
},
"message": "Data inserted successfully.",
"success": true
}
Create city
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name_ar | string | أختبار مدينة |
| name_en | string | Test City |
| parent_id | integer | 1 |
{
"data": {
"id": 4,
"type": "city",
"name_ar": "أختبار مدينة",
"name_en": "Test City",
"created_at": "19-10-2026 07:12:15",
"setting_id": 1,
"updated_at": "2026-10-19T07:12:15.000000Z"
},
"message": "Data inserted successfully.",
"success": true
}
Create nationality
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name_ar | string | أختبار جنسية |
| name_en | string | Test Nationality |
{
"data": {
"id": 5,
"type": "nationality",
"name_ar": "أختبار جنسية",
"name_en": "Test Nationality",
"created_at": "19-10-2026 07:12:15",
"setting_id": null,
"updated_at": "2026-10-19T07:12:15.000000Z"
},
"message": "Data inserted successfully.",
"success": true
}
Update country
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 1 |
| data | array | {"code":"TC","phone_code":"999","phone_length":9} |
| name_ar | string | أختبار دولة |
| name_en | string | Test Country |
{
"data": {
"id": 1,
"data": {
"code": "TC",
"phone_code": "999",
"phone_length": 9
},
"type": "country",
"name_ar": "أختبار دولة",
"name_en": "Test Country",
"is_active": 1,
"created_at": "19-10-2026 07:10:19",
"deleted_at": null,
"setting_id": null,
"updated_at": "2026-10-19T07:12:14.000000Z"
},
"message": "Data updated successfully.",
"success": true
}
Toggle country
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"code": "TC",
"type": "country",
"name_ar": "أختبار دولة",
"name_en": "Test Country",
"is_active": false,
"phone_code": "999",
"setting_id": null,
"phone_length": 9
},
"message": "Data updated successfully.",
"success": true
}
Delete country
Locations
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Valuer Portal API
Valuer Dashboard
Valuer Dashboard
Valuer dashboard.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"city": "Test Country",
"name": "Portal Co",
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"status": "approved",
"country": "Test Country",
"reference": null,
"company_name": "Portal Co",
"business_type": "corporate",
"contact_person": "Lina Saad",
"valuer_request": {
"id": 5,
"ulid": null,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 3,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"extracted_value": null,
"rejection_reason": null
}
],
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": true
},
"document_status": "1 of 1 approved",
"individual_name": null,
"submission_date": "19 Oct 2026",
"rejection_reason": null,
"required_actions": [
"6 documents are missing"
],
"workspace_status": "active"
}
}
Get Application
Get application.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"ulid": null,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 3,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"extracted_value": null,
"rejection_reason": null
}
],
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": true
}
}
Get Documents
Get documents.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 3,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"extracted_value": null,
"rejection_reason": null
}
]
}
Download Document
Download document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"path": "valuer_documents\/demo\/portal_taqeem_license.pdf"
}
Reupload Document
Reupload a provider document.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Authorization | string | Authorization Key |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| document | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
{
"data": {
"id": 3,
"status": "pending",
"file_path": "uploads\/valuer_documents\/5\/taqeem_license\/1792394487.pdf",
"is_active": 1,
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:21:27.000000Z",
"document_type": "taqeem_license",
"valuer_request": {
"id": 5,
"status": "under_review",
"city_id": 1,
"documents": null,
"reference": null,
"tenant_id": 2,
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:21:27.000000Z",
"admin_notes": null,
"approved_at": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"valuation_type": [
4
],
"individual_name": null,
"rejection_reason": null,
"request_documents": [
{
"id": 3,
"status": "pending",
"file_path": "uploads\/valuer_documents\/5\/taqeem_license\/1792394487.pdf",
"is_active": 1,
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:21:27.000000Z",
"document_type": "taqeem_license",
"extracted_value": null,
"rejection_reason": null,
"valuer_request_id": 5
}
],
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"rejected_from_status": null
},
"extracted_value": null,
"rejection_reason": null,
"valuer_request_id": 5
},
"message": "Document reuploaded successfully."
}
Review Status
Review status.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"status": "under_review"
}
Workspace
Workspace.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"domain": "https:\/\/qeei-backend-admin-dev.dafa.dev\/portal-co-doc",
"subdomain": "portal-co-doc",
"workspace_status": "active",
"application_status": "under_review"
}
Contact Us
Submit Contact Us Message
Submit a contact-us message.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| message | string | I would like to know more about the subscription plans. |
| message_type | string | inquiry |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| message_type | required, string, max 255 |
| message | required, string, max 5000 |
| attachments | optional, array, max 3 |
| attachments[] | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
{
"data": {
"id": 1,
"valuer": {
"id": 3,
"name": "Portal Co",
"email": "demo.valuer@doctest.com"
},
"message": "I would like to know more about the subscription plans.",
"created_at": "2026-10-19T07:21:27+00:00",
"attachments": [],
"message_type": "inquiry"
},
"message": "Your message has been received. Our team will review it and get back to you.",
"success": true
}
Profile
Update Valuer Profile
Update valuer profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| _method | string | PUT |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Portal Co |
| about | string | Independent valuation company serving the local market. |
| company_name | string | Portal Co |
| contact_person_name | string | Lina Saad |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| phone | optional, string, max 20, regex, Unique |
| password | optional, must match its *_confirmation field, StrongPassword |
| current_password | required, required_with, current_password |
| about | optional, string |
| logo | optional, string, max 2048 |
| cover | optional, string, max 2048 |
| company_name | optional, string, max 255, regex |
| individual_name | optional, string, max 255, regex |
| contact_person_name | optional, string, max 255, regex |
| business_type | optional, enum: individual, corporate |
| country_id | optional, integer |
| city_id | optional, integer |
| valuation_type | optional, array |
| valuation_type[] | required, integer, distinct, Exists |
| domain | optional, string, max 100, regex |
{
"data": {
"id": 3,
"name": "Portal Co",
"ulid": null,
"email": "demo.valuer@doctest.com",
"status": null,
"city_id": null,
"tenant_id": 2,
"country_id": null,
"created_at": "2026-10-19T07:19:59.000000Z",
"updated_at": "2026-10-19T07:21:28.000000Z",
"admin_notes": null,
"approved_at": null,
"category_id": null,
"valuer_type": null,
"valuer_request": {
"id": 5,
"ulid": null,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "under_review",
"city_id": 1,
"country": "Test Country",
"documents": null,
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:21:27.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": null,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": null
},
"authorized_contact_name": null
},
"message": "Data updated successfully.",
"success": true
}
Valuer Admin API
Tags
Create Tag
Create a new Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| color | string | #FF0000 |
| status | integer | 1 |
| tag_name | array | {"ar":"\u0648\u0633\u0645 \u062a\u062c\u0631\u064a\u0628\u064a 96182373","en":"Test Tag 96182373"} |
| category_id | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| tag_name.ar | required, ArabicLetters |
| tag_name.en | required, EnglishLetters |
| category_id | required, integer, Exists |
| color | optional, string, allowed: #FF0000, #0000FF, #00FF01, #FFFF00, #800080, #FFA500, #FFC0CB, #00FFFF |
| status | optional, true/false |
{
"data": {
"id": 3,
"color": "#FF0000",
"status": true,
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "",
"translate": {
"tag_name": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data inserted successfully.",
"success": true
}
Get Tag List
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Search Tag List
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Test Tag 96182373 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Filter Tag List by Active Status
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| status | integer | 1 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Filter Tag List by Inactive Status
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| status | integer | 0 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Filter Tag List by Category
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| category_id | integer | 1 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Search and Filter Tag List
Retrieve a list of Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Ov93bW18YhSO/lsFYcXSWI+tXbhA2F1hFZW0HvWg/P2UEcv2i1bRItHE6BJEmO0o |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| search | string | Test Tag 96182373 |
| status | integer | 1 |
{
"data": [],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 0,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Get Tag Details
Retrieve Tag details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | lpKg2gapwqOvyYf501G0GZlGtF0DdljrTcdD4KMpSyq87/Xt8xwyrJUqU/fzJVdR |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"color": "#FF0000",
"status": true,
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "",
"translate": {
"tag_name": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
},
"message": "Data retrieved successfully.",
"success": true
}
Update Tag
Update an existing Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | lpKg2gapwqOvyYf501G0GZlGtF0DdljrTcdD4KMpSyq87/Xt8xwyrJUqU/fzJVdR |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| id | integer | 5 |
| color | string | #0000FF |
| status | integer | 1 |
| tag_name | array | {"ar":"\u0648\u0633\u0645 \u062a\u062c\u0631\u064a\u0628\u064a 99989620","en":"Test Tag 99989620"} |
| category_id | integer | 7 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| tag_name.ar | required, ArabicLetters |
| tag_name.en | required, EnglishLetters |
| category_id | required, integer, Exists |
| color | optional, string, allowed: #FF0000, #0000FF, #00FF01, #FFFF00, #800080, #FFA500, #FFC0CB, #00FFFF |
| status | optional, true/false |
{
"data": {
"id": 5,
"color": "#0000FF",
"status": true,
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "Test Tag 99989620",
"translate": {
"tag_name": {
"ar": "وسم تجريبي 99989620",
"en": "Test Tag 99989620"
}
},
"created_at": "2026-10-19"
},
"message": "Data updated successfully.",
"success": true
}
Toggle Tag Status
Switch the Tag status between active and inactive.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | lpKg2gapwqOvyYf501G0GZlGtF0DdljrTcdD4KMpSyq87/Xt8xwyrJUqU/fzJVdR |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"color": "#0000FF",
"status": false,
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "Test Tag 99989620",
"translate": {
"tag_name": {
"ar": "وسم تجريبي 99989620",
"en": "Test Tag 99989620"
}
},
"created_at": "2026-10-19"
},
"message": "Data updated successfully.",
"success": true
}
Delete Tag
Delete a Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | lpKg2gapwqOvyYf501G0GZlGtF0DdljrTcdD4KMpSyq87/Xt8xwyrJUqU/fzJVdR |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Deleted Tag
List deleted Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | vGSQytT5TvS5pb7QWIT4XDEoK+WNAKMZl+iiCcwfyRzNPEXmP2tJ/PP3fQhTczWD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 5,
"color": "#0000FF",
"status": false,
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "Test Tag 99989620",
"translate": {
"tag_name": {
"ar": "وسم تجريبي 99989620",
"en": "Test Tag 99989620"
}
},
"created_at": "2026-10-19"
},
{
"id": 6,
"color": "#00FF01",
"status": true,
"category": {
"id": 7,
"icon": "mobile-vehicle-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"tag_name": "",
"translate": {
"tag_name": {
"ar": "",
"en": ""
}
},
"created_at": "2026-10-19"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 2,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}
Restore Tag
Restore deleted Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | vGSQytT5TvS5pb7QWIT4XDEoK+WNAKMZl+iiCcwfyRzNPEXmP2tJ/PP3fQhTczWD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data restored successfully.",
"success": true
}
Permanently Delete Tag
Force delete Tag.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | vGSQytT5TvS5pb7QWIT4XDEoK+WNAKMZl+iiCcwfyRzNPEXmP2tJ/PP3fQhTczWD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Manage Plans
Get Valuer Plans
Get valuer plans list.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | griYpn0aX7WekiMDDOFcrq5RP09/Ujp30Imp+B+gG0W+GTCqM4AEB+oVS8Hibusb |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 3,
"name": "Company plan A",
"color": "#059669",
"features": [],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة أ",
"en": "Company plan A"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "50.00",
"badge_label": null,
"renewal_date": null,
"billing_cycle": "monthly",
"is_subscribed": false,
"platform_type": "valuer",
"regular_price": "100.00",
"remaining_days": null,
"subscribers_count": 0
},
{
"id": 4,
"name": "Company plan B",
"color": "#6C5DD3",
"features": [
{
"id": 1,
"name": "feature 1",
"value": 100,
"translate": {
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
}
}
}
],
"is_active": true,
"translate": {
"name": {
"ar": "خطة الشركة ب",
"en": "Company plan B"
},
"badge_label": {
"ar": null,
"en": null
}
},
"sale_price": "100.00",
"badge_label": null,
"renewal_date": "2026-11-19T07:26:01.000000Z",
"billing_cycle": "monthly",
"is_subscribed": true,
"platform_type": "valuer",
"regular_price": "200.00",
"remaining_days": 30,
"subscribers_count": 0
}
],
"message": "Plans retrieved successfully",
"success": true
}
Get My Plan
Get my current plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | griYpn0aX7WekiMDDOFcrq5RP09/Ujp30Imp+B+gG0W+GTCqM4AEB+oVS8Hibusb |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 5,
"plan": {
"id": 4,
"name": {
"ar": "خطة الشركة ب",
"en": "Company plan B"
},
"color": "#6C5DD3",
"is_active": true,
"sale_price": "100.00",
"badge_label": {
"ar": null,
"en": null
},
"billing_cycle": "monthly",
"platform_type": "valuer",
"regular_price": "200.00"
},
"status": "active",
"ends_at": "2026-11-19T07:26:01.000000Z",
"features": [
{
"id": 1,
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
},
"value": 100
}
],
"plan_key": null,
"is_active": true,
"sale_type": "fixed",
"starts_at": "2026-10-19T07:26:01.000000Z",
"sale_price": "100.00",
"tenant_ulid": "01m59fy6xrswbjxqvzmzebngvc",
"last_payment": "2026-10-19T07:26:01.000000Z",
"billing_cycle": "monthly",
"regular_price": "200.00",
"manage_plan_id": 4,
"remaining_days": 30
},
"message": "Plan retrieved successfully",
"success": true
}
Cancel Subscription
Cancel subscription.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | griYpn0aX7WekiMDDOFcrq5RP09/Ujp30Imp+B+gG0W+GTCqM4AEB+oVS8Hibusb |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| cancelled_reason | string | No longer needed |
{
"data": {
"id": 5,
"plan": {
"id": 4,
"name": {
"ar": "خطة الشركة ب",
"en": "Company plan B"
},
"color": "#6C5DD3",
"is_active": true,
"sale_price": "100.00",
"badge_label": {
"ar": null,
"en": null
},
"billing_cycle": "monthly",
"platform_type": "valuer",
"regular_price": "200.00"
},
"status": "cancelled",
"ends_at": "2026-11-19T07:26:01.000000Z",
"features": [
{
"id": 1,
"name": {
"ar": "خاصيه واحد",
"en": "feature 1"
},
"value": 100
}
],
"plan_key": null,
"is_active": false,
"sale_type": "fixed",
"starts_at": "2026-10-19T07:26:01.000000Z",
"sale_price": "100.00",
"tenant_ulid": "01m59fy6xrswbjxqvzmzebngvc",
"cancelled_at": "2026-10-19T07:26:02.000000Z",
"last_payment": "2026-10-19T07:26:01.000000Z",
"billing_cycle": "monthly",
"regular_price": "200.00",
"manage_plan_id": 4,
"remaining_days": null,
"cancelled_reason": "No longer needed"
},
"message": "Subscription cancelled successfully",
"success": true
}
Subscribe To Plan
Subscribe user to plan.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | griYpn0aX7WekiMDDOFcrq5RP09/Ujp30Imp+B+gG0W+GTCqM4AEB+oVS8Hibusb |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| plan_id | integer | 3 |
{
"data": {
"id": 6,
"plan": {
"id": 3,
"name": {
"ar": "خطة الشركة أ",
"en": "Company plan A"
},
"color": "#059669",
"is_active": true,
"sale_price": "50.00",
"badge_label": {
"ar": null,
"en": null
},
"billing_cycle": "monthly",
"platform_type": "valuer",
"regular_price": "100.00"
},
"status": "active",
"ends_at": "2026-11-19T07:26:02.000000Z",
"features": [],
"plan_key": null,
"is_active": true,
"sale_type": "fixed",
"starts_at": "2026-10-19T07:26:02.000000Z",
"sale_price": "50.00",
"tenant_ulid": "01m59fy6xrswbjxqvzmzebngvc",
"last_payment": "2026-10-19T07:26:02.000000Z",
"billing_cycle": "monthly",
"regular_price": "100.00",
"manage_plan_id": 3,
"remaining_days": null
},
"message": "Subscribed successfully",
"success": true
}
Authentication
Login
Standard mobile login.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| step | integer | 1 |
| string | doc-admin@base.com | |
| password | string | P@ssw0rd123 |
{
"data": {
"id": 3,
"name": "Documentation Admin",
"email": "doc-admin@base.com",
"phone": "01000000000",
"roles": [],
"token": "119|NgNVce1Vag8qJAaYVUnEErs1nA9wR0PDs3ik4GzE776b1cbf",
"avatar": null,
"created_at": "2026-10-19",
"expires_in": null,
"token_type": "Bearer",
"permissions": []
},
"message": "welcome Documentation Admin",
"success": true
}
Forget Password
Request reset OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Please check your email",
"success": true
}
Verify Forget Password OTP
Verify reset OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| string | doc-admin@base.com | |
| change_password_token | string | SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw |
{
"data": {
"change_password_token": "SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw"
},
"message": "Your Otp Verified successfully.",
"success": true
}
Reset Password
Complete password reset.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com | |
| password | string | NewP@ssw0rd123 |
| change_password_token | string | SJXwJKTiW6hxnFSn7i7IyScUUYpIQSCM9o5L4qmZBgcHlaNBzQKpe05QPKNrbPIw |
| new_password_confirmation | string | NewP@ssw0rd123 |
{
"data": [],
"message": "Password reset successfully.",
"success": true
}
Resend OTP
Resend verification code.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | doc-admin@base.com |
{
"data": {
"otp": 1234
},
"message": "OTP resent successfully.",
"success": true
}
Logout
Admin logout.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Good by.",
"success": true
}
Valuer Admin
Get Subdomain Tenant Info
Get tenant id and info by subdomain.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| subdomain | string | doc-JDao10o8 |
{
"data": {
"id": "vnEjj4OocheqGMIITxSKVDBtSjIxsjVXiaKqMybhzb0KPCXbbLw8dyjseO5bUZvh",
"logo": null,
"name": "Documentation Tenant",
"domain": "doc-JDao10o8"
},
"message": "Subdomain resolved successfully.",
"success": true
}
Refresh Token
Refresh admin token.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | NZsvDHiliC97hKwUGNO5xZU236lfYowoKCE1fdbskzuYnnJVIh44JlDxNWSLmKuW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"user": {
"id": 1,
"name": "Admin",
"email": "ValuerAdmin@base.com",
"phone": "000000000000",
"roles": [
{
"id": 1,
"pivot": {
"role_id": 1,
"admin_id": 1
},
"is_active": 1,
"created_at": "2026-10-19T07:10:12.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:20:31.000000Z"
},
{
"id": 2,
"pivot": {
"role_id": 2,
"admin_id": 1
},
"is_active": 1,
"created_at": "2026-10-19T07:10:12.000000Z",
"deleted_at": null,
"updated_at": "2026-10-19T07:20:31.000000Z"
}
],
"avatar": null,
"is_active": true,
"job_title": null,
"created_at": "2026-10-19T07:10:14.000000Z",
"tenant_ulid": "01m59fy6xrswbjxqvzmzebngvc",
"contract_type": null,
"last_login_at": "2026-10-19T07:22:06.000000Z"
},
"token": "120|jRzKAd7uRAnO6WmkbvO6w3fmjUfKlbz6rASs5f1b771b5dda",
"expires_in": null,
"token_type": "Bearer"
},
"message": "New Token",
"success": true
}
Administration
Get Role ValuerPermissions
List role permissions.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | lvupuIy3TVjdwel5q0VSnL18qOaLSQQjxoaXH214yWWCKp6VsJ/ZcJIB3AfR0S03 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"title": "Users",
"permissions": [
{
"id": 1,
"name": "users-fetch",
"title": "Fetch Data",
"model_id": 1,
"permission_id": 1
},
{
"id": 2,
"name": "users-create",
"title": "Create Data",
"model_id": 1,
"permission_id": 2
},
{
"id": 3,
"name": "users-read",
"title": "Read Data",
"model_id": 1,
"permission_id": 3
},
{
"id": 4,
"name": "users-update",
"title": "Update Data",
"model_id": 1,
"permission_id": 4
},
{
"id": 5,
"name": "users-delete",
"title": "Delete Data",
"model_id": 1,
"permission_id": 5
}
]
},
{
"id": 2,
"title": "Valuers",
"permissions": [
{
"id": 6,
"name": "valuers-fetch",
"title": "Fetch Data",
"model_id": 2,
"permission_id": 1
},
{
"id": 7,
"name": "valuers-create",
"title": "Create Data",
"model_id": 2,
"permission_id": 2
},
{
"id": 8,
"name": "valuers-read",
"title": "Read Data",
"model_id": 2,
"permission_id": 3
},
{
"id": 9,
"name": "valuers-update",
"title": "Update Data",
"model_id": 2,
"permission_id": 4
},
{
"id": 10,
"name": "valuers-delete",
"title": "Delete Data",
"model_id": 2,
"permission_id": 5
}
]
},
{
"id": 3,
"title": "Requests",
"permissions": [
{
"id": 11,
"name": "requests-fetch",
"title": "Fetch Data",
"model_id": 3,
"permission_id": 1
},
{
"id": 12,
"name": "requests-create",
"title": "Create Data",
"model_id": 3,
"permission_id": 2
},
{
"id": 13,
"name": "requests-read",
"title": "Read Data",
"model_id": 3,
"permission_id": 3
},
{
"id": 14,
"name": "requests-update",
"title": "Update Data",
"model_id": 3,
"permission_id": 4
},
{
"id": 15,
"name": "requests-delete",
"title": "Delete Data",
"model_id": 3,
"permission_id": 5
}
]
},
{
"id": 4,
"title": "Reports",
"permissions": [
{
"id": 16,
"name": "reports-fetch",
"title": "Fetch Data",
"model_id": 4,
"permission_id": 1
},
{
"id": 17,
"name": "reports-create",
"title": "Create Data",
"model_id": 4,
"permission_id": 2
},
{
"id": 18,
"name": "reports-read",
"title": "Read Data",
"model_id": 4,
"permission_id": 3
},
{
"id": 19,
"name": "reports-update",
"title": "Update Data",
"model_id": 4,
"permission_id": 4
},
{
"id": 20,
"name": "reports-delete",
"title": "Delete Data",
"model_id": 4,
"permission_id": 5
}
]
},
{
"id": 5,
"title": "Team Management",
"permissions": [
{
"id": 21,
"name": "team_management-fetch",
"title": "Fetch Data",
"model_id": 5,
"permission_id": 1
},
{
"id": 22,
"name": "team_management-create",
"title": "Create Data",
"model_id": 5,
"permission_id": 2
},
{
"id": 23,
"name": "team_management-read",
"title": "Read Data",
"model_id": 5,
"permission_id": 3
},
{
"id": 24,
"name": "team_management-update",
"title": "Update Data",
"model_id": 5,
"permission_id": 4
},
{
"id": 25,
"name": "team_management-delete",
"title": "Delete Data",
"model_id": 5,
"permission_id": 5
}
]
},
{
"id": 6,
"title": "Finance",
"permissions": [
{
"id": 26,
"name": "finance-fetch",
"title": "Fetch Data",
"model_id": 6,
"permission_id": 1
},
{
"id": 27,
"name": "finance-create",
"title": "Create Data",
"model_id": 6,
"permission_id": 2
},
{
"id": 28,
"name": "finance-read",
"title": "Read Data",
"model_id": 6,
"permission_id": 3
},
{
"id": 29,
"name": "finance-update",
"title": "Update Data",
"model_id": 6,
"permission_id": 4
},
{
"id": 30,
"name": "finance-delete",
"title": "Delete Data",
"model_id": 6,
"permission_id": 5
}
]
},
{
"id": 7,
"title": "reviews",
"permissions": [
{
"id": 31,
"name": "reviews-fetch",
"title": "Fetch Data",
"model_id": 7,
"permission_id": 1
},
{
"id": 32,
"name": "reviews-create",
"title": "Create Data",
"model_id": 7,
"permission_id": 2
},
{
"id": 33,
"name": "reviews-read",
"title": "Read Data",
"model_id": 7,
"permission_id": 3
},
{
"id": 34,
"name": "reviews-update",
"title": "Update Data",
"model_id": 7,
"permission_id": 4
},
{
"id": 35,
"name": "reviews-delete",
"title": "Delete Data",
"model_id": 7,
"permission_id": 5
}
]
}
],
"message": "Role permissions retrieved successfully.",
"success": true
}
Delete Role
Delete a Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | /R0BMWP2a05aW/sjafoyD+a9nlgJniBpEBfXZ5ygIfMa+bUA9AfgFWwsjQx8x+tO |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Role deleted successfully.",
"success": true
}
Permanently Delete Role
Force delete Role.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | DDlsdZEVMtDuRyVBaYAr2AEOVgDqHlzZM4u6q1EfdveV//i8diE95243MWCko+bl |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Role permanently deleted.",
"success": true
}
Services
Create Service
Create a new Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | F93Nx1D1r4E7pGMzskN+BaE2F7ROdkD+OJNiacVn2GfQFb+5oL44WsbG11nUAvnP |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Documentation Create Service 56409788 |
| form_id | integer | 5 |
| name_ar | string | خدمة موثقة 56409788 |
| benefits | array | [{"name":"Benefit A"},{"name":"Benefit B"}] |
| currency | string | SAR |
| features | array | ["feature-a","feature-b"] |
| overview | string | A short overview of the service. |
| is_active | integer | 1 |
| price_end | integer | 600 |
| category_id | integer | 1 |
| description | string | Full description of the service offering. |
| overview_ar | string | نظرة عامة مختصرة عن الخدمة. |
| price_start | integer | 150 |
| description_ar | string | وصف كامل للخدمة. |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | required, string, max 255 |
| name_ar | optional, string, max 255 |
| category_id | required, Closure |
| form_id | required, exists forms,id, unique service,form_id,, Closure |
| overview | optional, string |
| overview_ar | optional, string |
| description | optional, string |
| description_ar | optional, string |
| price_start | optional, number, min 0 |
| price_end | optional, number, min 0 |
| currency | optional, string, size |
| features | optional, array |
| features[] | string |
| image | optional, image, file types: jpg,jpeg,png,webp, max 5120 KB (upload) |
| benefits | optional, array |
| benefits[].name | required, string, max 255 |
| benefits[].icon | optional, string |
| is_active | boolean |
{
"data": {
"id": 9,
"name": "Documentation Create Service 56409788",
"tags": [],
"image": null,
"rating": 0,
"form_id": 5,
"benefits": [
{
"id": 4,
"icon": null,
"name": "Benefit A",
"service_id": 9,
"sort_order": 0
},
{
"id": 5,
"icon": null,
"name": "Benefit B",
"service_id": 9,
"sort_order": 1
}
],
"currency": "SAR",
"duration": null,
"features": [
"feature-a",
"feature-b"
],
"overview": "A short overview of the service.",
"is_active": true,
"price_end": 600,
"translate": {
"name": {
"ar": "خدمة موثقة 56409788",
"en": "Documentation Create Service 56409788"
},
"overview": {
"ar": "نظرة عامة مختصرة عن الخدمة.",
"en": "A short overview of the service."
},
"description": {
"ar": "وصف كامل للخدمة.",
"en": "Full description of the service offering."
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Full description of the service offering.",
"price_start": 150,
"reviews_count": 0
},
"message": "Data inserted successfully.",
"success": true
}
Get Service List
Get the Service List of your own valuer company.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | F93Nx1D1r4E7pGMzskN+BaE2F7ROdkD+OJNiacVn2GfQFb+5oL44WsbG11nUAvnP |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": "Documentation Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 2,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": "Documentation service overview",
"is_active": true,
"price_end": 500,
"translate": {
"name": {
"ar": "خدمة موثقة",
"en": "Documentation Service"
},
"overview": {
"ar": "نظرة عامة",
"en": "Documentation service overview"
},
"description": {
"ar": "وصف الخدمة",
"en": "Documentation service description"
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Documentation service description",
"price_start": 100,
"reviews_count": 0
},
{
"id": 3,
"name": "Documentation Secondary Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 3,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": null,
"is_active": true,
"price_end": 800,
"translate": {
"name": {
"ar": "",
"en": "Documentation Secondary Service"
},
"overview": {
"ar": null,
"en": null
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"price_start": 200,
"reviews_count": 0
},
{
"id": 9,
"name": "Documentation Create Service 56409788",
"tags": [],
"image": null,
"rating": 0,
"form_id": 5,
"benefits": [
{
"id": 4,
"icon": null,
"name": "Benefit A",
"service_id": 9,
"sort_order": 0
},
{
"id": 5,
"icon": null,
"name": "Benefit B",
"service_id": 9,
"sort_order": 1
}
],
"currency": "SAR",
"duration": null,
"features": [
"feature-a",
"feature-b"
],
"overview": "A short overview of the service.",
"is_active": true,
"price_end": 600,
"translate": {
"name": {
"ar": "خدمة موثقة 56409788",
"en": "Documentation Create Service 56409788"
},
"overview": {
"ar": "نظرة عامة مختصرة عن الخدمة.",
"en": "A short overview of the service."
},
"description": {
"ar": "وصف كامل للخدمة.",
"en": "Full description of the service offering."
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Full description of the service offering.",
"price_start": 150,
"reviews_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 3,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Get Service Form
View the form attached to a service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | F93Nx1D1r4E7pGMzskN+BaE2F7ROdkD+OJNiacVn2GfQFb+5oL44WsbG11nUAvnP |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Documentation Secondary Form",
"steps": [],
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data retrieved successfully.",
"success": true
}
Attach Form to Service
Link a form to a service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | F93Nx1D1r4E7pGMzskN+BaE2F7ROdkD+OJNiacVn2GfQFb+5oL44WsbG11nUAvnP |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| form_id | integer | 6 |
{
"data": {
"id": 3,
"form": {
"id": 6,
"name": "Documentation Attach Form zKax8U",
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"name": "Documentation Secondary Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 6,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": null,
"is_active": true,
"price_end": 800,
"translate": {
"name": {
"ar": "",
"en": "Documentation Secondary Service"
},
"overview": {
"ar": null,
"en": null
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"price_start": 200,
"reviews_count": 0
},
"message": "Form attached successfully.",
"success": true
}
Get Service Details
Retrieve Service details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7CaQNQ/ibEjv14X0EKha7CCh4IBI5k9rz8u8F24nSt+iWWdpFvrcFZ5F+sR9t2Qf |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"form": {
"id": 2,
"name": "Documentation Form",
"steps": [
{
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"questions": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 20,
"label": "Documentation Delete Question 59xh5N",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 23,
"label": "Documentation Delete Question M8tXjc",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 25,
"label": "Documentation Delete Question s4ijOi",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
{
"id": 16,
"is_default": false,
"sort_order": 3,
"question_id": 1,
"option_label": "Documentation Option 93343809",
"option_value": "doc_option_47325767",
"price_adjustment_type": "fixed",
"price_adjustment_value": 10
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 22,
"label": "Documentation Create Question 97293857",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 2,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
{
"id": 21,
"title": "Documentation Create Step 87876417",
"form_id": 2,
"questions": [],
"step_number": 2
},
{
"id": 2,
"title": "Documentation Delete Step 9qezwj",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 7,
"title": "Documentation Delete Step ARwFSX",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 18,
"title": "Documentation Delete Step evatQQ",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 22,
"title": "Documentation Delete Step IVI0lB",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 25,
"title": "Documentation Delete Step 1DUusK",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 12,
"title": "Additional Info 15880251",
"form_id": 2,
"questions": [
{
"id": 12,
"label": "Occupancy Status 15880251",
"tag_id": null,
"options": [
{
"id": 8,
"is_default": true,
"sort_order": 1,
"question_id": 12,
"option_label": "Occupied",
"option_value": "occupied",
"price_adjustment_type": "percentage",
"price_adjustment_value": 5
},
{
"id": 9,
"is_default": false,
"sort_order": 2,
"question_id": 12,
"option_label": "Vacant",
"option_value": "vacant",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 12,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 13,
"label": "Year Built 15880251",
"tag_id": null,
"options": [],
"step_id": 12,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 100
}
],
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"name": "Documentation Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 2,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": "Documentation service overview",
"is_active": true,
"price_end": 500,
"translate": {
"name": {
"ar": "خدمة موثقة",
"en": "Documentation Service"
},
"overview": {
"ar": "نظرة عامة",
"en": "Documentation service overview"
},
"description": {
"ar": "وصف الخدمة",
"en": "Documentation service description"
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Documentation service description",
"price_start": 100,
"reviews_count": 0
},
"message": "Data retrieved successfully.",
"success": true
}
Update Service
Update an existing Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7CaQNQ/ibEjv14X0EKha7CCh4IBI5k9rz8u8F24nSt+iWWdpFvrcFZ5F+sR9t2Qf |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| currency | string | SAR |
| is_active | integer | 1 |
| price_end | integer | 750 |
| price_start | integer | 250 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| name_ar | optional, string, max 255 |
| category_id | optional, Closure |
| form_id | optional, exists forms,id, unique service,form_id,, Closure |
| overview | optional, string |
| overview_ar | optional, string |
| description | optional, string |
| description_ar | optional, string |
| price_start | optional, number, min 0 |
| price_end | optional, number, min 0 |
| currency | optional, string, size |
| features | optional, array |
| features[] | string |
| image | optional, image, file types: jpg,jpeg,png,webp, max 5120 KB (upload) |
| delete_image | optional, true/false |
| benefits | optional, array |
| benefits[].name | required, string, max 255 |
| benefits[].icon | optional, string |
| is_active | boolean |
{
"data": {
"id": 2,
"name": "Documentation Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 2,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": "Documentation service overview",
"is_active": true,
"price_end": 750,
"translate": {
"name": {
"ar": "خدمة موثقة",
"en": "Documentation Service"
},
"overview": {
"ar": "نظرة عامة",
"en": "Documentation service overview"
},
"description": {
"ar": "وصف الخدمة",
"en": "Documentation service description"
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Documentation service description",
"price_start": 250,
"reviews_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Partially Update Service
Update selected service fields.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7CaQNQ/ibEjv14X0EKha7CCh4IBI5k9rz8u8F24nSt+iWWdpFvrcFZ5F+sR9t2Qf |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| price_end | integer | 850 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| name_ar | optional, string, max 255 |
| category_id | optional, Closure |
| form_id | optional, exists forms,id, unique service,form_id,, Closure |
| overview | optional, string |
| overview_ar | optional, string |
| description | optional, string |
| description_ar | optional, string |
| price_start | optional, number, min 0 |
| price_end | optional, number, min 0 |
| currency | optional, string, size |
| features | optional, array |
| features[] | string |
| image | optional, image, file types: jpg,jpeg,png,webp, max 5120 KB (upload) |
| delete_image | optional, true/false |
| benefits | optional, array |
| benefits[].name | required, string, max 255 |
| benefits[].icon | optional, string |
| is_active | boolean |
{
"data": {
"id": 2,
"name": "Documentation Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 2,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": "Documentation service overview",
"is_active": true,
"price_end": 850,
"translate": {
"name": {
"ar": "خدمة موثقة",
"en": "Documentation Service"
},
"overview": {
"ar": "نظرة عامة",
"en": "Documentation service overview"
},
"description": {
"ar": "وصف الخدمة",
"en": "Documentation service description"
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Documentation service description",
"price_start": 250,
"reviews_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Toggle Service Status
Enable or disable a service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7CaQNQ/ibEjv14X0EKha7CCh4IBI5k9rz8u8F24nSt+iWWdpFvrcFZ5F+sR9t2Qf |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"form": {
"id": 2,
"name": "Documentation Form",
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"name": "Documentation Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 2,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": "Documentation service overview",
"is_active": false,
"price_end": 850,
"translate": {
"name": {
"ar": "خدمة موثقة",
"en": "Documentation Service"
},
"overview": {
"ar": "نظرة عامة",
"en": "Documentation service overview"
},
"description": {
"ar": "وصف الخدمة",
"en": "Documentation service description"
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": "Documentation service description",
"price_start": 250,
"reviews_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Delete Service
Delete a Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7CaQNQ/ibEjv14X0EKha7CCh4IBI5k9rz8u8F24nSt+iWWdpFvrcFZ5F+sR9t2Qf |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Deleted Service
List deleted Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | OXmXZECpxH3E3mVODSDKyDk5Qg36PzPPbiDKjuOHNUu9lqVkFESyTvDwbwl8MNvz |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 4,
"name": "Documentation Trashed Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 4,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": null,
"is_active": false,
"price_end": 150,
"translate": {
"name": {
"ar": "",
"en": "Documentation Trashed Service"
},
"overview": {
"ar": null,
"en": null
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"price_start": 50,
"reviews_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 1,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Restore Service
Restore deleted Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | OXmXZECpxH3E3mVODSDKyDk5Qg36PzPPbiDKjuOHNUu9lqVkFESyTvDwbwl8MNvz |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 4,
"form": {
"id": 4,
"name": "Documentation Trashed Form",
"status": "archived",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"name": "Documentation Trashed Service",
"tags": [],
"image": null,
"rating": 0,
"form_id": 4,
"benefits": [],
"currency": "SAR",
"duration": null,
"features": [],
"overview": null,
"is_active": false,
"price_end": 150,
"translate": {
"name": {
"ar": "",
"en": "Documentation Trashed Service"
},
"overview": {
"ar": null,
"en": null
},
"description": {
"ar": null,
"en": null
}
},
"valuer_id": 6,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"price_start": 50,
"reviews_count": 0
},
"message": "Data updated successfully.",
"success": true
}
Permanently Delete Service
Force delete Service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | OXmXZECpxH3E3mVODSDKyDk5Qg36PzPPbiDKjuOHNUu9lqVkFESyTvDwbwl8MNvz |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Service Forms
Create Form with Builder
Create a form with its steps, questions and options.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Documentation Builder Form 15880251 |
| steps | array | [{"title":"Property Info 15880251","questions":[{"label":"Property Type 15880251","options":[{"is_default":true,"option_label":"Villa","option_value":"villa","price_adjustment_type":"fixed","price_adjustment_value":0},{"option_label":"Apartment","option_value":"apartment"}],"field_type":"radio","is_required":true},{"label":"Built Area 15880251","field_type":"number","pricing_type":"per_unit","pricing_unit":"m2","pricing_value":5}]},{"title":"Documents 15880251","questions":[{"label":"Attach Documents 15880251","field_type":"file"}]}] |
| currency | string | SAR |
| base_price | integer | 120 |
| category_id | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | required, string, max 255 |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
| category_id | required, Closure |
| steps | required, array, min 1 |
| steps[] | required, array |
| steps[].title | optional, string, max 255 |
| steps[].step_number | optional, integer, min 1 |
| steps[].questions | required, array, min 1 |
| steps[].questions.* | required, array |
| steps[].questions[].label | required, string, max 255 |
| steps[].questions[].description | optional, string |
| steps[].questions[].placeholder | optional, string, max 255 |
| steps[].questions[].field_type | required, allowed: short_text, paragraph, number, radio, checkbox, dropdown, date, file |
| steps[].questions[].tag_id | optional, exists tags,id |
| steps[].questions[].is_required | boolean |
| steps[].questions[].sort_order | optional, integer, min 0 |
| steps[].questions[].pricing_type | optional, allowed: fixed, percentage, multiplier, per_unit |
| steps[].questions[].pricing_value | optional, number, min 0 |
| steps[].questions[].pricing_unit | optional, string, max 50 |
| steps[].questions[].options | required if steps.*.questions.*.field_type = radio, array, min 1 |
| steps[].questions[].options.* | required, array |
| steps[].questions[].options[].option_value | required, string, max 255 |
| steps[].questions[].options[].option_label | required, string, max 255 |
| steps[].questions[].options[].price_adjustment_type | optional, allowed: fixed, percentage |
| steps[].questions[].options[].price_adjustment_value | optional, number, min 0 |
| steps[].questions[].options[].sort_order | optional, integer, min 0 |
| steps[].questions[].options[].is_default | boolean |
{
"data": {
"id": 17,
"name": "Documentation Builder Form 15880251",
"steps": [
{
"id": 10,
"title": "Property Info 15880251",
"form_id": 17,
"questions": [
{
"id": 9,
"label": "Property Type 15880251",
"tag_id": null,
"options": [
{
"id": 6,
"is_default": true,
"sort_order": 1,
"question_id": 9,
"option_label": "Villa",
"option_value": "villa",
"price_adjustment_type": "fixed",
"price_adjustment_value": 0
},
{
"id": 7,
"is_default": false,
"sort_order": 2,
"question_id": 9,
"option_label": "Apartment",
"option_value": "apartment",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 10,
"field_type": "radio",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 10,
"label": "Built Area 15880251",
"tag_id": null,
"options": [],
"step_id": 10,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": "per_unit",
"pricing_unit": "m2",
"pricing_value": 5
}
],
"step_number": 1
},
{
"id": 11,
"title": "Documents 15880251",
"form_id": 17,
"questions": [
{
"id": 11,
"label": "Attach Documents 15880251",
"tag_id": null,
"options": [],
"step_id": 11,
"field_type": "file",
"sort_order": 1,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 2
}
],
"status": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 120,
"created_at": "2026-10-19",
"category_id": 1,
"description": null
},
"message": "Data inserted successfully.",
"success": true
}
Add Steps to Existing Form
Edit a form and add new steps to it.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| steps | array | [{"title":"Additional Info 15880251","questions":[{"label":"Occupancy Status 15880251","options":[{"is_default":true,"option_label":"Occupied","option_value":"occupied","price_adjustment_type":"percentage","price_adjustment_value":5},{"option_label":"Vacant","option_value":"vacant"}],"field_type":"dropdown","is_required":true},{"label":"Year Built 15880251","field_type":"number"}]}] |
| base_price | integer | 175 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| category_id | optional, Closure |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
| steps | required, array, min 1 |
| steps[] | required, array |
| steps[].title | optional, string, max 255 |
| steps[].step_number | required, prohibited |
| steps[].questions | required, array, min 1 |
| steps[].questions.* | required, array |
| steps[].questions[].label | required, string, max 255 |
| steps[].questions[].description | optional, string |
| steps[].questions[].placeholder | optional, string, max 255 |
| steps[].questions[].field_type | required, allowed: short_text, paragraph, number, radio, checkbox, dropdown, date, file |
| steps[].questions[].tag_id | optional, exists tags,id |
| steps[].questions[].is_required | boolean |
| steps[].questions[].sort_order | optional, integer, min 0 |
| steps[].questions[].pricing_type | optional, allowed: fixed, percentage, multiplier, per_unit |
| steps[].questions[].pricing_value | optional, number, min 0 |
| steps[].questions[].pricing_unit | optional, string, max 50 |
| steps[].questions[].options | required if steps.*.questions.*.field_type = radio, array, min 1 |
| steps[].questions[].options.* | required, array |
| steps[].questions[].options[].option_value | required, string, max 255 |
| steps[].questions[].options[].option_label | required, string, max 255 |
| steps[].questions[].options[].price_adjustment_type | optional, allowed: fixed, percentage |
| steps[].questions[].options[].price_adjustment_value | optional, number, min 0 |
| steps[].questions[].options[].sort_order | optional, integer, min 0 |
| steps[].questions[].options[].is_default | boolean |
{
"data": {
"id": 2,
"name": "Documentation Form",
"steps": [
{
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"questions": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
{
"id": 2,
"title": "Documentation Delete Step 9qezwj",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 7,
"title": "Documentation Delete Step ARwFSX",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 12,
"title": "Additional Info 15880251",
"form_id": 2,
"questions": [
{
"id": 12,
"label": "Occupancy Status 15880251",
"tag_id": null,
"options": [
{
"id": 8,
"is_default": true,
"sort_order": 1,
"question_id": 12,
"option_label": "Occupied",
"option_value": "occupied",
"price_adjustment_type": "percentage",
"price_adjustment_value": 5
},
{
"id": 9,
"is_default": false,
"sort_order": 2,
"question_id": 12,
"option_label": "Vacant",
"option_value": "vacant",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 12,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 13,
"label": "Year Built 15880251",
"tag_id": null,
"options": [],
"step_id": 12,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 100
}
],
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
Save Form Builder
Replace all steps, questions and options of a form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| steps | array | [{"id":8,"title":"Property Info 15880251","questions":[{"id":8,"label":"Property Type 15880251","options":[{"id":5,"is_default":true,"option_label":"Villa","option_value":"villa"},{"option_label":"Apartment","option_value":"apartment"}],"field_type":"radio","is_required":true}]},{"title":"Documents 15880251","questions":[{"label":"Attach Documents 15880251","field_type":"file"}]}] |
| base_price | integer | 130 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| category_id | optional, Closure |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
| steps | required, array, min 1 |
| steps[] | required, array |
| steps[].title | optional, string, max 255 |
| steps[].step_number | required, prohibited |
| steps[].questions | required, array, min 1 |
| steps[].questions.* | required, array |
| steps[].questions[].label | required, string, max 255 |
| steps[].questions[].description | optional, string |
| steps[].questions[].placeholder | optional, string, max 255 |
| steps[].questions[].field_type | required, allowed: short_text, paragraph, number, radio, checkbox, dropdown, date, file |
| steps[].questions[].tag_id | optional, exists tags,id |
| steps[].questions[].is_required | boolean |
| steps[].questions[].sort_order | optional, integer, min 0 |
| steps[].questions[].pricing_type | optional, allowed: fixed, percentage, multiplier, per_unit |
| steps[].questions[].pricing_value | optional, number, min 0 |
| steps[].questions[].pricing_unit | optional, string, max 50 |
| steps[].questions[].options | required if steps.*.questions.*.field_type = radio, array, min 1 |
| steps[].questions[].options.* | required, array |
| steps[].questions[].options[].option_value | required, string, max 255 |
| steps[].questions[].options[].option_label | required, string, max 255 |
| steps[].questions[].options[].price_adjustment_type | optional, allowed: fixed, percentage |
| steps[].questions[].options[].price_adjustment_value | optional, number, min 0 |
| steps[].questions[].options[].sort_order | optional, integer, min 0 |
| steps[].questions[].options[].is_default | boolean |
| steps[].id | optional, integer, distinct, Exists |
| steps[].questions[].id | optional, integer, distinct, Exists |
| steps[].questions[].options[].id | optional, integer, distinct, Exists |
{
"data": {
"id": 16,
"name": "Documentation Save Builder Form Xwki4V",
"steps": [
{
"id": 8,
"title": "Property Info 15880251",
"form_id": 16,
"questions": [
{
"id": 8,
"label": "Property Type 15880251",
"tag_id": null,
"options": [
{
"id": 5,
"is_default": true,
"sort_order": 1,
"question_id": 8,
"option_label": "Villa",
"option_value": "villa",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
{
"id": 10,
"is_default": false,
"sort_order": 2,
"question_id": 8,
"option_label": "Apartment",
"option_value": "apartment",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 8,
"field_type": "radio",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
{
"id": 13,
"title": "Documents 15880251",
"form_id": 16,
"questions": [
{
"id": 14,
"label": "Attach Documents 15880251",
"tag_id": null,
"options": [],
"step_id": 13,
"field_type": "file",
"sort_order": 1,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 2
}
],
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 130,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
Create Form
Create a new Form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| name | string | Documentation Create Form 95637717 |
| currency | string | SAR |
| base_price | integer | 100 |
| category_id | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | required, string, max 255 |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
| category_id | required, Closure |
{
"data": {
"id": 18,
"name": "Documentation Create Form 95637717",
"status": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 100,
"created_at": "2026-10-19",
"category_id": 1,
"description": null
},
"message": "Data inserted successfully.",
"success": true
}
Get Form List
Get the Form List of your own valuer company.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"name": "Documentation Form",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 4,
"questions_count": 5
},
{
"id": 3,
"name": "Documentation Secondary Form",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 4,
"name": "Documentation Trashed Form",
"status": "archived",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 5,
"name": "Documentation Create Service Form BKoblz",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 6,
"name": "Documentation Attach Form zKax8U",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 7,
"name": "Documentation Delete Form iK2kDp",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 8,
"name": "Documentation Save Builder Form gL6PPT",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 120,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 2,
"questions_count": 1
},
{
"id": 13,
"name": "Documentation Create Service Form nm7klD",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 14,
"name": "Documentation Attach Form zwLsGu",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 15,
"name": "Documentation Delete Form cfBzgW",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 16,
"name": "Documentation Save Builder Form Xwki4V",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 130,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 2,
"questions_count": 2
},
{
"id": 17,
"name": "Documentation Builder Form 15880251",
"status": "published",
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 120,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"steps_count": 2,
"questions_count": 3
},
{
"id": 18,
"name": "Documentation Create Form 95637717",
"status": "published",
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 100,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"steps_count": 0,
"questions_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 13,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
List Unassigned Forms
List the forms that are not attached to a service.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| unassigned | integer | 1 |
{
"data": [
{
"id": 6,
"name": "Documentation Attach Form zKax8U",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 7,
"name": "Documentation Delete Form iK2kDp",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 8,
"name": "Documentation Save Builder Form gL6PPT",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 120,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 2,
"questions_count": 1
},
{
"id": 13,
"name": "Documentation Create Service Form nm7klD",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 14,
"name": "Documentation Attach Form zwLsGu",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 15,
"name": "Documentation Delete Form cfBzgW",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 0,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 0,
"questions_count": 0
},
{
"id": 16,
"name": "Documentation Save Builder Form Xwki4V",
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 130,
"created_at": "2026-10-19",
"category_id": null,
"description": null,
"steps_count": 2,
"questions_count": 2
},
{
"id": 17,
"name": "Documentation Builder Form 15880251",
"status": "published",
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 120,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"steps_count": 2,
"questions_count": 3
},
{
"id": 18,
"name": "Documentation Create Form 95637717",
"status": "published",
"category": {
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 100,
"created_at": "2026-10-19",
"category_id": 1,
"description": null,
"steps_count": 0,
"questions_count": 0
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 9,
"per_page": 15,
"last_page": 1,
"current_page": 1
}
}
Duplicate Form
Clone a form and its builder contents.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 19,
"name": "Documentation Form (Copy)",
"steps": [
{
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"questions": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
{
"id": 2,
"title": "Documentation Delete Step 9qezwj",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 7,
"title": "Documentation Delete Step ARwFSX",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 12,
"title": "Additional Info 15880251",
"form_id": 2,
"questions": [
{
"id": 12,
"label": "Occupancy Status 15880251",
"tag_id": null,
"options": [
{
"id": 8,
"is_default": true,
"sort_order": 1,
"question_id": 12,
"option_label": "Occupied",
"option_value": "occupied",
"price_adjustment_type": "percentage",
"price_adjustment_value": 5
},
{
"id": 9,
"is_default": false,
"sort_order": 2,
"question_id": 12,
"option_label": "Vacant",
"option_value": "vacant",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 12,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 13,
"label": "Year Built 15880251",
"tag_id": null,
"options": [],
"step_id": 12,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 100
}
],
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data inserted successfully.",
"success": true
}
Publish Form
Publish a form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Documentation Form",
"status": "published",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
Archive Form
Archive a form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | JJ/5/jUEFB7Wwuz5usJdmAKskqTfY/uiOjypWxZNwPH1F4CdpovOL760l1A5IyJ+ |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Documentation Form",
"status": "archived",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
List Form Steps
View the steps of a form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"step_number": 1
},
{
"id": 2,
"title": "Documentation Delete Step 9qezwj",
"form_id": 2,
"step_number": 99
},
{
"id": 7,
"title": "Documentation Delete Step ARwFSX",
"form_id": 2,
"step_number": 99
},
{
"id": 18,
"title": "Documentation Delete Step evatQQ",
"form_id": 2,
"step_number": 99
},
{
"id": 12,
"title": "Additional Info 15880251",
"form_id": 2,
"step_number": 100
}
],
"message": "Data retrieved successfully.",
"success": true
}
Add Step to Form
Add a step to the form builder.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| title | string | Documentation Create Step 87876417 |
| step_number | integer | 2 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| title | optional, string, max 255 |
| step_number | optional, integer, min 1 |
{
"data": {
"id": 21,
"title": "Documentation Create Step 87876417",
"form_id": 2,
"step_number": 2
},
"message": "Data inserted successfully.",
"success": true
}
Reorder Form Steps
Reorder the steps of a form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| steps | array | [{"id":1,"step_number":1}] |
{
"data": [],
"message": "Data updated successfully.",
"success": true
}
List Step Questions
View the questions of a step.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 20,
"label": "Documentation Delete Question 59xh5N",
"tag_id": null,
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"message": "Data retrieved successfully.",
"success": true
}
Add Question to Step
Add a question to a step.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| label | string | Documentation Create Question 97293857 |
| field_type | string | short_text |
| sort_order | integer | 2 |
| is_required | boolean | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| label | required, string, max 255 |
| description | optional, string |
| placeholder | optional, string, max 255 |
| field_type | required, allowed: short_text, paragraph, number, radio, checkbox, dropdown, date, file |
| tag_id | optional, exists tags,id |
| is_required | boolean |
| sort_order | optional, integer, min 0 |
| pricing_type | optional, allowed: fixed, percentage, multiplier, per_unit |
| pricing_value | optional, number, min 0 |
| pricing_unit | optional, string, max 50 |
{
"data": {
"id": 22,
"label": "Documentation Create Question 97293857",
"tag_id": null,
"step_id": 1,
"field_type": "short_text",
"sort_order": 2,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
"message": "Data inserted successfully.",
"success": true
}
Reorder Step Questions
Reorder the questions of a step.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | 7+EmION2KePB5QMaHp8iAxsZOifdSuOoINDE2nCh0pK794Ns5ZV30IyK1dVa27f9 |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| questions | array | [{"id":1,"sort_order":1}] |
{
"data": [],
"message": "Data updated successfully.",
"success": true
}
List Question Options
View the options of a question.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | ApvsJw3MoYuvzyceJHiEb6bJ3txRpy4TBjXTo09VdnYYV6+mJ5BJ4rzMQH8BnCzn |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"message": "Data retrieved successfully.",
"success": true
}
Add Option to Question
Add an option to a question.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | ApvsJw3MoYuvzyceJHiEb6bJ3txRpy4TBjXTo09VdnYYV6+mJ5BJ4rzMQH8BnCzn |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| sort_order | integer | 3 |
| option_label | string | Documentation Option 93343809 |
| option_value | string | doc_option_47325767 |
| price_adjustment_type | string | fixed |
| price_adjustment_value | integer | 10 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| option_value | required, string, max 255 |
| option_label | required, string, max 255 |
| price_adjustment_type | optional, allowed: fixed, percentage |
| price_adjustment_value | optional, number, min 0 |
| sort_order | optional, integer, min 0 |
| is_default | boolean |
{
"data": {
"id": 16,
"is_default": false,
"sort_order": 3,
"question_id": 1,
"option_label": "Documentation Option 93343809",
"option_value": "doc_option_47325767",
"price_adjustment_type": "fixed",
"price_adjustment_value": 10
},
"message": "Data inserted successfully.",
"success": true
}
Get Form Details
Retrieve Form details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Z/5NOCjSWPoYQbt8fH+9yw+AXFyKXXjPdhQ6svVnqWkdZcLp3K1DE+xbRSGCxwKC |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"name": "Documentation Form",
"steps": [
{
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"questions": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 20,
"label": "Documentation Delete Question 59xh5N",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 23,
"label": "Documentation Delete Question M8tXjc",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 25,
"label": "Documentation Delete Question s4ijOi",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 27,
"label": "Documentation Delete Question FpZKaX",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
{
"id": 16,
"is_default": false,
"sort_order": 3,
"question_id": 1,
"option_label": "Documentation Option 93343809",
"option_value": "doc_option_47325767",
"price_adjustment_type": "fixed",
"price_adjustment_value": 10
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 22,
"label": "Documentation Create Question 97293857",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 2,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
{
"id": 21,
"title": "Documentation Create Step 87876417",
"form_id": 2,
"questions": [],
"step_number": 2
},
{
"id": 2,
"title": "Documentation Delete Step 9qezwj",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 7,
"title": "Documentation Delete Step ARwFSX",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 18,
"title": "Documentation Delete Step evatQQ",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 22,
"title": "Documentation Delete Step IVI0lB",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 25,
"title": "Documentation Delete Step 1DUusK",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 28,
"title": "Documentation Delete Step ttFnbT",
"form_id": 2,
"questions": [],
"step_number": 99
},
{
"id": 12,
"title": "Additional Info 15880251",
"form_id": 2,
"questions": [
{
"id": 12,
"label": "Occupancy Status 15880251",
"tag_id": null,
"options": [
{
"id": 8,
"is_default": true,
"sort_order": 1,
"question_id": 12,
"option_label": "Occupied",
"option_value": "occupied",
"price_adjustment_type": "percentage",
"price_adjustment_value": 5
},
{
"id": 9,
"is_default": false,
"sort_order": 2,
"question_id": 12,
"option_label": "Vacant",
"option_value": "vacant",
"price_adjustment_type": null,
"price_adjustment_value": 0
}
],
"step_id": 12,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 13,
"label": "Year Built 15880251",
"tag_id": null,
"options": [],
"step_id": 12,
"field_type": "number",
"sort_order": 2,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 100
}
],
"status": "draft",
"category": null,
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data retrieved successfully.",
"success": true
}
Update Form
Update an existing Form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Z/5NOCjSWPoYQbt8fH+9yw+AXFyKXXjPdhQ6svVnqWkdZcLp3K1DE+xbRSGCxwKC |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| currency | string | SAR |
| base_price | integer | 150 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| category_id | optional, Closure |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
{
"data": {
"id": 2,
"name": "Documentation Form",
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 150,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
Partially Update Form
Update selected form fields.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Z/5NOCjSWPoYQbt8fH+9yw+AXFyKXXjPdhQ6svVnqWkdZcLp3K1DE+xbRSGCxwKC |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| base_price | integer | 175 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| name | optional, string, max 255 |
| category_id | optional, Closure |
| base_price | optional, number, min 0 |
| currency | optional, string, size |
{
"data": {
"id": 2,
"name": "Documentation Form",
"status": "draft",
"currency": "SAR",
"translate": {
"name": {
"ar": "",
"en": ""
},
"description": {
"ar": null,
"en": null
}
},
"base_price": 175,
"created_at": "2026-10-19",
"category_id": null,
"description": null
},
"message": "Data updated successfully.",
"success": true
}
Delete Form
Delete a Form.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Z/5NOCjSWPoYQbt8fH+9yw+AXFyKXXjPdhQ6svVnqWkdZcLp3K1DE+xbRSGCxwKC |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Step Details
Retrieve Step details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | ec8eyoVaaMrYfetrcGUWAvDvVQZTPn9WrBiQjcAODLP+V+3uDgJ1J7F/UA/k6LxW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"title": "Documentation Step",
"form_id": 2,
"questions": [
{
"id": 2,
"label": "Documentation Delete Question 5o6Ii7",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 7,
"label": "Documentation Delete Question fW3U5E",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 20,
"label": "Documentation Delete Question 59xh5N",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 23,
"label": "Documentation Delete Question M8tXjc",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 25,
"label": "Documentation Delete Question s4ijOi",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 27,
"label": "Documentation Delete Question FpZKaX",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 29,
"label": "Documentation Delete Question KboKcm",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 0,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 1,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
{
"id": 16,
"is_default": false,
"sort_order": 3,
"question_id": 1,
"option_label": "Documentation Option 93343809",
"option_value": "doc_option_47325767",
"price_adjustment_type": "fixed",
"price_adjustment_value": 10
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
{
"id": 22,
"label": "Documentation Create Question 97293857",
"tag_id": null,
"options": [],
"step_id": 1,
"field_type": "short_text",
"sort_order": 2,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
}
],
"step_number": 1
},
"message": "Data retrieved successfully.",
"success": true
}
Update Step
Update an existing Step.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | ec8eyoVaaMrYfetrcGUWAvDvVQZTPn9WrBiQjcAODLP+V+3uDgJ1J7F/UA/k6LxW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| title | string | Documentation Step Updated |
| step_number | integer | 1 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| title | optional, string, max 255 |
| step_number | optional, integer, min 1 |
{
"data": {
"id": 1,
"title": "Documentation Step Updated",
"form_id": 2,
"step_number": 1
},
"message": "Data updated successfully.",
"success": true
}
Delete Step
Delete a Step.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | ec8eyoVaaMrYfetrcGUWAvDvVQZTPn9WrBiQjcAODLP+V+3uDgJ1J7F/UA/k6LxW |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Question Details
Retrieve Question details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | QV+YQPxrX52SaombYdSunTDDpTzKpulMZ/7Hv1YEX9h36pSs8aQZPMxnljUFDBiD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"tag": null,
"label": "Documentation Question",
"tag_id": null,
"options": [
{
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
{
"id": 16,
"is_default": false,
"sort_order": 3,
"question_id": 1,
"option_label": "Documentation Option 93343809",
"option_value": "doc_option_47325767",
"price_adjustment_type": "fixed",
"price_adjustment_value": 10
}
],
"step_id": 1,
"field_type": "dropdown",
"sort_order": 1,
"description": null,
"is_required": true,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
"message": "Data retrieved successfully.",
"success": true
}
Update Question
Update an existing Question.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | QV+YQPxrX52SaombYdSunTDDpTzKpulMZ/7Hv1YEX9h36pSs8aQZPMxnljUFDBiD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| label | string | Documentation Question Updated |
| field_type | string | short_text |
| is_required | boolean |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| label | required, string, max 255 |
| description | optional, string |
| placeholder | optional, string, max 255 |
| field_type | required, allowed: short_text, paragraph, number, radio, checkbox, dropdown, date, file |
| tag_id | optional, exists tags,id |
| is_required | boolean |
| sort_order | optional, integer, min 0 |
| pricing_type | optional, allowed: fixed, percentage, multiplier, per_unit |
| pricing_value | optional, number, min 0 |
| pricing_unit | optional, string, max 50 |
{
"data": {
"id": 1,
"label": "Documentation Question Updated",
"tag_id": null,
"step_id": 1,
"field_type": "short_text",
"sort_order": 1,
"description": null,
"is_required": false,
"placeholder": null,
"pricing_type": null,
"pricing_unit": null,
"pricing_value": null
},
"message": "Data updated successfully.",
"success": true
}
Delete Question
Delete a Question.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | QV+YQPxrX52SaombYdSunTDDpTzKpulMZ/7Hv1YEX9h36pSs8aQZPMxnljUFDBiD |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Get Option Details
Retrieve Option details.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | nquiwAwxh3UjsWnAzLbVHy41bu+txiEA++W5EhGrvf9HAS/pmg3wmeMbKEPWRrWu |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option",
"option_value": "doc_option",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
"message": "Data retrieved successfully.",
"success": true
}
Update Option
Update an existing Option.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | nquiwAwxh3UjsWnAzLbVHy41bu+txiEA++W5EhGrvf9HAS/pmg3wmeMbKEPWRrWu |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| option_label | string | Documentation Option Updated |
| option_value | string | doc_option_updated |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| option_value | required, string, max 255 |
| option_label | required, string, max 255 |
| price_adjustment_type | optional, allowed: fixed, percentage |
| price_adjustment_value | optional, number, min 0 |
| sort_order | optional, integer, min 0 |
| is_default | boolean |
{
"data": {
"id": 1,
"is_default": false,
"sort_order": 1,
"question_id": 1,
"option_label": "Documentation Option Updated",
"option_value": "doc_option_updated",
"price_adjustment_type": null,
"price_adjustment_value": 0
},
"message": "Data updated successfully.",
"success": true
}
Delete Option
Delete a Option.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | nquiwAwxh3UjsWnAzLbVHy41bu+txiEA++W5EhGrvf9HAS/pmg3wmeMbKEPWRrWu |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": [],
"message": "Data deleted successfully.",
"success": true
}
Valuers
Get Managed Valuer Profile
Open a valuer profile.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Xb9iNxgF+lBMmtpypVtH8yCA7FalacvwixI34yHip6SsCikMk1zrPTAZxOn2g3nc |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"logo": "valuers\/profile-co.png",
"name": "Profile Co",
"about": "About Ridge Valuation<\/h2>
Ridge Valuation has served the northern region since 2009 and every report is signed off by a licensed valuer.<\/p>
- Licensed by the Real Estate Authority<\/li>
- Residential and commercial expertise<\/li>
- Reports delivered in Arabic and English<\/li><\/ul>",
"cover": "valuers\/profile-co-cover.png",
"rating": 4.7,
"location": {
"city": "Test City",
"country": "Documentation country"
},
"services": [],
"company_name": "Profile Co",
"reviews_count": 215,
"individual_name": null
},
"message": "Data retrieved successfully.",
"success": true
}
Update Valuer About Us
Save a valuer about us section.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Xb9iNxgF+lBMmtpypVtH8yCA7FalacvwixI34yHip6SsCikMk1zrPTAZxOn2g3nc |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| about | string | <h2>About Ridge Valuation</h2><p>Ridge Valuation has served the northern region since 2009 and every report is signed off by a licensed valuer.</p><ul><li>Licensed by the Real Estate Authority</li><li>Residential and commercial expertise</li><li>Reports delivered in Arabic and English</li></ul> |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| about | present, optional, string |
{
"data": {
"id": 2,
"about": "About Ridge Valuation<\/h2>
Ridge Valuation has served the northern region since 2009 and every report is signed off by a licensed valuer.<\/p>
- Licensed by the Real Estate Authority<\/li>
- Residential and commercial expertise<\/li>
- Reports delivered in Arabic and English<\/li><\/ul>"
},
"message": "Data updated successfully.",
"success": true
}
Get Valuer About Us
Read a valuer about us section.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-Tenant | string | Xb9iNxgF+lBMmtpypVtH8yCA7FalacvwixI34yHip6SsCikMk1zrPTAZxOn2g3nc |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | default-tenant |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 2,
"about": "About Ridge Valuation<\/h2>
Ridge Valuation has served the northern region since 2009 and every report is signed off by a licensed valuer.<\/p>
- Licensed by the Real Estate Authority<\/li>
- Residential and commercial expertise<\/li>
- Reports delivered in Arabic and English<\/li><\/ul>"
},
"message": "Data retrieved successfully.",
"success": true
}
Register Valuer
Valuer Registration
Check Subdomain
Check subdomain availability.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| requested_subdomain | string | brand-new-co-z63jsr |
{
"message": "Subdomain is available",
"available": true
}
Register Valuer
Register a new valuer.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | ahmadtest+eiiyvx@demo.com | |
| phone | string | +966553943171 |
| domain | string | demo-corp-eiiyvx |
| city_id | integer | 1 |
| password | string | password123 |
| country_id | integer | 1 |
| company_name | string | Demo Corp eiiyvx |
| subscription | string | standard |
| business_type | string | corporate |
| valuation_type | array | [4] |
| contact_person_name | string | Ahmad Test |
| documents[owner_id] | string | input_file |
| password_confirmation | string | password123 |
| documents[bank_account] | string | input_file |
| documents[taqeem_license] | string | input_file |
| documents[vat_certificate] | string | input_file |
| documents[audited_financials] | string | input_file |
| documents[professional_insurance] | string | input_file |
| documents[commercial_registration] | string | input_file |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| business_type | required, enum: individual, corporate |
| subscription | optional, enum: premium, standard, basic |
| company_name | RequiredIf, optional, string, max 255, regex |
| individual_name | RequiredIf, optional, string, max 255, regex |
| contact_person_name | required, string, max 255, regex |
| required, string, valid email, max 255, unique valuers | |
| phone | required, string, max 14, regex, unique valuers |
| password | required, string, min 8, must match its *_confirmation field |
| country_id | required, integer |
| city_id | required, integer |
| valuation_type | required, array, min 1 |
| valuation_type[] | required, integer, distinct, Exists |
| documents | required, array |
| domain | required, string, max 100, regex |
| documents.taqeem_license | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.commercial_registration | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.professional_insurance | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.owner_id | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.audited_financials | required, file, file types: pdf, max 2048 KB (upload) |
| documents.vat_certificate | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.bank_account | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
{
"data": {
"otp": 1234
},
"message": "An OTP has been sent to your phone.",
"success": true
}
Register Valuer (Individual)
Register a new valuer as an individual.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | fahad+om6qbm@demo.com | |
| phone | string | +966528878810 |
| domain | string | fahad-om6qbm |
| city_id | integer | 1 |
| password | string | password123 |
| country_id | integer | 1 |
| subscription | string | standard |
| business_type | string | individual |
| valuation_type | array | [4] |
| individual_name | string | Fahad Alqahtani |
| contact_person_name | string | Fahad Alqahtani |
| documents[owner_id] | string | input_file |
| password_confirmation | string | password123 |
| documents[bank_account] | string | input_file |
| documents[taqeem_license] | string | input_file |
| documents[vat_certificate] | string | input_file |
| documents[audited_financials] | string | input_file |
| documents[professional_insurance] | string | input_file |
| documents[commercial_registration] | string | input_file |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| business_type | required, enum: individual, corporate |
| subscription | optional, enum: premium, standard, basic |
| company_name | RequiredIf, optional, string, max 255, regex |
| individual_name | RequiredIf, optional, string, max 255, regex |
| contact_person_name | required, string, max 255, regex |
| required, string, valid email, max 255, unique valuers | |
| phone | required, string, max 14, regex, unique valuers |
| password | required, string, min 8, must match its *_confirmation field |
| country_id | required, integer |
| city_id | required, integer |
| valuation_type | required, array, min 1 |
| valuation_type[] | required, integer, distinct, Exists |
| documents | required, array |
| domain | required, string, max 100, regex |
| documents.taqeem_license | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.commercial_registration | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.professional_insurance | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.owner_id | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.audited_financials | required, file, file types: pdf, max 2048 KB (upload) |
| documents.vat_certificate | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
| documents.bank_account | required, file, file types: pdf,jpg,jpeg,png, max 2048 KB (upload) |
{
"data": {
"otp": 1234
},
"message": "An OTP has been sent to your phone.",
"success": true
}
Verify Valuer OTP (Wrong Code 1)
Verify with an incorrect code (try 1).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 0000 |
| phone | string | +966553943171 |
{
"errors": {
"otp": [
"Invalid OTP. 2 attempts remaining."
]
},
"message": "Invalid OTP. 2 attempts remaining.",
"success": false
}
Verify Valuer OTP (Wrong Code 2)
Verify with an incorrect code (try 2).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 0000 |
| phone | string | +966553943171 |
{
"errors": {
"otp": [
"Invalid OTP. 1 attempts remaining."
]
},
"message": "Invalid OTP. 1 attempts remaining.",
"success": false
}
Verify Valuer OTP (Wrong Code 3)
Verify with an incorrect code (last try).
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 0000 |
| phone | string | +966553943171 |
{
"errors": {
"otp": [
"Maximum verification attempts exceeded. Please request a new code."
]
},
"message": "Maximum verification attempts exceeded. Please request a new code.",
"success": false
}
Resend Valuer OTP
Resend the registration code.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| phone | string | +966553943171 |
{
"data": {
"otp": 1234
},
"message": "OTP resent successfully.",
"success": true
}
Verify Valuer OTP
Verify registration OTP.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| otp | string | 1234 |
| phone | string | +966553943171 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| phone | required, string, max 20 |
| otp | required, string, max 6 |
{
"data": {
"id": 6,
"requested_subdomain": "demo-corp-eiiyvx"
},
"message": "Registration completed successfully.",
"success": true
}
Public API
Authentication
Valuer Login (Foreign Workspace)
Refuse login from a foreign workspace.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| X-Subdomain | string | wrong-workspace |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | demo.valuer@doctest.com | |
| password | string | password123 |
{
"message": "This account does not belong to this workspace.",
"success": false
}
Valuer Login
Valuer login.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Request Body
| Field/Name | Type | Examples |
|---|---|---|
| string | demo.valuer@doctest.com | |
| password | string | password123 |
Request Validations Or Notes
| Field/Name | Examples |
|---|---|
| required, valid email, exists valuers,email | |
| password | required, string |
{
"data": {
"id": 3,
"name": "Portal Co",
"ulid": null,
"email": "demo.valuer@doctest.com",
"status": null,
"city_id": null,
"tenant_id": 2,
"country_id": null,
"created_at": "2026-10-19T07:19:59.000000Z",
"updated_at": "2026-10-19T07:21:25.000000Z",
"admin_notes": null,
"approved_at": null,
"category_id": null,
"valuer_type": null,
"valuer_request": {
"id": 5,
"ulid": null,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 3,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"extracted_value": null,
"rejection_reason": null
}
],
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": true
},
"authorized_contact_name": null
},
"token": "110|z85lmXWK8L0nDIJsDrSrRzPZrpYUB09GlQrgMbbW0e33dfe3"
}
Get Authenticated Valuer
Get authenticated valuer.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"data": {
"id": 3,
"name": "Portal Co",
"ulid": null,
"email": "demo.valuer@doctest.com",
"status": null,
"city_id": null,
"tenant_id": 2,
"country_id": null,
"created_at": "2026-10-19T07:19:59.000000Z",
"updated_at": "2026-10-19T07:21:25.000000Z",
"admin_notes": null,
"approved_at": null,
"category_id": null,
"valuer_type": null,
"valuer_request": {
"id": 5,
"ulid": null,
"email": "demo.valuer@doctest.com",
"phone": "+966500000011",
"avatar": null,
"status": "approved",
"city_id": 1,
"country": "Test Country",
"documents": [
{
"id": 3,
"file": "http:\/\/qeei_backend_admin.test\/storage\/valuer_documents\/demo\/portal_taqeem_license.pdf",
"name": "taqeem_license",
"ulid": null,
"status": "accepted",
"admin_note": null,
"created_at": "2026-10-19T07:19:57.000000Z",
"extracted_value": null,
"rejection_reason": null
}
],
"tenant_id": 2,
"categories": [],
"country_id": 1,
"created_at": "2026-10-19T07:19:57.000000Z",
"updated_at": "2026-10-19T07:19:59.000000Z",
"admin_notes": null,
"approved_at": null,
"cover_image": null,
"company_name": "Portal Co",
"subscription": "standard",
"business_type": "corporate",
"active_members": 0,
"can_be_approved": false,
"individual_name": null,
"national_address": {
"city": "Test Country",
"country": "Test Country"
},
"rejection_reason": null,
"contact_person_name": "Lina Saad",
"requested_subdomain": "portal-co-doc",
"documents_all_approved": true
},
"authorized_contact_name": null
}
}
Valuer Logout
Valuer logout.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
| Authorization | string | Authorization Key |
{
"message": "Logged out successfully"
}
Locations
Get Countries
List countries.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
{
"data": [
{
"id": 2,
"code": null,
"type": "country",
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
},
{
"id": 3,
"code": "TC",
"type": "country",
"name_ar": "أختبار دولة",
"name_en": "Test Country",
"is_active": true,
"phone_code": "999",
"setting_id": null,
"phone_length": 9
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Cities
List cities.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
{
"data": [
{
"id": 2,
"code": null,
"type": "country",
"cities": [
{
"id": 6,
"code": null,
"type": "city",
"name_ar": "مدينة التوثيق",
"name_en": "Documentation City",
"is_active": true,
"phone_code": null,
"setting_id": 2,
"phone_length": null
}
],
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
},
{
"id": 3,
"code": "TC",
"type": "country",
"cities": [],
"name_ar": "أختبار دولة",
"name_en": "Test Country",
"is_active": true,
"phone_code": "999",
"setting_id": null,
"phone_length": 9
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Cities By Country
List cities by country.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| country | integer | 2 |
{
"data": [
{
"id": 6,
"code": null,
"type": "city",
"name_ar": "مدينة التوثيق",
"name_en": "Documentation City",
"is_active": true,
"phone_code": null,
"setting_id": 2,
"phone_length": null
}
],
"message": "Data retrieved successfully.",
"success": true
}
Get Country By City
Get country by city.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
Query Parameters
| Field/Name | Type | Examples |
|---|---|---|
| city | integer | 6 |
{
"data": {
"id": 2,
"code": null,
"type": "country",
"name_ar": "دولة التوثيق",
"name_en": "Documentation country",
"is_active": true,
"phone_code": null,
"setting_id": null,
"phone_length": null
},
"message": "Data retrieved successfully.",
"success": true
}
Categories
Get Valuer Categories
List valuer categories.
Headers
| Field/Name | Type | Examples |
|---|---|---|
| Accept | string | application/json |
| X-API-Token | string | X-API-Token Key |
| Content-Type | string | application/json |
{
"data": [
{
"id": 1,
"icon": "test-icon.png",
"name": "Main Category",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "التصنيف الرئيسي",
"en": "Main Category"
},
"description": {
"ar": "التصنيف الرئيسي للوسوم",
"en": "Main category for tags"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Main category for tags"
},
{
"id": 3,
"icon": "icon-14890347.png",
"name": "Test Category 14890347",
"status": true,
"valuers": 10,
"translate": {
"name": {
"ar": "تصنيف تجريبي 14890347",
"en": "Test Category 14890347"
},
"description": {
"ar": "وصف تجريبي",
"en": "Test description"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Test description"
},
{
"id": 4,
"icon": "real_estate",
"name": "Real Estate Appraisal",
"status": true,
"valuers": 0,
"translate": {
"name": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
},
"description": {
"ar": "تقييم عقاري",
"en": "Real Estate Appraisal"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Real Estate Appraisal"
},
{
"id": 5,
"icon": "profile-co-icon.png",
"name": "Property",
"status": true,
"valuers": 1,
"translate": {
"name": {
"ar": "عقارات",
"en": "Property"
},
"description": {
"ar": "عقارات",
"en": "Property"
}
},
"created_at": "2026-10-19",
"service_no": 1,
"description": "Property"
}
],
"message": "Data retrieved successfully.",
"success": true,
"pagination": {
"total": 4,
"per_page": 10,
"last_page": 1,
"current_page": 1
}
}