Introduction

The Falcon Management ERP System is a fully integrated platform designed specifically for businesses that manage falcon feeding, medical care, training operations, and cost management. The system centralizes all operational data, automates workflows, and provides a unified dashboard that enables managers, veterinarians, trainers, and finance teams to collaborate seamlessly.


Built to support precision, traceability, and efficiency, the ERP ensures every falcon receives optimal care while giving management full visibility across all departments.


The Falcon Management ERP System empowers organizations to professionally manage every stage of falcon care—from feeding and health treatment to training and financial analysis. It improves efficiency, reduces operational errors, supports cost control, and ensures that each falcon receives the best possible care in a structured, measurable way.


The Falcon ERP API provides unified access to all operations related to feeding, medical care, training, and costing.


It allows external systems to manage falcon profiles, record daily activities, track medical treatments, schedule training sessions, and calculate operational costs.


This API ensures consistent data flow across all departments and supports smooth integration with mobile apps, dashboards, and third-party services.



Access Requirements


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

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

Base API URL
https://falcon-erp-backend-dev.dafagate.com/api/v1

Common Errors

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

Error 401 – Unauthorized

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

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

Error 403 – Forbidden

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

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

Error 404 – Not Found

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

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

Error 405 – Method Not Allowed

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

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

Error 419 – Page Expired

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

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

Error 422 – Unprocessable Entity

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

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

Error 500 – Internal Server Error

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

Error Response
{
    "message": "Server Error",
    "success": false
}
POST /api/v1/login

Admin Login

Authentication

Admin Login

Headers

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

Request Body

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

Request Validations Or Notes

Field/Name Examples
step required, integer, allowed: 1, 2
email required, valid email
password required if step = 1
otp required if step = 2, 6 digits
Success (200 OK)
{
    "success": true,
    "message": "Welcome Admin",
    "data": {
        "id": 1,
        "name": "Admin",
        "email": "admin@base.com",
        "phone": "000000000000",
        "created_at": "2026-07-29",
        "is_active": true,
        "avatar": null,
        "roles": [
            {
                "id": 1,
                "name": "Default Role"
            },
            {
                "id": 2,
                "name": "Super Admin Role "
            }
        ],
        "token": "2|zQwKH10va2d3VEgE5qr3XZrFjyleWCZwJx43wvAh6c1007f4",
        "token_type": "Bearer",
        "expires_in": 3599.993258
    }
}
POST /api/v1/logout

Admin Logout

Authentication

Admin Logout

Headers

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

Forget Password Request

Authentication

Forget Password Request

Headers

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

Request Body

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

Request Validations Or Notes

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

Verify OTP

Authentication

Verify OTP

Headers

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

Request Body

Field/Name Type Examples
email string admin@base.com
otp string 123456
token string token Key

Request Validations Or Notes

Field/Name Examples
email required, valid email, exists admins,email
otp required, 6 digits
token required, exists admins,change_password_token
Success (200 OK)
{
    "success": true,
    "message": "Your Otp Verified successfully.",
    "data": []
}
POST /api/v1/reset-password

Reset Password

Authentication

Reset Password

Headers

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

Request Body

Field/Name Type Examples
email string admin@base.com
otp string 123456
token string token Key
password string P@ssw0rd
password_confirm string P@ssw0rd

Request Validations Or Notes

Field/Name Examples
email required, valid email, exists admins,email
password required, StrongPassword
password_confirm required, same
otp required, 6 digits
token required, exists admins,change_password_token
Success (200 OK)
{
    "success": true,
    "message": "Password reset successfully.",
    "data": []
}
GET /api/v1/admins/my-permissions

Get My Permissions

Get permissions of the authenticated admin.

Fetch all permissions assigned to the logged-in user through their roles.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Permissions retrieved successfully.",
    "data": [
        "dashboard-fetch",
        "roles-fetch",
        "roles-create",
        "roles-read",
        "roles-update",
        "roles-delete",
        "admins-fetch",
        "admins-create",
        "admins-read",
        "admins-update",
        "admins-delete",
        "falcon-fetch",
        "falcon-create",
        "falcon-read",
        "falcon-update",
        "falcon-delete",
        "eggs-fetch",
        "eggs-create",
        "eggs-read",
        "eggs-update",
        "eggs-delete",
        "eggs-attachments-fetch",
        "eggs-attachments-create",
        "eggs-attachments-read",
        "eggs-attachments-update",
        "eggs-attachments-delete",
        "eggs-media-fetch",
        "eggs-media-create",
        "eggs-media-read",
        "eggs-media-update",
        "eggs-media-delete",
        "eggs-overview-fetch",
        "eggs-overview-create",
        "eggs-overview-read",
        "eggs-overview-update",
        "eggs-overview-delete",
        "eggs-locations-fetch",
        "eggs-locations-create",
        "eggs-locations-read",
        "eggs-locations-update",
        "eggs-locations-delete",
        "eggs-movements-fetch",
        "eggs-movements-create",
        "eggs-movements-read",
        "eggs-movements-update",
        "eggs-movements-delete",
        "eggs-medical-fetch",
        "eggs-medical-create",
        "eggs-medical-read",
        "eggs-medical-update",
        "eggs-medical-delete",
        "eggs-incubator-fetch",
        "eggs-incubator-create",
        "eggs-incubator-read",
        "eggs-incubator-update",
        "eggs-incubator-delete",
        "eggs-events-fetch",
        "eggs-events-create",
        "eggs-events-read",
        "eggs-events-update",
        "eggs-events-delete",
        "eggs-clutches-fetch",
        "eggs-clutches-create",
        "eggs-clutches-read",
        "eggs-clutches-update",
        "eggs-clutches-delete",
        "eggs-costing-fetch",
        "eggs-costing-create",
        "eggs-costing-read",
        "eggs-costing-update",
        "eggs-costing-delete",
        "feeding-items-fetch",
        "feeding-items-create",
        "feeding-items-read",
        "feeding-items-update",
        "feeding-items-delete",
        "feeding-meals-fetch",
        "feeding-meals-create",
        "feeding-meals-read",
        "feeding-meals-update",
        "feeding-meals-delete",
        "falcon-feeding-meals-fetch",
        "falcon-feeding-meals-create",
        "falcon-feeding-meals-read",
        "falcon-feeding-meals-update",
        "falcon-feeding-meals-delete",
        "feeding-plans-fetch",
        "feeding-plans-create",
        "feeding-plans-read",
        "feeding-plans-update",
        "feeding-plans-delete",
        "falcon-feeding-plans-fetch",
        "falcon-feeding-plans-create",
        "falcon-feeding-plans-read",
        "falcon-feeding-plans-update",
        "falcon-feeding-plans-delete",
        "locations-facilities-fetch",
        "locations-facilities-create",
        "locations-facilities-read",
        "locations-facilities-update",
        "locations-facilities-delete",
        "locations-buildings-fetch",
        "locations-buildings-create",
        "locations-buildings-read",
        "locations-buildings-update",
        "locations-buildings-delete",
        "locations-rooms-fetch",
        "locations-rooms-create",
        "locations-rooms-read",
        "locations-rooms-update",
        "locations-rooms-delete",
        "locations-subunits-fetch",
        "locations-subunits-create",
        "locations-subunits-read",
        "locations-subunits-update",
        "locations-subunits-delete",
        "locations-externals-fetch",
        "locations-externals-create",
        "locations-externals-read",
        "locations-externals-update",
        "locations-externals-delete",
        "medical-requests-fetch",
        "medical-requests-create",
        "medical-requests-read",
        "medical-requests-update",
        "medical-requests-delete",
        "medical-actions-fetch",
        "medical-actions-create",
        "medical-actions-read",
        "medical-actions-update",
        "medical-actions-delete",
        "medical-medications-fetch",
        "medical-medications-create",
        "medical-medications-read",
        "medical-medications-update",
        "medical-medications-delete",
        "medical-procedures-fetch",
        "medical-procedures-create",
        "medical-procedures-read",
        "medical-procedures-update",
        "medical-procedures-delete",
        "animal-falcon-medical-actions-fetch",
        "animal-falcon-medical-actions-create",
        "animal-falcon-medical-actions-read",
        "animal-falcon-medical-actions-update",
        "animal-falcon-medical-actions-delete",
        "animal-eggs-medical-actions-fetch",
        "animal-eggs-medical-actions-create",
        "animal-eggs-medical-actions-read",
        "animal-eggs-medical-actions-update",
        "animal-eggs-medical-actions-delete",
        "training-fetch",
        "training-create",
        "training-read",
        "training-update",
        "training-delete",
        "animal-falcon-training-fetch",
        "animal-falcon-training-create",
        "animal-falcon-training-read",
        "animal-falcon-training-update",
        "animal-falcon-training-delete",
        "training-plans-fetch",
        "training-plans-create",
        "training-plans-read",
        "training-plans-update",
        "training-plans-delete",
        "animal-falcon-training-plans-fetch",
        "animal-falcon-training-plans-create",
        "animal-falcon-training-plans-read",
        "animal-falcon-training-plans-update",
        "animal-falcon-training-plans-delete",
        "inventory-feeding-fetch",
        "inventory-feeding-create",
        "inventory-feeding-read",
        "inventory-feeding-update",
        "inventory-feeding-delete",
        "inventory-medication-fetch",
        "inventory-medication-create",
        "inventory-medication-read",
        "inventory-medication-update",
        "inventory-medication-delete",
        "inventory-equipment-fetch",
        "inventory-equipment-create",
        "inventory-equipment-read",
        "inventory-equipment-update",
        "inventory-equipment-delete",
        "inventory-suppliers-fetch",
        "inventory-suppliers-create",
        "inventory-suppliers-read",
        "inventory-suppliers-update",
        "inventory-suppliers-delete",
        "inventory-purchased-fetch",
        "inventory-purchased-create",
        "inventory-purchased-read",
        "inventory-purchased-update",
        "inventory-batches-fetch",
        "inventory-batches-read",
        "inventory-scraps-fetch",
        "inventory-scraps-create",
        "inventory-scraps-read",
        "inventory-logs-fetch",
        "inventory-logs-read",
        "inventory-alerts-fetch",
        "inventory-alerts-read",
        "locations-settings-country-fetch",
        "locations-settings-country-create",
        "locations-settings-country-read",
        "locations-settings-country-update",
        "locations-settings-country-delete",
        "locations-settings-city-fetch",
        "locations-settings-city-create",
        "locations-settings-city-read",
        "locations-settings-city-update",
        "locations-settings-city-delete",
        "locations-settings-type-fetch",
        "locations-settings-type-create",
        "locations-settings-type-read",
        "locations-settings-type-update",
        "locations-settings-type-delete",
        "locations-settings-subunit-type-fetch",
        "locations-settings-subunit-type-create",
        "locations-settings-subunit-type-read",
        "locations-settings-subunit-type-update",
        "locations-settings-subunit-type-delete",
        "locations-settings-subunit-sub-type-fetch",
        "locations-settings-subunit-sub-type-create",
        "locations-settings-subunit-sub-type-read",
        "locations-settings-subunit-sub-type-update",
        "locations-settings-subunit-sub-type-delete",
        "feeding-settings-category-fetch",
        "feeding-settings-category-create",
        "feeding-settings-category-read",
        "feeding-settings-category-update",
        "feeding-settings-category-delete",
        "feeding-settings-unit-fetch",
        "feeding-settings-unit-create",
        "feeding-settings-unit-read",
        "feeding-settings-unit-update",
        "feeding-settings-unit-delete",
        "feeding-settings-meals-type-fetch",
        "feeding-settings-meals-type-create",
        "feeding-settings-meals-type-read",
        "feeding-settings-meals-type-update",
        "feeding-settings-meals-type-delete",
        "medical-settings-category-fetch",
        "medical-settings-category-create",
        "medical-settings-category-read",
        "medical-settings-category-update",
        "medical-settings-category-delete",
        "medical-settings-unit-fetch",
        "medical-settings-unit-create",
        "medical-settings-unit-read",
        "medical-settings-unit-update",
        "medical-settings-unit-delete",
        "medical-settings-medicine-category-fetch",
        "medical-settings-medicine-category-create",
        "medical-settings-medicine-category-read",
        "medical-settings-medicine-category-update",
        "medical-settings-medicine-category-delete",
        "medical-settings-medicine-form-fetch",
        "medical-settings-medicine-form-create",
        "medical-settings-medicine-form-read",
        "medical-settings-medicine-form-update",
        "medical-settings-medicine-form-delete",
        "animals-settings-species-fetch",
        "animals-settings-species-create",
        "animals-settings-species-read",
        "animals-settings-species-update",
        "animals-settings-species-delete",
        "animals-settings-seller-type-fetch",
        "animals-settings-seller-type-create",
        "animals-settings-seller-type-read",
        "animals-settings-seller-type-update",
        "animals-settings-seller-type-delete",
        "animals-settings-gift-type-fetch",
        "animals-settings-gift-type-create",
        "animals-settings-gift-type-read",
        "animals-settings-gift-type-update",
        "animals-settings-gift-type-delete",
        "animals-settings-color-fetch",
        "animals-settings-color-create",
        "animals-settings-color-read",
        "animals-settings-color-update",
        "animals-settings-color-delete",
        "falcon-settings-gender-fetch",
        "falcon-settings-gender-create",
        "falcon-settings-gender-read",
        "falcon-settings-gender-update",
        "falcon-settings-gender-delete",
        "falcon-settings-age-fetch",
        "falcon-settings-age-create",
        "falcon-settings-age-read",
        "falcon-settings-age-update",
        "falcon-settings-age-delete",
        "falcon-settings-status-fetch",
        "falcon-settings-status-create",
        "falcon-settings-status-read",
        "falcon-settings-status-update",
        "falcon-settings-status-delete",
        "falcon-settings-id-fetch",
        "falcon-settings-id-create",
        "falcon-settings-id-read",
        "falcon-settings-id-update",
        "falcon-settings-id-delete",
        "falcon-settings-behavior-fetch",
        "falcon-settings-behavior-create",
        "falcon-settings-behavior-read",
        "falcon-settings-behavior-update",
        "falcon-settings-behavior-delete",
        "falcon-settings-exit-type-fetch",
        "falcon-settings-exit-type-create",
        "falcon-settings-exit-type-read",
        "falcon-settings-exit-type-update",
        "falcon-settings-exit-type-delete",
        "falcon-settings-reason-fetch",
        "falcon-settings-reason-create",
        "falcon-settings-reason-read",
        "falcon-settings-reason-update",
        "falcon-settings-reason-delete",
        "eggs-settings-health-status-fetch",
        "eggs-settings-health-status-create",
        "eggs-settings-health-status-read",
        "eggs-settings-health-status-update",
        "eggs-settings-health-status-delete",
        "eggs-settings-reason-fetch",
        "eggs-settings-reason-create",
        "eggs-settings-reason-read",
        "eggs-settings-reason-update",
        "eggs-settings-reason-delete",
        "eggs-settings-incubator-visual-condition-fetch",
        "eggs-settings-incubator-visual-condition-create",
        "eggs-settings-incubator-visual-condition-read",
        "eggs-settings-incubator-visual-condition-update",
        "eggs-settings-incubator-visual-condition-delete",
        "medical-settings-severity-fetch",
        "medical-settings-severity-create",
        "medical-settings-severity-read",
        "medical-settings-severity-update",
        "medical-settings-severity-delete",
        "training-settings-category-fetch",
        "training-settings-category-create",
        "training-settings-category-read",
        "training-settings-category-update",
        "training-settings-category-delete",
        "training-settings-rate-fetch",
        "training-settings-rate-create",
        "training-settings-rate-read",
        "training-settings-rate-update",
        "training-settings-rate-delete",
        "inventory-settings-category-fetch",
        "inventory-settings-category-create",
        "inventory-settings-category-read",
        "inventory-settings-category-update",
        "inventory-settings-category-delete",
        "settings-system-setup-general-fetch",
        "settings-system-setup-localization-fetch",
        "settings-system-setup-id-rule-fetch",
        "settings-system-setup-automation-fetch",
        "settings-system-setup-security-fetch",
        "settings-system-setup-integrations-fetch",
        "settings-system-setup-notifications-fetch"
    ]
}
POST /api/v1/admins

Create Admin

Create a new Admin.

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

Headers

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

Request Body

Field/Name Type Examples
name string Admin 2
email string admin2@gmail.com
phone string 01112226666
password string P@ssw0rd
roles array [ { "role_id": 1 }, { "role_id": 2 } ]

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
email required, string, max 255, valid email, unique admins,email
phone required, string, min 7, max 15, regex, unique admins,phone
password required, StrongPassword
avatar optional, image, types: jpeg,png,jpg, max 2048
is_active optional, true/false
roles required, array, min 1
roles[].role_id required, integer, exists roles,id
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 2,
        "name": "Admin 2",
        "email": "admin2@gmail.com",
        "phone": "01112226666",
        "created_at": "2026-07-29",
        "is_active": false
    }
}
GET /api/v1/admins

Get Admin List

Retrieve a list of Admin.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "Admin 2",
            "email": "admin2@gmail.com",
            "phone": "01112226666",
            "created_at": "2026-07-29",
            "is_active": true,
            "avatar": null,
            "roles": [
                {
                    "id": 1,
                    "name": "Default Role"
                },
                {
                    "id": 2,
                    "name": "Super Admin Role "
                }
            ]
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/admins/2

Get Admin Details

Retrieve Admin details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 2,
        "name": "Admin 2",
        "email": "admin2@gmail.com",
        "phone": "01112226666",
        "created_at": "2026-07-29",
        "is_active": true,
        "avatar": null,
        "roles": [
            {
                "id": 1,
                "name": "Default Role"
            },
            {
                "id": 2,
                "name": "Super Admin Role "
            }
        ]
    }
}
PUT /api/v1/admins/2

Update Admin

Update an existing Admin.

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

Headers

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

Request Body

Field/Name Type Examples
name string Admin 2
email string admin2@gmail.com
phone string 01112226666
password string P@ssw0rd
roles array [ { "role_id": 1 }, { "role_id": 2 } ]
id integer 2

Request Validations Or Notes

Field/Name Examples
id required, integer, exists admins,id
name required, string, max 255
email required, string, max 255, valid email, Unique
phone required, string, min 7, max 15, regex, Unique
password optional, StrongPassword
avatar optional, image, types: jpeg,png,jpg,gif, max 2048
is_active optional, true/false
roles required, array, min 1
roles[].role_id required, integer, exists roles,id
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "Admin 2",
        "email": "admin2@gmail.com",
        "phone": "01112226666",
        "created_at": "2026-07-29",
        "is_active": true
    }
}
PATCH /api/v1/admins/2/toggle-active

Toggle Admin Status

Switch the Admin status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "Admin 2",
        "email": "admin2@gmail.com",
        "phone": "01112226666",
        "created_at": "2026-07-29",
        "is_active": false
    }
}
DELETE /api/v1/admins/2

Delete Admin

Delete a Admin.

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

Headers

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

Get Deleted Admin

List deleted Admin.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "Admin 2",
            "email": "admin2@gmail.com",
            "phone": "01112226666",
            "created_at": "2026-07-29",
            "is_active": false,
            "avatar": null,
            "roles": [
                {
                    "id": 1,
                    "name": "Default Role"
                },
                {
                    "id": 2,
                    "name": "Super Admin Role "
                }
            ],
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/admins/2/restore

Restore Admin

Restore deleted Admin.

Restore a previously deleted Admin record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "Admin 2",
        "email": "admin2@gmail.com",
        "phone": "01112226666",
        "created_at": "2026-07-29",
        "is_active": false
    }
}
DELETE /api/v1/admins/2/force-delete

Permanently Delete Admin

Force delete Admin.

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

Headers

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

Create Role

Create a new Role.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "أختبار", "en": "Test Role" }
permissions array [ { "permission_id": 1, "model_id": 1 } ]

Request Validations Or Notes

Field/Name Examples
name required
name.ar required, ArabicRoleName, UniqueTranslationName
name.en required, EnglishRoleName, UniqueTranslationName
permissions required, array, min 1, DoesNotContainAllPermissions
permissions[].permission_id required, integer, exists permissions,id
permissions[].model_id required, integer, CheckPermissionInModule
permissions[].name optional, string
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "updated_at": "2026-07-29T12:57:15.000000Z",
        "created_at": "2026-07-29T12:57:15.000000Z",
        "id": 3
    }
}
GET /api/v1/roles

Get Role List

Retrieve a list of Role.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "Super Admin Role ",
            "admins": [
                {
                    "id": 1,
                    "name": "Admin",
                    "email": "admin@base.com",
                    "phone": "000000000000",
                    "created_at": "2026-07-29",
                    "is_active": true
                },
                {
                    "id": 2,
                    "name": "Admin 2",
                    "email": "admin2@gmail.com",
                    "phone": "01112226666",
                    "created_at": "2026-07-29",
                    "is_active": true
                }
            ],
            "admins_count": 2,
            "is_active": true,
            "created_at": "2026-07-29T12:57:10.000000Z"
        },
        {
            "id": 3,
            "name": "Test Role",
            "admins": [],
            "admins_count": 0,
            "is_active": true,
            "created_at": "2026-07-29T12:57:15.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/roles/3

Get Role Details

Retrieve Role details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "name": "Test Role",
        "permissions": [
            {
                "id": 723,
                "name": "dashboard-fetch"
            }
        ],
        "name_translate": {
            "ar": "أختبار",
            "en": "Test Role"
        },
        "admins": [],
        "admins_count": 0,
        "is_active": true,
        "created_at": "2026-07-29T12:57:15.000000Z"
    }
}
PUT /api/v1/roles/3

Update Role

Update an existing Role.

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

Headers

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

Request Body

Field/Name Type Examples
id integer 3
name array { "ar": "أختبار", "en": "Test Role" }
permissions array [ { "permission_id": 1, "model_id": 1 } ]

Request Validations Or Notes

Field/Name Examples
id required, exists roles,id
name required
name.ar required, ArabicRoleName, UniqueTranslationName
name.en required, EnglishRoleName, UniqueTranslationName
permissions required, array, min 1, DoesNotContainAllPermissions
permissions[].permission_id required, integer, exists permissions,id
permissions[].model_id required, integer, CheckPermissionInModule
permissions[].name optional, string
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "is_active": 1,
        "deleted_at": null,
        "delete_reason": null,
        "created_at": "2026-07-29T12:57:15.000000Z",
        "updated_at": "2026-07-29T12:57:15.000000Z"
    }
}
PATCH /api/v1/roles/3/toggle-active

Toggle Role Status

Switch the Role status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "is_active": false,
        "deleted_at": null,
        "delete_reason": null,
        "created_at": "2026-07-29T12:57:15.000000Z",
        "updated_at": "2026-07-29T12:58:13.000000Z",
        "admins": []
    }
}
DELETE /api/v1/roles/3

Delete Role

Delete a Role.

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

Headers

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

Get Deleted Role

List deleted Role.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "name": "Test Role",
            "is_active": false,
            "created_at": "2026-07-29T12:57:15.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/roles/3/restore

Restore Role

Restore deleted Role.

Restore a previously deleted Role record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "is_active": 0,
        "deleted_at": null,
        "delete_reason": null,
        "created_at": "2026-07-29T12:57:15.000000Z",
        "updated_at": "2026-07-29T12:59:15.000000Z"
    }
}
DELETE /api/v1/roles/3/force-delete

Permanently Delete Role

Force delete Role.

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

Headers

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

Get Model List

Retrieve a list of Model.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "dashboard": [
            {
                "id": 1,
                "key": "dashboard",
                "title": "Dashboard",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "dashboard-fetch"
                    }
                ]
            }
        ],
        "roles": [
            {
                "id": 2,
                "key": "roles",
                "title": "Roles",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "roles-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "roles-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "roles-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "roles-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "roles-delete"
                    }
                ]
            }
        ],
        "admins": [
            {
                "id": 3,
                "key": "admins",
                "title": "Admins",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "admins-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "admins-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "admins-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "admins-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "admins-delete"
                    }
                ]
            }
        ],
        "falcon": [
            {
                "id": 4,
                "key": "falcon",
                "title": "Falcons",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-delete"
                    }
                ]
            },
            {
                "id": 18,
                "key": "falcon-feeding-meals",
                "title": "Falcon Feeding Meals",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-feeding-meals-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-feeding-meals-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-feeding-meals-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-feeding-meals-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-feeding-meals-delete"
                    }
                ]
            },
            {
                "id": 20,
                "key": "falcon-feeding-plans",
                "title": "Falcon Feeding Plans",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-feeding-plans-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-feeding-plans-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-feeding-plans-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-feeding-plans-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-feeding-plans-delete"
                    }
                ]
            },
            {
                "id": 61,
                "key": "falcon-settings-gender",
                "title": "Gender",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-gender-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-gender-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-gender-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-gender-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-gender-delete"
                    }
                ]
            },
            {
                "id": 62,
                "key": "falcon-settings-age",
                "title": "Age",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-age-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-age-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-age-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-age-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-age-delete"
                    }
                ]
            },
            {
                "id": 63,
                "key": "falcon-settings-status",
                "title": "Status",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-status-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-status-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-status-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-status-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-status-delete"
                    }
                ]
            },
            {
                "id": 64,
                "key": "falcon-settings-id",
                "title": "ID Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-id-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-id-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-id-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-id-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-id-delete"
                    }
                ]
            },
            {
                "id": 65,
                "key": "falcon-settings-behavior",
                "title": "Behavior",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-behavior-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-behavior-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-behavior-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-behavior-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-behavior-delete"
                    }
                ]
            },
            {
                "id": 66,
                "key": "falcon-settings-exit-type",
                "title": "Exit Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-exit-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-exit-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-exit-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-exit-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-exit-type-delete"
                    }
                ]
            },
            {
                "id": 67,
                "key": "falcon-settings-reason",
                "title": "Reason",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "falcon-settings-reason-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "falcon-settings-reason-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "falcon-settings-reason-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "falcon-settings-reason-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "falcon-settings-reason-delete"
                    }
                ]
            }
        ],
        "eggs": [
            {
                "id": 5,
                "key": "eggs",
                "title": "Eggs",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-delete"
                    }
                ]
            },
            {
                "id": 6,
                "key": "eggs-attachments",
                "title": "Eggs Attachments",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-attachments-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-attachments-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-attachments-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-attachments-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-attachments-delete"
                    }
                ]
            },
            {
                "id": 7,
                "key": "eggs-media",
                "title": "Eggs Media",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-media-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-media-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-media-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-media-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-media-delete"
                    }
                ]
            },
            {
                "id": 8,
                "key": "eggs-overview",
                "title": "Eggs Overview",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-overview-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-overview-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-overview-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-overview-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-overview-delete"
                    }
                ]
            },
            {
                "id": 9,
                "key": "eggs-locations",
                "title": "Eggs Locations",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-locations-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-locations-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-locations-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-locations-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-locations-delete"
                    }
                ]
            },
            {
                "id": 10,
                "key": "eggs-movements",
                "title": "Eggs Movements",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-movements-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-movements-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-movements-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-movements-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-movements-delete"
                    }
                ]
            },
            {
                "id": 11,
                "key": "eggs-medical",
                "title": "Eggs Medical",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-medical-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-medical-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-medical-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-medical-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-medical-delete"
                    }
                ]
            },
            {
                "id": 12,
                "key": "eggs-incubator",
                "title": "Eggs Incubator",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-incubator-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-incubator-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-incubator-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-incubator-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-incubator-delete"
                    }
                ]
            },
            {
                "id": 13,
                "key": "eggs-events",
                "title": "Eggs Events",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-events-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-events-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-events-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-events-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-events-delete"
                    }
                ]
            },
            {
                "id": 14,
                "key": "eggs-clutches",
                "title": "Eggs Clutches",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-clutches-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-clutches-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-clutches-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-clutches-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-clutches-delete"
                    }
                ]
            },
            {
                "id": 15,
                "key": "eggs-costing",
                "title": "Eggs Costing",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-costing-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-costing-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-costing-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-costing-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-costing-delete"
                    }
                ]
            },
            {
                "id": 68,
                "key": "eggs-settings-health-status",
                "title": "Health Status",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-settings-health-status-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-settings-health-status-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-settings-health-status-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-settings-health-status-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-settings-health-status-delete"
                    }
                ]
            },
            {
                "id": 69,
                "key": "eggs-settings-reason",
                "title": "Reason",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-settings-reason-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-settings-reason-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-settings-reason-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-settings-reason-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-settings-reason-delete"
                    }
                ]
            },
            {
                "id": 70,
                "key": "eggs-settings-incubator-visual-condition",
                "title": "Incubator Visual Condition",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "eggs-settings-incubator-visual-condition-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "eggs-settings-incubator-visual-condition-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "eggs-settings-incubator-visual-condition-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "eggs-settings-incubator-visual-condition-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "eggs-settings-incubator-visual-condition-delete"
                    }
                ]
            }
        ],
        "feeding": [
            {
                "id": 16,
                "key": "feeding-items",
                "title": "Feeding Items",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-items-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-items-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-items-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-items-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-items-delete"
                    }
                ]
            },
            {
                "id": 17,
                "key": "feeding-meals",
                "title": "Feeding Meals",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-meals-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-meals-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-meals-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-meals-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-meals-delete"
                    }
                ]
            },
            {
                "id": 19,
                "key": "feeding-plans",
                "title": "Feeding Plans",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-plans-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-plans-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-plans-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-plans-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-plans-delete"
                    }
                ]
            },
            {
                "id": 50,
                "key": "feeding-settings-category",
                "title": "Category",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-settings-category-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-settings-category-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-settings-category-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-settings-category-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-settings-category-delete"
                    }
                ]
            },
            {
                "id": 51,
                "key": "feeding-settings-unit",
                "title": "Unit",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-settings-unit-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-settings-unit-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-settings-unit-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-settings-unit-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-settings-unit-delete"
                    }
                ]
            },
            {
                "id": 52,
                "key": "feeding-settings-meals-type",
                "title": "Meals Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "feeding-settings-meals-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "feeding-settings-meals-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "feeding-settings-meals-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "feeding-settings-meals-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "feeding-settings-meals-type-delete"
                    }
                ]
            }
        ],
        "locations": [
            {
                "id": 21,
                "key": "locations-facilities",
                "title": "Facilities",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-facilities-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-facilities-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-facilities-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-facilities-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-facilities-delete"
                    }
                ]
            },
            {
                "id": 22,
                "key": "locations-buildings",
                "title": "Buildings",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-buildings-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-buildings-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-buildings-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-buildings-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-buildings-delete"
                    }
                ]
            },
            {
                "id": 23,
                "key": "locations-rooms",
                "title": "Rooms",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-rooms-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-rooms-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-rooms-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-rooms-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-rooms-delete"
                    }
                ]
            },
            {
                "id": 24,
                "key": "locations-subunits",
                "title": "Subunits",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-subunits-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-subunits-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-subunits-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-subunits-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-subunits-delete"
                    }
                ]
            },
            {
                "id": 25,
                "key": "locations-externals",
                "title": "Externals",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-externals-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-externals-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-externals-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-externals-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-externals-delete"
                    }
                ]
            },
            {
                "id": 45,
                "key": "locations-settings-country",
                "title": "Country",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-settings-country-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-settings-country-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-settings-country-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-settings-country-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-settings-country-delete"
                    }
                ]
            },
            {
                "id": 46,
                "key": "locations-settings-city",
                "title": "City",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-settings-city-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-settings-city-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-settings-city-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-settings-city-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-settings-city-delete"
                    }
                ]
            },
            {
                "id": 47,
                "key": "locations-settings-type",
                "title": "Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-settings-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-settings-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-settings-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-settings-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-settings-type-delete"
                    }
                ]
            },
            {
                "id": 48,
                "key": "locations-settings-subunit-type",
                "title": "Subunit Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-settings-subunit-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-settings-subunit-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-settings-subunit-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-settings-subunit-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-settings-subunit-type-delete"
                    }
                ]
            },
            {
                "id": 49,
                "key": "locations-settings-subunit-sub-type",
                "title": "Subunit Sub Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "locations-settings-subunit-sub-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "locations-settings-subunit-sub-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "locations-settings-subunit-sub-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "locations-settings-subunit-sub-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "locations-settings-subunit-sub-type-delete"
                    }
                ]
            }
        ],
        "medical": [
            {
                "id": 26,
                "key": "medical-requests",
                "title": "Medical Requests",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-requests-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-requests-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-requests-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-requests-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-requests-delete"
                    }
                ]
            },
            {
                "id": 27,
                "key": "medical-actions",
                "title": "Medical Actions",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-actions-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-actions-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-actions-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-actions-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-actions-delete"
                    }
                ]
            },
            {
                "id": 28,
                "key": "medical-medications",
                "title": "Medications",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-medications-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-medications-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-medications-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-medications-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-medications-delete"
                    }
                ]
            },
            {
                "id": 29,
                "key": "medical-procedures",
                "title": "Procedures",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-procedures-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-procedures-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-procedures-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-procedures-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-procedures-delete"
                    }
                ]
            },
            {
                "id": 53,
                "key": "medical-settings-category",
                "title": "Category",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-settings-category-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-settings-category-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-settings-category-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-settings-category-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-settings-category-delete"
                    }
                ]
            },
            {
                "id": 54,
                "key": "medical-settings-unit",
                "title": "Unit",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-settings-unit-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-settings-unit-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-settings-unit-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-settings-unit-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-settings-unit-delete"
                    }
                ]
            },
            {
                "id": 55,
                "key": "medical-settings-medicine-category",
                "title": "Medicine Category",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-settings-medicine-category-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-settings-medicine-category-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-settings-medicine-category-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-settings-medicine-category-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-settings-medicine-category-delete"
                    }
                ]
            },
            {
                "id": 56,
                "key": "medical-settings-medicine-form",
                "title": "Medicine Form",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-settings-medicine-form-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-settings-medicine-form-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-settings-medicine-form-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-settings-medicine-form-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-settings-medicine-form-delete"
                    }
                ]
            },
            {
                "id": 71,
                "key": "medical-settings-severity",
                "title": "Severity",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "medical-settings-severity-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "medical-settings-severity-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "medical-settings-severity-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "medical-settings-severity-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "medical-settings-severity-delete"
                    }
                ]
            }
        ],
        "animal": [
            {
                "id": 30,
                "key": "animal-falcon-medical-actions",
                "title": "Animal Medical Actions",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animal-falcon-medical-actions-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animal-falcon-medical-actions-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animal-falcon-medical-actions-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animal-falcon-medical-actions-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animal-falcon-medical-actions-delete"
                    }
                ]
            },
            {
                "id": 31,
                "key": "animal-eggs-medical-actions",
                "title": "Animal Eggs Medical Actions",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animal-eggs-medical-actions-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animal-eggs-medical-actions-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animal-eggs-medical-actions-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animal-eggs-medical-actions-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animal-eggs-medical-actions-delete"
                    }
                ]
            },
            {
                "id": 33,
                "key": "animal-falcon-training",
                "title": "Falcon Training Sessions",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animal-falcon-training-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animal-falcon-training-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animal-falcon-training-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animal-falcon-training-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animal-falcon-training-delete"
                    }
                ]
            },
            {
                "id": 35,
                "key": "animal-falcon-training-plans",
                "title": "Falcon Training Plans",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animal-falcon-training-plans-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animal-falcon-training-plans-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animal-falcon-training-plans-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animal-falcon-training-plans-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animal-falcon-training-plans-delete"
                    }
                ]
            }
        ],
        "training": [
            {
                "id": 32,
                "key": "training",
                "title": "Training Sessions",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "training-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "training-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "training-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "training-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "training-delete"
                    }
                ]
            },
            {
                "id": 34,
                "key": "training-plans",
                "title": "Training Plans",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "training-plans-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "training-plans-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "training-plans-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "training-plans-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "training-plans-delete"
                    }
                ]
            },
            {
                "id": 72,
                "key": "training-settings-category",
                "title": "Category",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "training-settings-category-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "training-settings-category-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "training-settings-category-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "training-settings-category-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "training-settings-category-delete"
                    }
                ]
            },
            {
                "id": 73,
                "key": "training-settings-rate",
                "title": "Rate",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "training-settings-rate-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "training-settings-rate-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "training-settings-rate-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "training-settings-rate-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "training-settings-rate-delete"
                    }
                ]
            }
        ],
        "inventory": [
            {
                "id": 36,
                "key": "inventory-feeding",
                "title": "Feeding Inventory",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-feeding-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-feeding-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-feeding-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-feeding-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "inventory-feeding-delete"
                    }
                ]
            },
            {
                "id": 37,
                "key": "inventory-medication",
                "title": "Medication Inventory",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-medication-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-medication-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-medication-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-medication-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "inventory-medication-delete"
                    }
                ]
            },
            {
                "id": 38,
                "key": "inventory-equipment",
                "title": "Equipment Inventory",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-equipment-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-equipment-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-equipment-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-equipment-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "inventory-equipment-delete"
                    }
                ]
            },
            {
                "id": 39,
                "key": "inventory-suppliers",
                "title": "Suppliers",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-suppliers-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-suppliers-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-suppliers-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-suppliers-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "inventory-suppliers-delete"
                    }
                ]
            },
            {
                "id": 40,
                "key": "inventory-purchased",
                "title": "Purchases",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-purchased-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-purchased-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-purchased-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-purchased-update"
                    }
                ]
            },
            {
                "id": 41,
                "key": "inventory-batches",
                "title": "Batches",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-batches-fetch"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-batches-read"
                    }
                ]
            },
            {
                "id": 42,
                "key": "inventory-scraps",
                "title": "Scrap",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-scraps-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-scraps-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-scraps-read"
                    }
                ]
            },
            {
                "id": 43,
                "key": "inventory-logs",
                "title": "Logs",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-logs-fetch"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-logs-read"
                    }
                ]
            },
            {
                "id": 44,
                "key": "inventory-alerts",
                "title": "Alerts",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-alerts-fetch"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-alerts-read"
                    }
                ]
            },
            {
                "id": 74,
                "key": "inventory-settings-category",
                "title": "Category",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "inventory-settings-category-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "inventory-settings-category-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "inventory-settings-category-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "inventory-settings-category-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "inventory-settings-category-delete"
                    }
                ]
            }
        ],
        "animals": [
            {
                "id": 57,
                "key": "animals-settings-species",
                "title": "Species",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animals-settings-species-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animals-settings-species-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animals-settings-species-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animals-settings-species-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animals-settings-species-delete"
                    }
                ]
            },
            {
                "id": 58,
                "key": "animals-settings-seller-type",
                "title": "Seller Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animals-settings-seller-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animals-settings-seller-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animals-settings-seller-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animals-settings-seller-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animals-settings-seller-type-delete"
                    }
                ]
            },
            {
                "id": 59,
                "key": "animals-settings-gift-type",
                "title": "Gift Type",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animals-settings-gift-type-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animals-settings-gift-type-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animals-settings-gift-type-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animals-settings-gift-type-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animals-settings-gift-type-delete"
                    }
                ]
            },
            {
                "id": 60,
                "key": "animals-settings-color",
                "title": "Color",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "animals-settings-color-fetch"
                    },
                    {
                        "id": 2,
                        "title": "Create Data",
                        "name": "animals-settings-color-create"
                    },
                    {
                        "id": 3,
                        "title": "Read Data",
                        "name": "animals-settings-color-read"
                    },
                    {
                        "id": 4,
                        "title": "Update Data",
                        "name": "animals-settings-color-update"
                    },
                    {
                        "id": 5,
                        "title": "Delete Data",
                        "name": "animals-settings-color-delete"
                    }
                ]
            }
        ],
        "settings": [
            {
                "id": 75,
                "key": "settings-system-setup-general",
                "title": "System Setup - General",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-general-fetch"
                    }
                ]
            },
            {
                "id": 76,
                "key": "settings-system-setup-localization",
                "title": "System Setup - Localization",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-localization-fetch"
                    }
                ]
            },
            {
                "id": 77,
                "key": "settings-system-setup-id-rule",
                "title": "System Setup - ID Rule",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-id-rule-fetch"
                    }
                ]
            },
            {
                "id": 78,
                "key": "settings-system-setup-automation",
                "title": "System Setup - Automation",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-automation-fetch"
                    }
                ]
            },
            {
                "id": 79,
                "key": "settings-system-setup-security",
                "title": "System Setup - Security",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-security-fetch"
                    }
                ]
            },
            {
                "id": 80,
                "key": "settings-system-setup-integrations",
                "title": "System Setup - Integrations",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-integrations-fetch"
                    }
                ]
            },
            {
                "id": 81,
                "key": "settings-system-setup-notifications",
                "title": "System Setup - Notifications",
                "permissions": [
                    {
                        "id": 1,
                        "title": "Fetch Data",
                        "name": "settings-system-setup-notifications-fetch"
                    }
                ]
            }
        ]
    }
}
GET /api/v1/models/1

Get Model Details

Retrieve Model details.

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

Headers

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

Add System Setup — GENERAL

System setup — GENERAL (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
system_name string Falcon ERP
system_version string 1.0.0
date_format string Y-m-d
time_format string H:i
default_timezone string Africa/Cairo
default_language string en
default_currency string EGP
maintenance_mode boolean

Request Validations Or Notes

Field/Name Examples
system_name required, string, max 255
system_version optional, string, max 100
date_format required, string, In
time_format required, string, In
default_timezone required, string, timezone
default_language required, string, In
default_currency required, string, In
maintenance_mode required, true/false
system_logo optional, image, types: jpg,jpeg,png,webp,svg, max 2048
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "date_format": "Y-m-d",
        "default_currency": "EGP",
        "default_language": "en",
        "default_timezone": "Africa\/Cairo",
        "maintenance_mode": false,
        "system_name": "Falcon ERP",
        "system_version": "1.0.0",
        "time_format": "H:i"
    }
}
POST /api/v1/system-setup/localization

Add System Setup — LOCALIZATION

System setup — LOCALIZATION (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
number_format string #,##0.00
currency_position string before
language_toggle boolean 1
default_language string ar

Request Validations Or Notes

Field/Name Examples
number_format required, string, max 50
currency_position required, string, In
language_toggle required, true/false
default_language required, string, In
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "currency_position": "before",
        "default_language": "ar",
        "language_toggle": true,
        "number_format": "#,##0.00"
    }
}
POST /api/v1/system-setup/id-rule

Add System Setup — ID_RULE

System setup — ID_RULE (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
rules array [ { "entity_type": "falcon", "prefix": "FAL", "sequence_start": 10000, "auto_increment": true }, { "entity_type": "egg", "prefix": "EGG", "sequence_start": 10001, "auto_increment": true }, { "entity_type": "clutch", "prefix": "CLU", "sequence_start": 10002, "auto_increment": true } ]

Request Validations Or Notes

Field/Name Examples
rules required, array, size
rules[].entity_type required, string, In, distinct
rules[].prefix required, string, min 2, max 20, regex
rules[].sequence_start required, integer, digits_between
rules[].auto_increment required, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "clutch": {
            "prefix": "CLU",
            "sequence_start": 10002,
            "auto_increment": true
        },
        "egg": {
            "prefix": "EGG",
            "sequence_start": 10001,
            "auto_increment": true
        },
        "falcon": {
            "prefix": "FAL",
            "sequence_start": 10000,
            "auto_increment": true
        }
    }
}
POST /api/v1/system-setup/automation

Add System Setup — AUTOMATION

System setup — AUTOMATION (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
jobs array [ { "key": "data_backup", "name": "Nightly backup", "frequency": "daily", "status": "idle", "email": "automation@example.com", "is_active": true } ]

Request Validations Or Notes

Field/Name Examples
jobs required, array, min 1
jobs[].key required, string, In, distinct
jobs[].name required, string, max 255
jobs[].frequency required, string, max 100
jobs[].status optional, string, max 50
jobs[].email required, valid email, max 255
jobs[].is_active required, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "jobs": [
            {
                "key": "data_backup",
                "name": "Nightly backup",
                "frequency": "daily",
                "status": "idle",
                "email": "automation@example.com",
                "is_active": true
            }
        ]
    }
}
POST /api/v1/system-setup/security

Add System Setup — SECURITY

System setup — SECURITY (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
min_password_length integer 8
session_timeout integer 60
login_attempt_limit integer 5
account_lock_duration integer 30
require_numbers boolean 1
require_uppercase boolean 1
require_special_chars boolean

Request Validations Or Notes

Field/Name Examples
min_password_length required, integer, min 6, max 128
session_timeout required, integer, min 1, max 1440
login_attempt_limit required, integer, min 1, max 10
account_lock_duration required, integer, min 1, max 1440
require_numbers required, true/false
require_uppercase required, true/false
require_special_chars required, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "account_lock_duration": 30,
        "login_attempt_limit": 5,
        "min_password_length": 8,
        "require_numbers": true,
        "require_special_chars": false,
        "require_uppercase": true,
        "session_timeout": 60
    }
}
POST /api/v1/system-setup/integrations

Add System Setup — INTEGRATIONS

System setup — INTEGRATIONS (POST)

Persist validated payload for this setup group.

Headers

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

Request Body

Field/Name Type Examples
services array [ { "key": "blockchain_rox", "endpoint_url": "https:\/\/api.example.com\/hook", "api_key": "sample-api-key" } ]

Request Validations Or Notes

Field/Name Examples
services required, array, min 1
services[].key required, string, In, distinct
services[].endpoint_url required, url, max 1000
services[].api_key required, string, max 500
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "services": [
            {
                "key": "blockchain_rox",
                "endpoint_url": "https:\/\/api.example.com\/hook",
                "api_key": "sample-api-key"
            }
        ]
    }
}
PUT /api/v1/system-setup/notifications/medical/events

Update Event Channels — NOTIFICATIONS

Update Event Channels — NOTIFICATIONS (PUT)

Toggle notification channels for a specific event.

Headers

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

Request Body

Field/Name Type Examples
event_name string medical_checkup_due
email boolean 1
sms boolean
in_app boolean 1
Success (200 OK)
{
    "success": true,
    "message": "Event channels updated successfully.",
    "data": {
        "action": "alert",
        "type": "warning",
        "event_name": "medical_checkup_due",
        "name": "Medical Checkup Due",
        "name_ar": "فحص طبي مستحق",
        "name_en": "Medical Checkup Due",
        "email": true,
        "sms": false,
        "in_app": true
    }
}
GET /api/v1/system-setup/general

Get System Setup — GENERAL

System setup — GENERAL (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "system_name": "Falcon ERP",
        "system_version": "1.0.0",
        "date_format": "Y-m-d",
        "time_format": "H:i",
        "default_timezone": "Africa\/Cairo",
        "default_language": "en",
        "default_currency": "EGP",
        "maintenance_mode": false
    }
}
GET /api/v1/system-setup/localization

Get System Setup — LOCALIZATION

System setup — LOCALIZATION (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "currency_position": "before",
        "default_language": "ar",
        "language_toggle": true,
        "number_format": "#,##0.00"
    }
}
GET /api/v1/system-setup/id-rule

Get System Setup — ID_RULE

System setup — ID_RULE (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "clutch": {
            "prefix": "CLU",
            "sequence_start": 10002,
            "auto_increment": true
        },
        "egg": {
            "prefix": "EGG",
            "sequence_start": 10001,
            "auto_increment": true
        },
        "falcon": {
            "prefix": "FAL",
            "sequence_start": 10000,
            "auto_increment": true
        }
    }
}
GET /api/v1/system-setup/automation

Get System Setup — AUTOMATION

System setup — AUTOMATION (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "jobs": [
            {
                "key": "data_backup",
                "name": "Nightly backup",
                "frequency": "daily",
                "status": "idle",
                "email": "automation@example.com",
                "is_active": true
            }
        ]
    }
}
GET /api/v1/system-setup/security

Get System Setup — SECURITY

System setup — SECURITY (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "account_lock_duration": 30,
        "login_attempt_limit": 5,
        "min_password_length": 8,
        "require_numbers": true,
        "require_special_chars": false,
        "require_uppercase": true,
        "session_timeout": 60
    }
}
GET /api/v1/system-setup/integrations

Get System Setup — INTEGRATIONS

System setup — INTEGRATIONS (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "services": [
            {
                "key": "blockchain_rox",
                "endpoint_url": "https:\/\/api.example.com\/hook",
                "api_key": "sample-api-key"
            }
        ]
    }
}
GET /api/v1/system-setup/notifications

Get System Setup — NOTIFICATIONS

System setup — NOTIFICATIONS (GET)

Read saved system setup rows for this group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "alerts": [
            {
                "module": "medical",
                "events": [
                    {
                        "action": "alert",
                        "type": "warning",
                        "event_name": "medical_checkup_due",
                        "name_ar": "فحص طبي مستحق",
                        "name_en": "Medical Checkup Due",
                        "email": true,
                        "sms": false,
                        "in_app": true
                    }
                ]
            }
        ]
    }
}
GET /api/v1/system-setup/notifications/medical/events

Get Module Events — NOTIFICATIONS

Module Events — NOTIFICATIONS (GET)

Retrieve paginated events configured for a specific module within this setup group.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "action": "alert",
            "type": "warning",
            "event_name": "medical_checkup_due",
            "name": "Medical Checkup Due",
            "name_ar": "فحص طبي مستحق",
            "name_en": "Medical Checkup Due",
            "email": true,
            "sms": false,
            "in_app": true
        }
    ],
    "module": "medical",
    "name": null,
    "name_ar": null,
    "name_en": null,
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/settings/animals-seller-type

Create animals seller type

Create animals seller type

Store a new animals seller type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9835616
name_ar string أختبار للاعدادات9835616

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 7,
        "name": "anim-9835616"
    }
}
GET /api/v1/settings/animals-seller-type

Get animals seller type List

Get animals seller type List

This API retrieves a paginated list of animals seller type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 7,
            "name": "anim-9835616",
            "name_translate": {
                "ar": "أختبار للاعدادات9835616",
                "en": "anim-9835616"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/animals-seller-type/7

Show Single animals seller type

Show Single animals seller type

Get Single animals seller type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 7,
        "name": "anim-9835616",
        "name_translate": {
            "ar": "أختبار للاعدادات9835616",
            "en": "anim-9835616"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/animals-seller-type/7

Update animals seller type

Update animals seller type

Update animals seller type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9921704
name_ar string أختبار للاعدادات9921704
id integer 7

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,animals-seller-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 7,
        "name": "anim-9921704"
    }
}
PATCH /api/v1/settings/animals-seller-type/7

Active Or InActive animals seller type

Update animals seller type

Update animals seller type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 7,
        "name": "anim-9921704"
    }
}
DELETE /api/v1/settings/animals-seller-type/7

Delete animals seller type

Delete animals seller type

Delete animals seller type entry

Headers

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

Create animals gift type

Create animals gift type

Store a new animals gift type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9835350
name_ar string أختبار للاعدادات9835350

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 8,
        "name": "anim-9835350"
    }
}
GET /api/v1/settings/animals-gift-type

Get animals gift type List

Get animals gift type List

This API retrieves a paginated list of animals gift type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 8,
            "name": "anim-9835350",
            "name_translate": {
                "ar": "أختبار للاعدادات9835350",
                "en": "anim-9835350"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/animals-gift-type/8

Show Single animals gift type

Show Single animals gift type

Get Single animals gift type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 8,
        "name": "anim-9835350",
        "name_translate": {
            "ar": "أختبار للاعدادات9835350",
            "en": "anim-9835350"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/animals-gift-type/8

Update animals gift type

Update animals gift type

Update animals gift type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9921462
name_ar string أختبار للاعدادات9921462
id integer 8

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,animals-gift-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 8,
        "name": "anim-9921462"
    }
}
PATCH /api/v1/settings/animals-gift-type/8

Active Or InActive animals gift type

Update animals gift type

Update animals gift type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 8,
        "name": "anim-9921462"
    }
}
DELETE /api/v1/settings/animals-gift-type/8

Delete animals gift type

Delete animals gift type

Delete animals gift type entry

Headers

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

Create animals species

Create animals species

Store a new animals species entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9835102
name_ar string أختبار للاعدادات9835102

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 10,
        "name": "anim-9835102"
    }
}
GET /api/v1/settings/animals-species

Get animals species List

Get animals species List

This API retrieves a paginated list of animals species.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 10,
            "name": "anim-9835102",
            "name_translate": {
                "ar": "أختبار للاعدادات9835102",
                "en": "anim-9835102"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/animals-species/10

Show Single animals species

Show Single animals species

Get Single animals species

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 10,
        "name": "anim-9835102",
        "name_translate": {
            "ar": "أختبار للاعدادات9835102",
            "en": "anim-9835102"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/animals-species/10

Update animals species

Update animals species

Update animals species entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9921752
name_ar string أختبار للاعدادات9921752
id integer 10

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,animals-species
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 10,
        "name": "anim-9921752"
    }
}
PATCH /api/v1/settings/animals-species/10

Active Or InActive animals species

Update animals species

Update animals species entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 10,
        "name": "anim-9921752"
    }
}
DELETE /api/v1/settings/animals-species/10

Delete animals species

Delete animals species

Delete animals species entry

Headers

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

Create animals color

Create animals color

Store a new animals color entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9835961
name_ar string أختبار للاعدادات9835961

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 9,
        "name": "anim-9835961"
    }
}
GET /api/v1/settings/animals-color

Get animals color List

Get animals color List

This API retrieves a paginated list of animals color.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 9,
            "name": "anim-9835961",
            "name_translate": {
                "ar": "أختبار للاعدادات9835961",
                "en": "anim-9835961"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/animals-color/9

Show Single animals color

Show Single animals color

Get Single animals color

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 9,
        "name": "anim-9835961",
        "name_translate": {
            "ar": "أختبار للاعدادات9835961",
            "en": "anim-9835961"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/animals-color/9

Update animals color

Update animals color

Update animals color entry

Headers

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

Request Body

Field/Name Type Examples
name_en string anim-9921611
name_ar string أختبار للاعدادات9921611
id integer 9

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,animals-color
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 9,
        "name": "anim-9921611"
    }
}
PATCH /api/v1/settings/animals-color/9

Active Or InActive animals color

Update animals color

Update animals color entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 9,
        "name": "anim-9921611"
    }
}
DELETE /api/v1/settings/animals-color/9

Delete animals color

Delete animals color

Delete animals color entry

Headers

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

Create eggs health status

Create eggs health status

Store a new eggs health status entry

Headers

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

Request Body

Field/Name Type Examples
name_en string eggs-9835889
name_ar string أختبار للاعدادات9835889

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 4,
        "name": "eggs-9835889"
    }
}
GET /api/v1/settings/eggs-health-status

Get eggs health status List

Get eggs health status List

This API retrieves a paginated list of eggs health status.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "name": "eggs-9835889",
            "name_translate": {
                "ar": "أختبار للاعدادات9835889",
                "en": "eggs-9835889"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/eggs-health-status/4

Show Single eggs health status

Show Single eggs health status

Get Single eggs health status

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 4,
        "name": "eggs-9835889",
        "name_translate": {
            "ar": "أختبار للاعدادات9835889",
            "en": "eggs-9835889"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/eggs-health-status/4

Update eggs health status

Update eggs health status

Update eggs health status entry

Headers

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

Request Body

Field/Name Type Examples
name_en string eggs-9921255
name_ar string أختبار للاعدادات9921255
id integer 4

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,eggs-health-status
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 4,
        "name": "eggs-9921255"
    }
}
PATCH /api/v1/settings/eggs-health-status/4

Active Or InActive eggs health status

Update eggs health status

Update eggs health status entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 4,
        "name": "eggs-9921255"
    }
}
DELETE /api/v1/settings/eggs-health-status/4

Delete eggs health status

Delete eggs health status

Delete eggs health status entry

Headers

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

Create eggs reason

Create eggs reason

Store a new eggs reason entry

Headers

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

Request Body

Field/Name Type Examples
name_en string eggs-9835599
name_ar string أختبار للاعدادات9835599

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 5,
        "name": "eggs-9835599"
    }
}
GET /api/v1/settings/eggs-reason

Get eggs reason List

Get eggs reason List

This API retrieves a paginated list of eggs reason.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 5,
            "name": "eggs-9835599",
            "name_translate": {
                "ar": "أختبار للاعدادات9835599",
                "en": "eggs-9835599"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/eggs-reason/5

Show Single eggs reason

Show Single eggs reason

Get Single eggs reason

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 5,
        "name": "eggs-9835599",
        "name_translate": {
            "ar": "أختبار للاعدادات9835599",
            "en": "eggs-9835599"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/eggs-reason/5

Update eggs reason

Update eggs reason

Update eggs reason entry

Headers

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

Request Body

Field/Name Type Examples
name_en string eggs-9921996
name_ar string أختبار للاعدادات9921996
id integer 5

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,eggs-reason
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 5,
        "name": "eggs-9921996"
    }
}
PATCH /api/v1/settings/eggs-reason/5

Active Or InActive eggs reason

Update eggs reason

Update eggs reason entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 5,
        "name": "eggs-9921996"
    }
}
DELETE /api/v1/settings/eggs-reason/5

Delete eggs reason

Delete eggs reason

Delete eggs reason entry

Headers

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

Create Egg (Existing)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 4256493754
type string eggs
origin_type string exist
image string photo1.jpg
father_id integer 1
mother_id integer 1
name string Egg Test
health_status_id integer 4
reason_id integer 5
color_id integer 9
weight integer 2
lay_date string 2024-03-01
expected_hatch_date string 2024-04-01
species_id integer 10
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 4,
        "name": "Egg Test",
        "code": "#EGG-10001",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": false,
        "code_id": "#EGG-10001",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:40",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-01"
    }
}
POST /api/v1/animals/eggs

Create Egg (Gift)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 4420522455
type string eggs
origin_type string gift
image string photo1.jpg
father_id integer 1
mother_id integer 1
name string Egg Gift Test
health_status_id integer 4
reason_id integer 5
color_id integer 9
weight integer 2
lay_date string 2024-03-01
expected_hatch_date string 2024-04-01
species_id integer 10
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
gift_type_id integer 8
date string 2024-05-25
price integer 100
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 5,
        "name": "Egg Gift Test",
        "code": "#EGG-10002",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": false,
        "code_id": "#EGG-10002",
        "origin_type": {
            "key": "gift",
            "value": "Gift"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:40",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-01",
        "gift_type": {
            "id": 8,
            "name": "anim-9835350"
        },
        "gift_date": "2024-05-25",
        "gift_price": "100.00"
    }
}
POST /api/v1/animals/eggs

Create Egg (Purchased)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 9671813345
type string eggs
origin_type string purchased
image string photo1.jpg
father_id integer 1
mother_id integer 1
name string Egg Purchased Test
health_status_id integer 4
reason_id integer 5
color_id integer 9
weight integer 2
lay_date string 2024-03-01
expected_hatch_date string 2024-04-01
species_id integer 10
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
seller_name string Egg Seller
seller_type_id integer 7
date string 2024-05-25
price integer 250
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 6,
        "name": "Egg Purchased Test",
        "code": "#EGG-10003",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": false,
        "code_id": "#EGG-10003",
        "origin_type": {
            "key": "purchased",
            "value": "Purchased"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:41",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-01",
        "seller_name": "Egg Seller",
        "seller_type": {
            "id": 7,
            "name": "anim-9835616"
        },
        "purchase_date": "2024-05-25",
        "purchase_price": "250.00"
    }
}
POST /api/v1/animals/eggs

Create Egg (Clutch)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
origin_type string exist
father_id integer 1
mother_id integer 1
species_id integer 10
lay_date string 2024-03-01
expected_hatch_date string 2024-04-01
clutch_name string Clutch Test
number_of_eggs integer 3
breeding_room_id integer 3
eggs array [ { "name": "Clutch Egg A", "weight": 2.1, "color_id": 9, "health_status_id": 4, "reason_id": 5, "facility_id": 1, "building_id": 2, "room_id": 3, "sub_unit_id": 4 }, { "name": "Clutch Egg B", "weight": 2.2, "color_id": 9, "health_status_id": 4, "reason_id": 5, "facility_id": 1, "building_id": 2, "room_id": 3, "sub_unit_id": 4 }, { "name": "Clutch Egg C", "weight": 2.3, "color_id": 9, "health_status_id": 4, "reason_id": 5, "facility_id": 1, "building_id": 2, "room_id": 3, "sub_unit_id": 4 } ]
Success (200 OK)
{
    "success": true,
    "message": "Clutch created successfully.",
    "data": {
        "id": 1,
        "clutch_name": "Clutch Test",
        "clutch_code": "CLU-10002",
        "parents": {
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code": "#FAL-10000",
                "age": "2.00",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "is_active": true
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code": "#FAL-10000",
                "age": "2.00",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "is_active": true
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "breeding_room": {
            "id": 3,
            "name": "QA Room",
            "temperature": "22.00",
            "humidity": "50.00",
            "capacity_falcons": {
                "available": 30,
                "total": 30,
                "consumed": 0
            },
            "capacity_eggs": {
                "available": 60,
                "total": 60,
                "consumed": 0
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": true
        },
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-01",
        "number_of_eggs": 3,
        "eggs": [
            {
                "id": 7,
                "name": "Clutch Egg A",
                "code": "#EGG-10004",
                "father": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "mother": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "status": "alive",
                "is_active": true
            },
            {
                "id": 8,
                "name": "Clutch Egg B",
                "code": "#EGG-10005",
                "father": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "mother": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "status": "alive",
                "is_active": true
            },
            {
                "id": 9,
                "name": "Clutch Egg C",
                "code": "#EGG-10006",
                "father": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "mother": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code_id": "#FAL-10000",
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                },
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "status": "alive",
                "is_active": true
            }
        ]
    }
}
GET /api/v1/animals/eggs

Get Animal List

Retrieve a list of Animal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "name": "Egg Test",
            "code": "#EGG-10001",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "incubating",
            "is_active": true,
            "code_id": "#EGG-10001",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "1.60",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:40",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01"
        },
        {
            "id": 5,
            "name": "Egg Gift Test",
            "code": "#EGG-10002",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "incubating",
            "is_active": true,
            "code_id": "#EGG-10002",
            "origin_type": {
                "key": "gift",
                "value": "Gift"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.00",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:40",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01",
            "gift_type": {
                "id": 8,
                "name": "anim-9835350"
            },
            "gift_date": "2024-05-25",
            "gift_price": "100.00"
        },
        {
            "id": 6,
            "name": "Egg Purchased Test",
            "code": "#EGG-10003",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "incubating",
            "is_active": true,
            "code_id": "#EGG-10003",
            "origin_type": {
                "key": "purchased",
                "value": "Purchased"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.00",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01",
            "seller_name": "Egg Seller",
            "seller_type": {
                "id": 7,
                "name": "anim-9835616"
            },
            "purchase_date": "2024-05-25",
            "purchase_price": "250.00"
        },
        {
            "id": 7,
            "name": "Clutch Egg A",
            "code": "#EGG-10004",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10004",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.10",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": {
                "id": 3,
                "name": "QA Room",
                "temperature": "22.00",
                "humidity": "50.00",
                "capacity_falcons": {
                    "available": 30,
                    "total": 30,
                    "consumed": 0
                },
                "capacity_eggs": {
                    "available": 60,
                    "total": 60,
                    "consumed": 0
                },
                "supported_assets": {
                    "key": "falcons-eggs",
                    "name": "Falcons and eggs"
                },
                "is_active": true
            },
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01"
        },
        {
            "id": 8,
            "name": "Clutch Egg B",
            "code": "#EGG-10005",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10005",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.20",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": {
                "id": 3,
                "name": "QA Room",
                "temperature": "22.00",
                "humidity": "50.00",
                "capacity_falcons": {
                    "available": 30,
                    "total": 30,
                    "consumed": 0
                },
                "capacity_eggs": {
                    "available": 60,
                    "total": 60,
                    "consumed": 0
                },
                "supported_assets": {
                    "key": "falcons-eggs",
                    "name": "Falcons and eggs"
                },
                "is_active": true
            },
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01"
        },
        {
            "id": 9,
            "name": "Clutch Egg C",
            "code": "#EGG-10006",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10006",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.30",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9835889"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9835599"
            },
            "breeding_room": {
                "id": 3,
                "name": "QA Room",
                "temperature": "22.00",
                "humidity": "50.00",
                "capacity_falcons": {
                    "available": 30,
                    "total": 30,
                    "consumed": 0
                },
                "capacity_eggs": {
                    "available": 60,
                    "total": 60,
                    "consumed": 0
                },
                "supported_assets": {
                    "key": "falcons-eggs",
                    "name": "Falcons and eggs"
                },
                "is_active": true
            },
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 6,
        "last_page": 1
    },
    "stats": {
        "total": 6,
        "active": 6,
        "inactive": 0,
        "origins": {
            "exist": 4,
            "gift": 1,
            "purchased": 1
        },
        "types": {
            "falcon": 3,
            "eggs": 6
        }
    }
}
GET /api/v1/animals/eggs/6

Get Animal Details

Retrieve Animal details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 6,
        "name": "Egg Purchased Test",
        "code": "#EGG-10003",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": true,
        "code_id": "#EGG-10003",
        "origin_type": {
            "key": "purchased",
            "value": "Purchased"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": "2.00",
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:41",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-01",
        "seller_name": "Egg Seller",
        "seller_type": {
            "id": 7,
            "name": "anim-9835616"
        },
        "purchase_date": "2024-05-25",
        "purchase_price": "250.00"
    }
}
PUT /api/v1/animals/eggs/6

Update Animal

Update an existing Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 7668563342
type string eggs
origin_type string exist
image string photo1.jpg
father_id integer 1
mother_id integer 1
name string Egg Updated
health_status_id integer 4
reason_id integer 5
color_id integer 9
weight integer 2
lay_date string 2024-03-01
expected_hatch_date string 2024-04-05
species_id integer 10
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
id integer 6
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 6,
        "name": "Egg Updated",
        "code": "#EGG-10003",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": true,
        "code_id": "#EGG-10003",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:41",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-05"
    }
}
PATCH /api/v1/animals/eggs/6/toggle-active

Toggle Animal Status

Switch the Animal status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 6,
        "name": "Egg Updated",
        "code": "#EGG-10003",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "incubating",
        "is_active": false,
        "code_id": "#EGG-10003",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": "2.00",
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:41",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9835889"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9835599"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-05"
    }
}
DELETE /api/v1/animals/eggs/6

Delete Animal

Delete a Animal.

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

Headers

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

Get Deleted Animal

List deleted Animal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 6,
            "name": "Egg Updated",
            "code": "#EGG-10003",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9921752"
            },
            "status": "incubating",
            "is_active": false,
            "code_id": "#EGG-10003",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9921611"
            },
            "weight": "2.00",
            "locations": {
                "facility": null,
                "building": null,
                "room": null,
                "sub_unit": null
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9921255"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9921996"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-05",
            "delete_reason": null
        },
        {
            "id": 7,
            "name": "Clutch Egg A",
            "code": "#EGG-10004",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9921752"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10004",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9921611"
            },
            "weight": "2.10",
            "locations": {
                "facility": null,
                "building": null,
                "room": null,
                "sub_unit": null
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9921255"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9921996"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01",
            "delete_reason": null
        },
        {
            "id": 8,
            "name": "Clutch Egg B",
            "code": "#EGG-10005",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9921752"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10005",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9921611"
            },
            "weight": "2.20",
            "locations": {
                "facility": null,
                "building": null,
                "room": null,
                "sub_unit": null
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9921255"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9921996"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01",
            "delete_reason": null
        },
        {
            "id": 9,
            "name": "Clutch Egg C",
            "code": "#EGG-10006",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9921752"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#EGG-10006",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9921611"
            },
            "weight": "2.30",
            "locations": {
                "facility": null,
                "building": null,
                "room": null,
                "sub_unit": null
            },
            "created_at": "2026-07-29 15:57:41",
            "note": null,
            "has_diagnosis": false,
            "health_status": {
                "id": 4,
                "name": "eggs-9921255"
            },
            "reason": {
                "id": 5,
                "name": "eggs-9921996"
            },
            "breeding_room": null,
            "lay_date": "2024-03-01",
            "expected_hatch_date": "2024-04-01",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}
PATCH /api/v1/animals/eggs/6/restore

Restore Animal

Restore deleted Animal.

Restore a previously deleted Animal record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 6,
        "name": "Egg Updated",
        "code": "#EGG-10003",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9921752"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9921752"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9921752"
        },
        "status": "incubating",
        "is_active": false,
        "code_id": "#EGG-10003",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9921611"
        },
        "weight": "2.00",
        "locations": {
            "facility": null,
            "building": null,
            "room": null,
            "sub_unit": null
        },
        "created_at": "2026-07-29 15:57:41",
        "note": null,
        "has_diagnosis": false,
        "health_status": {
            "id": 4,
            "name": "eggs-9921255"
        },
        "reason": {
            "id": 5,
            "name": "eggs-9921996"
        },
        "breeding_room": null,
        "lay_date": "2024-03-01",
        "expected_hatch_date": "2024-04-05"
    }
}
DELETE /api/v1/animals/eggs/6/force-delete

Permanently Delete Animal

Force delete Animal.

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

Headers

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

Create Activity

Create activity

Record an activity for a single animal.

Headers

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

Request Body

Field/Name Type Examples
new_value string 1.6
note string Weight gain observed.

Request Validations Or Notes

Field/Name Examples
activity_type required, In
new_value required, numeric, min 0
note optional, string, max 1000
files optional, array
files[] file, types: jpeg,jpg,png,gif,webp,mp4,webm,avi,mov,qt,3gp, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Activity inserted successfully.",
    "data": {
        "id": 13,
        "animal_id": 4,
        "activity_type": "weight_change",
        "current_value": "2.00 kg",
        "new_value": "1.6 kg",
        "weight_change": "-0.4 kg",
        "percentage_of_change": "-20%",
        "note": "Weight gain observed.",
        "media": {
            "images": [],
            "videos": []
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_at": "2026-07-29 15:57:41"
    }
}
GET /api/v1/animals/eggs/4/activity

Get Activities

Get activities list

Get the activity timeline of the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 13,
            "animal_id": 4,
            "activity_type": "weight_change",
            "current_value": "2.00 kg",
            "new_value": "1.6 kg",
            "weight_change": "-0.4 kg",
            "percentage_of_change": "-20%",
            "note": "Weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:41"
        },
        {
            "id": 14,
            "animal_id": 4,
            "activity_type": "weight_change",
            "current_value": "1.60 kg",
            "new_value": "1.6 kg",
            "weight_change": "0 kg",
            "percentage_of_change": "0%",
            "note": "Bulk weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:42"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
POST /api/v1/animals/eggs/4/media

Create Eggs_media

Create a new Eggs_media.

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

Headers

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

Request Body

Field/Name Type Examples
name string Medical_Records
category string medical
file string input_file

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
category required, allowed: general, medical, training
files required, array
files[] required, file, types: jpeg,png,jpg,gif,svg,mp4,webm,avi,mov,qt,3gp, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 3,
        "folder_name": "Medical_Records",
        "category": "medical",
        "type": "media",
        "created_at": "2026-07-29 15:57:47",
        "files": [
            {
                "id": 3,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329867_1.jpg",
                "original_name": "photo1.jpg",
                "size": 4787,
                "mime_type": "image\/jpeg",
                "created_at": "2026-07-29 15:57:47"
            }
        ]
    }
}
GET /api/v1/animals/eggs/4/media

Get Eggs_media List

Retrieve a list of Eggs_media.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "folder_name": "Medical_Records",
            "category": "medical",
            "type": "media",
            "created_at": "2026-07-29 15:57:47",
            "files": [
                {
                    "id": 3,
                    "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329867_1.jpg",
                    "original_name": "photo1.jpg",
                    "size": 4787,
                    "mime_type": "image\/jpeg",
                    "created_at": "2026-07-29 15:57:47"
                }
            ]
        }
    ],
    "pagination": {
        "total": 1,
        "per_page": 15,
        "last_page": 1,
        "current_page": 1
    },
    "stats": {
        "folders_count": 1,
        "files_count": 1,
        "by_category": {
            "medical": 1
        },
        "by_type": {
            "images": 1,
            "videos": 0
        },
        "by_extension": {
            "images": {
                "jpg": 1
            },
            "videos": []
        }
    }
}
GET /api/v1/animals/eggs/4/media/Medical_Records

Get Eggs_media Details

Retrieve Eggs_media details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Folder retrieved successfully.",
    "data": {
        "id": 3,
        "folder_name": "Medical_Records",
        "category": "medical",
        "type": "media",
        "created_at": "2026-07-29 15:57:47",
        "files": [
            {
                "id": 3,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329867_1.jpg",
                "original_name": "photo1.jpg",
                "size": 4787,
                "mime_type": "image\/jpeg",
                "created_at": "2026-07-29 15:57:47"
            }
        ]
    }
}
POST /api/v1/animals/eggs/4/attach

Create Eggs_attachment

Create a new Eggs_attachment.

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

Headers

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

Request Body

Field/Name Type Examples
name string Certificates
category string general
file string input_file

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
category optional, allowed: general, medical, training, legal
files required, array
files[] required, file, types: pdf,doc,docx,xls,xlsx,ppt,pptx,txt,csv,zip,rar,7z,tar,gz, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 4,
        "folder_name": "Certificates",
        "category": "general",
        "type": "attachment",
        "created_at": "2026-07-29 15:57:48",
        "files": [
            {
                "id": 4,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329868_1.pdf",
                "original_name": "cert.pdf",
                "size": 45,
                "mime_type": "application\/pdf",
                "created_at": "2026-07-29 15:57:48"
            }
        ]
    }
}
GET /api/v1/animals/eggs/4/attach

Get Eggs_attachment List

Retrieve a list of Eggs_attachment.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "folder_name": "Certificates",
            "category": "general",
            "type": "attachment",
            "created_at": "2026-07-29 15:57:48",
            "files": [
                {
                    "id": 4,
                    "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329868_1.pdf",
                    "original_name": "cert.pdf",
                    "size": 45,
                    "mime_type": "application\/pdf",
                    "created_at": "2026-07-29 15:57:48"
                }
            ]
        }
    ],
    "pagination": {
        "total": 1,
        "per_page": 15,
        "last_page": 1,
        "current_page": 1
    },
    "stats": {
        "folders_count": 1,
        "files_count": 1,
        "by_category": {
            "general": 1
        },
        "by_type": {
            "images": 0,
            "videos": 0
        },
        "by_extension": {
            "images": [],
            "videos": []
        }
    }
}
GET /api/v1/animals/eggs/4/attach/Certificates

Get Eggs_attachment Details

Retrieve Eggs_attachment details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Folder retrieved successfully.",
    "data": {
        "id": 4,
        "folder_name": "Certificates",
        "category": "general",
        "type": "attachment",
        "created_at": "2026-07-29 15:57:48",
        "files": [
            {
                "id": 4,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329868_1.pdf",
                "original_name": "cert.pdf",
                "size": 45,
                "mime_type": "application\/pdf",
                "created_at": "2026-07-29 15:57:48"
            }
        ]
    }
}
POST /api/v1/animals/eggs/4/timeline

Create Eggs_timeline

Create a new Eggs_timeline.

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

Headers

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

Request Body

Field/Name Type Examples
event_type string feeding
description string Regular feeding event.
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 18,
        "animal_id": 4,
        "admin_id": 1,
        "admin_name": "Admin",
        "type": "feeding",
        "event_type": "feeding",
        "description": "Regular feeding event.",
        "payload": [],
        "created_at": "2026-07-29 15:57:49",
        "transactions": []
    }
}
GET /api/v1/animals/eggs/4/timeline

Get Eggs_timeline List

Retrieve a list of Eggs_timeline.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 7,
            "animal_id": 4,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "location_change",
            "event_type": "location_change",
            "description": "Primary location assigned",
            "payload": {
                "location_type": "primary",
                "from": null,
                "to": {
                    "facility_id": 1,
                    "building_id": 2,
                    "room_id": 3,
                    "sub_unit_id": 4
                }
            },
            "created_at": "2026-07-29 15:57:40",
            "transactions": []
        },
        {
            "id": 13,
            "animal_id": 4,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "weight_change",
            "event_type": "weight_change",
            "description": "Weight gain observed.",
            "payload": {
                "current_value": "2.00",
                "new_value": "1.6",
                "unit": "kg",
                "note": "Weight gain observed.",
                "media": {
                    "images": [],
                    "videos": []
                }
            },
            "created_at": "2026-07-29 15:57:41",
            "transactions": []
        },
        {
            "id": 14,
            "animal_id": 4,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "weight_change",
            "event_type": "weight_change",
            "description": "Bulk weight gain observed.",
            "payload": {
                "current_value": "1.60",
                "new_value": "1.6",
                "unit": "kg",
                "note": "Bulk weight gain observed."
            },
            "created_at": "2026-07-29 15:57:42",
            "transactions": []
        },
        {
            "id": 18,
            "animal_id": 4,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "feeding",
            "event_type": "feeding",
            "description": "Regular feeding event.",
            "payload": [],
            "created_at": "2026-07-29 15:57:49",
            "transactions": []
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}
POST /api/v1/animals/eggs/4/locations

Create Location

Create location

Assign a secondary location to the animal.

Headers

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

Request Body

Field/Name Type Examples
location_type string secondary
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
end_date string 2025-01-01
Success (200 OK)
{
    "success": true,
    "message": "Secondary location saved successfully.",
    "data": {
        "id": 11,
        "animal_id": 4,
        "location_type": "secondary",
        "facility": {
            "id": 1,
            "name": "QA Facility"
        },
        "building": {
            "id": 2,
            "name": "QA Building"
        },
        "room": {
            "id": 3,
            "name": "QA Room"
        },
        "sub_unit": null,
        "started_at": "2026-07-29 15:57:50",
        "ended_at": null,
        "end_date": null,
        "created_at": "2026-07-29 15:57:50"
    }
}
GET /api/v1/animals/eggs/4/locations

Get Locations

Get locations list

Get all locations (primary, secondary, history) for the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "primary": {
            "id": 4,
            "animal_id": 4,
            "location_type": "primary",
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": null,
            "started_at": "2026-07-29 15:57:40",
            "ended_at": null,
            "end_date": null,
            "created_at": "2026-07-29 15:57:40"
        },
        "secondary": {
            "id": 11,
            "animal_id": 4,
            "location_type": "secondary",
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": null,
            "started_at": "2026-07-29 15:57:50",
            "ended_at": null,
            "end_date": null,
            "created_at": "2026-07-29 15:57:50"
        }
    }
}
PUT /api/v1/animals/eggs/4/locations/11

Update Location

Update location

Update a specific secondary location.

Headers

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

Request Body

Field/Name Type Examples
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
end_date string 2026-01-01
Success (200 OK)
{
    "success": true,
    "message": "Location updated successfully.",
    "data": {
        "id": 19,
        "animal_id": 4,
        "location_type": "secondary",
        "facility": {
            "id": 1,
            "name": "QA Facility"
        },
        "building": {
            "id": 2,
            "name": "QA Building"
        },
        "room": {
            "id": 3,
            "name": "QA Room"
        },
        "sub_unit": null,
        "started_at": "2026-07-29 15:58:15",
        "ended_at": null,
        "end_date": null,
        "created_at": "2026-07-29 15:58:15"
    }
}
POST /api/v1/animals/eggs/9/movements

Create Movement

Create movement

Record an internal movement for the animal.

Headers

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

Request Body

Field/Name Type Examples
to_facility_id integer 1
to_building_id integer 2
to_room_id integer 3
to_sub_unit_id integer 4
reason string Relocated for better space.
moved_at string 2026-07-29 15:57:50
Success (200 OK)
{
    "success": true,
    "message": "Movement recorded successfully.",
    "data": {
        "id": 2,
        "animal_id": 9,
        "type": "other",
        "moved_by": {
            "id": 1,
            "name": "Admin"
        },
        "from_location": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "to_location": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "note": null,
        "created_at": "2026-07-29 15:57:50"
    }
}
GET /api/v1/animals/eggs/9/movements

Get Movements

Get movements list

Get the movement history of the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "animal_id": 9,
            "type": "other",
            "moved_by": {
                "id": 1,
                "name": "Admin"
            },
            "from_location": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "to_location": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "note": null,
            "created_at": "2026-07-29 15:57:50"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/animals/eggs/id-rules

Get Eggs & Clutch ID Rules

Get eggs & clutch ID rules

Returns the ID generation rules for both eggs and clutches — mode (auto/manual), prefix, and next code preview if auto.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "egg": {
            "entity_type": "egg",
            "prefix": "EGG",
            "mode": "auto",
            "next_id": "EGG-10007"
        },
        "clutch": {
            "entity_type": "clutch",
            "prefix": "CLU",
            "mode": "auto",
            "next_id": "CLU-10003"
        }
    }
}
POST /api/v1/settings/falcon-gender

Create falcon gender

Create falcon gender

Store a new falcon gender entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9835597
name_ar string أختبار للاعدادات9835597

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 11,
        "name": "falc-9835597"
    }
}
GET /api/v1/settings/falcon-gender

Get falcon gender List

Get falcon gender List

This API retrieves a paginated list of falcon gender.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 11,
            "name": "falc-9835597",
            "name_translate": {
                "ar": "أختبار للاعدادات9835597",
                "en": "falc-9835597"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/falcon-gender/11

Show Single falcon gender

Show Single falcon gender

Get Single falcon gender

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 11,
        "name": "falc-9835597",
        "name_translate": {
            "ar": "أختبار للاعدادات9835597",
            "en": "falc-9835597"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/falcon-gender/11

Update falcon gender

Update falcon gender

Update falcon gender entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9921406
name_ar string أختبار للاعدادات9921406
id integer 11

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,falcon-gender
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 11,
        "name": "falc-9921406"
    }
}
PATCH /api/v1/settings/falcon-gender/11

Active Or InActive falcon gender

Update falcon gender

Update falcon gender entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 11,
        "name": "falc-9921406"
    }
}
DELETE /api/v1/settings/falcon-gender/11

Delete falcon gender

Delete falcon gender

Delete falcon gender entry

Headers

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

Create falcon age

Create falcon age

Store a new falcon age entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9835121
name_ar string أختبار للاعدادات9835121
data array { "min_age": 90, "max_age": 95 }

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
data required, array
data.min_age required, integer, min 0, max 100
data.max_age required, integer, min 0, max 100, gte
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 12,
        "name": "falc-9835121",
        "data": {
            "min_age": 90,
            "max_age": 95
        }
    }
}
GET /api/v1/settings/falcon-age

Get falcon age List

Get falcon age List

This API retrieves a paginated list of falcon age.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            },
            "name_translate": {
                "ar": "أختبار للاعدادات9835121",
                "en": "falc-9835121"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/falcon-age/12

Show Single falcon age

Show Single falcon age

Get Single falcon age

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 12,
        "name": "falc-9835121",
        "data": {
            "min_age": 90,
            "max_age": 95
        },
        "name_translate": {
            "ar": "أختبار للاعدادات9835121",
            "en": "falc-9835121"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/falcon-age/12

Update falcon age

Update falcon age

Update falcon age entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9921226
name_ar string أختبار للاعدادات9921226
data array { "min_age": 96, "max_age": 100 }
id integer 12

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,falcon-age
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
data required, array
data.min_age required, integer, min 0, max 100
data.max_age required, integer, min 0, max 100, gte
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 12,
        "name": "falc-9921226",
        "data": {
            "min_age": 96,
            "max_age": 100
        }
    }
}
PATCH /api/v1/settings/falcon-age/12

Active Or InActive falcon age

Update falcon age

Update falcon age entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 12,
        "name": "falc-9921226",
        "data": {
            "min_age": 96,
            "max_age": 100
        }
    }
}
DELETE /api/v1/settings/falcon-age/12

Delete falcon age

Delete falcon age

Delete falcon age entry

Headers

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

Create falcon id

Create falcon id

Store a new falcon id entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9835897
name_ar string أختبار للاعدادات9835897

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 14,
        "name": "falc-9835897"
    }
}
GET /api/v1/settings/falcon-id

Get falcon id List

Get falcon id List

This API retrieves a paginated list of falcon id.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 14,
            "name": "falc-9835897",
            "name_translate": {
                "ar": "أختبار للاعدادات9835897",
                "en": "falc-9835897"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/falcon-id/14

Show Single falcon id

Show Single falcon id

Get Single falcon id

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 14,
        "name": "falc-9835897",
        "name_translate": {
            "ar": "أختبار للاعدادات9835897",
            "en": "falc-9835897"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/falcon-id/14

Update falcon id

Update falcon id

Update falcon id entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9921286
name_ar string أختبار للاعدادات9921286
id integer 14

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,falcon-id
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 14,
        "name": "falc-9921286"
    }
}
PATCH /api/v1/settings/falcon-id/14

Active Or InActive falcon id

Update falcon id

Update falcon id entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 14,
        "name": "falc-9921286"
    }
}
DELETE /api/v1/settings/falcon-id/14

Delete falcon id

Delete falcon id

Delete falcon id entry

Headers

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

Create falcon behavior

Create falcon behavior

Store a new falcon behavior entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9835502
name_ar string أختبار للاعدادات9835502

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 15,
        "name": "falc-9835502"
    }
}
GET /api/v1/settings/falcon-behavior

Get falcon behavior List

Get falcon behavior List

This API retrieves a paginated list of falcon behavior.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 15,
            "name": "falc-9835502",
            "name_translate": {
                "ar": "أختبار للاعدادات9835502",
                "en": "falc-9835502"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/falcon-behavior/15

Show Single falcon behavior

Show Single falcon behavior

Get Single falcon behavior

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 15,
        "name": "falc-9835502",
        "name_translate": {
            "ar": "أختبار للاعدادات9835502",
            "en": "falc-9835502"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/falcon-behavior/15

Update falcon behavior

Update falcon behavior

Update falcon behavior entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9921521
name_ar string أختبار للاعدادات9921521
id integer 15

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,falcon-behavior
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 15,
        "name": "falc-9921521"
    }
}
PATCH /api/v1/settings/falcon-behavior/15

Active Or InActive falcon behavior

Update falcon behavior

Update falcon behavior entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 15,
        "name": "falc-9921521"
    }
}
DELETE /api/v1/settings/falcon-behavior/15

Delete falcon behavior

Delete falcon behavior

Delete falcon behavior entry

Headers

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

Create falcon reason

Create falcon reason

Store a new falcon reason entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9835488
name_ar string أختبار للاعدادات9835488

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 17,
        "name": "falc-9835488"
    }
}
GET /api/v1/settings/falcon-reason

Get falcon reason List

Get falcon reason List

This API retrieves a paginated list of falcon reason.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 17,
            "name": "falc-9835488",
            "name_translate": {
                "ar": "أختبار للاعدادات9835488",
                "en": "falc-9835488"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/falcon-reason/17

Show Single falcon reason

Show Single falcon reason

Get Single falcon reason

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 17,
        "name": "falc-9835488",
        "name_translate": {
            "ar": "أختبار للاعدادات9835488",
            "en": "falc-9835488"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/falcon-reason/17

Update falcon reason

Update falcon reason

Update falcon reason entry

Headers

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

Request Body

Field/Name Type Examples
name_en string falc-9921893
name_ar string أختبار للاعدادات9921893
id integer 17

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,falcon-reason
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 17,
        "name": "falc-9921893"
    }
}
PATCH /api/v1/settings/falcon-reason/17

Active Or InActive falcon reason

Update falcon reason

Update falcon reason entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 17,
        "name": "falc-9921893"
    }
}
DELETE /api/v1/settings/falcon-reason/17

Delete falcon reason

Delete falcon reason

Delete falcon reason entry

Headers

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

Create Falcon (Existing)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 5268988854
type string falcon
origin_type string exist
image string photo1.jpg
father_id NULL
mother_id NULL
name string Falcon Test
gender_id integer 11
behavior_id integer 15
age_category_id integer 12
age integer 2
hatch_date string 2022-01-01
species_id integer 10
color_id integer 9
ids array [ { "type_id": 14, "code": "1928983159" } ]
weight integer 2
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "Falcon Test",
        "code": "#FAL-10000",
        "father": null,
        "mother": null,
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": null,
        "is_active": false,
        "code_id": "#FAL-10000",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "2.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "1928983159"
            }
        ]
    }
}
POST /api/v1/animals/falcon

Create Falcon (Gift)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 9165619954
type string falcon
origin_type string gift
image string photo1.jpg
father_id NULL
mother_id NULL
name string Falcon Gift Test
gender_id integer 11
behavior_id integer 15
age_category_id integer 12
age integer 2
hatch_date string 2022-01-01
species_id integer 10
color_id integer 9
ids array [ { "type_id": 14, "code": "6510241525" } ]
weight integer 2
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
gift_type_id integer 8
date string 2024-05-25
price integer 500
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 2,
        "name": "Falcon Gift Test",
        "code": "#FAL-10001",
        "father": null,
        "mother": null,
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": null,
        "is_active": false,
        "code_id": "#FAL-10001",
        "origin_type": {
            "key": "gift",
            "value": "Gift"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "2.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "6510241525"
            }
        ],
        "gift_type": {
            "id": 8,
            "name": "anim-9835350"
        },
        "gift_date": "2024-05-25",
        "gift_price": "500.00"
    }
}
POST /api/v1/animals/falcon

Create Falcon (Purchased)

Create a new Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 6233494336
type string falcon
origin_type string purchased
image string photo1.jpg
father_id NULL
mother_id NULL
name string Falcon Purchased Test
gender_id integer 11
behavior_id integer 15
age_category_id integer 12
age integer 2
hatch_date string 2022-01-01
species_id integer 10
color_id integer 9
ids array [ { "type_id": 14, "code": "6700670775" } ]
weight integer 2
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
seller_name string Falcon Seller
seller_type_id integer 7
date string 2024-05-25
price integer 1500
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 3,
        "name": "Falcon Purchased Test",
        "code": "#FAL-10002",
        "father": null,
        "mother": null,
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": null,
        "is_active": false,
        "code_id": "#FAL-10002",
        "origin_type": {
            "key": "purchased",
            "value": "Purchased"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": null,
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "2.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "6700670775"
            }
        ],
        "seller_name": "Falcon Seller",
        "seller_type": {
            "id": 7,
            "name": "anim-9835616"
        },
        "purchase_date": "2024-05-25",
        "purchase_price": "1,500.00"
    }
}
GET /api/v1/animals/falcon

Get Animal List

Retrieve a list of Animal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "Falcon Test",
            "code": "#FAL-10000",
            "father": null,
            "mother": null,
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#FAL-10000",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "1.60",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:38",
            "note": null,
            "has_diagnosis": false,
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "behavior": {
                "id": 15,
                "name": "falc-9835502"
            },
            "age_category": {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            },
            "age": "2.00",
            "hatch_date": "2022-01-01",
            "ids": [
                {
                    "type": {
                        "id": 14,
                        "name": "falc-9835897"
                    },
                    "value": "1928983159"
                }
            ]
        },
        {
            "id": 2,
            "name": "Falcon Gift Test",
            "code": "#FAL-10001",
            "father": null,
            "mother": null,
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#FAL-10001",
            "origin_type": {
                "key": "gift",
                "value": "Gift"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.00",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:38",
            "note": null,
            "has_diagnosis": false,
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "behavior": {
                "id": 15,
                "name": "falc-9835502"
            },
            "age_category": {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            },
            "age": "2.00",
            "hatch_date": "2022-01-01",
            "ids": [
                {
                    "type": {
                        "id": 14,
                        "name": "falc-9835897"
                    },
                    "value": "6510241525"
                }
            ],
            "gift_type": {
                "id": 8,
                "name": "anim-9835350"
            },
            "gift_date": "2024-05-25",
            "gift_price": "500.00"
        },
        {
            "id": 3,
            "name": "Falcon Purchased Test",
            "code": "#FAL-10002",
            "father": null,
            "mother": null,
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true,
            "code_id": "#FAL-10002",
            "origin_type": {
                "key": "purchased",
                "value": "Purchased"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9835961"
            },
            "weight": "2.00",
            "locations": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "created_at": "2026-07-29 15:57:38",
            "note": null,
            "has_diagnosis": false,
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "behavior": {
                "id": 15,
                "name": "falc-9835502"
            },
            "age_category": {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            },
            "age": "2.00",
            "hatch_date": "2022-01-01",
            "ids": [
                {
                    "type": {
                        "id": 14,
                        "name": "falc-9835897"
                    },
                    "value": "6700670775"
                }
            ],
            "seller_name": "Falcon Seller",
            "seller_type": {
                "id": 7,
                "name": "anim-9835616"
            },
            "purchase_date": "2024-05-25",
            "purchase_price": "1,500.00"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    },
    "stats": {
        "total": 3,
        "active": 3,
        "inactive": 0,
        "origins": {
            "exist": 1,
            "gift": 1,
            "purchased": 1
        },
        "types": {
            "falcon": 3,
            "eggs": 0
        }
    }
}
GET /api/v1/animals/falcon/3

Get Animal Details

Retrieve Animal details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "name": "Falcon Purchased Test",
        "code": "#FAL-10002",
        "father": null,
        "mother": null,
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "alive",
        "is_active": true,
        "code_id": "#FAL-10002",
        "origin_type": {
            "key": "purchased",
            "value": "Purchased"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": "2.00",
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "2.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "6700670775"
            }
        ],
        "seller_name": "Falcon Seller",
        "seller_type": {
            "id": 7,
            "name": "anim-9835616"
        },
        "purchase_date": "2024-05-25",
        "purchase_price": "1,500.00"
    }
}
PUT /api/v1/animals/falcon/3

Update Animal

Update an existing Animal.

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

Headers

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

Request Body

Field/Name Type Examples
code string 7454632483
type string falcon
origin_type string exist
image string photo1.jpg
father_id integer 1
mother_id integer 1
name string Falcon Updated
gender_id integer 11
behavior_id integer 15
age_category_id integer 12
age integer 3
hatch_date string 2022-01-01
species_id integer 10
color_id integer 9
ids array [ { "type_id": 14, "code": "2767241259" } ]
weight integer 2
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
id integer 3
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "Falcon Updated",
        "code": "#FAL-10002",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "alive",
        "is_active": true,
        "code_id": "#FAL-10002",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": 2,
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "3.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "6700670775"
            },
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "2767241259"
            }
        ]
    }
}
PATCH /api/v1/animals/falcon/3/toggle-active

Toggle Animal Status

Switch the Animal status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "Falcon Updated",
        "code": "#FAL-10002",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9835102"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9835102"
        },
        "status": "alive",
        "is_active": false,
        "code_id": "#FAL-10002",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9835961"
        },
        "weight": "2.00",
        "locations": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9835597"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9835502"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9835121",
            "data": {
                "min_age": 90,
                "max_age": 95
            }
        },
        "age": "3.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "6700670775"
            },
            {
                "type": {
                    "id": 14,
                    "name": "falc-9835897"
                },
                "value": "2767241259"
            }
        ]
    }
}
DELETE /api/v1/animals/falcon/3

Delete Animal

Delete a Animal.

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

Headers

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

Get Deleted Animal

List deleted Animal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "name": "Falcon Updated",
            "code": "#FAL-10002",
            "father": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "mother": {
                "id": 1,
                "name": "Falcon Test",
                "code_id": "#FAL-10000",
                "species": {
                    "id": 10,
                    "name": "anim-9921752"
                }
            },
            "species": {
                "id": 10,
                "name": "anim-9921752"
            },
            "status": "alive",
            "is_active": false,
            "code_id": "#FAL-10002",
            "origin_type": {
                "key": "exist",
                "value": "Existing"
            },
            "image": null,
            "color": {
                "id": 9,
                "name": "anim-9921611"
            },
            "weight": "2.00",
            "locations": {
                "facility": null,
                "building": null,
                "room": null,
                "sub_unit": null
            },
            "created_at": "2026-07-29 15:57:38",
            "note": null,
            "has_diagnosis": false,
            "gender": {
                "id": 11,
                "name": "falc-9921406"
            },
            "behavior": {
                "id": 15,
                "name": "falc-9921521"
            },
            "age_category": {
                "id": 12,
                "name": "falc-9921226",
                "data": {
                    "min_age": 96,
                    "max_age": 100
                }
            },
            "age": "3.00",
            "hatch_date": "2022-01-01",
            "ids": [
                {
                    "type": {
                        "id": 14,
                        "name": "falc-9921286"
                    },
                    "value": "6700670775"
                },
                {
                    "type": {
                        "id": 14,
                        "name": "falc-9921286"
                    },
                    "value": "2767241259"
                }
            ],
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/animals/falcon/3/restore

Restore Animal

Restore deleted Animal.

Restore a previously deleted Animal record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "Falcon Updated",
        "code": "#FAL-10002",
        "father": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9921752"
            }
        },
        "mother": {
            "id": 1,
            "name": "Falcon Test",
            "code_id": "#FAL-10000",
            "species": {
                "id": 10,
                "name": "anim-9921752"
            }
        },
        "species": {
            "id": 10,
            "name": "anim-9921752"
        },
        "status": "alive",
        "is_active": false,
        "code_id": "#FAL-10002",
        "origin_type": {
            "key": "exist",
            "value": "Existing"
        },
        "image": null,
        "color": {
            "id": 9,
            "name": "anim-9921611"
        },
        "weight": "2.00",
        "locations": {
            "facility": null,
            "building": null,
            "room": null,
            "sub_unit": null
        },
        "created_at": "2026-07-29 15:57:38",
        "note": null,
        "has_diagnosis": false,
        "gender": {
            "id": 11,
            "name": "falc-9921406"
        },
        "behavior": {
            "id": 15,
            "name": "falc-9921521"
        },
        "age_category": {
            "id": 12,
            "name": "falc-9921226",
            "data": {
                "min_age": 96,
                "max_age": 100
            }
        },
        "age": "3.00",
        "hatch_date": "2022-01-01",
        "ids": [
            {
                "type": {
                    "id": 14,
                    "name": "falc-9921286"
                },
                "value": "6700670775"
            },
            {
                "type": {
                    "id": 14,
                    "name": "falc-9921286"
                },
                "value": "2767241259"
            }
        ]
    }
}
DELETE /api/v1/animals/falcon/3/force-delete

Permanently Delete Animal

Force delete Animal.

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

Headers

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

Create Activity (Weight Change)

Create weight activity

Record a weight change activity for a single falcon.

Headers

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

Request Body

Field/Name Type Examples
new_value string 1.6
note string Weight gain observed.

Request Validations Or Notes

Field/Name Examples
activity_type required, In
new_value required, numeric, min 0
note optional, string, max 1000
files optional, array
files[] file, types: jpeg,jpg,png,gif,webp,mp4,webm,avi,mov,qt,3gp, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Activity inserted successfully.",
    "data": {
        "id": 4,
        "animal_id": 1,
        "activity_type": "weight_change",
        "current_value": "2.00 kg",
        "new_value": "1.6 kg",
        "weight_change": "-0.4 kg",
        "percentage_of_change": "-20%",
        "note": "Weight gain observed.",
        "media": {
            "images": [],
            "videos": []
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_at": "2026-07-29 15:57:39"
    }
}
POST /api/v1/animals/falcon/1/activity/behaviour-change

Create Activity (Behaviour Change)

Create behaviour activity

Record a behaviour change activity for a single falcon.

Headers

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

Request Body

Field/Name Type Examples
new_value integer 15
note string Behavior change observed.

Request Validations Or Notes

Field/Name Examples
activity_type required, In
new_value required, numeric, min 0
note optional, string, max 1000
files optional, array
files[] file, types: jpeg,jpg,png,gif,webp,mp4,webm,avi,mov,qt,3gp, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Activity inserted successfully.",
    "data": {
        "id": 5,
        "animal_id": 1,
        "activity_type": "behaviour_change",
        "current_value": {
            "id": 15,
            "name": "falc-9835502"
        },
        "new_value": {
            "id": 15,
            "name": "falc-9835502"
        },
        "note": "Behavior change observed.",
        "media": {
            "images": [],
            "videos": []
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_at": "2026-07-29 15:57:39"
    }
}
GET /api/v1/animals/falcon/1/activity

Get Activities

Get activities list

Get the activity timeline of the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "animal_id": 1,
            "activity_type": "weight_change",
            "current_value": "2.00 kg",
            "new_value": "1.6 kg",
            "weight_change": "-0.4 kg",
            "percentage_of_change": "-20%",
            "note": "Weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:39"
        },
        {
            "id": 5,
            "animal_id": 1,
            "activity_type": "behaviour_change",
            "current_value": {
                "id": 15,
                "name": "falc-9835502"
            },
            "new_value": {
                "id": 15,
                "name": "falc-9835502"
            },
            "note": "Behavior change observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:39"
        },
        {
            "id": 6,
            "animal_id": 1,
            "activity_type": "weight_change",
            "current_value": "1.60 kg",
            "new_value": "1.6 kg",
            "weight_change": "0 kg",
            "percentage_of_change": "0%",
            "note": "Bulk weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:39"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
POST /api/v1/animals/falcon/1/media

Create Falcon_media

Create a new Falcon_media.

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

Headers

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

Request Body

Field/Name Type Examples
name string Medical_Records
category string medical
file string input_file

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
category required, allowed: general, medical, training
files required, array
files[] required, file, types: jpeg,png,jpg,gif,svg,mp4,webm,avi,mov,qt,3gp, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "folder_name": "Medical_Records",
        "category": "medical",
        "type": "media",
        "created_at": "2026-07-29 15:57:43",
        "files": [
            {
                "id": 1,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329863_1.jpg",
                "original_name": "photo1.jpg",
                "size": 4787,
                "mime_type": "image\/jpeg",
                "created_at": "2026-07-29 15:57:43"
            }
        ]
    }
}
GET /api/v1/animals/falcon/1/media

Get Falcon_media List

Retrieve a list of Falcon_media.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "folder_name": "Medical_Records",
            "category": "medical",
            "type": "media",
            "created_at": "2026-07-29 15:57:43",
            "files": [
                {
                    "id": 1,
                    "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329863_1.jpg",
                    "original_name": "photo1.jpg",
                    "size": 4787,
                    "mime_type": "image\/jpeg",
                    "created_at": "2026-07-29 15:57:43"
                }
            ]
        }
    ],
    "pagination": {
        "total": 1,
        "per_page": 15,
        "last_page": 1,
        "current_page": 1
    },
    "stats": {
        "folders_count": 1,
        "files_count": 1,
        "by_category": {
            "medical": 1
        },
        "by_type": {
            "images": 1,
            "videos": 0
        },
        "by_extension": {
            "images": {
                "jpg": 1
            },
            "videos": []
        }
    }
}
GET /api/v1/animals/falcon/1/media/Medical_Records

Get Falcon_media Details

Retrieve Falcon_media details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Folder retrieved successfully.",
    "data": {
        "id": 1,
        "folder_name": "Medical_Records",
        "category": "medical",
        "type": "media",
        "created_at": "2026-07-29 15:57:43",
        "files": [
            {
                "id": 1,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Medical_Records\/1785329863_1.jpg",
                "original_name": "photo1.jpg",
                "size": 4787,
                "mime_type": "image\/jpeg",
                "created_at": "2026-07-29 15:57:43"
            }
        ]
    }
}
POST /api/v1/animals/falcon/1/attach

Create Falcon_attachment

Create a new Falcon_attachment.

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

Headers

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

Request Body

Field/Name Type Examples
name string Certificates
category string general
file string input_file

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
category optional, allowed: general, medical, training, legal
files required, array
files[] required, file, types: pdf,doc,docx,xls,xlsx,ppt,pptx,txt,csv,zip,rar,7z,tar,gz, max 20480
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 2,
        "folder_name": "Certificates",
        "category": "general",
        "type": "attachment",
        "created_at": "2026-07-29 15:57:44",
        "files": [
            {
                "id": 2,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329864_1.pdf",
                "original_name": "cert.pdf",
                "size": 45,
                "mime_type": "application\/pdf",
                "created_at": "2026-07-29 15:57:44"
            }
        ]
    }
}
GET /api/v1/animals/falcon/1/attach

Get Falcon_attachment List

Retrieve a list of Falcon_attachment.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "folder_name": "Certificates",
            "category": "general",
            "type": "attachment",
            "created_at": "2026-07-29 15:57:44",
            "files": [
                {
                    "id": 2,
                    "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329864_1.pdf",
                    "original_name": "cert.pdf",
                    "size": 45,
                    "mime_type": "application\/pdf",
                    "created_at": "2026-07-29 15:57:44"
                }
            ]
        }
    ],
    "pagination": {
        "total": 1,
        "per_page": 15,
        "last_page": 1,
        "current_page": 1
    },
    "stats": {
        "folders_count": 1,
        "files_count": 1,
        "by_category": {
            "general": 1
        },
        "by_type": {
            "images": 0,
            "videos": 0
        },
        "by_extension": {
            "images": [],
            "videos": []
        }
    }
}
GET /api/v1/animals/falcon/1/attach/Certificates

Get Falcon_attachment Details

Retrieve Falcon_attachment details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Folder retrieved successfully.",
    "data": {
        "id": 2,
        "folder_name": "Certificates",
        "category": "general",
        "type": "attachment",
        "created_at": "2026-07-29 15:57:44",
        "files": [
            {
                "id": 2,
                "url": "http:\/\/localhost:8000\/storage\/uploads\/Certificates\/1785329864_1.pdf",
                "original_name": "cert.pdf",
                "size": 45,
                "mime_type": "application\/pdf",
                "created_at": "2026-07-29 15:57:44"
            }
        ]
    }
}
POST /api/v1/animals/falcon/1/timeline

Create Falcon_timeline

Create a new Falcon_timeline.

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

Headers

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

Request Body

Field/Name Type Examples
event_type string feeding
description string Regular feeding event.
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 15,
        "animal_id": 1,
        "admin_id": 1,
        "admin_name": "Admin",
        "type": "feeding",
        "event_type": "feeding",
        "description": "Regular feeding event.",
        "payload": [],
        "created_at": "2026-07-29 15:57:45",
        "transactions": []
    }
}
GET /api/v1/animals/falcon/1/timeline

Get Falcon_timeline List

Retrieve a list of Falcon_timeline.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 1,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "location_change",
            "event_type": "location_change",
            "description": "Primary location assigned",
            "payload": {
                "location_type": "primary",
                "from": null,
                "to": {
                    "facility_id": 1,
                    "building_id": 2,
                    "room_id": 3,
                    "sub_unit_id": 4
                }
            },
            "created_at": "2026-07-29 15:57:38",
            "transactions": []
        },
        {
            "id": 4,
            "animal_id": 1,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "weight_change",
            "event_type": "weight_change",
            "description": "Weight gain observed.",
            "payload": {
                "current_value": "2.00",
                "new_value": "1.6",
                "unit": "kg",
                "note": "Weight gain observed.",
                "media": {
                    "images": [],
                    "videos": []
                }
            },
            "created_at": "2026-07-29 15:57:39",
            "transactions": []
        },
        {
            "id": 5,
            "animal_id": 1,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "behaviour_change",
            "event_type": "behaviour_change",
            "description": "Behavior change observed.",
            "payload": {
                "current_value": "15",
                "new_value": "15",
                "unit": null,
                "note": "Behavior change observed.",
                "media": {
                    "images": [],
                    "videos": []
                }
            },
            "created_at": "2026-07-29 15:57:39",
            "transactions": []
        },
        {
            "id": 6,
            "animal_id": 1,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "weight_change",
            "event_type": "weight_change",
            "description": "Bulk weight gain observed.",
            "payload": {
                "current_value": "1.60",
                "new_value": "1.6",
                "unit": "kg",
                "note": "Bulk weight gain observed."
            },
            "created_at": "2026-07-29 15:57:39",
            "transactions": []
        },
        {
            "id": 15,
            "animal_id": 1,
            "admin_id": 1,
            "admin_name": "Admin",
            "type": "feeding",
            "event_type": "feeding",
            "description": "Regular feeding event.",
            "payload": [],
            "created_at": "2026-07-29 15:57:45",
            "transactions": []
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 5,
        "last_page": 1
    }
}
GET /api/v1/animals/falcon/training/logs

Get Training Session Logs

Get training logs

Get manual and scheduled training session audit records, including pending, completed, skipped, or failed status, actual completion data, cost, and actors.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "plan": null,
            "training": {
                "id": 1,
                "name": "Basic Falcon Handling",
                "duration_minutes": 60,
                "cost_per_session": 75.5,
                "snapshot": {
                    "training": {
                        "id": 1,
                        "name": "Basic Falcon Handling",
                        "duration_minutes": 60,
                        "cost_per_session": 75.5
                    },
                    "trainer": {
                        "id": 2,
                        "name": "Admin 2"
                    },
                    "cost_per_session": 75.5
                }
            },
            "falcon": {
                "id": 1,
                "name": "Falcon Test"
            },
            "trainer": {
                "id": 2,
                "name": "Admin 2"
            },
            "method": "manual",
            "source": "manual",
            "status": {
                "key": "completed",
                "value": "Completed"
            },
            "scheduled_for": null,
            "trained_at": "2026-07-29 15:58:05",
            "confirmed_at": null,
            "cancelled_at": null,
            "duration_minutes": 60,
            "performance": null,
            "total_cost": "75.500",
            "failure_reason": null,
            "note": "Manual training round",
            "logged_by": {
                "id": 1,
                "name": "Admin"
            },
            "confirmed_by": null,
            "cancelled_by": null,
            "rating": null,
            "created_at": "2026-07-29 15:58:06",
            "updated_at": "2026-07-29 15:58:06"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/animals/falcon/training/manual

Train Animals

Train animals

Record one or more trainings as manually completed for one or more falcons. Each animal and training pair validates that the selected trainer is applicable to the training, creates a completed animal training session, writes a training timeline event, and creates an outcome transaction when the training has a positive cost.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 1 ]
items array [ { "training_id": 1, "trainer_id": 2 } ]
note string Manual training round

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, distinct, Exists
items required, array, min 1
items[].training_id required, integer, distinct, Exists
items[].trainer_id required, integer, Exists
note optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Manual training processed.",
    "data": {
        "successful_count": 1,
        "failed_count": 0,
        "total_count": 1,
        "successful": [
            {
                "id": 1,
                "plan": null,
                "training": {
                    "id": 1,
                    "name": "Basic Falcon Handling",
                    "duration_minutes": 60,
                    "cost_per_session": 75.5,
                    "snapshot": {
                        "training": {
                            "id": 1,
                            "name": "Basic Falcon Handling",
                            "duration_minutes": 60,
                            "cost_per_session": 75.5
                        },
                        "trainer": {
                            "id": 2,
                            "name": "Admin 2"
                        },
                        "cost_per_session": 75.5
                    }
                },
                "trainer": {
                    "id": 2,
                    "name": "Admin 2"
                },
                "method": "manual",
                "source": "manual",
                "status": {
                    "key": "completed",
                    "value": "Completed"
                },
                "scheduled_for": null,
                "trained_at": "2026-07-29 15:58:05",
                "confirmed_at": null,
                "cancelled_at": null,
                "duration_minutes": 60,
                "performance": null,
                "total_cost": "75.500",
                "failure_reason": null,
                "note": "Manual training round",
                "logged_by": {
                    "id": 1,
                    "name": "Auto System"
                },
                "confirmed_by": null,
                "cancelled_by": null,
                "rating": null,
                "created_at": "2026-07-29 15:58:06",
                "updated_at": "2026-07-29 15:58:06"
            }
        ],
        "failed": []
    }
}
POST /api/v1/animals/falcon/1/training/sessions/1/rate

Rate Training Session

Rate training session

Rate a completed training session for a specific falcon.

Headers

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

Request Body

Field/Name Type Examples
rating_id integer 27
note string Excellent performance today

Request Validations Or Notes

Field/Name Examples
rating_id required, integer, Exists
note optional, string, max 1000
media optional, array, max 10
media[] required, file, image, types: jpeg,png,jpg,gif,webp, max 10240
Success (200 OK)
{
    "success": true,
    "message": "Training session rated successfully.",
    "data": {
        "id": 1,
        "rate": {
            "id": 27,
            "name": "trai-9835323",
            "score": null
        },
        "note": "Excellent performance today",
        "media": [],
        "rated_by": {
            "id": 1,
            "name": "Admin"
        },
        "rated_at": "2026-07-29 15:58:07"
    }
}
POST /api/v1/animals/falcon/1/medical/requests

Create Falcon Medical Request

Create a falcon medical request

Create an open medical request for the selected falcon. The animal target is derived from the route and cannot be changed in the request body.

Headers

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

Request Body

Field/Name Type Examples
severity_id integer 25
note string Falcon medical assessment requested.

Request Validations Or Notes

Field/Name Examples
severity_type sometimes, string
severity_id required, integer, exists settings,id,type,medical-severity
note optional, string, max 255
media optional, array
media[] file, max 10240, types: jpg,jpeg,png,pdf,doc,docx
Success (200 OK)
{
    "success": true,
    "message": "Medical request created successfully.",
    "data": {
        "id": 3,
        "has_diagnosis": false,
        "status": {
            "key": "open",
            "value": "Open"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": true
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Falcon medical assessment requested.",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:58:07.000000Z",
        "media": []
    }
}
GET /api/v1/animals/falcon/1/medical/requests

Get Falcon Medical Requests

Get falcon medical requests

Get medical requests for one falcon. The result is scoped to the selected animal and includes its request lifecycle data.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "has_diagnosis": false,
            "status": {
                "key": "open",
                "value": "Open"
            },
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": true
            },
            "actions": [],
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "note": "Test Medical Request",
            "requested_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:57:55.000000Z",
            "media": []
        },
        {
            "id": 2,
            "has_diagnosis": false,
            "status": {
                "key": "open",
                "value": "Open"
            },
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": true
            },
            "actions": [],
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "note": "Test Medical Request",
            "requested_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:57:55.000000Z",
            "media": []
        },
        {
            "id": 3,
            "has_diagnosis": false,
            "status": {
                "key": "open",
                "value": "Open"
            },
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": true
            },
            "actions": [],
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "note": "Falcon medical assessment requested.",
            "requested_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:58:07.000000Z",
            "media": []
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 3,
        "last_page": 1
    }
}
POST /api/v1/animals/falcon/1/medical/requests/3/cancel

Cancel Falcon Medical Request

Cancel a falcon medical request

Cancel an open medical request for the selected falcon. Cancellation is available only before any medical action is recorded for the request.

Headers

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

Request Body

Field/Name Type Examples
cancel_reason string Assessment is no longer required.
Success (200 OK)
{
    "success": true,
    "message": "Medical request cancelled successfully.",
    "data": {
        "id": 3,
        "has_diagnosis": false,
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": true
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Falcon medical assessment requested.",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:58:07.000000Z",
        "media": [],
        "cancelled_by": {
            "id": 1,
            "name": "Admin"
        },
        "cancelled_at": "2026-07-29T12:58:08.000000Z",
        "cancel_reason": "Assessment is no longer required."
    }
}
GET /api/v1/animals/falcon/1/medical/medication-plans

Get Falcon Medication Plans

Get falcon medication plans

Get medication plans assigned to the selected falcon from medical actions, including plan items and their current plan status.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "status": {
                "key": "active",
                "value": "Active"
            },
            "start_date": "2026-07-28T21:00:00.000000Z",
            "end_date": "2026-07-31T21:00:00.000000Z",
            "note": "Test Medication Plan",
            "medications": [
                {
                    "id": 1,
                    "action_id": 1,
                    "plan_id": 1,
                    "medication_id": 1,
                    "dose": 1,
                    "doses_per_day": 2,
                    "repeat_every_days": 1,
                    "times": [
                        "15:57",
                        "17:57"
                    ],
                    "execution_mode": "auto_confirm",
                    "is_active": true,
                    "medication": {
                        "id": 1,
                        "name": "QA Test Medication Item",
                        "unit": {
                            "id": 1,
                            "name": "Test Unit"
                        },
                        "form": {
                            "id": 24,
                            "name": "medi-9835654"
                        },
                        "categories": [
                            {
                                "id": 23,
                                "name": "medi-9835976"
                            }
                        ],
                        "note": "QA test medication inventory item",
                        "cost": 15.25
                    }
                }
            ]
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/animals/falcon/1/medical/medication-plans/1/pause

Pause Falcon Medication Plan

Pause a falcon medication plan

Pause an active medication plan for the selected falcon. Scheduled processing ignores paused plans.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "status": {
            "key": "paused",
            "value": "Paused"
        },
        "start_date": "2026-07-28T21:00:00.000000Z",
        "end_date": "2026-07-31T21:00:00.000000Z",
        "note": "Test Medication Plan",
        "medications": [
            {
                "id": 1,
                "action_id": 1,
                "plan_id": 1,
                "medication_id": 1,
                "dose": 1,
                "doses_per_day": 2,
                "repeat_every_days": 1,
                "times": [
                    "15:57",
                    "17:57"
                ],
                "execution_mode": "auto_confirm",
                "is_active": true,
                "medication": {
                    "id": 1,
                    "name": "QA Test Medication Item",
                    "unit": {
                        "id": 1,
                        "name": "Test Unit"
                    },
                    "form": {
                        "id": 24,
                        "name": "medi-9835654"
                    },
                    "categories": [
                        {
                            "id": 23,
                            "name": "medi-9835976"
                        }
                    ],
                    "note": "QA test medication inventory item",
                    "cost": 15.25
                }
            }
        ]
    }
}
PATCH /api/v1/animals/falcon/1/medical/medication-plans/1/resume

Resume Falcon Medication Plan

Resume a falcon medication plan

Resume a paused medication plan for the selected falcon. Previously skipped doses are not recreated.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "status": {
            "key": "active",
            "value": "Active"
        },
        "start_date": "2026-07-28T21:00:00.000000Z",
        "end_date": "2026-07-31T21:00:00.000000Z",
        "note": "Test Medication Plan",
        "medications": [
            {
                "id": 1,
                "action_id": 1,
                "plan_id": 1,
                "medication_id": 1,
                "dose": 1,
                "doses_per_day": 2,
                "repeat_every_days": 1,
                "times": [
                    "15:57",
                    "17:57"
                ],
                "execution_mode": "auto_confirm",
                "is_active": true,
                "medication": {
                    "id": 1,
                    "name": "QA Test Medication Item",
                    "unit": {
                        "id": 1,
                        "name": "Test Unit"
                    },
                    "form": {
                        "id": 24,
                        "name": "medi-9835654"
                    },
                    "categories": [
                        {
                            "id": 23,
                            "name": "medi-9835976"
                        }
                    ],
                    "note": "QA test medication inventory item",
                    "cost": 15.25
                }
            }
        ]
    }
}
PATCH /api/v1/animals/falcon/1/medical/medication-plans/1/cancel

Cancel Falcon Medication Plan

Cancel a falcon medication plan

Cancel an active or paused medication plan for the selected falcon. The plan must not have pending medication executions awaiting confirmation.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "start_date": "2026-07-28T21:00:00.000000Z",
        "end_date": "2026-07-31T21:00:00.000000Z",
        "note": "Test Medication Plan",
        "medications": [
            {
                "id": 1,
                "action_id": 1,
                "plan_id": 1,
                "medication_id": 1,
                "dose": 1,
                "doses_per_day": 2,
                "repeat_every_days": 1,
                "times": [
                    "15:57",
                    "17:57"
                ],
                "execution_mode": "auto_confirm",
                "is_active": false,
                "medication": {
                    "id": 1,
                    "name": "QA Test Medication Item",
                    "unit": {
                        "id": 1,
                        "name": "Test Unit"
                    },
                    "form": {
                        "id": 24,
                        "name": "medi-9835654"
                    },
                    "categories": [
                        {
                            "id": 23,
                            "name": "medi-9835976"
                        }
                    ],
                    "note": "QA test medication inventory item",
                    "cost": 15.25
                }
            }
        ]
    }
}
GET /api/v1/animals/falcon/1/medical/medications

Get Falcon Medication Executions

Get falcon medication executions

Get pending, completed, skipped, and failed medication executions for the selected falcon.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "type": "medication",
            "animal_id": 1,
            "medical_action_id": 1,
            "medical_action_medication_id": 1,
            "medical_action_medication_plan_id": 1,
            "medication_id": 1,
            "medication_name": "QA Test Medication Item",
            "dose": 1,
            "execution_mode": "auto_confirm",
            "status": {
                "key": "skipped",
                "value": "Skipped"
            },
            "event_date": "2026-07-29 15:57:00",
            "scheduled_for": "2026-07-29 15:57:00",
            "administered_at": null,
            "confirmed_at": null,
            "cancelled_at": "2026-07-29 15:58:10",
            "confirmation_source": null,
            "snapshot": {
                "medication_id": 1,
                "medication_name": "QA Test Medication Item",
                "dose": 1,
                "unit": {
                    "id": 1,
                    "type": "settings",
                    "name": "Test Unit"
                },
                "form": {
                    "id": 24,
                    "type": "settings",
                    "name": "medi-9835654"
                },
                "inventory_item_id": 2,
                "consumed_quantity": 1,
                "batches": [
                    {
                        "batch_id": 2,
                        "batch_no": "BTH-20260729-R5AHRU",
                        "quantity": 1,
                        "unit_cost": 15.25,
                        "total_cost": 15.25,
                        "movement_id": 6
                    }
                ],
                "total_cost": 15.25
            },
            "cost": 15.25,
            "failure_reason": null,
            "cancel_reason": "Medication plan cancelled.",
            "note": "Test Medication Plan",
            "timeline_id": null,
            "transaction_id": null,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "confirmed_by": null,
            "cancelled_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:58:01"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/animals/falcon/1/medical/procedures

Get Falcon Medical Procedures

Get falcon medical procedures

Get procedure executions for the selected falcon, including each procedure schedule and its pending, completed, skipped, or failed status.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "type": "procedure",
            "animal_id": 1,
            "medical_action_id": 1,
            "medical_action_procedure_id": 1,
            "status": {
                "key": "skipped",
                "value": "Skipped"
            },
            "name": "Complete Blood Count (CBC) Analysis",
            "event_date": "2026-07-29 10:00:00",
            "snapshot": {
                "procedure_id": 1,
                "procedure_name": {
                    "ar": "تحليل صورة الدم الكاملة (CBC)",
                    "en": "Complete Blood Count (CBC) Analysis"
                },
                "cost": 120,
                "scheduled_for": "2026-07-29T10:00:00+03:00"
            },
            "cost": 0,
            "note": null,
            "failure_reason": "The scheduled procedure exceeded the allowed lateness window.",
            "cancel_reason": null,
            "cancelled_at": null,
            "timeline_id": 28,
            "transaction_id": null,
            "created_by": 1,
            "created_at": "2026-07-29 15:58:01",
            "procedure": {
                "id": 1,
                "name": "Complete Blood Count (CBC) Analysis",
                "scheduled_for": "2026-07-29 10:00:00"
            }
        }
    ],
    "links": {
        "first": "http:\/\/localhost:8000\/api\/v1\/animals\/falcon\/1\/medical\/procedures?page=1",
        "last": "http:\/\/localhost:8000\/api\/v1\/animals\/falcon\/1\/medical\/procedures?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "http:\/\/localhost:8000\/api\/v1\/animals\/falcon\/1\/medical\/procedures?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "http:\/\/localhost:8000\/api\/v1\/animals\/falcon\/1\/medical\/procedures",
        "per_page": 15,
        "to": 1,
        "total": 1
    }
}
POST /api/v1/animals/falcon/1/locations

Create Location

Create location

Assign a secondary location to the animal.

Headers

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

Request Body

Field/Name Type Examples
location_type string secondary
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
end_date string 2025-01-01
Success (200 OK)
{
    "success": true,
    "message": "Secondary location saved successfully.",
    "data": {
        "id": 10,
        "animal_id": 1,
        "location_type": "secondary",
        "facility": {
            "id": 1,
            "name": "QA Facility"
        },
        "building": {
            "id": 2,
            "name": "QA Building"
        },
        "room": {
            "id": 3,
            "name": "QA Room"
        },
        "sub_unit": null,
        "started_at": "2026-07-29 15:57:46",
        "ended_at": null,
        "end_date": null,
        "created_at": "2026-07-29 15:57:46"
    }
}
GET /api/v1/animals/falcon/1/locations

Get Locations

Get locations list

Get all locations (primary, secondary, history) for the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "primary": {
            "id": 1,
            "animal_id": 1,
            "location_type": "primary",
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": null,
            "started_at": "2026-07-29 15:57:38",
            "ended_at": null,
            "end_date": null,
            "created_at": "2026-07-29 15:57:38"
        },
        "secondary": {
            "id": 10,
            "animal_id": 1,
            "location_type": "secondary",
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": null,
            "started_at": "2026-07-29 15:57:46",
            "ended_at": null,
            "end_date": null,
            "created_at": "2026-07-29 15:57:46"
        }
    }
}
PUT /api/v1/animals/falcon/1/locations/10

Update Location

Update location

Update a specific secondary location.

Headers

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

Request Body

Field/Name Type Examples
facility_id integer 1
building_id integer 2
room_id integer 3
sub_unit_id integer 4
end_date string 2026-01-01
Success (200 OK)
{
    "success": true,
    "message": "Location updated successfully.",
    "data": {
        "id": 18,
        "animal_id": 1,
        "location_type": "secondary",
        "facility": {
            "id": 1,
            "name": "QA Facility"
        },
        "building": {
            "id": 2,
            "name": "QA Building"
        },
        "room": {
            "id": 3,
            "name": "QA Room"
        },
        "sub_unit": null,
        "started_at": "2026-07-29 15:58:14",
        "ended_at": null,
        "end_date": null,
        "created_at": "2026-07-29 15:58:14"
    }
}
POST /api/v1/animals/falcon/3/movements

Create Movement

Create movement

Record an internal movement for the animal.

Headers

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

Request Body

Field/Name Type Examples
to_facility_id integer 1
to_building_id integer 2
to_room_id integer 3
to_sub_unit_id integer 4
reason string Relocated for better space.
moved_at string 2026-07-29 15:57:46
Success (200 OK)
{
    "success": true,
    "message": "Movement recorded successfully.",
    "data": {
        "id": 1,
        "animal_id": 3,
        "type": "other",
        "moved_by": {
            "id": 1,
            "name": "Admin"
        },
        "from_location": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "to_location": {
            "facility": {
                "id": 1,
                "name": "QA Facility"
            },
            "building": {
                "id": 2,
                "name": "QA Building"
            },
            "room": {
                "id": 3,
                "name": "QA Room"
            },
            "sub_unit": {
                "id": 4,
                "name": "QA Subunit"
            }
        },
        "note": null,
        "created_at": "2026-07-29 15:57:47"
    }
}
GET /api/v1/animals/falcon/3/movements

Get Movements

Get movements list

Get the movement history of the animal.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 3,
            "type": "other",
            "moved_by": {
                "id": 1,
                "name": "Admin"
            },
            "from_location": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "to_location": {
                "facility": {
                    "id": 1,
                    "name": "QA Facility"
                },
                "building": {
                    "id": 2,
                    "name": "QA Building"
                },
                "room": {
                    "id": 3,
                    "name": "QA Room"
                },
                "sub_unit": {
                    "id": 4,
                    "name": "QA Subunit"
                }
            },
            "note": null,
            "created_at": "2026-07-29 15:57:47"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/animals/falcon/feeding/assign

Assign Feeding Plan

Assign feeding plan

Assign a feeding plan to one or more falcons. The request creates one animal feeding plan per falcon and related scheduled plan meals.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 1 ]
plan_ids array [ 1 ]
start_date string 2026-07-05
end_date string 2026-08-05
notes string Summer feeding assignment
execution_mode string auto
meals array [ { "meal_id": 1, "repeat_every_days": 1, "times": [ "12:34", "16:00" ], "execution_mode": "auto_confirm", "quantity_multiplier": 1 } ]

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, distinct, Exists
plan_ids required, array, min 1
plan_ids[] required, integer, distinct
execution_mode required, In
start_date required, date_format
end_date required, date_format, after_or_equal
note optional, string, max 1000
meals required, array, min 1
meals[].meal_id required, integer, exists feeding_meals,id
meals[].repeat_every_days required, integer, min 1
meals[].times required, array, min 1
meals[].times.* required, date_format, distinct
meals[].execution_mode required, In
meals[].quantity_multiplier required, numeric, min 0.001
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 1,
            "plan_id": 1,
            "plan_name": "documentation-plan-create-6a69f8bd727e5",
            "start_date": "2026-07-05",
            "end_date": "2026-08-05",
            "status": {
                "key": "active",
                "value": "Active"
            },
            "assigned_by": 1,
            "notes": null,
            "meals": [
                {
                    "id": 1,
                    "meal_id": 1,
                    "meal_name": null,
                    "repeat_every_days": 1,
                    "times": [
                        "12:34",
                        "16:00"
                    ],
                    "execution_mode": "auto_confirm",
                    "quantity_multiplier": "1.000",
                    "status": {
                        "key": "active",
                        "value": "Active"
                    }
                }
            ],
            "created_at": "2026-07-29 15:58:00"
        }
    ]
}
GET /api/v1/animals/falcon/1/feeding/plans

Get Falcon Feeding Plans

Get feeding plans

Get feeding plan assignments for a falcon, including the assigned feeding plan and configured scheduled meals.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 1,
            "plan_id": 1,
            "plan_name": "documentation-plan-create-6a69f8bd727e5",
            "start_date": "2026-07-05",
            "end_date": "2026-08-05",
            "status": {
                "key": "active",
                "value": "Active"
            },
            "assigned_by": 1,
            "notes": null,
            "meals": [
                {
                    "id": 1,
                    "meal_id": 1,
                    "meal_name": null,
                    "repeat_every_days": 1,
                    "times": [
                        "12:34",
                        "16:00"
                    ],
                    "execution_mode": "auto_confirm",
                    "quantity_multiplier": "1.000",
                    "status": {
                        "key": "active",
                        "value": "Active"
                    }
                }
            ],
            "created_at": "2026-07-29 15:58:00"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/animals/falcon/1/feeding/plans/1/pause

Pause Feeding Plan

Pause feeding plan

Pause an active feeding plan assignment. Paused plans are ignored by scheduled feeding processing.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "plan_id": 1,
        "plan_name": "documentation-plan-create-6a69f8bd727e5",
        "start_date": "2026-07-05",
        "end_date": "2026-08-05",
        "status": {
            "key": "paused",
            "value": "Paused"
        },
        "assigned_by": 1,
        "notes": null,
        "meals": [
            {
                "id": 1,
                "meal_id": 1,
                "meal_name": null,
                "repeat_every_days": 1,
                "times": [
                    "12:34",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "quantity_multiplier": "1.000",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:00"
    }
}
PATCH /api/v1/animals/falcon/1/feeding/plans/1/resume

Resume Feeding Plan

Resume feeding plan

Resume a paused feeding plan assignment. Skipped meal occurrences are not backfilled.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "plan_id": 1,
        "plan_name": "documentation-plan-create-6a69f8bd727e5",
        "start_date": "2026-07-05",
        "end_date": "2026-08-05",
        "status": {
            "key": "active",
            "value": "Active"
        },
        "assigned_by": 1,
        "notes": null,
        "meals": [
            {
                "id": 1,
                "meal_id": 1,
                "meal_name": null,
                "repeat_every_days": 1,
                "times": [
                    "12:34",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "quantity_multiplier": "1.000",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:00"
    }
}
PATCH /api/v1/animals/falcon/1/feeding/plans/1/cancel

Cancel Feeding Plan

Cancel feeding plan

Cancel an active or paused feeding plan assignment. Cancellation is blocked while the plan still has pending meals.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "plan_id": 1,
        "plan_name": "documentation-plan-create-6a69f8bd727e5",
        "start_date": "2026-07-05",
        "end_date": "2026-08-05",
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "assigned_by": 1,
        "notes": null,
        "meals": [
            {
                "id": 1,
                "meal_id": 1,
                "meal_name": null,
                "repeat_every_days": 1,
                "times": [
                    "12:34",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "quantity_multiplier": "1.000",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:00"
    }
}
GET /api/v1/animals/falcon/feeding/logs

Get Feeding Logs

Get feeding logs

Get feeding meal execution records for a falcon, including manual and scheduled feeding history with pending, completed, skipped, or failed status.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "meal": {
                "id": 1,
                "name": "documentation-meal-create-6a69f8bcaa507",
                "snapshot": {
                    "meal_name": "documentation-meal-create-6a69f8bcaa507",
                    "items": [
                        {
                            "feeding_item_id": 1,
                            "name": "مادة علف اختبار الجودة",
                            "quantity": 1,
                            "unit": "feed-9835232",
                            "inventory_item_id": 1,
                            "consumed_quantity": 1,
                            "batches": [
                                {
                                    "batch_id": 4,
                                    "batch_no": "BTH-20260729-NHTUX2",
                                    "quantity": 1,
                                    "unit_cost": 25.5,
                                    "total_cost": 25.5,
                                    "movement_id": 7
                                }
                            ],
                            "item_total_cost": 25.5
                        }
                    ],
                    "total_cost": 25.5
                }
            },
            "falcon": {
                "id": 1,
                "name": "Falcon Test"
            },
            "calories": "100",
            "total_cost": "25.500",
            "logged_by": {
                "id": null,
                "name": "Auto System"
            },
            "method": "manual",
            "status": {
                "key": "completed",
                "value": "Completed"
            },
            "failure_reason": null,
            "source": "manual",
            "served_at": "2026-07-05 08:00:00",
            "created_at": "2026-07-29 15:58:02"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
POST /api/v1/animals/falcon/feeding/manual

Feed Animals

Feed animals

Record one or more manual feeding executions for one or more falcons. Each animal and meal pair checks and deducts inventory stock, records inventory movements, creates a feeding timeline event and outcome transaction, then creates a completed animal feeding meal record.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 1 ]
meal_ids array [ 1 ]
fed_at string 2026-07-05 08:00:00
notes string Manual feeding round

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, distinct, Exists
meal_ids required, array, min 1
meal_ids[] required, integer, distinct, exists feeding_meals,id
fed_at optional, date
note optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Manual feeding processed.",
    "data": {
        "successful_count": 1,
        "failed_count": 0,
        "total_count": 1,
        "successful": [
            {
                "id": 1,
                "calories": "",
                "total_cost": "25.500",
                "logged_by": {
                    "id": null,
                    "name": "Auto System"
                },
                "method": "manual",
                "status": {
                    "key": "completed",
                    "value": "Completed"
                },
                "failure_reason": null,
                "source": "manual",
                "served_at": "2026-07-05 08:00:00",
                "created_at": "2026-07-29 15:58:02"
            }
        ],
        "failed": []
    }
}
POST /api/v1/animals/falcon/training/assign

Assign Training Plan

Assign training plan

Assign a training plan to one or more falcons. The request creates one animal training plan per falcon and per-item schedule rules with a selected applicable trainer.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 1 ]
plan_ids array [ 1 ]
start_date string 2026-07-12
end_date string 2026-08-12
note string Documentation training assignment
execution_mode string auto_confirm
items array [ { "training_id": 1, "trainer_id": 2, "repeat_every_days": 1, "times": [ "08:00", "16:00" ], "execution_mode": "auto_confirm" } ]

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, distinct, Exists
plan_ids required, array, min 1
plan_ids[] required, integer, distinct, exists training_plans,id
start_date required, date_format
end_date required, date_format, after_or_equal
execution_mode required, In
items required, array, min 1
items[].training_id required, integer, exists training_plan_items,training_id
items[].trainer_id required, integer, exists admins,id
items[].repeat_every_days required, integer, min 1
items[].times required, array, min 1
items[].times.* required, date_format, distinct
items[].execution_mode required, In
note optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 1,
            "training_plan_id": 1,
            "training_plan_name": "Weekly conditioning plan",
            "start_date": "2026-07-12",
            "end_date": "2026-08-12",
            "status": {
                "key": "active",
                "value": "Active"
            },
            "assigned_by": 1,
            "assigned_by_admin": {
                "id": 1,
                "name": "Admin"
            },
            "notes": "Documentation training assignment",
            "items": [
                {
                    "id": 1,
                    "training_plan_item_id": 1,
                    "training_id": 1,
                    "training_name": "Basic Falcon Handling",
                    "trainer": {
                        "id": 2,
                        "name": "Admin 2"
                    },
                    "repeat_every_days": 1,
                    "times": [
                        "08:00",
                        "16:00"
                    ],
                    "execution_mode": "auto_confirm",
                    "status": {
                        "key": "active",
                        "value": "Active"
                    }
                }
            ],
            "created_at": "2026-07-29 15:58:03"
        }
    ]
}
GET /api/v1/animals/falcon/1/training/plans

Get Falcon Training Plans

Get training plans

Get training plan assignments for a falcon, including the assigned training plan and configured scheduled training items.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "animal_id": 1,
            "training_plan_id": 1,
            "training_plan_name": "Weekly conditioning plan",
            "start_date": "2026-07-12",
            "end_date": "2026-08-12",
            "status": {
                "key": "active",
                "value": "Active"
            },
            "assigned_by": 1,
            "assigned_by_admin": {
                "id": 1,
                "name": "Admin"
            },
            "notes": "Documentation training assignment",
            "items": [
                {
                    "id": 1,
                    "training_plan_item_id": 1,
                    "training_id": 1,
                    "training_name": "Basic Falcon Handling",
                    "trainer": {
                        "id": 2,
                        "name": "Admin 2"
                    },
                    "repeat_every_days": 1,
                    "times": [
                        "08:00",
                        "16:00"
                    ],
                    "execution_mode": "auto_confirm",
                    "status": {
                        "key": "active",
                        "value": "Active"
                    }
                }
            ],
            "created_at": "2026-07-29 15:58:03"
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/animals/falcon/1/training/plans/1/pause

Pause Training Plan

Pause training plan

Pause an active training plan assignment. Paused plans are ignored by scheduled training processing.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "training_plan_id": 1,
        "training_plan_name": "Weekly conditioning plan",
        "start_date": "2026-07-12",
        "end_date": "2026-08-12",
        "status": {
            "key": "paused",
            "value": "Paused"
        },
        "assigned_by": 1,
        "assigned_by_admin": {
            "id": 1,
            "name": "Admin"
        },
        "notes": "Documentation training assignment",
        "items": [
            {
                "id": 1,
                "training_plan_item_id": 1,
                "training_id": 1,
                "training_name": "Basic Falcon Handling",
                "trainer": {
                    "id": 2,
                    "name": "Admin 2"
                },
                "repeat_every_days": 1,
                "times": [
                    "08:00",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:03"
    }
}
PATCH /api/v1/animals/falcon/1/training/plans/1/resume

Resume Training Plan

Resume training plan

Resume a paused training plan assignment. Skipped sessions are not backfilled.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "training_plan_id": 1,
        "training_plan_name": "Weekly conditioning plan",
        "start_date": "2026-07-12",
        "end_date": "2026-08-12",
        "status": {
            "key": "active",
            "value": "Active"
        },
        "assigned_by": 1,
        "assigned_by_admin": {
            "id": 1,
            "name": "Admin"
        },
        "notes": "Documentation training assignment",
        "items": [
            {
                "id": 1,
                "training_plan_item_id": 1,
                "training_id": 1,
                "training_name": "Basic Falcon Handling",
                "trainer": {
                    "id": 2,
                    "name": "Admin 2"
                },
                "repeat_every_days": 1,
                "times": [
                    "08:00",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:03"
    }
}
PATCH /api/v1/animals/falcon/1/training/plans/1/cancel

Cancel Training Plan

Cancel training plan

Cancel an active or paused training plan assignment. Cancellation is blocked while the plan still has pending training sessions.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "animal_id": 1,
        "training_plan_id": 1,
        "training_plan_name": "Weekly conditioning plan",
        "start_date": "2026-07-12",
        "end_date": "2026-08-12",
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "assigned_by": 1,
        "assigned_by_admin": {
            "id": 1,
            "name": "Admin"
        },
        "notes": "Documentation training assignment",
        "items": [
            {
                "id": 1,
                "training_plan_item_id": 1,
                "training_id": 1,
                "training_name": "Basic Falcon Handling",
                "trainer": {
                    "id": 2,
                    "name": "Admin 2"
                },
                "repeat_every_days": 1,
                "times": [
                    "08:00",
                    "16:00"
                ],
                "execution_mode": "auto_confirm",
                "status": {
                    "key": "active",
                    "value": "Active"
                }
            }
        ],
        "created_at": "2026-07-29 15:58:03"
    }
}
GET /api/v1/animals/falcon/id-rules

Get Falcon ID Rules

Get falcon ID rules

Returns the ID generation rules for falcons — mode (auto/manual), prefix, and next code preview if auto.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "falcon": {
            "entity_type": "falcon",
            "prefix": "FAL",
            "mode": "auto",
            "next_id": "FAL-10003"
        }
    }
}
PUT /api/v1/feedings/items/1/complete

Complete Item

Complete an existing Item.

Completes the specified Item by filling the remaining required data. The system validates the request and updates the existing incomplete record.

Headers

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

Request Body

Field/Name Type Examples
id integer 1
calories integer 100
note string test-note
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]

Request Validations Or Notes

Field/Name Examples
id required, integer, exists feeding_items,id
calories required, numeric, min 0
note optional, string
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Item completed successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Feed Item",
        "calories": 100,
        "unit": {
            "id": 19,
            "name": "feed-9835232"
        },
        "categories": [
            {
                "id": 18,
                "name": "feed-9835434"
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "total_quantity": 14,
        "is_active": true,
        "note": "test-note",
        "is_completed": true
    }
}
GET /api/v1/feedings/items

Get Item List

Retrieve a list of Item.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Test Feed Item",
            "calories": "100.00",
            "unit": {
                "id": 19,
                "name": "feed-9835232"
            },
            "categories": [
                {
                    "id": 18,
                    "name": "feed-9835434"
                }
            ],
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "cost_per_unit": "EGP 25.500",
            "total_quantity": 14,
            "is_active": true,
            "note": "test-note",
            "is_completed": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/feedings/items/1

Get Item Details

Retrieve Item details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Feed Item",
        "calories": "100.00",
        "unit": {
            "id": 19,
            "name": "feed-9835232"
        },
        "categories": [
            {
                "id": 18,
                "name": "feed-9835434"
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "total_quantity": 13,
        "is_active": true,
        "note": "test-note",
        "name_translate": {
            "ar": "مادة علف اختبار الجودة",
            "en": "QA Test Feed Item"
        },
        "is_completed": true
    }
}
PUT /api/v1/feedings/items/1

Update Item

Update an existing Item.

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

Headers

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

Request Body

Field/Name Type Examples
calories integer 100
note string test-note
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
id required, integer, exists feeding_items,id
calories required, numeric, min 0
note optional, string
is_active optional, true/false
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Feed Item",
        "calories": 100,
        "unit": {
            "id": 19,
            "name": "feed-9835232"
        },
        "categories": [
            {
                "id": 18,
                "name": "feed-9835434"
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "total_quantity": 13,
        "is_active": true,
        "note": "test-note",
        "is_completed": true
    }
}
PATCH /api/v1/feedings/items/1/toggle-active

Toggle Item Status

Switch the Item status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Feed Item",
        "calories": "100.00",
        "unit": {
            "id": 19,
            "name": "feed-9835232"
        },
        "categories": [
            {
                "id": 18,
                "name": "feed-9835434"
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "total_quantity": 13,
        "is_active": false,
        "note": "test-note",
        "is_completed": true
    }
}
DELETE /api/v1/feedings/items/1

Delete Item

Delete a Item.

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

Headers

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

Get Deleted Item

List deleted Item.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Test Feed Item",
            "calories": "100.00",
            "unit": {
                "id": 19,
                "name": "feed-9921744"
            },
            "categories": [],
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9921752"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9921226",
                    "data": {
                        "min_age": 96,
                        "max_age": 100
                    }
                }
            ],
            "cost_per_unit": "EGP 25.500",
            "total_quantity": 13,
            "is_active": false,
            "note": "test-note",
            "is_completed": true,
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/feedings/items/1/restore

Restore Item

Restore deleted Item.

Restore a previously deleted Item record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Feed Item",
        "calories": "100.00",
        "unit": {
            "id": 19,
            "name": "feed-9921744"
        },
        "categories": [],
        "supports": [
            {
                "id": 10,
                "name": "anim-9921752"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9921226",
                "data": {
                    "min_age": 96,
                    "max_age": 100
                }
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "total_quantity": 13,
        "is_active": false,
        "note": "test-note",
        "is_completed": true
    }
}
DELETE /api/v1/feedings/items/1/force-delete

Permanently Delete Item

Force delete Item.

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

Headers

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

Create Meal

Create a new Meal.

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

Headers

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

Request Body

Field/Name Type Examples
name string documentation-meal-create-6a69f8bcaa507
types array [ { "type_id": 20 } ]
note string test-note
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
items array [ { "item_id": 1, "quantity": 1 } ]

Request Validations Or Notes

Field/Name Examples
name required, string, unique feeding_meals,name, max 255
note optional, string
is_active optional, true/false
types required, array, min 1
types[].type_id required, integer, exists settings,id,type,feeding-meals-type
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
items required, array, min 1
items[].item_id required, integer, exists feeding_items,id, CompletedFeedingItemRule
items[].quantity required, integer, min 1
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "documentation-meal-create-6a69f8bcaa507",
        "supported_types": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "supported_ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meal_types": [
            {
                "id": 20,
                "name": "feed-9835630"
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "calories": "100",
        "is_active": true,
        "note": "test-note",
        "created_at": "2026-07-29T12:57:32.000000Z",
        "meal_items": [
            {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": true,
                    "note": "test-note"
                },
                "quantity": "1.00",
                "total_cost": "EGP 25.500",
                "total_calories": "100"
            }
        ]
    }
}
GET /api/v1/feedings/meals

Get Meal List

Retrieve a list of Meal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "documentation-meal-create-6a69f8bcaa507",
            "supported_types": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "supported_ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "meal_types": [
                {
                    "id": 20,
                    "name": "feed-9835630"
                }
            ],
            "cost_per_unit": "EGP 25.500",
            "calories": "100",
            "is_active": true,
            "note": "test-note",
            "created_at": "2026-07-29T12:57:32.000000Z",
            "meal_items": [
                {
                    "id": 1,
                    "item": {
                        "id": 1,
                        "name": "QA Test Feed Item",
                        "calories": "100.00",
                        "unit": {
                            "id": 19,
                            "name": "feed-9835232"
                        },
                        "categories": [
                            {
                                "id": 18,
                                "name": "feed-9835434"
                            }
                        ],
                        "supports": [
                            {
                                "id": 10,
                                "name": "anim-9835102"
                            }
                        ],
                        "ages": [
                            {
                                "id": 12,
                                "name": "falc-9835121",
                                "data": {
                                    "min_age": 90,
                                    "max_age": 95
                                }
                            }
                        ],
                        "cost_per_unit": "EGP 25.500",
                        "total_quantity": null,
                        "is_active": true,
                        "note": "test-note"
                    },
                    "quantity": "1.00",
                    "total_cost": "EGP 25.500",
                    "total_calories": "100"
                }
            ]
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/feedings/meals/1

Get Meal Details

Retrieve Meal details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "documentation-meal-create-6a69f8bcaa507",
        "supported_types": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "supported_ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meal_types": [
            {
                "id": 20,
                "name": "feed-9835630"
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "calories": "100",
        "is_active": true,
        "note": "test-note",
        "created_at": "2026-07-29T12:57:32.000000Z",
        "meal_items": [
            {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note",
                    "name_translate": {
                        "ar": "مادة علف اختبار الجودة",
                        "en": "QA Test Feed Item"
                    }
                },
                "quantity": "1.00",
                "total_cost": "EGP 25.500",
                "total_calories": "100"
            }
        ]
    }
}
PUT /api/v1/feedings/meals/1

Update Meal

Update an existing Meal.

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

Headers

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

Request Body

Field/Name Type Examples
name string documentation-meal-update-6a69f8ee98ddc
types array [ { "type_id": 20 } ]
note string test-note
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
items array [ { "item_id": 1, "quantity": 1 } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
id required, integer, exists feeding_meals,id
name required, string, max 255, unique feeding_meals,name,
note optional, string
is_active optional, true/false
types required, array, min 1
types[].type_id required, integer, exists settings,id,type,feeding-meals-type
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
items required, array, min 1
items[].item_id required, integer, exists feeding_items,id, CompletedFeedingItemRule
items[].quantity required, integer, min 1
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-meal-update-6a69f8ee98ddc",
        "supported_types": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "supported_ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meal_types": [
            {
                "id": 20,
                "name": "feed-9835630"
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "calories": "100",
        "is_active": true,
        "note": "test-note",
        "created_at": "2026-07-29T12:57:32.000000Z",
        "meal_items": [
            {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "quantity": "1.00",
                "total_cost": "EGP 25.500",
                "total_calories": "100"
            }
        ]
    }
}
PATCH /api/v1/feedings/meals/1/toggle-active

Toggle Meal Status

Switch the Meal status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-meal-update-6a69f8ee98ddc",
        "supported_types": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "supported_ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meal_types": [
            {
                "id": 20,
                "name": "feed-9835630"
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "calories": "100",
        "is_active": false,
        "note": "test-note",
        "created_at": "2026-07-29T12:57:32.000000Z",
        "meal_items": [
            {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "quantity": "1.00",
                "total_cost": "EGP 25.500",
                "total_calories": "100"
            }
        ]
    }
}
DELETE /api/v1/feedings/meals/1

Delete Meal

Delete a Meal.

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

Headers

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

Get Deleted Meal

List deleted Meal.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "documentation-meal-update-6a69f8ee98ddc",
            "supported_types": [
                {
                    "id": 10,
                    "name": "anim-9921752"
                }
            ],
            "supported_ages": [
                {
                    "id": 12,
                    "name": "falc-9921226",
                    "data": {
                        "min_age": 96,
                        "max_age": 100
                    }
                }
            ],
            "meal_types": [
                {
                    "id": 20,
                    "name": "feed-9921274"
                }
            ],
            "cost_per_unit": "EGP 25.500",
            "calories": "100",
            "is_active": false,
            "note": "test-note",
            "created_at": "2026-07-29T12:57:32.000000Z",
            "meal_items": [
                {
                    "id": 1,
                    "item": {
                        "id": 1,
                        "name": "QA Test Feed Item",
                        "calories": "100.00",
                        "unit": {
                            "id": 19,
                            "name": "feed-9921744"
                        },
                        "categories": [],
                        "supports": [
                            {
                                "id": 10,
                                "name": "anim-9921752"
                            }
                        ],
                        "ages": [
                            {
                                "id": 12,
                                "name": "falc-9921226",
                                "data": {
                                    "min_age": 96,
                                    "max_age": 100
                                }
                            }
                        ],
                        "cost_per_unit": "EGP 25.500",
                        "total_quantity": null,
                        "is_active": false,
                        "note": "test-note",
                        "delete_reason": null
                    },
                    "quantity": "1.00",
                    "total_cost": "EGP 25.500",
                    "total_calories": "100"
                }
            ],
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/feedings/meals/1/restore

Restore Meal

Restore deleted Meal.

Restore a previously deleted Meal record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-meal-update-6a69f8ee98ddc",
        "supported_types": [
            {
                "id": 10,
                "name": "anim-9921752"
            }
        ],
        "supported_ages": [
            {
                "id": 12,
                "name": "falc-9921226",
                "data": {
                    "min_age": 96,
                    "max_age": 100
                }
            }
        ],
        "meal_types": [
            {
                "id": 20,
                "name": "feed-9921274"
            }
        ],
        "cost_per_unit": "EGP 25.500",
        "calories": "100",
        "is_active": false,
        "note": "test-note",
        "created_at": "2026-07-29T12:57:32.000000Z",
        "meal_items": [
            {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9921744"
                    },
                    "categories": [],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9921752"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9921226",
                            "data": {
                                "min_age": 96,
                                "max_age": 100
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "quantity": "1.00",
                "total_cost": "EGP 25.500",
                "total_calories": "100"
            }
        ]
    }
}
DELETE /api/v1/feedings/meals/1/force-delete

Permanently Delete Meal

Force delete Meal.

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

Headers

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

Create Plan

Create a new Plan.

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

Headers

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

Request Body

Field/Name Type Examples
name string documentation-plan-create-6a69f8bd727e5
type string monthly
note string Monthly feeding plan
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
meals array [ { "meal_id": 1, "quantity": 2, "days": [] } ]

Request Validations Or Notes

Field/Name Examples
name required, string, unique feeding_plans,name, max 255
type required, enum
note optional, string
is_active optional, true/false
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
meals required, array, min 1
meals[].meal_id required, integer, exists feeding_meals,id
meals[].quantity required, integer, min 1
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "documentation-plan-create-6a69f8bd727e5",
        "type": "monthly",
        "note": "Monthly feeding plan",
        "is_active": true,
        "created_at": "2026-07-29T12:57:33.000000Z",
        "updated_at": "2026-07-29T12:57:33.000000Z",
        "supports": [
            {
                "id": 1,
                "plan_id": 1,
                "support_type": "settings",
                "support_id": 10,
                "created_at": "2026-07-29T12:57:33.000000Z",
                "updated_at": "2026-07-29T12:57:33.000000Z"
            }
        ],
        "ages": [
            {
                "id": 1,
                "plan_id": 1,
                "age_type": "settings",
                "age_id": 12,
                "created_at": "2026-07-29T12:57:33.000000Z",
                "updated_at": "2026-07-29T12:57:33.000000Z"
            }
        ],
        "meals": [
            {
                "id": 1,
                "plan_id": 1,
                "meal_id": 1,
                "quantity": "2.00",
                "created_at": "2026-07-29T12:57:33.000000Z",
                "updated_at": "2026-07-29T12:57:33.000000Z",
                "meal": {
                    "id": 1,
                    "name": "documentation-meal-create-6a69f8bcaa507",
                    "category_type": "settings",
                    "category_id": 20,
                    "note": "test-note",
                    "is_active": 1,
                    "deleted_at": null,
                    "delete_reason": null,
                    "created_at": "2026-07-29T12:57:32.000000Z",
                    "updated_at": "2026-07-29T12:57:32.000000Z",
                    "items": [
                        {
                            "id": 1,
                            "meal_id": 1,
                            "item_id": 1,
                            "quantity": "1.00",
                            "created_at": "2026-07-29T12:57:32.000000Z",
                            "updated_at": "2026-07-29T12:57:32.000000Z",
                            "item": {
                                "id": 1,
                                "unit_type": "settings",
                                "unit_id": 19,
                                "calories": "100.00",
                                "note": "test-note",
                                "is_active": 1,
                                "deleted_at": null,
                                "delete_reason": null,
                                "created_at": "2026-07-29T12:57:29.000000Z",
                                "updated_at": "2026-07-29T12:57:32.000000Z"
                            }
                        }
                    ]
                }
            }
        ],
        "cost": 51,
        "calories": 200,
        "delete_reason": null
    }
}
GET /api/v1/feedings/plans

Get Plan List

Retrieve a list of Plan.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "documentation-plan-create-6a69f8bd727e5",
            "type": "monthly",
            "note": "Monthly feeding plan",
            "is_active": true,
            "created_at": "2026-07-29T12:57:33.000000Z",
            "updated_at": "2026-07-29T12:57:33.000000Z",
            "total_cost": "EGP 51.000",
            "total_calories": "200",
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "meals": [
                {
                    "id": 1,
                    "meal": {
                        "id": 1,
                        "name": "documentation-meal-create-6a69f8bcaa507",
                        "supported_types": [
                            {
                                "id": 10,
                                "name": "anim-9835102"
                            }
                        ],
                        "supported_ages": [
                            {
                                "id": 12,
                                "name": "falc-9835121",
                                "data": {
                                    "min_age": 90,
                                    "max_age": 95
                                }
                            }
                        ],
                        "meal_types": [
                            {
                                "id": 20,
                                "name": "feed-9835630"
                            }
                        ],
                        "cost_per_unit": "EGP 25.500",
                        "calories": "100"
                    },
                    "quantity": "2.00",
                    "total_cost": "EGP 51.000",
                    "total_calories": "200"
                }
            ]
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/feedings/plans/1

Get Plan Details

Retrieve Plan details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "documentation-plan-create-6a69f8bd727e5",
        "type": "monthly",
        "note": "Monthly feeding plan",
        "is_active": true,
        "created_at": "2026-07-29T12:57:33.000000Z",
        "updated_at": "2026-07-29T12:57:33.000000Z",
        "total_cost": "EGP 51.000",
        "total_calories": "200",
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meals": [
            {
                "id": 1,
                "meal": {
                    "id": 1,
                    "name": "documentation-meal-update-6a69f8ee98ddc",
                    "supported_types": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "supported_ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "meal_types": [
                        {
                            "id": 20,
                            "name": "feed-9835630"
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "calories": "100"
                },
                "quantity": "2.00",
                "total_cost": "EGP 51.000",
                "total_calories": "200"
            }
        ]
    }
}
PUT /api/v1/feedings/plans/1

Update Plan

Update an existing Plan.

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

Headers

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

Request Body

Field/Name Type Examples
name string documentation-plan-update-6a69f8efad221
type string monthly
note string Monthly feeding plan
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
meals array [ { "meal_id": 1, "quantity": 2, "days": [] } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
id required, integer, exists feeding_plans,id
name required, string, max 255, unique feeding_plans,name,
type required, enum
note optional, string
is_active optional, true/false
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
meals required, array, min 1
meals[].meal_id required, integer, exists feeding_meals,id
meals[].quantity required, integer, min 1
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-plan-update-6a69f8efad221",
        "type": "monthly",
        "note": "Monthly feeding plan",
        "is_active": true,
        "created_at": "2026-07-29T12:57:33.000000Z",
        "updated_at": "2026-07-29T12:58:24.000000Z",
        "total_cost": "EGP 51.000",
        "total_calories": "200",
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meals": [
            {
                "id": 1,
                "meal": {
                    "id": 1,
                    "name": "documentation-meal-update-6a69f8ee98ddc",
                    "supported_types": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "supported_ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "meal_types": [
                        {
                            "id": 20,
                            "name": "feed-9835630"
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "calories": "100"
                },
                "quantity": "2.00",
                "total_cost": "EGP 51.000",
                "total_calories": "200"
            }
        ]
    }
}
PATCH /api/v1/feedings/plans/1/toggle-active

Toggle Plan Status

Switch the Plan status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-plan-update-6a69f8efad221",
        "type": "monthly",
        "note": "Monthly feeding plan",
        "is_active": false,
        "created_at": "2026-07-29T12:57:33.000000Z",
        "updated_at": "2026-07-29T12:58:24.000000Z",
        "total_cost": "EGP 51.000",
        "total_calories": "200",
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "meals": [
            {
                "id": 1,
                "meal": {
                    "id": 1,
                    "name": "documentation-meal-update-6a69f8ee98ddc",
                    "supported_types": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "supported_ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "meal_types": [
                        {
                            "id": 20,
                            "name": "feed-9835630"
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "calories": "100"
                },
                "quantity": "2.00",
                "total_cost": "EGP 51.000",
                "total_calories": "200"
            }
        ]
    }
}
DELETE /api/v1/feedings/plans/1

Delete Plan

Delete a Plan.

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

Headers

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

Get Deleted Plan

List deleted Plan.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "documentation-plan-update-6a69f8efad221",
            "type": "monthly",
            "note": "Monthly feeding plan",
            "is_active": false,
            "created_at": "2026-07-29T12:57:33.000000Z",
            "updated_at": "2026-07-29T12:59:04.000000Z",
            "total_cost": "EGP 51.000",
            "total_calories": "200",
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9921752"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9921226",
                    "data": {
                        "min_age": 96,
                        "max_age": 100
                    }
                }
            ],
            "meals": [
                {
                    "id": 1,
                    "meal": {
                        "id": 1,
                        "name": "documentation-meal-update-6a69f8ee98ddc",
                        "supported_types": [
                            {
                                "id": 10,
                                "name": "anim-9921752"
                            }
                        ],
                        "supported_ages": [
                            {
                                "id": 12,
                                "name": "falc-9921226",
                                "data": {
                                    "min_age": 96,
                                    "max_age": 100
                                }
                            }
                        ],
                        "meal_types": [
                            {
                                "id": 20,
                                "name": "feed-9921274"
                            }
                        ],
                        "cost_per_unit": "EGP 25.500",
                        "calories": "100",
                        "delete_reason": null
                    },
                    "quantity": "2.00",
                    "total_cost": "EGP 51.000",
                    "total_calories": "200"
                }
            ],
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/feedings/plans/1/restore

Restore Plan

Restore deleted Plan.

Restore a previously deleted Plan record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "documentation-plan-update-6a69f8efad221",
        "type": "monthly",
        "note": "Monthly feeding plan",
        "is_active": false,
        "created_at": "2026-07-29T12:57:33.000000Z",
        "updated_at": "2026-07-29T12:59:04.000000Z",
        "total_cost": "EGP 51.000",
        "total_calories": "200",
        "supports": [
            {
                "id": 10,
                "name": "anim-9921752"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9921226",
                "data": {
                    "min_age": 96,
                    "max_age": 100
                }
            }
        ],
        "meals": [
            {
                "id": 1,
                "meal": {
                    "id": 1,
                    "name": "documentation-meal-update-6a69f8ee98ddc",
                    "supported_types": [
                        {
                            "id": 10,
                            "name": "anim-9921752"
                        }
                    ],
                    "supported_ages": [
                        {
                            "id": 12,
                            "name": "falc-9921226",
                            "data": {
                                "min_age": 96,
                                "max_age": 100
                            }
                        }
                    ],
                    "meal_types": [
                        {
                            "id": 20,
                            "name": "feed-9921274"
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "calories": "100"
                },
                "quantity": "2.00",
                "total_cost": "EGP 51.000",
                "total_calories": "200"
            }
        ]
    }
}
DELETE /api/v1/feedings/plans/1/force-delete

Permanently Delete Plan

Force delete Plan.

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

Headers

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

Create feeding category

Create feeding category

Store a new feeding category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9835434
name_ar string أختبار للاعدادات9835434

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 18,
        "name": "feed-9835434"
    }
}
GET /api/v1/settings/feeding-category

Get feeding category List

Get feeding category List

This API retrieves a paginated list of feeding category.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 18,
            "name": "feed-9835434",
            "name_translate": {
                "ar": "أختبار للاعدادات9835434",
                "en": "feed-9835434"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/feeding-category/18

Show Single feeding category

Show Single feeding category

Get Single feeding category

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 18,
        "name": "feed-9835434",
        "name_translate": {
            "ar": "أختبار للاعدادات9835434",
            "en": "feed-9835434"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/feeding-category/18

Update feeding category

Update feeding category

Update feeding category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9921208
name_ar string أختبار للاعدادات9921208
id integer 18

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,feeding-category
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 18,
        "name": "feed-9921208"
    }
}
PATCH /api/v1/settings/feeding-category/18

Active Or InActive feeding category

Update feeding category

Update feeding category entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 18,
        "name": "feed-9921208"
    }
}
DELETE /api/v1/settings/feeding-category/18

Delete feeding category

Delete feeding category

Delete feeding category entry

Headers

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

Create feeding meals type

Create feeding meals type

Store a new feeding meals type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9835630
name_ar string أختبار للاعدادات9835630

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 20,
        "name": "feed-9835630"
    }
}
GET /api/v1/settings/feeding-meals-type

Get feeding meals type List

Get feeding meals type List

This API retrieves a paginated list of feeding meals type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 20,
            "name": "feed-9835630",
            "name_translate": {
                "ar": "أختبار للاعدادات9835630",
                "en": "feed-9835630"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/feeding-meals-type/20

Show Single feeding meals type

Show Single feeding meals type

Get Single feeding meals type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 20,
        "name": "feed-9835630",
        "name_translate": {
            "ar": "أختبار للاعدادات9835630",
            "en": "feed-9835630"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/feeding-meals-type/20

Update feeding meals type

Update feeding meals type

Update feeding meals type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9921274
name_ar string أختبار للاعدادات9921274
id integer 20

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,feeding-meals-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 20,
        "name": "feed-9921274"
    }
}
PATCH /api/v1/settings/feeding-meals-type/20

Active Or InActive feeding meals type

Update feeding meals type

Update feeding meals type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 20,
        "name": "feed-9921274"
    }
}
DELETE /api/v1/settings/feeding-meals-type/20

Delete feeding meals type

Delete feeding meals type

Delete feeding meals type entry

Headers

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

Create feeding unit

Create feeding unit

Store a new feeding unit entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9835232
name_ar string أختبار للاعدادات9835232

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 19,
        "name": "feed-9835232"
    }
}
GET /api/v1/settings/feeding-unit

Get feeding unit List

Get feeding unit List

This API retrieves a paginated list of feeding unit.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 19,
            "name": "feed-9835232",
            "name_translate": {
                "ar": "أختبار للاعدادات9835232",
                "en": "feed-9835232"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/feeding-unit/19

Show Single feeding unit

Show Single feeding unit

Get Single feeding unit

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 19,
        "name": "feed-9835232",
        "name_translate": {
            "ar": "أختبار للاعدادات9835232",
            "en": "feed-9835232"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/feeding-unit/19

Update feeding unit

Update feeding unit

Update feeding unit entry

Headers

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

Request Body

Field/Name Type Examples
name_en string feed-9921744
name_ar string أختبار للاعدادات9921744
id integer 19

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,feeding-unit
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 19,
        "name": "feed-9921744"
    }
}
PATCH /api/v1/settings/feeding-unit/19

Active Or InActive feeding unit

Update feeding unit

Update feeding unit entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 19,
        "name": "feed-9921744"
    }
}
DELETE /api/v1/settings/feeding-unit/19

Delete feeding unit

Delete feeding unit

Delete feeding unit entry

Headers

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

Create medical category

Create medical category

Store a new medical category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9835395
name_ar string أختبار للاعدادات9835395

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 21,
        "name": "medi-9835395"
    }
}
GET /api/v1/settings/medical-category

Get medical category List

Get medical category List

This API retrieves a paginated list of medical category.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 21,
            "name": "medi-9835395",
            "name_translate": {
                "ar": "أختبار للاعدادات9835395",
                "en": "medi-9835395"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/medical-category/21

Show Single medical category

Show Single medical category

Get Single medical category

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 21,
        "name": "medi-9835395",
        "name_translate": {
            "ar": "أختبار للاعدادات9835395",
            "en": "medi-9835395"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/medical-category/21

Update medical category

Update medical category

Update medical category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9921931
name_ar string أختبار للاعدادات9921931
id integer 21

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,medical-category
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 21,
        "name": "medi-9921931"
    }
}
PATCH /api/v1/settings/medical-category/21

Active Or InActive medical category

Update medical category

Update medical category entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 21,
        "name": "medi-9921931"
    }
}
DELETE /api/v1/settings/medical-category/21

Delete medical category

Delete medical category

Delete medical category entry

Headers

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

Create medical unit

Create medical unit

Store a new medical unit entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9835664
name_ar string أختبار للاعدادات9835664

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 22,
        "name": "medi-9835664"
    }
}
GET /api/v1/settings/medical-unit

Get medical unit List

Get medical unit List

This API retrieves a paginated list of medical unit.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "Test Unit",
            "name_translate": {
                "ar": "وحدة طبية اختبار",
                "en": "Test Unit"
            },
            "is_active": true
        },
        {
            "id": 22,
            "name": "medi-9835664",
            "name_translate": {
                "ar": "أختبار للاعدادات9835664",
                "en": "medi-9835664"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/settings/medical-unit/22

Show Single medical unit

Show Single medical unit

Get Single medical unit

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 22,
        "name": "medi-9835664",
        "name_translate": {
            "ar": "أختبار للاعدادات9835664",
            "en": "medi-9835664"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/medical-unit/22

Update medical unit

Update medical unit

Update medical unit entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9921604
name_ar string أختبار للاعدادات9921604
id integer 22

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,medical-unit
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 22,
        "name": "medi-9921604"
    }
}
PATCH /api/v1/settings/medical-unit/22

Active Or InActive medical unit

Update medical unit

Update medical unit entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 22,
        "name": "medi-9921604"
    }
}
DELETE /api/v1/settings/medical-unit/22

Delete medical unit

Delete medical unit

Delete medical unit entry

Headers

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

Create medical medicine category

Create medical medicine category

Store a new medical medicine category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9835976
name_ar string أختبار للاعدادات9835976

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 23,
        "name": "medi-9835976"
    }
}
GET /api/v1/settings/medical-medicine-category

Get medical medicine category List

Get medical medicine category List

This API retrieves a paginated list of medical medicine category.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 23,
            "name": "medi-9835976",
            "name_translate": {
                "ar": "أختبار للاعدادات9835976",
                "en": "medi-9835976"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/medical-medicine-category/23

Show Single medical medicine category

Show Single medical medicine category

Get Single medical medicine category

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 23,
        "name": "medi-9835976",
        "name_translate": {
            "ar": "أختبار للاعدادات9835976",
            "en": "medi-9835976"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/medical-medicine-category/23

Update medical medicine category

Update medical medicine category

Update medical medicine category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9921373
name_ar string أختبار للاعدادات9921373
id integer 23

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,medical-medicine-category
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 23,
        "name": "medi-9921373"
    }
}
PATCH /api/v1/settings/medical-medicine-category/23

Active Or InActive medical medicine category

Update medical medicine category

Update medical medicine category entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 23,
        "name": "medi-9921373"
    }
}
DELETE /api/v1/settings/medical-medicine-category/23

Delete medical medicine category

Delete medical medicine category

Delete medical medicine category entry

Headers

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

Create medical medicine form

Create medical medicine form

Store a new medical medicine form entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9835654
name_ar string أختبار للاعدادات9835654
parent_id integer 1

Request Validations Or Notes

Field/Name Examples
parent_id required, integer, ParentTypeRule
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 24,
        "name": "medi-9835654"
    }
}
GET /api/v1/settings/medical-medicine-form

Get medical medicine form List

Get medical medicine form List

This API retrieves a paginated list of medical medicine form.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 24,
            "name": "medi-9835654",
            "name_translate": {
                "ar": "أختبار للاعدادات9835654",
                "en": "medi-9835654"
            },
            "is_active": true,
            "parent": {
                "id": 1,
                "name": "Test Unit"
            }
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/medical-medicine-form/24

Show Single medical medicine form

Show Single medical medicine form

Get Single medical medicine form

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 24,
        "name": "medi-9835654",
        "name_translate": {
            "ar": "أختبار للاعدادات9835654",
            "en": "medi-9835654"
        },
        "is_active": true,
        "parent": {
            "id": 1,
            "name": "Test Unit"
        }
    }
}
PUT /api/v1/settings/medical-medicine-form/24

Update medical medicine form

Update medical medicine form

Update medical medicine form entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9921890
name_ar string أختبار للاعدادات9921890
id integer 24

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,medical-medicine-form
parent_id optional, integer, ParentTypeRule
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 24,
        "name": "medi-9921890"
    }
}
PATCH /api/v1/settings/medical-medicine-form/24

Active Or InActive medical medicine form

Update medical medicine form

Update medical medicine form entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 24,
        "name": "medi-9921890"
    }
}
DELETE /api/v1/settings/medical-medicine-form/24

Delete medical medicine form

Delete medical medicine form

Delete medical medicine form entry

Headers

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

Create medical severity

Create medical severity

Store a new medical severity entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9835366
name_ar string أختبار للاعدادات9835366

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 25,
        "name": "medi-9835366"
    }
}
GET /api/v1/settings/medical-severity

Get medical severity List

Get medical severity List

This API retrieves a paginated list of medical severity.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 25,
            "name": "medi-9835366",
            "name_translate": {
                "ar": "أختبار للاعدادات9835366",
                "en": "medi-9835366"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/medical-severity/25

Show Single medical severity

Show Single medical severity

Get Single medical severity

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 25,
        "name": "medi-9835366",
        "name_translate": {
            "ar": "أختبار للاعدادات9835366",
            "en": "medi-9835366"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/medical-severity/25

Update medical severity

Update medical severity

Update medical severity entry

Headers

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

Request Body

Field/Name Type Examples
name_en string medi-9921975
name_ar string أختبار للاعدادات9921975
id integer 25

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,medical-severity
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 25,
        "name": "medi-9921975"
    }
}
PATCH /api/v1/settings/medical-severity/25

Active Or InActive medical severity

Update medical severity

Update medical severity entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 25,
        "name": "medi-9921975"
    }
}
DELETE /api/v1/settings/medical-severity/25

Delete medical severity

Delete medical severity

Delete medical severity entry

Headers

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

Complete Medication

Complete an existing Medication.

Completes the specified Medication by filling the remaining required data. The system validates the request and updates the existing incomplete record.

Headers

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

Request Body

Field/Name Type Examples
form_id integer 24
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]

Request Validations Or Notes

Field/Name Examples
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
Success (200 OK)
{
    "success": true,
    "message": "Medication completed successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Medication Item",
        "unit": {
            "id": 1,
            "name": "Test Unit"
        },
        "form": {
            "id": 24,
            "name": "medi-9835654"
        },
        "categories": [
            {
                "id": 23,
                "name": "medi-9835976"
            }
        ],
        "note": "QA test medication inventory item",
        "cost": 0,
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "is_active": true,
        "is_completed": true,
        "created_at": "2026-07-29T12:57:29.000000Z"
    }
}
GET /api/v1/medical/medications

Get Medication List

Retrieve a list of Medication.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Test Medication Item",
            "unit": {
                "id": 1,
                "name": "Test Unit"
            },
            "form": {
                "id": 24,
                "name": "medi-9835654"
            },
            "categories": [
                {
                    "id": 23,
                    "name": "medi-9835976"
                }
            ],
            "note": "QA test medication inventory item",
            "cost": 15.25,
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "is_active": true,
            "is_completed": true,
            "created_at": "2026-07-29T12:57:29.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/medical/medications/1

Get Medication Details

Retrieve Medication details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Medication Item",
        "unit": {
            "id": 1,
            "name": "Test Unit"
        },
        "form": {
            "id": 24,
            "name": "medi-9835654"
        },
        "categories": [
            {
                "id": 23,
                "name": "medi-9835976"
            }
        ],
        "note": "QA test medication inventory item",
        "cost": 0,
        "name_translate": {
            "ar": "دواء اختبار الجودة",
            "en": "QA Test Medication Item"
        },
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "is_active": true,
        "is_completed": true,
        "created_at": "2026-07-29T12:57:29.000000Z"
    }
}
PUT /api/v1/medical/medications/1

Update Medication

Update an existing Medication.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Amoxicillin Antibiotic 500mg (Updated)", "ar": "مضاد حيوي أموكسيسيلين 500 ملغ (محدث)" }
notes string Updated notes: Keep refrigerated after opening
categories array [ { "category_id": 23 } ]
form_id integer 24
unit_id integer 22
is_active boolean 1
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
name sometimes, array
name.ar required_with, string, max 255
name.en required_with, string, max 255
category_id optional, exists categories,id
unit_id optional, exists settings,id,type,medical-unit
form_id optional, exists settings,id,type,medical-medicine-form
supports optional, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
ages optional, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
categories optional, array, min 1
categories[].category_id required, integer, exists settings,id,type,medical-medicine-category
note optional, string, max 255
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Amoxicillin Antibiotic 500mg (Updated)",
        "unit": {
            "id": 22,
            "name": "medi-9835664"
        },
        "form": {
            "id": 24,
            "name": "medi-9835654"
        },
        "categories": [
            {
                "id": 23,
                "name": "medi-9835976"
            }
        ],
        "note": "QA test medication inventory item",
        "cost": 0,
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "is_active": true,
        "is_completed": true,
        "created_at": "2026-07-29T12:57:29.000000Z"
    }
}
PATCH /api/v1/medical/medications/1/toggle-active

Toggle Medication Status

Switch the Medication status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Amoxicillin Antibiotic 500mg (Updated)",
        "unit": {
            "id": 22,
            "name": "medi-9835664"
        },
        "form": {
            "id": 24,
            "name": "medi-9835654"
        },
        "categories": [
            {
                "id": 23,
                "name": "medi-9835976"
            }
        ],
        "note": "QA test medication inventory item",
        "cost": 0,
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "is_active": false,
        "is_completed": true,
        "created_at": "2026-07-29T12:57:29.000000Z"
    }
}
DELETE /api/v1/medical/medications/1

Delete Medication

Delete a Medication.

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

Headers

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

Create Procedure

Create a new Procedure.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Complete Blood Count (CBC) Analysis", "ar": "تحليل صورة الدم الكاملة (CBC)" }
category_id integer 21
cost integer 120
notes string Patient must fast for 8 hours prior to the blood test
is_active boolean 1

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255
name.en required, string, max 255
category_id required, exists settings,id,type,medical-category
cost required, numeric
note optional, string, max 255
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "Complete Blood Count (CBC) Analysis",
        "cost": "EGP 120.000",
        "note": null,
        "category": null,
        "is_active": false,
        "created_at": "2026-07-29T12:57:54.000000Z"
    }
}
GET /api/v1/medical/procedures

Get Procedure List

Retrieve a list of Procedure.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "Complete Blood Count (CBC) Analysis",
            "cost": "EGP 120.000",
            "note": null,
            "category": {
                "id": 21,
                "name": "medi-9835395"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:57:54.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/medical/procedures/1

Get Procedure Details

Retrieve Procedure details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "Complete Blood Count (CBC) Analysis",
        "cost": "EGP 120.000",
        "note": null,
        "category": {
            "id": 21,
            "name": "medi-9835395"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:57:54.000000Z",
        "name_translate": {
            "ar": "تحليل صورة الدم الكاملة (CBC)",
            "en": "Complete Blood Count (CBC) Analysis"
        }
    }
}
PUT /api/v1/medical/procedures/1

Update Procedure

Update an existing Procedure.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Comprehensive Metabolic Panel (CMP)", "ar": "لوحة التمثيل الغذائي الشاملة" }
category_id integer 21
cost integer 150
notes string Updated: Requires detailed lab reporting
is_active boolean
id integer 1

Request Validations Or Notes

Field/Name Examples
name sometimes, array
name.ar required_with, string, max 255
name.en required_with, string, max 255
category_id optional, exists settings,id,type,medical-category
cost optional, numeric
note optional, string, max 255
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Comprehensive Metabolic Panel (CMP)",
        "cost": "EGP 150.000",
        "note": null,
        "category": null,
        "is_active": false,
        "created_at": "2026-07-29T12:57:54.000000Z"
    }
}
PATCH /api/v1/medical/procedures/1/toggle-active

Toggle Procedure Status

Switch the Procedure status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Comprehensive Metabolic Panel (CMP)",
        "cost": "EGP 150.000",
        "note": null,
        "category": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:54.000000Z"
    }
}
DELETE /api/v1/medical/procedures/1

Delete Procedure

Delete a Procedure.

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

Headers

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

Create Medical-request

Create a new Medical-request.

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

Headers

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

Request Body

Field/Name Type Examples
target_type string animals
target_id integer 1
severity_id integer 25
note string Test Medical Request

Request Validations Or Notes

Field/Name Examples
target_type required, string, allowed: animals
target_id required, integer, Exists
severity_type sometimes, string
severity_id required, integer, exists settings,id,type,medical-severity
note optional, string, max 255
media optional, array
media[] file, max 10240, types: jpg,jpeg,png,pdf,doc,docx
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "has_diagnosis": false,
        "status": {
            "key": "open",
            "value": "Open"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": false
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Test Medical Request",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:57:55.000000Z",
        "media": []
    }
}
GET /api/v1/medical/requests

Get Medical-request List

Retrieve a list of Medical-request.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "has_diagnosis": false,
            "status": {
                "key": "open",
                "value": "Open"
            },
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": false
            },
            "actions": [],
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "note": "Test Medical Request",
            "requested_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:57:55.000000Z",
            "media": []
        },
        {
            "id": 2,
            "has_diagnosis": false,
            "status": {
                "key": "open",
                "value": "Open"
            },
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": false
            },
            "actions": [],
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "note": "Test Medical Request",
            "requested_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "is_active": true,
            "created_at": "2026-07-29T12:57:55.000000Z",
            "media": []
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/medical/requests/3

Get Medical-request Details

Retrieve Medical-request details.

Retrieves detailed information about a specific Medical-request using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "has_diagnosis": false,
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": true
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Falcon medical assessment requested.",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:58:07.000000Z",
        "media": [],
        "cancelled_by": {
            "id": 1,
            "name": "Admin"
        },
        "cancelled_at": "2026-07-29T12:58:08.000000Z",
        "cancel_reason": "Assessment is no longer required."
    }
}
PATCH /api/v1/medical/requests/1/cancel

Cancel Medical Request

Cancel an open medical request.

Cancels an open medical request that has no medical actions.

Headers

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

Request Body

Field/Name Type Examples
cancel_reason string Created in error.

Request Validations Or Notes

Field/Name Examples
cancel_reason optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Request cancelled successfully.",
    "data": {
        "id": 1,
        "has_diagnosis": false,
        "status": {
            "key": "cancelled",
            "value": "Cancelled"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": true
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Test Medical Request",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:57:55.000000Z",
        "media": [],
        "cancelled_by": {
            "id": 1,
            "name": "Admin"
        },
        "cancelled_at": "2026-07-29T12:58:33.000000Z",
        "cancel_reason": "Created in error."
    }
}
PATCH /api/v1/medical/requests/2/close

Close Medical Request

Close an open medical request.

Closes an open medical request.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Request closed successfully.",
    "data": {
        "id": 2,
        "has_diagnosis": false,
        "status": {
            "key": "closed",
            "value": "Closed"
        },
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "FAL-10000",
            "image": null,
            "age": "2.00",
            "gender": {
                "id": 11,
                "name": "falc-9835597"
            },
            "weight": "1.60",
            "has_diagnosis": true
        },
        "actions": [],
        "severity": {
            "id": 25,
            "name": "medi-9835366"
        },
        "note": "Test Medical Request",
        "requested_by": {
            "id": 1,
            "name": "Admin"
        },
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "is_active": true,
        "created_at": "2026-07-29T12:57:55.000000Z",
        "media": [],
        "closed_by": {
            "id": 1,
            "name": "Admin"
        },
        "closed_at": "2026-07-29T12:58:33.000000Z"
    }
}
GET /api/v1/medical/requests/trash

Get Deleted Medical-request

List deleted Medical-request.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 0,
        "last_page": 1
    }
}
POST /api/v1/medical/actions

Create Medical-action

Create a new Medical-action.

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

Headers

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

Request Body

Field/Name Type Examples
targets array [ { "target_id": 1 } ]
diagnosis array { "diagnosis": "Test Diagnosis", "category_id": 21, "severity_id": 25, "note": "Test Diagnosis Note" }
procedures array { "items": [ { "procedure_id": 1, "date": "2026-07-29", "time": "10:00" } ] }
medication_plan array { "start_date": "2026-07-29", "end_date": "2026-08-01", "note": "Test Medication Plan", "execution_mode": "auto_confirm", "items": [ { "medication_id": 1, "dose": 1, "doses_per_day": 2, "repeat_every_days": 1, "times": [ "15:57", "17:57" ] } ] }

Request Validations Or Notes

Field/Name Examples
note optional, string
request_id bail, optional, integer, Exists
targets bail, required, array, min 1, ConditionalRules, TreatmentDiagnosisRequiredRule
targets[].target_id bail, required, integer, distinct, Exists
health_status_id bail, optional, integer, ParentTypeRule, EggHealthStatusTargetsRule
diagnoses bail, required_without_all, array, min 1
diagnoses[].diagnosis required, string
diagnoses[].category_id required, exists settings,id,type,medical-category
diagnoses[].category_type optional, string
diagnoses[].severity_id required, exists settings,id,type,medical-severity
diagnoses[].severity_type optional, string
diagnoses[].note optional, string
procedures sometimes, bail, array, min 1, DistinctProcedureScheduleRule
procedures[].procedure_id required, exists medical_procedures,id
procedures[].procedure_date required, date, after_or_equal
procedures[].procedure_time required, date_format
procedures[].note optional, string
medication_plan sometimes, array
medication_plan.start_date RequiredIf, ProhibitedIf, optional, date, after_or_equal
medication_plan.end_date ProhibitedIf, optional, date, after_or_equal, MedicationPlanDurationRule
medication_plan.note optional, string
medication_plan.execution_mode required_with, enum
medication_plan.items required_with, array, min 1
medication_plan.items[].medication_id required, distinct, exists medical_medications,id
medication_plan.items[].dose required, numeric, min 0.001
medication_plan.items[].doses_per_day RequiredIf, ProhibitedIf, optional, integer, min 1
medication_plan.items[].repeat_every_days RequiredIf, ProhibitedIf, optional, integer, min 1
medication_plan.items[].times RequiredIf, ProhibitedIf, optional, array, MedicationPlanTimesRule
medication_plan.items[].times.* date_format:H:i
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "batch_code": "BAT-260729-E7303",
        "actions": [
            {
                "id": 1,
                "request_id": null,
                "animal_id": 1,
                "animal": {
                    "id": 1,
                    "name": "Falcon Test",
                    "code": "#FAL-10000",
                    "father": null,
                    "mother": null,
                    "species": {
                        "id": 10,
                        "name": "anim-9835102"
                    },
                    "status": "alive",
                    "is_active": true
                },
                "batch_code": "BAT-260729-E7303",
                "action_code": "ACT-260729-E738D",
                "note": null,
                "action_by": 1,
                "is_active": true,
                "created_at": "2026-07-29T12:57:55.000000Z",
                "components": [
                    "diagnosis",
                    "medication",
                    "procedure"
                ],
                "diagnoses": [
                    {
                        "id": 1,
                        "diagnosis": "Test Diagnosis",
                        "note": "Test Diagnosis Note",
                        "category": {
                            "id": 21,
                            "name": "medi-9835395"
                        },
                        "severity": {
                            "id": 25,
                            "name": "medi-9835366"
                        }
                    }
                ],
                "procedures": [
                    {
                        "id": 1,
                        "procedure": {
                            "id": 1,
                            "name": "Complete Blood Count (CBC) Analysis"
                        },
                        "date": "2026-07-28T21:00:00.000000Z",
                        "time": "10:00:00",
                        "status": {
                            "key": "pending",
                            "value": "Pending"
                        },
                        "note": null
                    }
                ],
                "medications": [
                    {
                        "id": 1,
                        "action_id": 1,
                        "plan_id": 1,
                        "medication_id": 1,
                        "dose": 1,
                        "doses_per_day": 2,
                        "repeat_every_days": 1,
                        "times": [
                            "15:57",
                            "17:57"
                        ],
                        "execution_mode": "auto_confirm",
                        "is_active": true,
                        "medication": {
                            "id": 1,
                            "name": "QA Test Medication Item",
                            "unit": {
                                "id": 1,
                                "name": "Test Unit"
                            },
                            "form": {
                                "id": 24,
                                "name": "medi-9835654"
                            },
                            "categories": [
                                {
                                    "id": 23,
                                    "name": "medi-9835976"
                                }
                            ],
                            "note": "QA test medication inventory item",
                            "cost": 15.25
                        }
                    }
                ],
                "medication_plan": {
                    "id": 1,
                    "status": {
                        "key": "active",
                        "value": "Active"
                    },
                    "start_date": "2026-07-28T21:00:00.000000Z",
                    "end_date": "2026-07-31T21:00:00.000000Z",
                    "note": "Test Medication Plan",
                    "medications": [
                        {
                            "id": 1,
                            "action_id": 1,
                            "plan_id": 1,
                            "medication_id": 1,
                            "dose": 1,
                            "doses_per_day": 2,
                            "repeat_every_days": 1,
                            "times": [
                                "15:57",
                                "17:57"
                            ],
                            "execution_mode": "auto_confirm",
                            "is_active": true,
                            "medication": {
                                "id": 1,
                                "name": "QA Test Medication Item",
                                "unit": {
                                    "id": 1,
                                    "name": "Test Unit"
                                },
                                "form": {
                                    "id": 24,
                                    "name": "medi-9835654"
                                },
                                "categories": [
                                    {
                                        "id": 23,
                                        "name": "medi-9835976"
                                    }
                                ],
                                "note": "QA test medication inventory item",
                                "cost": 15.25
                            }
                        }
                    ]
                }
            }
        ]
    }
}
GET /api/v1/medical/actions

Get Medical-action List

Retrieve a list of Medical-action.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "request_id": null,
            "animal_id": 1,
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "#FAL-10000",
                "father": null,
                "mother": null,
                "species": {
                    "id": 10,
                    "name": "anim-9835102"
                },
                "status": "alive",
                "is_active": true
            },
            "batch_code": "BAT-260729-E7303",
            "action_code": "ACT-260729-E738D",
            "note": null,
            "action_by": 1,
            "is_active": true,
            "created_at": "2026-07-29T12:57:55.000000Z",
            "components": [
                "diagnosis",
                "medication",
                "procedure"
            ],
            "diagnoses": [
                {
                    "id": 1,
                    "diagnosis": "Test Diagnosis",
                    "note": "Test Diagnosis Note",
                    "category": {
                        "id": 21,
                        "name": "medi-9835395"
                    },
                    "severity": {
                        "id": 25,
                        "name": "medi-9835366"
                    }
                }
            ],
            "procedures": [
                {
                    "id": 1,
                    "procedure": {
                        "id": 1,
                        "name": "Complete Blood Count (CBC) Analysis"
                    },
                    "date": "2026-07-28T21:00:00.000000Z",
                    "time": "10:00:00",
                    "status": {
                        "key": "pending",
                        "value": "Pending"
                    },
                    "note": null
                }
            ],
            "medications": [
                {
                    "id": 1,
                    "action_id": 1,
                    "plan_id": 1,
                    "medication_id": 1,
                    "dose": 1,
                    "doses_per_day": 2,
                    "repeat_every_days": 1,
                    "times": [
                        "15:57",
                        "17:57"
                    ],
                    "execution_mode": "auto_confirm",
                    "is_active": true,
                    "medication": {
                        "id": 1,
                        "name": "QA Test Medication Item",
                        "unit": {
                            "id": 1,
                            "name": "Test Unit"
                        },
                        "form": {
                            "id": 24,
                            "name": "medi-9835654"
                        },
                        "categories": [
                            {
                                "id": 23,
                                "name": "medi-9835976"
                            }
                        ],
                        "note": "QA test medication inventory item",
                        "cost": 15.25
                    }
                }
            ],
            "medication_plan": {
                "id": 1,
                "status": {
                    "key": "active",
                    "value": "Active"
                },
                "start_date": "2026-07-28T21:00:00.000000Z",
                "end_date": "2026-07-31T21:00:00.000000Z",
                "note": "Test Medication Plan",
                "medications": [
                    {
                        "id": 1,
                        "action_id": 1,
                        "plan_id": 1,
                        "medication_id": 1,
                        "dose": 1,
                        "doses_per_day": 2,
                        "repeat_every_days": 1,
                        "times": [
                            "15:57",
                            "17:57"
                        ],
                        "execution_mode": "auto_confirm",
                        "is_active": true,
                        "medication": {
                            "id": 1,
                            "name": "QA Test Medication Item",
                            "unit": {
                                "id": 1,
                                "name": "Test Unit"
                            },
                            "form": {
                                "id": 24,
                                "name": "medi-9835654"
                            },
                            "categories": [
                                {
                                    "id": 23,
                                    "name": "medi-9835976"
                                }
                            ],
                            "note": "QA test medication inventory item",
                            "cost": 15.25
                        }
                    }
                ]
            }
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/medical/actions/1

Get Medical-action Details

Retrieve Medical-action details.

Retrieves detailed information about a specific Medical-action using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "request_id": null,
        "animal_id": 1,
        "animal": {
            "id": 1,
            "name": "Falcon Test",
            "code": "#FAL-10000",
            "father": null,
            "mother": null,
            "species": {
                "id": 10,
                "name": "anim-9835102"
            },
            "status": "alive",
            "is_active": true
        },
        "batch_code": "BAT-260729-E7303",
        "action_code": "ACT-260729-E738D",
        "note": null,
        "action_by": 1,
        "is_active": true,
        "created_at": "2026-07-29T12:57:55.000000Z",
        "components": [
            "diagnosis",
            "medication",
            "procedure"
        ],
        "diagnoses": [
            {
                "id": 1,
                "diagnosis": "Test Diagnosis",
                "note": "Test Diagnosis Note",
                "category": {
                    "id": 21,
                    "name": "medi-9835395"
                },
                "severity": {
                    "id": 25,
                    "name": "medi-9835366"
                }
            }
        ],
        "procedures": [
            {
                "id": 1,
                "procedure": {
                    "id": 1,
                    "name": "Comprehensive Metabolic Panel (CMP)",
                    "name_translate": {
                        "ar": "لوحة التمثيل الغذائي الشاملة",
                        "en": "Comprehensive Metabolic Panel (CMP)"
                    }
                },
                "date": "2026-07-28T21:00:00.000000Z",
                "time": "10:00:00",
                "status": {
                    "key": "skipped",
                    "value": "Skipped"
                },
                "note": null
            }
        ],
        "medications": [
            {
                "id": 1,
                "action_id": 1,
                "plan_id": 1,
                "medication_id": 1,
                "dose": 1,
                "doses_per_day": 2,
                "repeat_every_days": 1,
                "times": [
                    "15:57",
                    "17:57"
                ],
                "execution_mode": "auto_confirm",
                "is_active": false,
                "medication": null
            }
        ],
        "medication_plan": {
            "id": 1,
            "status": {
                "key": "cancelled",
                "value": "Cancelled"
            },
            "start_date": "2026-07-28T21:00:00.000000Z",
            "end_date": "2026-07-31T21:00:00.000000Z",
            "note": "Test Medication Plan",
            "medications": [
                {
                    "id": 1,
                    "action_id": 1,
                    "plan_id": 1,
                    "medication_id": 1,
                    "dose": 1,
                    "doses_per_day": 2,
                    "repeat_every_days": 1,
                    "times": [
                        "15:57",
                        "17:57"
                    ],
                    "execution_mode": "auto_confirm",
                    "is_active": false,
                    "medication": null
                }
            ]
        }
    }
}
GET /api/v1/medical/actions/logs

Fetch Medical Action Logs

Fetch filtered medical action logs.

Returns a flat medical log where every diagnosis, procedure, and medication item is a separate record with its animal summary.

Headers

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

Query Parameters

Field/Name Type Examples
action_type string diagnosis
date_from string 2026-07-01
date_to string 2026-07-29
per_page integer 15

Request Validations Or Notes

Field/Name Examples
action_type optional, enum
animal_id optional, integer, Exists
animal_type optional, string, enum
status optional, enum
date optional, array, size
date.0 required_with, date_format
date.1 required_with, date_format, after_or_equal
date_from optional, date_format
date_to optional, date_format, ConditionalRules
page optional, integer, min 1
per_page optional, integer, min 1, max 100
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "action_id": 1,
            "request_id": null,
            "action_code": "ACT-260729-E738D",
            "batch_code": "BAT-260729-E7303",
            "type": "diagnosis",
            "name": "Test Diagnosis",
            "date_time": "2026-07-29 15:57:55",
            "scheduled_at": null,
            "animal": {
                "id": 1,
                "name": "Falcon Test",
                "code": "FAL-10000",
                "image": null,
                "age": "2.00",
                "gender": {
                    "id": 11,
                    "name": "falc-9835597"
                },
                "weight": "1.60",
                "has_diagnosis": true
            },
            "severity": {
                "id": 25,
                "name": "medi-9835366"
            },
            "status": {
                "key": "completed",
                "value": "Completed"
            },
            "cost": 0,
            "snapshot": {
                "diagnosis": "Test Diagnosis",
                "category_type": "Modules\\Settings\\Models\\Settings",
                "category_id": 21,
                "severity_type": "Modules\\Settings\\Models\\Settings",
                "severity_id": 25
            },
            "note": "Test Diagnosis Note",
            "failure_reason": null,
            "cancel_reason": null,
            "cancelled_at": null,
            "timeline_id": null,
            "transaction_id": null,
            "medical_action_diagnosis_id": 1,
            "diagnosis": "Test Diagnosis"
        }
    ],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 15,
        "total": 1
    }
}
GET /api/v1/notifications

Get Notification List

Retrieve a list of Notification.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 20,
            "module": "medical",
            "action": "alert",
            "type": "warning",
            "alert_type": "medical_alert_warning",
            "title": "Health Alert: Test Falcon",
            "body": "A health issue was detected for Test Falcon. Diagnosis: Routine Checkup Required",
            "entity_type": null,
            "entity_id": null,
            "priority": "medium",
            "due_date": "2026-07-13",
            "action_url": "\/api\/v1\/notifications",
            "action_label": "View Details",
            "trigger_source": "system",
            "data": {
                "animal_name": "Test Falcon 101",
                "diagnosis": "Routine Checkup Required",
                "room_name": "Room A",
                "capacity": 10,
                "destination": "Clinic",
                "reason": "Scheduled"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:34"
        },
        {
            "id": 18,
            "module": "inventory",
            "action": "create",
            "type": "warning",
            "alert_type": "inventory_create_warning_stock_scrapped",
            "title": "Inventory Stock Scrapped",
            "body": "1 units were scrapped. Total cost: 25.5",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItemScrap",
            "entity_id": 1,
            "priority": "high",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/scraps\/1",
            "action_label": "notifications.inventory.view_scrap",
            "trigger_source": "manual",
            "data": {
                "scrap_id": 1,
                "inventory_item_id": 1,
                "inventory_item_batch_id": 1,
                "quantity": 1,
                "reason": "QA Test Scrap Reason",
                "source": "manual",
                "unit_cost": 25.5,
                "total_cost": 25.5,
                "expiry_date": null,
                "current_stock": 14,
                "event_key": "stock_scrapped"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:31"
        },
        {
            "id": 16,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0004 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 4,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/4",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 4,
                "purchase_no": "PO-202607-0004",
                "total_amount": 255,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 14,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 3,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/equipment\/3",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 3,
                "item_type": "equipment",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 12,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0003 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 3,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/3",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 3,
                "purchase_no": "PO-202607-0003",
                "total_amount": 76.25,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 10,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 2,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/medication\/2",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 2,
                "item_type": "medication",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 8,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0002 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 2,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/2",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 2,
                "purchase_no": "PO-202607-0002",
                "total_amount": 76.25,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 6,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 1,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/feeding\/1",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 1,
                "item_type": "feeding",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 4,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0001 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 1,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/1",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 1,
                "purchase_no": "PO-202607-0001",
                "total_amount": 127.5,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 2,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_supplier_created",
            "title": "Inventory Supplier Created",
            "body": "Supplier QA Test Supplier has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventorySupplier",
            "entity_id": 1,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/suppliers\/1",
            "action_label": "notifications.inventory.view_supplier",
            "trigger_source": "manual",
            "data": {
                "supplier_id": 1,
                "supplier_name": "QA Test Supplier",
                "event_key": "supplier_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:28"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 11,
        "last_page": 2
    }
}
GET /api/v1/notifications/20

Get Notification Details

Retrieve Notification details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 20,
        "module": "medical",
        "action": "alert",
        "type": "warning",
        "alert_type": "medical_alert_warning",
        "title": "Health Alert: Test Falcon",
        "body": "A health issue was detected for Test Falcon. Diagnosis: Routine Checkup Required",
        "entity_type": null,
        "entity_id": null,
        "priority": "medium",
        "due_date": "2026-07-13",
        "action_url": "\/api\/v1\/notifications",
        "action_label": "View Details",
        "trigger_source": "system",
        "data": {
            "animal_name": "Test Falcon 101",
            "diagnosis": "Routine Checkup Required",
            "room_name": "Room A",
            "capacity": 10,
            "destination": "Clinic",
            "reason": "Scheduled"
        },
        "read_at": null,
        "status": "unread",
        "created_at": "2026-07-29 15:57:34"
    }
}
PATCH /api/v1/notifications/20/read

Mark As Read

Mark Read

Mark a specific notification as read.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Notification marked as read.",
    "data": {
        "id": 20,
        "module": "medical",
        "action": "alert",
        "type": "warning",
        "alert_type": "medical_alert_warning",
        "title": "Health Alert: Test Falcon",
        "body": "A health issue was detected for Test Falcon. Diagnosis: Routine Checkup Required",
        "entity_type": null,
        "entity_id": null,
        "priority": "medium",
        "due_date": "2026-07-13",
        "action_url": "\/api\/v1\/notifications",
        "action_label": "View Details",
        "trigger_source": "system",
        "data": {
            "animal_name": "Test Falcon 101",
            "diagnosis": "Routine Checkup Required",
            "room_name": "Room A",
            "capacity": 10,
            "destination": "Clinic",
            "reason": "Scheduled"
        },
        "read_at": "2026-07-29 15:58:24",
        "status": "read",
        "created_at": "2026-07-29 15:57:34"
    }
}
DELETE /api/v1/notifications/20

Delete Notification

Delete a Notification.

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

Headers

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

Mark All As Read

Mark Read

Mark all notifications as read.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "All notifications marked as read.",
    "data": []
}
GET /api/v1/notifications/inventory-alerts

Inventory Alerts

Inventory Alerts

List only the inventory alerts sent to the authenticated user.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Inventory alerts retrieved successfully.",
    "data": [
        {
            "id": 18,
            "module": "inventory",
            "action": "create",
            "type": "warning",
            "alert_type": "inventory_create_warning_stock_scrapped",
            "title": "Inventory Stock Scrapped",
            "body": "1 units were scrapped. Total cost: 25.5",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItemScrap",
            "entity_id": 1,
            "priority": "high",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/scraps\/1",
            "action_label": "notifications.inventory.view_scrap",
            "trigger_source": "manual",
            "data": {
                "scrap_id": 1,
                "inventory_item_id": 1,
                "inventory_item_batch_id": 1,
                "quantity": 1,
                "reason": "QA Test Scrap Reason",
                "source": "manual",
                "unit_cost": 25.5,
                "total_cost": 25.5,
                "expiry_date": null,
                "current_stock": 14,
                "event_key": "stock_scrapped"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:31"
        },
        {
            "id": 16,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0004 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 4,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/4",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 4,
                "purchase_no": "PO-202607-0004",
                "total_amount": 255,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 14,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 3,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/equipment\/3",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 3,
                "item_type": "equipment",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 12,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0003 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 3,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/3",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 3,
                "purchase_no": "PO-202607-0003",
                "total_amount": 76.25,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 10,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 2,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/medication\/2",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 2,
                "item_type": "medication",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 8,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0002 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 2,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/2",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 2,
                "purchase_no": "PO-202607-0002",
                "total_amount": 76.25,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 6,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_inventory_item_created",
            "title": "Inventory Item Created",
            "body": ":item_name has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryItem",
            "entity_id": 1,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/items\/feeding\/1",
            "action_label": "notifications.inventory.view_item",
            "trigger_source": "manual",
            "data": {
                "inventory_item_id": 1,
                "item_type": "feeding",
                "item_id": 1,
                "quantity": 0,
                "reorder_level": 5,
                "event_key": "inventory_item_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 4,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_purchase_created",
            "title": "Inventory Purchase Created",
            "body": "Purchase PO-202607-0001 has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventoryPurchase",
            "entity_id": 1,
            "priority": "medium",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/purchases\/1",
            "action_label": "notifications.inventory.view_purchase",
            "trigger_source": "manual",
            "data": {
                "purchase_id": 1,
                "purchase_no": "PO-202607-0001",
                "total_amount": 127.5,
                "event_key": "purchase_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 2,
            "module": "inventory",
            "action": "create",
            "type": "information",
            "alert_type": "inventory_create_information_supplier_created",
            "title": "Inventory Supplier Created",
            "body": "Supplier QA Test Supplier has been created.",
            "entity_type": "Modules\\Inventory\\Models\\InventorySupplier",
            "entity_id": 1,
            "priority": "low",
            "due_date": null,
            "action_url": "\/api\/v1\/inventory\/suppliers\/1",
            "action_label": "notifications.inventory.view_supplier",
            "trigger_source": "manual",
            "data": {
                "supplier_id": 1,
                "supplier_name": "QA Test Supplier",
                "event_key": "supplier_created"
            },
            "read_at": null,
            "status": "unread",
            "created_at": "2026-07-29 15:57:28"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 9,
        "last_page": 1
    }
}
POST /api/v1/settings/training-category

Create training category

Create training category

Store a new training category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string trai-9835228
name_ar string أختبار للاعدادات9835228

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 26,
        "name": "trai-9835228"
    }
}
GET /api/v1/settings/training-category

Get training category List

Get training category List

This API retrieves a paginated list of training category.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 26,
            "name": "trai-9835228",
            "name_translate": {
                "ar": "أختبار للاعدادات9835228",
                "en": "trai-9835228"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/training-category/26

Show Single training category

Show Single training category

Get Single training category

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 26,
        "name": "trai-9835228",
        "name_translate": {
            "ar": "أختبار للاعدادات9835228",
            "en": "trai-9835228"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/training-category/26

Update training category

Update training category

Update training category entry

Headers

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

Request Body

Field/Name Type Examples
name_en string trai-9921671
name_ar string أختبار للاعدادات9921671
id integer 26

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,training-category
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 26,
        "name": "trai-9921671"
    }
}
PATCH /api/v1/settings/training-category/26

Active Or InActive training category

Update training category

Update training category entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 26,
        "name": "trai-9921671"
    }
}
DELETE /api/v1/settings/training-category/26

Delete training category

Delete training category

Delete training category entry

Headers

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

Create training rate

Create training rate

Store a new training rate entry

Headers

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

Request Body

Field/Name Type Examples
name_en string trai-9835323
name_ar string أختبار للاعدادات9835323

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 27,
        "name": "trai-9835323"
    }
}
GET /api/v1/settings/training-rate

Get training rate List

Get training rate List

This API retrieves a paginated list of training rate.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 27,
            "name": "trai-9835323",
            "name_translate": {
                "ar": "أختبار للاعدادات9835323",
                "en": "trai-9835323"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/training-rate/27

Show Single training rate

Show Single training rate

Get Single training rate

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 27,
        "name": "trai-9835323",
        "name_translate": {
            "ar": "أختبار للاعدادات9835323",
            "en": "trai-9835323"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/training-rate/27

Update training rate

Update training rate

Update training rate entry

Headers

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

Request Body

Field/Name Type Examples
name_en string trai-9921845
name_ar string أختبار للاعدادات9921845
id integer 27

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,training-rate
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 27,
        "name": "trai-9921845"
    }
}
PATCH /api/v1/settings/training-rate/27

Active Or InActive training rate

Update training rate

Update training rate entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 27,
        "name": "trai-9921845"
    }
}
DELETE /api/v1/settings/training-rate/27

Delete training rate

Delete training rate

Delete training rate entry

Headers

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

Create Training

Create a new Training.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Basic Falcon Handling", "ar": "التعامل الأساسي مع الصقر" }
supports array [ { "support_id": 10 } ]
categories array [ { "category_id": 26 } ]
ages array [ { "age_id": 12 } ]
trainers array [ { "trainer_id": 2 } ]
cost_per_session double 75.5
duration integer 60
notes string Introductory session for new falcons.
is_active boolean 1

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255
name.en required, string, max 255
supports required, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
categories required, array, min 1
categories[].category_id required, integer, exists settings,id,type,training-category
ages required, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
trainers required, array, min 1
trainers[].trainer_id required, integer, exists admins,id
cost_per_session optional, numeric, min 0
duration optional, integer, min 1
notes optional, string, max 255
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "Basic Falcon Handling",
        "cost_per_session": 75.5,
        "duration": 60,
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "categories": [
            {
                "id": 26,
                "name": "trai-9835228"
            }
        ],
        "trainers": [
            {
                "id": 2,
                "name": "Admin 2"
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:56.000000Z"
    }
}
GET /api/v1/trainings

Get Training List

Retrieve a list of Training.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "Basic Falcon Handling",
            "cost_per_session": "75.50",
            "duration": 60,
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "categories": [
                {
                    "id": 26,
                    "name": "trai-9835228"
                }
            ],
            "trainers": [
                {
                    "id": 2,
                    "name": "Admin 2"
                }
            ],
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "note": null,
            "is_active": true,
            "created_at": "2026-07-29T12:57:56.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/trainings/1

Get Training Details

Retrieve Training details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "Basic Falcon Handling",
        "cost_per_session": "75.50",
        "duration": 60,
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "categories": [
            {
                "id": 26,
                "name": "trai-9835228"
            }
        ],
        "trainers": [
            {
                "id": 2,
                "name": null
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:56.000000Z",
        "name_translate": {
            "ar": "التعامل الأساسي مع الصقر",
            "en": "Basic Falcon Handling"
        }
    }
}
PUT /api/v1/trainings/1

Update Training

Update an existing Training.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Basic Falcon Handling (updated)", "ar": "التعامل الأساسي مع الصقر (محدث)" }
supports array [ { "support_id": 10 } ]
categories array [ { "category_id": 26 } ]
ages array [ { "age_id": 12 } ]
trainers array [ { "trainer_id": 2 } ]
cost_per_session integer 85
notes string Updated notes for documentation.
is_active boolean 1
id integer 1

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255
name.en required, string, max 255
supports optional, array, min 1
supports[].support_id required, integer, exists settings,id,type,animals-species
categories optional, array, min 1
categories[].category_id required, integer, exists settings,id,type,training-category
ages optional, array, min 1
ages[].age_id required, integer, exists settings,id,type,falcon-age
trainers optional, array, min 1
trainers[].trainer_id required, integer, exists admins,id
cost_per_session required, numeric, min 0
duration optional, integer, min 1
notes optional, string, max 255
is_active required, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Basic Falcon Handling (updated)",
        "cost_per_session": 85,
        "duration": 60,
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "categories": [
            {
                "id": 26,
                "name": "trai-9835228"
            }
        ],
        "trainers": [
            {
                "id": 2,
                "name": null
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:56.000000Z"
    }
}
PATCH /api/v1/trainings/1/toggle-active

Toggle Training Status

Switch the Training status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Basic Falcon Handling (updated)",
        "cost_per_session": "85.00",
        "duration": 60,
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "categories": [
            {
                "id": 26,
                "name": "trai-9835228"
            }
        ],
        "trainers": [
            {
                "id": 2,
                "name": null
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": false,
        "created_at": "2026-07-29T12:57:56.000000Z"
    }
}
DELETE /api/v1/trainings/1

Delete Training

Delete a Training.

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

Headers

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

Create Training-plan

Create a new Training-plan.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Weekly conditioning plan", "ar": "خطة تكييف أسبوعية" }
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
notes string Plan used for API documentation samples.
is_active boolean 1
items array [ { "training_id": 1, "trainer_id": 2 } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255
name.en required, string, max 255
supports required, array
supports[].support_id required, exists settings,id,type,animals-species
ages required, array
ages[].age_id required, exists settings,id,type,falcon-age
notes optional, string, max 255
is_active optional, true/false
items required, array
items[].training_id required, exists training,id
items[].trainer_id required, exists admins,id
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "Weekly conditioning plan",
        "trainers": [
            {
                "id": 2,
                "name": "Admin 2"
            }
        ],
        "total_cost": 75.5,
        "items": [
            {
                "id": 1,
                "training": {
                    "id": 1,
                    "name": "Basic Falcon Handling"
                },
                "trainer": {
                    "id": 2,
                    "name": "Admin 2",
                    "email": "admin2@gmail.com",
                    "phone": "01112226666",
                    "created_at": "2026-07-29",
                    "is_active": true
                },
                "is_active": true,
                "created_at": "2026-07-29T12:57:57.000000Z"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:57.000000Z"
    }
}
GET /api/v1/training-plans

Get Training-plan List

Retrieve a list of Training-plan.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "Weekly conditioning plan",
            "trainers": [
                {
                    "id": 2,
                    "name": "Admin 2"
                }
            ],
            "total_cost": 75.5,
            "items": [
                {
                    "id": 1,
                    "training": {
                        "id": 1,
                        "name": "Basic Falcon Handling"
                    },
                    "trainer": {
                        "id": 2,
                        "name": "Admin 2",
                        "email": "admin2@gmail.com",
                        "phone": "01112226666",
                        "created_at": "2026-07-29",
                        "is_active": true
                    },
                    "is_active": true,
                    "created_at": "2026-07-29T12:57:57.000000Z"
                }
            ],
            "ages": [
                {
                    "id": 12,
                    "name": "falc-9835121",
                    "data": {
                        "min_age": 90,
                        "max_age": 95
                    }
                }
            ],
            "supports": [
                {
                    "id": 10,
                    "name": "anim-9835102"
                }
            ],
            "note": null,
            "is_active": true,
            "created_at": "2026-07-29T12:57:57.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/training-plans/1

Get Training-plan Details

Retrieve Training-plan details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "Weekly conditioning plan",
        "trainers": [],
        "total_cost": 0,
        "items": [
            {
                "id": 1,
                "training": null,
                "trainer": null,
                "is_active": true,
                "created_at": "2026-07-29T12:57:57.000000Z"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:57.000000Z",
        "name_translate": {
            "ar": "خطة تكييف أسبوعية",
            "en": "Weekly conditioning plan"
        }
    }
}
PUT /api/v1/training-plans/1

Update Training-plan

Update an existing Training-plan.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "Weekly conditioning plan (updated)", "ar": "خطة تكييف أسبوعية (محدثة)" }
supports array [ { "support_id": 10 } ]
ages array [ { "age_id": 12 } ]
notes string Updated plan notes.
is_active boolean 1
items array [ { "training_id": 1, "trainer_id": 2 } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
name sometimes, array
name.ar sometimes, string, max 255
name.en sometimes, string, max 255
supports optional, array
supports[] optional, exists settings,id,type,animals-species
ages optional, array
ages[] optional, exists settings,id,type,falcon-age
notes optional, string, max 255
is_active sometimes, true/false
items optional, array
items[].training_id required_with, exists training,id
items[].trainer_id required_with, exists admins,id
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Weekly conditioning plan (updated)",
        "trainers": [],
        "total_cost": 0,
        "items": [
            {
                "id": 1,
                "training": null,
                "trainer": null,
                "is_active": true,
                "created_at": "2026-07-29T12:57:57.000000Z"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": true,
        "created_at": "2026-07-29T12:57:57.000000Z"
    }
}
PATCH /api/v1/training-plans/1/toggle-active

Toggle Training-plan Status

Switch the Training-plan status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "Weekly conditioning plan (updated)",
        "trainers": [],
        "total_cost": 0,
        "items": [
            {
                "id": 1,
                "training": null,
                "trainer": null,
                "is_active": true,
                "created_at": "2026-07-29T12:57:57.000000Z"
            }
        ],
        "ages": [
            {
                "id": 12,
                "name": "falc-9835121",
                "data": {
                    "min_age": 90,
                    "max_age": 95
                }
            }
        ],
        "supports": [
            {
                "id": 10,
                "name": "anim-9835102"
            }
        ],
        "note": null,
        "is_active": false,
        "created_at": "2026-07-29T12:57:57.000000Z"
    }
}
DELETE /api/v1/training-plans/1

Delete Training-plan

Delete a Training-plan.

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

Headers

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

Create locations country

Create locations country

Store a new locations country entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9835963
name_ar string أختبار للاعدادات9835963

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 28,
        "name": "loca-9835963"
    }
}
GET /api/v1/settings/locations-country

Get locations country List

Get locations country List

This API retrieves a paginated list of locations country.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "Test Country",
            "name_translate": {
                "ar": "بلد اختبار",
                "en": "Test Country"
            },
            "is_active": true
        },
        {
            "id": 28,
            "name": "loca-9835963",
            "name_translate": {
                "ar": "أختبار للاعدادات9835963",
                "en": "loca-9835963"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/settings/locations-country/35

Show Single locations country

Show Single locations country

Get Single locations country

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 35,
        "name": "QA Country",
        "name_translate": {
            "ar": "QA Country",
            "en": "QA Country"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/locations-country/35

Update locations country

Update locations country

Update locations country entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9921729
name_ar string أختبار للاعدادات9921729
id integer 35

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,locations-country
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 35,
        "name": "loca-9921729"
    }
}
PATCH /api/v1/settings/locations-country/35

Active Or InActive locations country

Update locations country

Update locations country entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 35,
        "name": "loca-9921729"
    }
}
DELETE /api/v1/settings/locations-country/35

Delete locations country

Delete locations country

Delete locations country entry

Headers

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

Create locations city

Create locations city

Store a new locations city entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9835879
name_ar string أختبار للاعدادات9835879
parent_id integer 2

Request Validations Or Notes

Field/Name Examples
parent_id required, integer, ParentTypeRule
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 30,
        "name": "loca-9835879"
    }
}
GET /api/v1/settings/locations-city

Get locations city List

Get locations city List

This API retrieves a paginated list of locations city.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 30,
            "name": "loca-9835879",
            "name_translate": {
                "ar": "أختبار للاعدادات9835879",
                "en": "loca-9835879"
            },
            "is_active": true,
            "parent": {
                "id": 2,
                "name": "Test Country"
            }
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/locations-city/36

Show Single locations city

Show Single locations city

Get Single locations city

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 36,
        "name": "QA City",
        "name_translate": {
            "ar": "QA City",
            "en": "QA City"
        },
        "is_active": true,
        "parent": {
            "id": 35,
            "name": "loca-9921729"
        }
    }
}
PUT /api/v1/settings/locations-city/36

Update locations city

Update locations city

Update locations city entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9921910
name_ar string أختبار للاعدادات9921910
id integer 36

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,locations-city
parent_id optional, integer, ParentTypeRule
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 36,
        "name": "loca-9921910"
    }
}
PATCH /api/v1/settings/locations-city/36

Active Or InActive locations city

Update locations city

Update locations city entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 36,
        "name": "loca-9921910"
    }
}
DELETE /api/v1/settings/locations-city/36

Delete locations city

Delete locations city

Delete locations city entry

Headers

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

Create locations type

Create locations type

Store a new locations type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9835336
name_ar string أختبار للاعدادات9835336

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 29,
        "name": "loca-9835336"
    }
}
GET /api/v1/settings/locations-type

Get locations type List

Get locations type List

This API retrieves a paginated list of locations type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 29,
            "name": "loca-9835336",
            "name_translate": {
                "ar": "أختبار للاعدادات9835336",
                "en": "loca-9835336"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/locations-type/34

Show Single locations type

Show Single locations type

Get Single locations type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 34,
        "name": "QA Location Type",
        "name_translate": {
            "ar": "QA Location Type",
            "en": "QA Location Type"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/locations-type/34

Update locations type

Update locations type

Update locations type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9921450
name_ar string أختبار للاعدادات9921450
id integer 34

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,locations-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 34,
        "name": "loca-9921450"
    }
}
PATCH /api/v1/settings/locations-type/34

Active Or InActive locations type

Update locations type

Update locations type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 34,
        "name": "loca-9921450"
    }
}
DELETE /api/v1/settings/locations-type/34

Delete locations type

Delete locations type

Delete locations type entry

Headers

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

Create locations subunit type

Create locations subunit type

Store a new locations subunit type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9835965
name_ar string أختبار للاعدادات9835965

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 31,
        "name": "loca-9835965"
    }
}
GET /api/v1/settings/locations-subunit-type

Get locations subunit type List

Get locations subunit type List

This API retrieves a paginated list of locations subunit type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "name": "documentation subunit type",
            "name_translate": {
                "ar": "نوع وحدة فرعية للتوثيق",
                "en": "documentation subunit type"
            },
            "is_active": true
        },
        {
            "id": 31,
            "name": "loca-9835965",
            "name_translate": {
                "ar": "أختبار للاعدادات9835965",
                "en": "loca-9835965"
            },
            "is_active": true
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 2,
        "last_page": 1
    }
}
GET /api/v1/settings/locations-subunit-type/31

Show Single locations subunit type

Show Single locations subunit type

Get Single locations subunit type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 31,
        "name": "loca-9835965",
        "name_translate": {
            "ar": "أختبار للاعدادات9835965",
            "en": "loca-9835965"
        },
        "is_active": true
    }
}
PUT /api/v1/settings/locations-subunit-type/31

Update locations subunit type

Update locations subunit type

Update locations subunit type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9921893
name_ar string أختبار للاعدادات9921893
id integer 31

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,locations-subunit-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 31,
        "name": "loca-9921893"
    }
}
PATCH /api/v1/settings/locations-subunit-type/31

Active Or InActive locations subunit type

Update locations subunit type

Update locations subunit type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 31,
        "name": "loca-9921893"
    }
}
DELETE /api/v1/settings/locations-subunit-type/31

Delete locations subunit type

Delete locations subunit type

Delete locations subunit type entry

Headers

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

Create locations subunit sub type

Create locations subunit sub type

Store a new locations subunit sub type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9835577
name_ar string أختبار للاعدادات9835577
parent_id integer 3

Request Validations Or Notes

Field/Name Examples
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
parent_id required, integer, ParentTypeRule
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 32,
        "name": "loca-9835577"
    }
}
GET /api/v1/settings/locations-subunit-sub-type

Get locations subunit sub type List

Get locations subunit sub type List

This API retrieves a paginated list of locations subunit sub type.

Headers

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

Query Parameters

Field/Name Type Examples
page integer 1
per_page integer 10
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 32,
            "name": "loca-9835577",
            "name_translate": {
                "ar": "أختبار للاعدادات9835577",
                "en": "loca-9835577"
            },
            "is_active": true,
            "parent": {
                "id": 3,
                "name": "documentation subunit type"
            }
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/settings/locations-subunit-sub-type/38

Show Single locations subunit sub type

Show Single locations subunit sub type

Get Single locations subunit sub type

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 38,
        "name": "QA Subunit Subtype",
        "name_translate": {
            "ar": "QA Subunit Subtype",
            "en": "QA Subunit Subtype"
        },
        "is_active": true,
        "parent": {
            "id": 37,
            "name": "incubator"
        }
    }
}
PUT /api/v1/settings/locations-subunit-sub-type/38

Update locations subunit sub type

Update locations subunit sub type

Update locations subunit sub type entry

Headers

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

Request Body

Field/Name Type Examples
name_en string loca-9921197
name_ar string أختبار للاعدادات9921197
id integer 38

Request Validations Or Notes

Field/Name Examples
id required, integer, exists settings,id,type,locations-subunit-sub-type
name_ar required, string, max 255, ArabicRoleName, UniqueSettingName
name_en required, string, max 255, EnglishRoleName, UniqueSettingName
parent_id optional, integer, ParentTypeRule
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 38,
        "name": "loca-9921197"
    }
}
PATCH /api/v1/settings/locations-subunit-sub-type/38

Active Or InActive locations subunit sub type

Update locations subunit sub type

Update locations subunit sub type entry

Headers

Field/Name Type Examples
Content-Type string application/json
X-API-Token string X-API-Token Key
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 38,
        "name": "loca-9921197"
    }
}
DELETE /api/v1/settings/locations-subunit-sub-type/38

Delete locations subunit sub type

Delete locations subunit sub type

Delete locations subunit sub type entry

Headers

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

Create Location facility

Create a new Location facility.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "منشأة ", "en": "QA Facility" }
note string QA location facility
type_ids array [ 34 ]
country_id integer 35
city_id integer 36
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
country_id required, integer, ParentTypeRule
city_id required, integer, exists settings,id,type,locations-city, CityBelongsToCountryRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "QA Facility",
        "is_active": true,
        "supported_assets": null,
        "capacity_falcons": {
            "available": 0,
            "total": 0,
            "consumed": 0
        },
        "capacity_eggs": {
            "available": 0,
            "total": 0,
            "consumed": 0
        }
    }
}
GET /api/v1/locations/facilities

Get Location facility List

Retrieve a list of Location facility.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Facility",
            "is_active": true,
            "supported_assets": null,
            "capacity_falcons": {
                "available": 0,
                "total": 0,
                "consumed": 0
            },
            "capacity_eggs": {
                "available": 0,
                "total": 0,
                "consumed": 0
            },
            "note": null,
            "city": {
                "id": 36,
                "name": "QA City"
            },
            "country": {
                "id": 35,
                "name": "QA Country"
            },
            "types": [
                {
                    "id": 34,
                    "name": "QA Location Type"
                }
            ],
            "stats": {
                "buildings": 0,
                "rooms": 0,
                "subunits": 0
            },
            "links": [],
            "created_at": "2026-07-29T12:57:34.000000Z",
            "updated_at": "2026-07-29T12:57:34.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/locations/facilities/1

Get Location facility Details

Retrieve Location facility details.

Retrieves detailed information about a specific Location facility using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "QA Facility",
        "is_active": true,
        "supported_assets": null,
        "capacity_falcons": {
            "available": 0,
            "total": 0,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 0,
            "total": 0,
            "consumed": 3
        },
        "note": null,
        "city": {
            "id": 36,
            "name": "QA City"
        },
        "country": {
            "id": 35,
            "name": "QA Country"
        },
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "stats": {
            "buildings": 0,
            "rooms": 0,
            "subunits": 0
        },
        "links": [],
        "created_at": "2026-07-29T12:57:34.000000Z",
        "updated_at": "2026-07-29T12:57:34.000000Z",
        "name_translate": []
    }
}
PUT /api/v1/locations/facilities/1

Update Location facility

Update an existing Location facility.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "منشأة محدثة", "en": "QA Facility Updated" }
note string QA location facility updated
type_ids array [ 34 ]
country_id integer 35
city_id integer 36
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]
id integer 1

Request Validations Or Notes

Field/Name Examples
id required, integer, exists locations,id
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id optional, exists locations,id
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
country_id required, integer, ParentTypeRule
city_id required, integer, exists settings,id,type,locations-city, CityBelongsToCountryRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Facility Updated",
        "is_active": true,
        "supported_assets": null,
        "capacity_falcons": {
            "available": 0,
            "total": 0,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 0,
            "total": 0,
            "consumed": 3
        }
    }
}
PATCH /api/v1/locations/facilities/1

Toggle Location facility Status

Switch the Location facility status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Facility Updated",
        "is_active": false,
        "supported_assets": null,
        "capacity_falcons": {
            "available": 0,
            "total": 0,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 0,
            "total": 0,
            "consumed": 3
        }
    }
}
DELETE /api/v1/locations/facilities/1

Delete Location facility

Delete a Location facility.

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

Headers

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

Get Deleted Location facility

List deleted Location facility.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Facility Updated",
            "is_active": false,
            "supported_assets": null,
            "capacity_falcons": {
                "available": 0,
                "total": 0,
                "consumed": 5
            },
            "capacity_eggs": {
                "available": 0,
                "total": 0,
                "consumed": 3
            },
            "note": null,
            "city": {
                "id": 36,
                "name": "loca-9921910"
            },
            "country": null,
            "types": [],
            "stats": {
                "buildings": 0,
                "rooms": 0,
                "subunits": 0
            },
            "links": [],
            "created_at": "2026-07-29T12:57:34.000000Z",
            "updated_at": "2026-07-29T12:57:34.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/locations/facilities/1/restore

Restore Location facility

Restore deleted Location facility.

Restore a previously deleted Location facility record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Facility Updated",
        "is_active": false,
        "supported_assets": null,
        "capacity_falcons": {
            "available": 0,
            "total": 0,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 0,
            "total": 0,
            "consumed": 3
        }
    }
}
DELETE /api/v1/locations/facilities/1/force-delete

Permanently Delete Location facility

Force delete Location facility.

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

Headers

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

Create Location building

Create a new Location building.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "مبنى ", "en": "QA Building" }
note string QA location building
parent_id integer 1
type_ids array [ 34 ]
capacity_falcons integer 100
capacity_eggs integer 200
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets required, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 2,
        "name": "QA Building",
        "capacity_falcons": {
            "available": 100,
            "total": 100,
            "consumed": 0
        },
        "capacity_eggs": {
            "available": 200,
            "total": 200,
            "consumed": 0
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
GET /api/v1/locations/buildings

Get Location building List

Retrieve a list of Location building.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "QA Building",
            "capacity_falcons": {
                "available": 100,
                "total": 100,
                "consumed": 0
            },
            "capacity_eggs": {
                "available": 200,
                "total": 200,
                "consumed": 0
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": true,
            "note": "QA location building",
            "parent_id": 1,
            "parents": [
                {
                    "id": 1,
                    "name": "QA Facility",
                    "type": "facilities",
                    "level": 1
                }
            ],
            "unit_type": "building",
            "types": [
                {
                    "id": 34,
                    "name": "QA Location Type"
                }
            ],
            "stats": {
                "rooms": 0,
                "subunits": 0
            },
            "links": [
                {
                    "id": 2,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "created_at": "2026-07-29T12:57:35.000000Z",
            "updated_at": "2026-07-29T12:57:35.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/locations/buildings/2

Get Location building Details

Retrieve Location building details.

Retrieves detailed information about a specific Location building using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 2,
        "name": "QA Building",
        "capacity_falcons": {
            "available": 95,
            "total": 100,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 197,
            "total": 200,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true,
        "note": "QA location building",
        "parent_id": 1,
        "parents": [
            {
                "id": 1,
                "name": "QA Facility",
                "type": "facilities",
                "level": 1
            }
        ],
        "unit_type": "building",
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "stats": {
            "rooms": 0,
            "subunits": 0
        },
        "links": [
            {
                "id": 2,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "created_at": "2026-07-29T12:57:35.000000Z",
        "updated_at": "2026-07-29T12:57:35.000000Z",
        "name_translate": {
            "ar": "مبنى",
            "en": "QA Building"
        }
    }
}
PUT /api/v1/locations/buildings/2

Update Location building

Update an existing Location building.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "مبنى موحد", "en": "QA Building Updated" }
note string QA location building updated
parent_id integer 1
type_ids array [ 34 ]
capacity_falcons integer 120
capacity_eggs integer 240
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]
id integer 2

Request Validations Or Notes

Field/Name Examples
id required, integer, exists locations,id
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets optional, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "QA Building Updated",
        "capacity_falcons": {
            "available": 115,
            "total": 120,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 237,
            "total": 240,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
PATCH /api/v1/locations/buildings/2

Toggle Location building Status

Switch the Location building status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "QA Building Updated",
        "capacity_falcons": {
            "available": 115,
            "total": 120,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 237,
            "total": 240,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/buildings/2

Delete Location building

Delete a Location building.

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

Headers

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

Get Deleted Location building

List deleted Location building.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 2,
            "name": "QA Building Updated",
            "capacity_falcons": {
                "available": 115,
                "total": 120,
                "consumed": 5
            },
            "capacity_eggs": {
                "available": 237,
                "total": 240,
                "consumed": 3
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": false,
            "note": "QA location building updated",
            "parent_id": 1,
            "parents": [],
            "unit_type": "building",
            "types": [],
            "stats": {
                "rooms": 0,
                "subunits": 0
            },
            "links": [
                {
                    "id": 8,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "created_at": "2026-07-29T12:57:35.000000Z",
            "updated_at": "2026-07-29T12:58:28.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/locations/buildings/2/restore

Restore Location building

Restore deleted Location building.

Restore a previously deleted Location building record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 2,
        "name": "QA Building Updated",
        "capacity_falcons": {
            "available": 115,
            "total": 120,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 237,
            "total": 240,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/buildings/2/force-delete

Permanently Delete Location building

Force delete Location building.

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

Headers

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

Create Location room

Create a new Location room.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "غرفة ", "en": "QA Room" }
note string QA location room
parent_id integer 2
type_ids array [ 34 ]
temperature integer 22
humidity integer 50
capacity_falcons integer 30
capacity_eggs integer 60
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets required, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 3,
        "name": "QA Room",
        "temperature": "22.00",
        "humidity": "50.00",
        "capacity_falcons": {
            "available": 30,
            "total": 30,
            "consumed": 0
        },
        "capacity_eggs": {
            "available": 60,
            "total": 60,
            "consumed": 0
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
GET /api/v1/locations/rooms

Get Location room List

Retrieve a list of Location room.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "name": "QA Room",
            "temperature": "22.00",
            "humidity": "50.00",
            "capacity_falcons": {
                "available": 30,
                "total": 30,
                "consumed": 0
            },
            "capacity_eggs": {
                "available": 60,
                "total": 60,
                "consumed": 0
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": true,
            "note": "QA location room",
            "stats": {
                "subunits": 0
            },
            "parents": [
                {
                    "id": 2,
                    "name": "QA Building",
                    "type": "buildings",
                    "level": 1
                },
                {
                    "id": 1,
                    "name": "QA Facility",
                    "type": "facilities",
                    "level": 2
                }
            ],
            "unit_type": "room",
            "type": {
                "id": 34,
                "name": "QA Location Type"
            },
            "is_editable_climate_records": true,
            "links": [
                {
                    "id": 3,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "created_at": "2026-07-29T12:57:36.000000Z",
            "updated_at": "2026-07-29T12:57:36.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/locations/rooms/3

Get Location room Details

Retrieve Location room details.

Retrieves detailed information about a specific Location room using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "name": "QA Room",
        "temperature": "22.00",
        "humidity": "50.00",
        "capacity_falcons": {
            "available": 25,
            "total": 30,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 57,
            "total": 60,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true,
        "note": "QA location room",
        "stats": {
            "subunits": 0
        },
        "parents": [
            {
                "id": 2,
                "name": "QA Building",
                "type": "buildings",
                "level": 1
            },
            {
                "id": 1,
                "name": "QA Facility",
                "type": "facilities",
                "level": 2
            }
        ],
        "unit_type": "room",
        "type": {
            "id": 34,
            "name": "QA Location Type"
        },
        "is_editable_climate_records": true,
        "links": [
            {
                "id": 3,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "created_at": "2026-07-29T12:57:36.000000Z",
        "updated_at": "2026-07-29T12:57:36.000000Z",
        "name_translate": {
            "ar": "غرفة",
            "en": "QA Room"
        }
    }
}
PUT /api/v1/locations/rooms/3

Update Location room

Update an existing Location room.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "غرفة محدثة", "en": "QA Room Updated" }
note string QA location room updated
parent_id integer 2
type_ids array [ 34 ]
temperature integer 23
humidity integer 51
capacity_falcons integer 35
capacity_eggs integer 65
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]
id integer 3

Request Validations Or Notes

Field/Name Examples
id required, integer, exists locations,id
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets optional, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "QA Room Updated",
        "temperature": "23.00",
        "humidity": "51.00",
        "capacity_falcons": {
            "available": 30,
            "total": 35,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 62,
            "total": 65,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
PUT /api/v1/locations/rooms/3/climate-records

Update Room Climate Records

Update Room Climate Records

Update temperature and humidity climate records for a Room.

Headers

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

Request Body

Field/Name Type Examples
temperature integer 24
humidity integer 55

Request Validations Or Notes

Field/Name Examples
type required, In
temperature required, numeric, min -20, max 100
humidity required, numeric, min 0, max 100
Success (200 OK)
{
    "success": true,
    "message": "Climate records updated successfully.",
    "data": {
        "id": 3,
        "name": "QA Room Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 30,
            "total": 35,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 62,
            "total": 65,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
PATCH /api/v1/locations/rooms/3

Toggle Location room Status

Switch the Location room status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "QA Room Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 30,
            "total": 35,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 62,
            "total": 65,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/rooms/3

Delete Location room

Delete a Location room.

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

Headers

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

Get Deleted Location room

List deleted Location room.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "name": "QA Room Updated",
            "temperature": "24.00",
            "humidity": "55.00",
            "capacity_falcons": {
                "available": 30,
                "total": 35,
                "consumed": 5
            },
            "capacity_eggs": {
                "available": 62,
                "total": 65,
                "consumed": 3
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": false,
            "note": "QA location room updated",
            "stats": {
                "subunits": 0
            },
            "parents": [],
            "unit_type": "room",
            "type": null,
            "is_editable_climate_records": true,
            "links": [
                {
                    "id": 7,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "created_at": "2026-07-29T12:57:36.000000Z",
            "updated_at": "2026-07-29T12:58:27.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/locations/rooms/3/restore

Restore Location room

Restore deleted Location room.

Restore a previously deleted Location room record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "name": "QA Room Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 30,
            "total": 35,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 62,
            "total": 65,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/rooms/3/force-delete

Permanently Delete Location room

Force delete Location room.

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

Headers

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

Create Location subunit

Create a new Location subunit.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "وحدة فرعية ", "en": "QA Subunit" }
note string QA location subunit
parent_id integer 3
type_ids array [ 37 ]
subtype_id integer 38
temperature integer 22
humidity integer 50
capacity_falcons integer 2
capacity_eggs integer 4
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets required, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit",
        "temperature": "22.00",
        "humidity": "50.00",
        "capacity_falcons": {
            "available": 2,
            "total": 2,
            "consumed": 0
        },
        "capacity_eggs": {
            "available": 4,
            "total": 4,
            "consumed": 0
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
GET /api/v1/locations/subunits

Get Location subunit List

Retrieve a list of Location subunit.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "name": "QA Subunit",
            "temperature": "22.00",
            "humidity": "50.00",
            "capacity_falcons": {
                "available": 2,
                "total": 2,
                "consumed": 0
            },
            "capacity_eggs": {
                "available": 4,
                "total": 4,
                "consumed": 0
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": true,
            "parent_id": 3,
            "parents": [
                {
                    "id": 3,
                    "name": "QA Room",
                    "type": "rooms",
                    "level": 1
                },
                {
                    "id": 2,
                    "name": "QA Building",
                    "type": "buildings",
                    "level": 2
                },
                {
                    "id": 1,
                    "name": "QA Facility",
                    "type": "facilities",
                    "level": 3
                }
            ],
            "unit_type": "sub_unit",
            "type": {
                "id": 37,
                "name": "incubator"
            },
            "subtype": {
                "id": 38,
                "name": "QA Subunit Subtype"
            },
            "is_editable_climate_records": true,
            "note": "QA location subunit",
            "links": [
                {
                    "id": 4,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "stats": [],
            "created_at": "2026-07-29T12:57:36.000000Z",
            "updated_at": "2026-07-29T12:57:36.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/locations/subunits/4

Get Location subunit Details

Retrieve Location subunit details.

Retrieves detailed information about a specific Location subunit using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit",
        "temperature": "22.00",
        "humidity": "50.00",
        "capacity_falcons": {
            "available": 0,
            "total": 2,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 1,
            "total": 4,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true,
        "parent_id": 3,
        "parents": [
            {
                "id": 3,
                "name": "QA Room",
                "type": "rooms",
                "level": 1
            },
            {
                "id": 2,
                "name": "QA Building",
                "type": "buildings",
                "level": 2
            },
            {
                "id": 1,
                "name": "QA Facility",
                "type": "facilities",
                "level": 3
            }
        ],
        "unit_type": "sub_unit",
        "type": {
            "id": 37,
            "name": "incubator"
        },
        "subtype": {
            "id": 38,
            "name": "QA Subunit Subtype"
        },
        "is_editable_climate_records": true,
        "note": "QA location subunit",
        "links": [
            {
                "id": 4,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "stats": [],
        "created_at": "2026-07-29T12:57:36.000000Z",
        "updated_at": "2026-07-29T12:57:36.000000Z",
        "name_translate": {
            "ar": "وحدة فرعية",
            "en": "QA Subunit"
        }
    }
}
PUT /api/v1/locations/subunits/4

Update Location subunit

Update an existing Location subunit.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "وحدة فرعية محدثة", "en": "QA Subunit Updated" }
note string QA location subunit updated
parent_id integer 3
type_ids array [ 37 ]
subtype_id integer 38
temperature integer 23
humidity integer 51
capacity_falcons integer 2
capacity_eggs integer 6
supported_assets string falcons-eggs
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]
id integer 4

Request Validations Or Notes

Field/Name Examples
id required, integer, exists locations,id
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id required, exists locations,id, LocationParentRule
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
subtype_id prohibited, integer, exists settings,id,type,locations-subunit-sub-type, SubtypeBelongsToTypeRule
temperature optional, numeric, min -20, max 100
humidity optional, numeric, min 0, max 100
capacity_falcons prohibited_if, required if supported_assets = falcons, numeric, ChildCapacityWithinParentRule
capacity_eggs prohibited_if, required if supported_assets = eggs, numeric, ChildCapacityWithinParentRule
supported_assets optional, allowed: falcons, eggs, falcons-eggs, SupportedAssetsMatchParentRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit Updated",
        "temperature": "23.00",
        "humidity": "51.00",
        "capacity_falcons": {
            "available": 0,
            "total": 2,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 3,
            "total": 6,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
PUT /api/v1/locations/subunits/4/climate-records

Update Subunit Climate Records

Update Subunit Climate Records

Update temperature and humidity climate records for a Subunit.

Headers

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

Request Body

Field/Name Type Examples
temperature integer 24
humidity integer 55

Request Validations Or Notes

Field/Name Examples
type required, In
temperature required, numeric, min -20, max 100
humidity required, numeric, min 0, max 100
Success (200 OK)
{
    "success": true,
    "message": "Climate records updated successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 0,
            "total": 2,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 3,
            "total": 6,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": true
    }
}
PATCH /api/v1/locations/subunits/4

Toggle Location subunit Status

Switch the Location subunit status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 0,
            "total": 2,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 3,
            "total": 6,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/subunits/4

Delete Location subunit

Delete a Location subunit.

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

Headers

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

Get Deleted Location subunit

List deleted Location subunit.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 4,
            "name": "QA Subunit Updated",
            "temperature": "24.00",
            "humidity": "55.00",
            "capacity_falcons": {
                "available": 0,
                "total": 2,
                "consumed": 5
            },
            "capacity_eggs": {
                "available": 3,
                "total": 6,
                "consumed": 3
            },
            "supported_assets": {
                "key": "falcons-eggs",
                "name": "Falcons and eggs"
            },
            "is_active": false,
            "parent_id": 3,
            "parents": [],
            "unit_type": "sub_unit",
            "type": null,
            "subtype": null,
            "is_editable_climate_records": true,
            "note": "QA location subunit updated",
            "links": [
                {
                    "id": 6,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "stats": [],
            "created_at": "2026-07-29T12:57:36.000000Z",
            "updated_at": "2026-07-29T12:58:26.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/locations/subunits/4/restore

Restore Location subunit

Restore deleted Location subunit.

Restore a previously deleted Location subunit record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 4,
        "name": "QA Subunit Updated",
        "temperature": "24.00",
        "humidity": "55.00",
        "capacity_falcons": {
            "available": 0,
            "total": 2,
            "consumed": 5
        },
        "capacity_eggs": {
            "available": 3,
            "total": 6,
            "consumed": 3
        },
        "supported_assets": {
            "key": "falcons-eggs",
            "name": "Falcons and eggs"
        },
        "is_active": false
    }
}
DELETE /api/v1/locations/subunits/4/force-delete

Permanently Delete Location subunit

Force delete Location subunit.

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

Headers

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

Create Location external

Create a new Location external.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "موقع خارجي ", "en": "QA External" }
note string QA location external
type_ids array [ 34 ]
country_id integer 35
city_id integer 36
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]

Request Validations Or Notes

Field/Name Examples
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id optional, exists locations,id
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
country_id required, integer, ParentTypeRule
city_id required, integer, exists settings,id,type,locations-city, CityBelongsToCountryRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 5,
        "name": "QA External",
        "country": {
            "id": 35,
            "name": "QA Country"
        },
        "city": {
            "id": 36,
            "name": "QA City"
        },
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "links": [
            {
                "id": 5,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "note": "QA location external",
        "is_active": true,
        "created_at": "2026-07-29T12:57:37.000000Z",
        "updated_at": "2026-07-29T12:57:37.000000Z"
    }
}
GET /api/v1/locations/externals

Get Location external List

Retrieve a list of Location external.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 5,
            "name": "QA External",
            "country": {
                "id": 35,
                "name": "QA Country"
            },
            "city": {
                "id": 36,
                "name": "QA City"
            },
            "types": [
                {
                    "id": 34,
                    "name": "QA Location Type"
                }
            ],
            "links": [
                {
                    "id": 5,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "note": "QA location external",
            "is_active": true,
            "created_at": "2026-07-29T12:57:37.000000Z",
            "updated_at": "2026-07-29T12:57:37.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/locations/externals/5

Get Location external Details

Retrieve Location external details.

Retrieves detailed information about a specific Location external using its unique identifier.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 5,
        "name": "QA External",
        "country": {
            "id": 35,
            "name": "QA Country"
        },
        "city": {
            "id": 36,
            "name": "QA City"
        },
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "links": [
            {
                "id": 5,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "note": "QA location external",
        "is_active": true,
        "created_at": "2026-07-29T12:57:37.000000Z",
        "updated_at": "2026-07-29T12:57:37.000000Z"
    }
}
PUT /api/v1/locations/externals/5

Update Location external

Update an existing Location external.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "ar": "موقع خارجي محدث", "en": "QA External Updated" }
note string QA location external updated
type_ids array [ 34 ]
country_id integer 35
city_id integer 36
is_active boolean 1
links array [ { "name": "Map", "url": "https:\/\/example.com\/map" } ]
id integer 5

Request Validations Or Notes

Field/Name Examples
id required, integer, exists locations,id
name required, array
name.ar required, string, max 255, ArabicRoleName, UniqueTranslationName
name.en required, string, max 255, EnglishRoleName, UniqueTranslationName
note optional, string
parent_id optional, exists locations,id
type_ids required, array, min 1
type_ids[] required, integer, distinct, exists settings,id,type,locations-type
country_id required, integer, ParentTypeRule
city_id required, integer, exists settings,id,type,locations-city, CityBelongsToCountryRule
is_active optional, true/false
links optional, array
links[].name required, string, max 255, distinct
links[].url required, url, max 2048, distinct
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 5,
        "name": "QA External Updated",
        "country": {
            "id": 35,
            "name": "QA Country"
        },
        "city": {
            "id": 36,
            "name": "QA City"
        },
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "links": [
            {
                "id": 9,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "note": "QA location external updated",
        "is_active": true,
        "created_at": "2026-07-29T12:57:37.000000Z",
        "updated_at": "2026-07-29T12:58:29.000000Z"
    }
}
PATCH /api/v1/locations/externals/5

Toggle Location external Status

Switch the Location external status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 5,
        "name": "QA External Updated",
        "country": {
            "id": 35,
            "name": "QA Country"
        },
        "city": {
            "id": 36,
            "name": "QA City"
        },
        "types": [
            {
                "id": 34,
                "name": "QA Location Type"
            }
        ],
        "links": [
            {
                "id": 9,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "note": "QA location external updated",
        "is_active": false,
        "created_at": "2026-07-29T12:57:37.000000Z",
        "updated_at": "2026-07-29T12:58:29.000000Z"
    }
}
DELETE /api/v1/locations/externals/5

Delete Location external

Delete a Location external.

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

Headers

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

Get Deleted Location external

List deleted Location external.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 5,
            "name": "QA External Updated",
            "country": null,
            "city": null,
            "types": [],
            "links": [
                {
                    "id": 9,
                    "name": "Map",
                    "url": "https:\/\/example.com\/map"
                }
            ],
            "note": "QA location external updated",
            "is_active": false,
            "created_at": "2026-07-29T12:57:37.000000Z",
            "updated_at": "2026-07-29T12:58:29.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 15,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/locations/externals/5/restore

Restore Location external

Restore deleted Location external.

Restore a previously deleted Location external record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 5,
        "name": "QA External Updated",
        "country": null,
        "city": null,
        "types": [],
        "links": [
            {
                "id": 9,
                "name": "Map",
                "url": "https:\/\/example.com\/map"
            }
        ],
        "note": "QA location external updated",
        "is_active": false,
        "created_at": "2026-07-29T12:57:37.000000Z",
        "updated_at": "2026-07-29T12:59:03.000000Z"
    }
}
DELETE /api/v1/locations/externals/5/force-delete

Permanently Delete Location external

Force delete Location external.

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

Headers

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

Bulk Create Activity

Bulk create activity

Record an activity for multiple animals in bulk.

Headers

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

Request Body

Field/Name Type Examples
animals array [ { "animal_id": 1, "activity_type": "weight_change", "new_value": "1.6", "note": "Bulk weight gain observed." } ]

Request Validations Or Notes

Field/Name Examples
animals required, array, min 1
animals[].animal_id required, integer, Exists
animals[].activity_type required, In
animals[].note optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Activities inserted successfully.",
    "data": [
        {
            "id": 6,
            "animal_id": 1,
            "activity_type": "weight_change",
            "current_value": "1.60 kg",
            "new_value": "1.6 kg",
            "weight_change": "0 kg",
            "percentage_of_change": "0%",
            "note": "Bulk weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:39"
        }
    ]
}
POST /api/v1/animals/falcon/activity/bulk-fetch

Bulk Get Activities

Bulk fetch activities

Retrieve the latest weight changes and all behaviour changes for multiple animals.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 1 ]

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, Exists
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "weight_change": [
            {
                "animal_id": 1,
                "animal_name": "Falcon Test",
                "activity": {
                    "id": 4,
                    "animal_id": 1,
                    "activity_type": "weight_change",
                    "current_value": "2.00 kg",
                    "new_value": "1.6 kg",
                    "weight_change": "-0.4 kg",
                    "percentage_of_change": "-20%",
                    "note": "Weight gain observed.",
                    "media": {
                        "images": [],
                        "videos": []
                    },
                    "created_by": {
                        "id": 1,
                        "name": null
                    },
                    "created_at": "2026-07-29T12:57:39.000000Z"
                }
            }
        ],
        "behaviour_change": [
            {
                "animal_id": 1,
                "animal_name": "Falcon Test",
                "activity": {
                    "id": 5,
                    "animal_id": 1,
                    "activity_type": "behaviour_change",
                    "current_value": {
                        "id": 15,
                        "name": "falc-9835502"
                    },
                    "new_value": {
                        "id": 15,
                        "name": "falc-9835502"
                    },
                    "note": "Behavior change observed.",
                    "media": {
                        "images": [],
                        "videos": []
                    },
                    "created_by": {
                        "id": 1,
                        "name": null
                    },
                    "created_at": "2026-07-29T12:57:39.000000Z"
                }
            }
        ]
    }
}
POST /api/v1/animals/eggs/activity/bulk

Bulk Create Activity

Bulk create activity

Record an activity for multiple animals in bulk.

Headers

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

Request Body

Field/Name Type Examples
animals array [ { "animal_id": 4, "activity_type": "weight_change", "new_value": "1.6", "note": "Bulk weight gain observed." } ]

Request Validations Or Notes

Field/Name Examples
animals required, array, min 1
animals[].animal_id required, integer, Exists
animals[].activity_type required, In
animals[].note optional, string, max 1000
Success (200 OK)
{
    "success": true,
    "message": "Activities inserted successfully.",
    "data": [
        {
            "id": 14,
            "animal_id": 4,
            "activity_type": "weight_change",
            "current_value": "1.60 kg",
            "new_value": "1.6 kg",
            "weight_change": "0 kg",
            "percentage_of_change": "0%",
            "note": "Bulk weight gain observed.",
            "media": {
                "images": [],
                "videos": []
            },
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "created_at": "2026-07-29 15:57:42"
        }
    ]
}
POST /api/v1/animals/eggs/activity/bulk-fetch

Bulk Get Activities

Bulk fetch activities

Retrieve the latest weight changes and all behaviour changes for multiple animals.

Headers

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

Request Body

Field/Name Type Examples
animal_ids array [ 4 ]

Request Validations Or Notes

Field/Name Examples
animal_ids required, array, min 1
animal_ids[] required, integer, Exists
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "weight_change": [
            {
                "animal_id": 4,
                "animal_name": "Egg Test",
                "activity": {
                    "id": 14,
                    "animal_id": 4,
                    "activity_type": "weight_change",
                    "current_value": "1.60 kg",
                    "new_value": "1.6 kg",
                    "weight_change": "0 kg",
                    "percentage_of_change": "0%",
                    "note": "Bulk weight gain observed.",
                    "media": {
                        "images": [],
                        "videos": []
                    },
                    "created_by": {
                        "id": 1,
                        "name": null
                    },
                    "created_at": "2026-07-29T12:57:42.000000Z"
                }
            }
        ],
        "behaviour_change": [
            {
                "animal_id": 4,
                "animal_name": "Egg Test",
                "activity": null
            }
        ]
    }
}
POST /api/v1/inventory/suppliers

Create Supplier

Create a new Supplier.

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

Headers

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

Request Body

Field/Name Type Examples
name string QA Test Supplier
phone string 0501234567
email string qa-supplier@test.com
address string 123 Test Street, Riyadh
is_active boolean 1
types array [ "feeding" ]

Request Validations Or Notes

Field/Name Examples
name required, string, max 255
phone required, string, max 255
email optional, valid email, max 255
address required, string, max 255
types required, array, min 1
types[] required, string, In
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Supplier",
        "phone": "0501234567",
        "email": "qa-supplier@test.com",
        "address": "123 Test Street, Riyadh",
        "is_active": false,
        "types": [
            "feeding"
        ],
        "created_at": "2026-07-29T12:57:28.000000Z"
    }
}
GET /api/v1/inventory/suppliers

Get Supplier List

Retrieve a list of Supplier.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Test Supplier",
            "phone": "0501234567",
            "email": "qa-supplier@test.com",
            "address": "123 Test Street, Riyadh",
            "is_active": true,
            "types": [
                "feeding"
            ],
            "created_at": "2026-07-29T12:57:28.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/inventory/suppliers/1

Get Supplier Details

Retrieve Supplier details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Supplier",
        "phone": "0501234567",
        "email": "qa-supplier@test.com",
        "address": "123 Test Street, Riyadh",
        "is_active": true,
        "types": [
            "feeding"
        ],
        "created_at": "2026-07-29T12:57:28.000000Z"
    }
}
PUT /api/v1/inventory/suppliers/1

Update Supplier

Update an existing Supplier.

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

Headers

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

Request Body

Field/Name Type Examples
name string QA Test Supplier Updated
phone string 0509999999
email string qa-supplier-updated@test.com
address string 456 Updated Street, Riyadh
is_active boolean 1
types array [ "feeding", "medication" ]
id integer 1

Request Validations Or Notes

Field/Name Examples
name optional, string, max 255
phone optional, string, max 255
email optional, valid email, max 255
address optional, string, max 255
types sometimes, array, min 1
types[] required_with, string, In
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Supplier Updated",
        "phone": "0509999999",
        "email": "qa-supplier-updated@test.com",
        "address": "456 Updated Street, Riyadh",
        "is_active": true,
        "types": [
            "feeding",
            "medication"
        ],
        "created_at": "2026-07-29T12:57:28.000000Z"
    }
}
PATCH /api/v1/inventory/suppliers/1/toggle-active

Toggle Supplier Status

Switch the Supplier status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Supplier Updated",
        "phone": "0509999999",
        "email": "qa-supplier-updated@test.com",
        "address": "456 Updated Street, Riyadh",
        "is_active": false,
        "types": [
            "feeding",
            "medication"
        ],
        "created_at": "2026-07-29T12:57:28.000000Z"
    }
}
DELETE /api/v1/inventory/suppliers/1

Delete Supplier

Delete a Supplier.

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

Headers

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

Get Deleted Supplier

List deleted Supplier.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "name": "QA Test Supplier Updated",
            "phone": "0509999999",
            "email": "qa-supplier-updated@test.com",
            "address": "456 Updated Street, Riyadh",
            "is_active": false,
            "types": [
                "feeding",
                "medication"
            ],
            "created_at": "2026-07-29T12:57:28.000000Z",
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/inventory/suppliers/1/restore

Restore Supplier

Restore deleted Supplier.

Restore a previously deleted Supplier record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 1,
        "name": "QA Test Supplier Updated",
        "phone": "0509999999",
        "email": "qa-supplier-updated@test.com",
        "address": "456 Updated Street, Riyadh",
        "is_active": false,
        "types": [
            "feeding",
            "medication"
        ],
        "created_at": "2026-07-29T12:57:28.000000Z"
    }
}
DELETE /api/v1/inventory/suppliers/1/force-delete

Permanently Delete Supplier

Force delete Supplier.

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

Headers

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

Create Feeding Item

Create a new Feeding inventory item.

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

Headers

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

Request Body

Field/Name Type Examples
type string feeding
name array { "en": "QA Test Feed Item", "ar": "مادة علف اختبار الجودة" }
categories array [ { "category_id": 18 } ]
unit_id integer 19
note string QA test feeding inventory item
reorder_level integer 5
initial_quantity integer 5
unit_cost double 25.5
supplier_id integer 1

Request Validations Or Notes

Field/Name Examples
type required, In
name required, array
name.ar required, ArabicRoleName, UniqueInventoryItemName
name.en required, EnglishRoleName, UniqueInventoryItemName
unit_id ProhibitedIf, optional, integer, exists settings,id, SourceUnitSettingTypeRule
form_id RequiredIf, optional, integer, exists settings,id,type,medical-medicine-form
reorder_level optional, numeric, min 0
categories required, array, min 1
categories[].category_id required_with, integer, SourceCategorySettingTypeRule
note optional, string
calories optional, numeric, min 0
initial_quantity required, numeric, min 0
unit_cost required, numeric, min 0
supplier_id optional, integer, exists inventory_suppliers,id
expiry_date optional, date, after_or_equal
batch_no optional, string, max 255
equipment_type RequiredIf, ProhibitedIf, optional, enum
associated_items sometimes, ProhibitedIf, array
associated_items[] required, array, ValidEquipmentAssociatedItem
associated_items[].item_type required, string, In
associated_items[].item_id required, integer, min 1
associated_items[].quantity_per_use optional, integer, min 1
associated_items[].id prohibited
associated_items[].equipment_id prohibited
associated_items[].created_at prohibited
associated_items[].updated_at prohibited
associated_items[].deleted_at prohibited
compositions prohibited
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "item": {
            "id": 1,
            "name": "QA Test Feed Item",
            "calories": "0.00",
            "unit": {
                "id": 19,
                "name": "feed-9835232"
            },
            "categories": [
                {
                    "id": 18,
                    "name": "feed-9835434"
                }
            ],
            "supports": [],
            "ages": [],
            "cost_per_unit": "EGP 25.500",
            "total_quantity": null,
            "is_active": true,
            "note": "QA test feeding inventory item"
        },
        "item_type": "feeding",
        "reorder_level": "5.000",
        "total_quantity": "5.000",
        "is_active": true,
        "note": "QA test feeding inventory item",
        "latest_cost": "EGP 25.500",
        "expire_date": null,
        "supplier": {
            "id": 1,
            "name": "QA Test Supplier"
        },
        "batches": [
            {
                "id": 1,
                "batch_no": "BTH-20260729-CYKAEL",
                "quantity": 5,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 127.500",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:29.000000Z",
        "has_purchased": false
    }
}
POST /api/v1/inventory/items/medication

Create Medication Item

Create a new Medication inventory item.

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

Headers

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

Request Body

Field/Name Type Examples
type string medication
name array { "en": "QA Test Medication Item", "ar": "دواء اختبار الجودة" }
categories array [ { "category_id": 23 } ]
form_id integer 24
note string QA test medication inventory item
reorder_level integer 5
initial_quantity integer 5
unit_cost double 15.25
supplier_id integer 1

Request Validations Or Notes

Field/Name Examples
type required, In
name required, array
name.ar required, ArabicRoleName, UniqueInventoryItemName
name.en required, EnglishRoleName, UniqueInventoryItemName
unit_id ProhibitedIf, optional, integer, exists settings,id, SourceUnitSettingTypeRule
form_id RequiredIf, optional, integer, exists settings,id,type,medical-medicine-form
reorder_level optional, numeric, min 0
categories required, array, min 1
categories[].category_id required_with, integer, SourceCategorySettingTypeRule
note optional, string
calories optional, numeric, min 0
initial_quantity required, numeric, min 0
unit_cost required, numeric, min 0
supplier_id optional, integer, exists inventory_suppliers,id
expiry_date optional, date, after_or_equal
batch_no optional, string, max 255
equipment_type RequiredIf, ProhibitedIf, optional, enum
associated_items sometimes, ProhibitedIf, array
associated_items[] required, array, ValidEquipmentAssociatedItem
associated_items[].item_type required, string, In
associated_items[].item_id required, integer, min 1
associated_items[].quantity_per_use optional, integer, min 1
associated_items[].id prohibited
associated_items[].equipment_id prohibited
associated_items[].created_at prohibited
associated_items[].updated_at prohibited
associated_items[].deleted_at prohibited
compositions prohibited
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 2,
        "item": {
            "id": 1,
            "name": "QA Test Medication Item",
            "unit": {
                "id": 1,
                "name": "Test Unit"
            },
            "form": {
                "id": 24,
                "name": "medi-9835654"
            },
            "categories": [
                {
                    "id": 23,
                    "name": "medi-9835976"
                }
            ],
            "note": "QA test medication inventory item",
            "cost": 15.25
        },
        "item_type": "medication",
        "reorder_level": "5.000",
        "total_quantity": "5.000",
        "is_active": true,
        "note": "QA test medication inventory item",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": {
            "id": 1,
            "name": "QA Test Supplier"
        },
        "batches": [
            {
                "id": 2,
                "batch_no": "BTH-20260729-R5AHRU",
                "quantity": 5,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 76.250",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:29.000000Z",
        "has_purchased": false
    }
}
POST /api/v1/inventory/items/equipment

Create Equipment Item

Create a new Equipment inventory item.

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

Headers

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

Request Body

Field/Name Type Examples
type string equipment
name array { "en": "QA Test Equipment Item", "ar": "معدة اختبار الجودة" }
categories array [ { "category_id": 33 } ]
equipment_type string permanent
note string QA test equipment inventory item
reorder_level integer 5
initial_quantity integer 5
unit_cost double 15.25
supplier_id integer 1

Request Validations Or Notes

Field/Name Examples
type required, In
name required, array
name.ar required, ArabicRoleName, UniqueInventoryItemName
name.en required, EnglishRoleName, UniqueInventoryItemName
unit_id ProhibitedIf, optional, integer, exists settings,id, SourceUnitSettingTypeRule
form_id RequiredIf, optional, integer, exists settings,id,type,medical-medicine-form
reorder_level optional, numeric, min 0
categories required, array, min 1
categories[].category_id required_with, integer, SourceCategorySettingTypeRule
note optional, string
calories optional, numeric, min 0
initial_quantity required, numeric, min 0
unit_cost required, numeric, min 0
supplier_id optional, integer, exists inventory_suppliers,id
expiry_date optional, date, after_or_equal
batch_no optional, string, max 255
equipment_type RequiredIf, ProhibitedIf, optional, enum
associated_items sometimes, ProhibitedIf, array
associated_items[] required, array, ValidEquipmentAssociatedItem
associated_items[].item_type required, string, In
associated_items[].item_id required, integer, min 1
associated_items[].quantity_per_use optional, integer, min 1
associated_items[].id prohibited
associated_items[].equipment_id prohibited
associated_items[].created_at prohibited
associated_items[].updated_at prohibited
associated_items[].deleted_at prohibited
compositions prohibited
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 3,
        "item": {
            "id": 1,
            "name": "QA Test Equipment Item",
            "type": "permanent",
            "note": "QA test equipment inventory item",
            "categories": [
                {
                    "id": 33,
                    "name": "inve-9835110"
                }
            ],
            "associated_items": [],
            "is_active": true
        },
        "item_type": "equipment",
        "reorder_level": "5.000",
        "total_quantity": "5.000",
        "is_active": true,
        "note": "QA test equipment inventory item",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": {
            "id": 1,
            "name": "QA Test Supplier"
        },
        "batches": [
            {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 5,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 76.250",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:30.000000Z",
        "has_purchased": false
    }
}
GET /api/v1/inventory/items/equipment

Get Item List

Retrieve a list of Item.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "item": {
                "id": 1,
                "name": "QA Test Equipment Item",
                "type": "permanent",
                "note": "QA test equipment inventory item",
                "categories": [
                    {
                        "id": 33,
                        "name": "inve-9835110"
                    }
                ],
                "associated_items": [],
                "is_active": true
            },
            "item_type": "equipment",
            "reorder_level": "5.000",
            "total_quantity": "5.000",
            "is_active": true,
            "note": "QA test equipment inventory item",
            "latest_cost": "EGP 15.250",
            "expire_date": null,
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "batches": [
                {
                    "id": 3,
                    "batch_no": "BTH-20260729-QIRGQN",
                    "quantity": 5,
                    "unit_cost": "EGP 15.250",
                    "total_cost": "EGP 76.250",
                    "expiry_date": null
                }
            ],
            "created_at": "2026-07-29T12:57:30.000000Z",
            "has_purchased": false
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/inventory/items/equipment/3

Get Item Details

Retrieve Item details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "item": {
            "id": 1,
            "name": "QA Test Equipment Item",
            "type": "permanent",
            "note": "QA test equipment inventory item",
            "categories": [
                {
                    "id": 33,
                    "name": "inve-9835110"
                }
            ],
            "associated_items": [],
            "name_translate": {
                "ar": "معدة اختبار الجودة",
                "en": "QA Test Equipment Item"
            },
            "is_active": true
        },
        "item_type": "equipment",
        "reorder_level": "5.000",
        "total_quantity": "7.000",
        "is_active": true,
        "note": "QA test equipment inventory item",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": null,
        "batches": [
            {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 7,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 106.750",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:30.000000Z",
        "has_purchased": false
    }
}
PUT /api/v1/inventory/items/equipment/3

Update Item

Update an existing Item.

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

Headers

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

Request Body

Field/Name Type Examples
name array { "en": "QA Test Feed Item Updated", "ar": "مادة علف اختبار الجودة محدثة" }
note string QA test inventory item updated
reorder_level integer 10
is_active boolean 1
id integer 3

Request Validations Or Notes

Field/Name Examples
type prohibited
name optional, array
name.ar required_with, ArabicRoleName, UniqueInventoryItemName
name.en required_with, EnglishRoleName, UniqueInventoryItemName
item_category_ids prohibited
item_category_ids[].category_id prohibited
categories prohibited
categories[].category_id prohibited
unit_id ProhibitedIf, optional, integer, exists settings,id, SourceUnitSettingTypeRule
form_id optional, integer, exists settings,id,type,medical-medicine-form
reorder_level optional, numeric, min 0
note optional, string
initial_quantity optional, numeric, min 0, EditableBeforeSecondPurchase
unit_cost optional, numeric, min 0, EditableBeforeSecondPurchase
supplier_id optional, integer, exists inventory_suppliers,id, EditableBeforeSecondPurchase
expiry_date optional, date, after_or_equal, EditableBeforeSecondPurchase
purchase_date prohibited
equipment_type prohibited
associated_items sometimes, ProhibitedIf, array
associated_items[] required, array, ValidEquipmentAssociatedItem
associated_items[].item_type required, string, In
associated_items[].item_id required, integer, min 1
associated_items[].quantity_per_use optional, integer, min 1
associated_items[].id prohibited
associated_items[].equipment_id prohibited
associated_items[].created_at prohibited
associated_items[].updated_at prohibited
associated_items[].deleted_at prohibited
compositions prohibited
is_active optional, true/false
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "item": {
            "id": 1,
            "name": "QA Test Feed Item Updated",
            "type": "permanent",
            "note": "QA test inventory item updated",
            "categories": [
                {
                    "id": 33,
                    "name": "inve-9835110"
                }
            ],
            "associated_items": [],
            "is_active": true
        },
        "item_type": "equipment",
        "reorder_level": "10.000",
        "total_quantity": "7.000",
        "is_active": true,
        "note": "QA test inventory item updated",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": null,
        "batches": [
            {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 7,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 106.750",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:30.000000Z",
        "has_purchased": false
    }
}
PATCH /api/v1/inventory/items/equipment/3/toggle-active

Toggle Item Status

Switch the Item status between active and inactive.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "item": {
            "id": 1,
            "name": "QA Test Feed Item Updated",
            "type": "permanent",
            "note": "QA test inventory item updated",
            "categories": [
                {
                    "id": 33,
                    "name": "inve-9835110"
                }
            ],
            "associated_items": [],
            "is_active": true
        },
        "item_type": "equipment",
        "reorder_level": "10.000",
        "total_quantity": "7.000",
        "is_active": false,
        "note": "QA test inventory item updated",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": null,
        "batches": [
            {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 7,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 106.750",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:30.000000Z",
        "has_purchased": false
    }
}
DELETE /api/v1/inventory/items/equipment/3

Delete Item

Delete a Item.

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

Headers

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

Get Deleted Item

List deleted Item.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 3,
            "item": {
                "id": 1,
                "name": "QA Test Feed Item Updated",
                "type": "permanent",
                "note": "QA test inventory item updated",
                "categories": [
                    {
                        "id": 33,
                        "name": "inve-9921908"
                    }
                ],
                "associated_items": [],
                "is_active": true,
                "delete_reason": null
            },
            "item_type": "equipment",
            "reorder_level": "10.000",
            "total_quantity": "7.000",
            "is_active": false,
            "note": "QA test inventory item updated",
            "latest_cost": "EGP 15.250",
            "expire_date": null,
            "supplier": null,
            "batches": [
                {
                    "id": 3,
                    "batch_no": "BTH-20260729-QIRGQN",
                    "quantity": 7,
                    "unit_cost": "EGP 15.250",
                    "total_cost": "EGP 106.750",
                    "expiry_date": null
                }
            ],
            "created_at": "2026-07-29T12:57:30.000000Z",
            "has_purchased": false,
            "delete_reason": null
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
PATCH /api/v1/inventory/items/equipment/3/restore

Restore Item

Restore deleted Item.

Restore a previously deleted Item record from the recycle bin.

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data updated successfully.",
    "data": {
        "id": 3,
        "item": {
            "id": 1,
            "name": "QA Test Feed Item Updated",
            "type": "permanent",
            "note": "QA test inventory item updated",
            "categories": [
                {
                    "id": 33,
                    "name": "inve-9921908"
                }
            ],
            "associated_items": [],
            "is_active": true
        },
        "item_type": "equipment",
        "reorder_level": "10.000",
        "total_quantity": "7.000",
        "is_active": false,
        "note": "QA test inventory item updated",
        "latest_cost": "EGP 15.250",
        "expire_date": null,
        "supplier": null,
        "batches": [
            {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 7,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 106.750",
                "expiry_date": null
            }
        ],
        "created_at": "2026-07-29T12:57:30.000000Z",
        "has_purchased": false
    }
}
DELETE /api/v1/inventory/items/equipment/3/force-delete

Permanently Delete Item

Force delete Item.

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

Headers

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

Create Purchase

Create a new Purchase.

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

Headers

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

Request Body

Field/Name Type Examples
supplier_id integer 1
purchase_date string 2026-07-29
note string QA test purchase
types array [ "feeding" ]
items array [ { "inventory_item_id": 1, "quantity": 10, "unit_cost": 25.5, "expiry_date": "2027-07-29" } ]

Request Validations Or Notes

Field/Name Examples
types required, array, min 1
types[] required, string, In
supplier_id required, exists inventory_suppliers,id, SupplierSupportsType
purchase_date optional, date
note optional, string
items required, array, min 1
items[].inventory_item_id required, exists inventory_items,id, InventoryItemMatchesType
items[].quantity required, numeric, min 0.01
items[].unit_cost required, numeric, min 0
items[].expiry_date optional, date, after_or_equal
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 4,
        "types": [
            "feeding"
        ],
        "purchase_no": "PO-202607-0004"
    }
}
GET /api/v1/inventory/purchases

Get Purchase List

Retrieve a list of Purchase.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "types": [
                "feeding"
            ],
            "purchase_no": "PO-202607-0001",
            "items": [
                {
                    "id": 1,
                    "inventory_item": {
                        "id": 1,
                        "item": {
                            "id": 1,
                            "name": "QA Test Feed Item",
                            "calories": "0.00",
                            "unit": {
                                "id": 19,
                                "name": "feed-9835232"
                            },
                            "categories": [
                                {
                                    "id": 18,
                                    "name": "feed-9835434"
                                }
                            ],
                            "supports": [],
                            "ages": [],
                            "cost_per_unit": "EGP 25.500",
                            "total_quantity": null,
                            "is_active": true,
                            "note": "QA test feeding inventory item"
                        },
                        "item_type": "feeding"
                    },
                    "quantity": "5.000",
                    "unit_cost": "EGP 25.500",
                    "total_cost": "EGP 127.500",
                    "expiry_date": null
                }
            ],
            "total_amount": "EGP 127.500",
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "note": null,
            "created_at": "2026-07-29T12:57:29.000000Z"
        },
        {
            "id": 2,
            "types": [
                "medication"
            ],
            "purchase_no": "PO-202607-0002",
            "items": [
                {
                    "id": 2,
                    "inventory_item": {
                        "id": 2,
                        "item": {
                            "id": 1,
                            "name": "QA Test Medication Item",
                            "unit": {
                                "id": 1,
                                "name": "Test Unit"
                            },
                            "form": {
                                "id": 24,
                                "name": "medi-9835654"
                            },
                            "categories": [
                                {
                                    "id": 23,
                                    "name": "medi-9835976"
                                }
                            ],
                            "note": "QA test medication inventory item",
                            "cost": 15.25
                        },
                        "item_type": "medication"
                    },
                    "quantity": "5.000",
                    "unit_cost": "EGP 15.250",
                    "total_cost": "EGP 76.250",
                    "expiry_date": null
                }
            ],
            "total_amount": "EGP 76.250",
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "note": null,
            "created_at": "2026-07-29T12:57:29.000000Z"
        },
        {
            "id": 3,
            "types": [
                "equipment"
            ],
            "purchase_no": "PO-202607-0003",
            "items": [
                {
                    "id": 3,
                    "inventory_item": {
                        "id": 3,
                        "item": {
                            "id": 1,
                            "name": "QA Test Equipment Item",
                            "type": "permanent",
                            "note": "QA test equipment inventory item",
                            "categories": [
                                {
                                    "id": 33,
                                    "name": "inve-9835110"
                                }
                            ],
                            "associated_items": [],
                            "is_active": true
                        },
                        "item_type": "equipment"
                    },
                    "quantity": "5.000",
                    "unit_cost": "EGP 15.250",
                    "total_cost": "EGP 76.250",
                    "expiry_date": null
                }
            ],
            "total_amount": "EGP 76.250",
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "note": null,
            "created_at": "2026-07-29T12:57:30.000000Z"
        },
        {
            "id": 4,
            "types": [
                "feeding"
            ],
            "purchase_no": "PO-202607-0004",
            "items": [
                {
                    "id": 4,
                    "inventory_item": {
                        "id": 1,
                        "item": {
                            "id": 1,
                            "name": "QA Test Feed Item",
                            "calories": "0.00",
                            "unit": {
                                "id": 19,
                                "name": "feed-9835232"
                            },
                            "categories": [
                                {
                                    "id": 18,
                                    "name": "feed-9835434"
                                }
                            ],
                            "supports": [],
                            "ages": [],
                            "cost_per_unit": "EGP 25.500",
                            "total_quantity": null,
                            "is_active": true,
                            "note": "QA test feeding inventory item"
                        },
                        "item_type": "feeding"
                    },
                    "quantity": "10.000",
                    "unit_cost": "EGP 25.500",
                    "total_cost": "EGP 255.000",
                    "expiry_date": "2027-07-29"
                }
            ],
            "total_amount": "EGP 255.000",
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "note": "QA test purchase",
            "created_at": "2026-07-29T12:57:30.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 4,
        "last_page": 1
    }
}
GET /api/v1/inventory/purchases/3

Get Purchase Details

Retrieve Purchase details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 3,
        "types": [
            "equipment"
        ],
        "purchase_no": "PO-202607-0003",
        "items": [
            {
                "id": 3,
                "inventory_item": {
                    "id": 3,
                    "item": {
                        "id": 1,
                        "name": "QA Test Equipment Item",
                        "type": "permanent",
                        "note": "QA test equipment inventory item",
                        "categories": [
                            {
                                "id": 33,
                                "name": "inve-9835110"
                            }
                        ],
                        "associated_items": [],
                        "name_translate": {
                            "ar": "معدة اختبار الجودة",
                            "en": "QA Test Equipment Item"
                        },
                        "is_active": true
                    },
                    "item_type": "equipment"
                },
                "quantity": "5.000",
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 76.250",
                "expiry_date": null
            }
        ],
        "total_amount": "EGP 76.250",
        "supplier": null,
        "note": null,
        "created_at": "2026-07-29T12:57:30.000000Z"
    }
}
PUT /api/v1/inventory/purchases/3

Update Purchase

Update an existing Purchase.

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

Headers

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

Request Body

Field/Name Type Examples
note string QA test purchase updated
items array [ { "inventory_item_id": 3, "quantity": 7, "unit_cost": 15.25, "expiry_date": null } ]
id integer 3

Request Validations Or Notes

Field/Name Examples
types sometimes, array, min 1
types[] required_with, string, In
supplier_id sometimes, required, exists inventory_suppliers,id, SupplierSupportsType
note optional, string
items sometimes, required, array, min 1
items[].inventory_item_id required_with, exists inventory_items,id, InventoryItemMatchesType
items[].quantity required_with, numeric, min 0.01
items[].unit_cost required_with, numeric, min 0
items[].expiry_date optional, date, after_or_equal
Success (200 OK)
{
    "success": true,
    "message": "Purchase updated successfully.",
    "data": {
        "id": 3,
        "types": [
            "equipment"
        ],
        "purchase_no": "PO-202607-0003"
    }
}
POST /api/v1/inventory/scraps

Create Scrap

Create a new Scrap.

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

Headers

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

Request Body

Field/Name Type Examples
inventory_item_id integer 1
inventory_item_batch_id integer 1
quantity integer 1
reason string QA Test Scrap Reason
scrap_date string 2026-07-29
note string QA test scrap note

Request Validations Or Notes

Field/Name Examples
inventory_item_id required, integer, exists inventory_items,id
inventory_item_batch_id required, integer, exists inventory_items_batches,id
quantity required, numeric, min 0.001
reason required, string, max 255
scrap_date optional, date
note optional, string
Success (200 OK)
{
    "success": true,
    "message": "Data inserted successfully.",
    "data": {
        "id": 1,
        "quantity": "1.000",
        "unit_cost": "EGP 25.500",
        "total_cost": "EGP 25.500",
        "source": "manual",
        "reason": "QA Test Scrap Reason",
        "scrap_date": "2026-07-29",
        "note": "QA test scrap note",
        "created_by": null,
        "inventory_item": {
            "id": 1,
            "item": {
                "id": 1,
                "name": "QA Test Feed Item",
                "calories": "0.00",
                "unit": {
                    "id": 19,
                    "name": "feed-9835232"
                },
                "categories": [
                    {
                        "id": 18,
                        "name": "feed-9835434"
                    }
                ],
                "supports": [],
                "ages": [],
                "cost_per_unit": "EGP 25.500",
                "total_quantity": null,
                "is_active": true,
                "note": "QA test feeding inventory item"
            },
            "item_type": "feeding"
        },
        "batch": {
            "id": 1,
            "batch_no": "BTH-20260729-CYKAEL",
            "quantity": 4,
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 127.500",
            "expiry_date": null
        },
        "supplier": {
            "id": 1,
            "name": "QA Test Supplier"
        },
        "created_at": "2026-07-29T12:57:31.000000Z"
    }
}
GET /api/v1/inventory/scraps

Get Scrap List

Retrieve a list of Scrap.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "quantity": "1.000",
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 25.500",
            "source": "manual",
            "reason": "QA Test Scrap Reason",
            "scrap_date": "2026-07-29",
            "note": "QA test scrap note",
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "inventory_item": {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "0.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [],
                    "ages": [],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": true,
                    "note": "QA test feeding inventory item"
                },
                "item_type": "feeding"
            },
            "batch": {
                "id": 1,
                "batch_no": "BTH-20260729-CYKAEL",
                "quantity": 4,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 127.500",
                "expiry_date": null
            },
            "supplier": {
                "id": 1,
                "name": "QA Test Supplier"
            },
            "created_at": "2026-07-29T12:57:31.000000Z"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 1,
        "last_page": 1
    }
}
GET /api/v1/inventory/scraps/1

Get Scrap Details

Retrieve Scrap details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 1,
        "quantity": "1.000",
        "unit_cost": "EGP 25.500",
        "total_cost": "EGP 25.500",
        "source": "manual",
        "reason": "QA Test Scrap Reason",
        "scrap_date": "2026-07-29",
        "note": "QA test scrap note",
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "inventory_item": {
            "id": 1,
            "item": {
                "id": 1,
                "name": "QA Test Feed Item",
                "calories": "100.00",
                "unit": {
                    "id": 19,
                    "name": "feed-9835232"
                },
                "categories": [
                    {
                        "id": 18,
                        "name": "feed-9835434"
                    }
                ],
                "supports": [
                    {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                ],
                "ages": [
                    {
                        "id": 12,
                        "name": "falc-9835121",
                        "data": {
                            "min_age": 90,
                            "max_age": 95
                        }
                    }
                ],
                "cost_per_unit": "EGP 25.500",
                "total_quantity": null,
                "is_active": false,
                "note": "test-note",
                "name_translate": {
                    "ar": "مادة علف اختبار الجودة",
                    "en": "QA Test Feed Item"
                }
            },
            "item_type": "feeding"
        },
        "batch": {
            "id": 1,
            "batch_no": "BTH-20260729-CYKAEL",
            "quantity": 4,
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 127.500",
            "expiry_date": null
        },
        "supplier": null,
        "created_at": "2026-07-29T12:57:31.000000Z"
    }
}
GET /api/v1/inventory/movements

Get Movement List

Retrieve a list of Movement.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": [
        {
            "id": 1,
            "item_id": 1,
            "inventory_item_batch_id": 1,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "purchase_in",
            "quantity": "5.000",
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 127.500",
            "inventory_item": {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "item_type": "feeding"
            },
            "batch": {
                "id": 1,
                "batch_no": "BTH-20260729-CYKAEL",
                "quantity": 4,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 127.500",
                "expiry_date": null
            },
            "supplier": null,
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 2,
            "item_id": 2,
            "inventory_item_batch_id": 2,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "purchase_in",
            "quantity": "5.000",
            "unit_cost": "EGP 15.250",
            "total_cost": "EGP 76.250",
            "inventory_item": {
                "id": 2,
                "item": null,
                "item_type": "medication"
            },
            "batch": {
                "id": 2,
                "batch_no": "BTH-20260729-R5AHRU",
                "quantity": 4,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 76.250",
                "expiry_date": null
            },
            "supplier": null,
            "created_at": "2026-07-29 15:57:29"
        },
        {
            "id": 3,
            "item_id": 3,
            "inventory_item_batch_id": 3,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "purchase_in",
            "quantity": "7.000",
            "unit_cost": "EGP 15.250",
            "total_cost": "EGP 106.750",
            "inventory_item": null,
            "batch": {
                "id": 3,
                "batch_no": "BTH-20260729-QIRGQN",
                "quantity": 7,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 106.750",
                "expiry_date": null
            },
            "supplier": null,
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 4,
            "item_id": 1,
            "inventory_item_batch_id": 4,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "purchase_in",
            "quantity": "10.000",
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 255.000",
            "inventory_item": {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "item_type": "feeding"
            },
            "batch": {
                "id": 4,
                "batch_no": "BTH-20260729-NHTUX2",
                "quantity": 9,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 255.000",
                "expiry_date": "2027-07-29"
            },
            "supplier": null,
            "created_at": "2026-07-29 15:57:30"
        },
        {
            "id": 5,
            "item_id": 1,
            "inventory_item_batch_id": 1,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "scrap_out",
            "quantity": "1.000",
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 25.500",
            "inventory_item": {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "item_type": "feeding"
            },
            "batch": {
                "id": 1,
                "batch_no": "BTH-20260729-CYKAEL",
                "quantity": 4,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 127.500",
                "expiry_date": null
            },
            "supplier": null,
            "created_at": "2026-07-29 15:57:31"
        },
        {
            "id": 6,
            "item_id": 2,
            "inventory_item_batch_id": 2,
            "created_by": null,
            "movement_type": "medication_out",
            "quantity": "1.000",
            "unit_cost": "EGP 15.250",
            "total_cost": "EGP 15.250",
            "inventory_item": {
                "id": 2,
                "item": null,
                "item_type": "medication"
            },
            "batch": {
                "id": 2,
                "batch_no": "BTH-20260729-R5AHRU",
                "quantity": 4,
                "unit_cost": "EGP 15.250",
                "total_cost": "EGP 76.250",
                "expiry_date": null
            },
            "supplier": null,
            "created_at": "2026-07-29 15:58:01"
        },
        {
            "id": 7,
            "item_id": 1,
            "inventory_item_batch_id": 4,
            "created_by": {
                "id": 1,
                "name": "Admin"
            },
            "movement_type": "feeding_out",
            "quantity": "1.000",
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 25.500",
            "inventory_item": {
                "id": 1,
                "item": {
                    "id": 1,
                    "name": "QA Test Feed Item",
                    "calories": "100.00",
                    "unit": {
                        "id": 19,
                        "name": "feed-9835232"
                    },
                    "categories": [
                        {
                            "id": 18,
                            "name": "feed-9835434"
                        }
                    ],
                    "supports": [
                        {
                            "id": 10,
                            "name": "anim-9835102"
                        }
                    ],
                    "ages": [
                        {
                            "id": 12,
                            "name": "falc-9835121",
                            "data": {
                                "min_age": 90,
                                "max_age": 95
                            }
                        }
                    ],
                    "cost_per_unit": "EGP 25.500",
                    "total_quantity": null,
                    "is_active": false,
                    "note": "test-note"
                },
                "item_type": "feeding"
            },
            "batch": {
                "id": 4,
                "batch_no": "BTH-20260729-NHTUX2",
                "quantity": 9,
                "unit_cost": "EGP 25.500",
                "total_cost": "EGP 255.000",
                "expiry_date": "2027-07-29"
            },
            "supplier": null,
            "created_at": "2026-07-29 15:58:02"
        }
    ],
    "pagination": {
        "per_page": 10,
        "current_page": 1,
        "total": 7,
        "last_page": 1
    }
}
GET /api/v1/inventory/movements/7

Get Movement Details

Retrieve Movement details.

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

Headers

Field/Name Type Examples
X-API-Token string X-API-Token Key
Content-Type string application/json
Accept string application/json
Authorization string Authorization Key
Success (200 OK)
{
    "success": true,
    "message": "Data retrieved successfully.",
    "data": {
        "id": 7,
        "item_id": 1,
        "inventory_item_batch_id": 4,
        "created_by": {
            "id": 1,
            "name": "Admin"
        },
        "movement_type": "feeding_out",
        "quantity": "1.000",
        "unit_cost": "EGP 25.500",
        "total_cost": "EGP 25.500",
        "inventory_item": {
            "id": 1,
            "item": {
                "id": 1,
                "name": "QA Test Feed Item",
                "calories": "100.00",
                "unit": {
                    "id": 19,
                    "name": "feed-9835232"
                },
                "categories": [
                    {
                        "id": 18,
                        "name": "feed-9835434"
                    }
                ],
                "supports": [
                    {
                        "id": 10,
                        "name": "anim-9835102"
                    }
                ],
                "ages": [
                    {
                        "id": 12,
                        "name": "falc-9835121",
                        "data": {
                            "min_age": 90,
                            "max_age": 95
                        }
                    }
                ],
                "cost_per_unit": "EGP 25.500",
                "total_quantity": null,
                "is_active": false,
                "note": "test-note",
                "name_translate": {
                    "ar": "مادة علف اختبار الجودة",
                    "en": "QA Test Feed Item"
                }
            },
            "item_type": "feeding"
        },
        "batch": {
            "id": 4,
            "batch_no": "BTH-20260729-NHTUX2",
            "quantity": 9,
            "unit_cost": "EGP 25.500",
            "total_cost": "EGP 255.000",
            "expiry_date": "2027-07-29"
        },
        "supplier": null,
        "created_at": "2026-07-29 15:58:02"
    }
}