MENU navbar-image

Introduction

Comprehensive API documentation for the AutoConnect platform. This documentation covers all REST API endpoints, integration flows with CRM/DMS systems (Keyloop, Zoho, SAP), vehicle synchronization, payment gateways, and lead management.

Welcome to AutoConnect API

This documentation provides all the information you need to integrate with the AutoConnect platform.

Architecture Overview

AutoConnect uses a strategy-based architecture for all external integrations. Each integration type (CRM, DMS, Payment, SMS) follows the same pattern:

  1. Strategy Interface — Defines the contract for all providers
  2. Strategy Factory — Resolves the correct provider based on client configuration
  3. Strategy Implementations — Provider-specific logic (Keyloop, Zoho, SAP, etc.)

Supported Integrations

Integration Supported Providers
CRM / DMS Keyloop, Zoho, MYNM, HConnect, SAP (planned)
Vehicle Sync Keyloop (API), Excel (FTP/Google Drive), SAP (planned)
Payment Gateway Fawry, AlRajhi, HyperPay
SMS Dewan, Mobishatra, Taqnyat, Unifconic, Vodafone

Integration Lifecycle

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_TOKEN}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

AutoConnect uses Bearer Token authentication (Laravel Sanctum). Admin endpoints require admin authentication. Public endpoints are marked as unauthenticated.

Vehicle Sync

Vehicle Synchronization

AutoConnect supports automatic vehicle synchronization from external DMS (Dealer Management Systems). The sync is triggered via scheduled Artisan commands and follows a strategy pattern based on client configuration.

Supported Strategies

Strategy Provider Method
keyloop Keyloop DMS API-based, fetches vehicles in paginated batches
excel FTP / SFTP / Google Drive Reads Excel file with vehicle hierarchy
sap SAP Planned — not yet implemented

Sync Flow

  1. Authenticate with the external system (OAuth2 for Keyloop)
  2. Fetch vehicles in batches (paginated for Keyloop, full file for Excel)
  3. Sync hierarchy: Make → Model → Variant → Vehicle
  4. Sync colors: Exterior and Interior colors are matched by code
  5. Post-sync cleanup: Vehicles not found in the latest fetch are marked unavailable

Artisan Commands

Configuration

Vehicle sync is configured per-client in the client config under integration:

{
  "integration": {
    "provider": "keyloop",
    "config": {
      "base_url": "https://api.keyloop.com",
      "enterprise_id": "your-enterprise-id",
      "store_id": "your-store-id",
      "username": "api-user",
      "password": "api-password",
      "sync_prices": true,
      "request_delay_ms": 200
    }
  }
}

Keyloop Vehicle Sync

Syncs vehicles from Keyloop DMS API. The process fetches all vehicles, syncs the complete hierarchy (Make → Model → Variant → Vehicle → Colors), and handles post-sync cleanup.

Authentication: OAuth2 with username/password credentials, token cached for reuse.

Batch Processing: Vehicles are processed in chunks to avoid memory issues and API rate limits.

Example request:
curl --request POST \
    "http://localhost/internal/integration/sync-vehicles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"enterprise_id\": \"ent-12345\",
    \"store_id\": \"store-001\"
}"
const url = new URL(
    "http://localhost/internal/integration/sync-vehicles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "enterprise_id": "ent-12345",
    "store_id": "store-001"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful sync response):


{
    "success": true,
    "message": "Keyloop vehicle sync completed successfully",
    "data": {
        "synced_count": 150,
        "created": 12,
        "updated": 138,
        "errors": 0
    }
}
 

Request   

POST internal/integration/sync-vehicles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

enterprise_id   string     

The Keyloop enterprise identifier Example: ent-12345

store_id   string     

The Keyloop store identifier Example: store-001

Excel Vehicle Sync (FTP/Google Drive)

Syncs vehicles from an Excel file hosted on FTP, SFTP, or Google Drive.

Supported Drivers: ftp, sftp, google (Google Drive)

Excel File Format

The Excel file must follow this column structure:

Column Index Description
Make Code 0 Vehicle make code
Make Name 1 Vehicle make name
Model Code 2 Vehicle model code
Model Name 3 Vehicle model name
Variant Code 4 Vehicle variant code
Variant Name 5 Vehicle variant description
VIN 6 Vehicle VIN
Chassis 7 Chassis number
Model Year 8 Manufacturing year
Exterior Code 9 Exterior color code
Exterior Name 10 Exterior color name
Interior Code 11 Interior color code
Interior Name 12 Interior color name
Price 13 Vehicle price

Configuration

{
  "integration": {
    "provider": "excel",
    "config": {
      "driver": "ftp",
      "host": "ftp.example.com",
      "username": "user",
      "password": "pass",
      "file_name": "vehicle-hierarchy-import.xlsx",
      "sync_prices": true
    }
  }
}
Example request:
curl --request POST \
    "http://localhost/internal/integration/sync-vehicles-excel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/internal/integration/sync-vehicles-excel"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200, Successful sync response):


{
    "success": true,
    "message": "Excel vehicle hierarchy synced successfully",
    "data": {
        "synced_count": 200,
        "created": 50,
        "updated": 150
    }
}
 

Request   

POST internal/integration/sync-vehicles-excel

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

CRM Lead Sync

CRM Lead Synchronization

When a lead is created in AutoConnect (via form submission), it is automatically synced to the configured CRM system. The CRM provider is resolved from client configuration using the Strategy Factory pattern.

Supported CRM Strategies for Leads

Strategy Provider Endpoint
zoho Zoho CRM crm/v5/Leads (sales) or Zoho Desk (tickets)
keyloop Keyloop DMS v1/leads/sales-lead
mynm MYNM Lead API Custom lead API with city/form type mapping
hconnect HConnect Lead Basket Lead Basket API with X-API-Key auth

Lead Creation Flow

  1. Lead submitted via form (General Form or Variant Form)
  2. Lead saved to local database via LeadService::create()
  3. If no provider_lead_id exists, sync to primary CRM via syncToPrimaryCrm()
  4. If client is an Analytics Hub, also sync to sub-clients via syncToSubClients()

CRM Configuration

{
  "crm": {
    "provider": "zoho",
    "config": {
      "base_url": "https://www.zohoapis.com",
      "client_id": "your-client-id",
      "client_secret": "your-client-secret",
      "refresh_token": "your-refresh-token",
      "layout_id": "layout-id"
    }
  }
}

Zoho CRM Lead Sync

Syncs leads to Zoho CRM. Sales-related forms are sent to the Zoho CRM Leads API (crm/v5/Leads), while non-sales forms (complaints, service requests) are routed to Zoho Desk as support tickets.

Authentication: OAuth2 with refresh token, cached access token with auto-retry on expiry.

Form Routing Logic

Form Type Destination Enquiry Type
Test Drive, Quote, Offer Zoho CRM Leads Sales Lead
Complaint, Service Request Zoho Desk Tickets Support Ticket
Newsletter, Career Skipped
Example request:
curl --request POST \
    "http://localhost/internal/crm/sync-lead" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"Ahmed\",
    \"last_name\": \"Al-Rashid\",
    \"email\": \"ahmed@example.com\",
    \"mobile\": \"+966501234567\",
    \"type\": 1,
    \"model\": \"Tucson\",
    \"city\": \"Riyadh\",
    \"message\": \"I\'m interested in a test drive\"
}"
const url = new URL(
    "http://localhost/internal/crm/sync-lead"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "Ahmed",
    "last_name": "Al-Rashid",
    "email": "ahmed@example.com",
    "mobile": "+966501234567",
    "type": 1,
    "model": "Tucson",
    "city": "Riyadh",
    "message": "I'm interested in a test drive"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful Zoho CRM lead sync):


{
    "error": false,
    "data": {
        "data": [
            {
                "status": "success",
                "details": {
                    "id": "5842000000123456"
                }
            }
        ],
        "leadId": "5842000000123456"
    }
}
 

Request   

POST internal/crm/sync-lead

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Customer first name Example: Ahmed

last_name   string     

Customer last name Example: Al-Rashid

email   string     

Customer email Example: ahmed@example.com

mobile   string     

Customer mobile number Example: +966501234567

type   integer  optional    

Form type ID (GeneralFormTypeEnum value) Example: 1

model   string  optional    

Vehicle model name Example: Tucson

city   string  optional    

Customer city Example: Riyadh

message   string  optional    

Customer message or inquiry details Example: I'm interested in a test drive

Keyloop Lead Sync

Syncs leads to Keyloop DMS via the v1/leads/sales-lead endpoint.

Authentication: OAuth2 with username/password, token cached with auto-retry.

Lead Payload Mapping

The lead data is mapped to Keyloop's expected format including:

Example request:
curl --request POST \
    "http://localhost/internal/crm/sync-lead-keyloop" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"Ahmed\",
    \"last_name\": \"Al-Rashid\",
    \"email\": \"ahmed@example.com\",
    \"mobile\": \"+966501234567\",
    \"vehicle_model_id\": 5
}"
const url = new URL(
    "http://localhost/internal/crm/sync-lead-keyloop"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "Ahmed",
    "last_name": "Al-Rashid",
    "email": "ahmed@example.com",
    "mobile": "+966501234567",
    "vehicle_model_id": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful Keyloop lead sync):


{
    "error": false,
    "data": {
        "leadId": "KL-LEAD-12345",
        "status": "created"
    }
}
 

Request   

POST internal/crm/sync-lead-keyloop

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Customer first name Example: Ahmed

last_name   string     

Customer last name Example: Al-Rashid

email   string     

Customer email Example: ahmed@example.com

mobile   string     

Customer mobile number Example: +966501234567

vehicle_model_id   integer  optional    

The vehicle model ID the customer is interested in Example: 5

MYNM Lead Sync

Syncs leads to the MYNM (Mohammed Yousuf Naghi Motors) Lead API.

Authentication: API token-based.

Special Mappings

Example request:
curl --request POST \
    "http://localhost/internal/crm/sync-lead-mynm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"Ahmed\",
    \"last_name\": \"\",
    \"email\": \"ahmed@example.com\",
    \"mobile\": \"0501234567\"
}"
const url = new URL(
    "http://localhost/internal/crm/sync-lead-mynm"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "Ahmed",
    "last_name": "",
    "email": "ahmed@example.com",
    "mobile": "0501234567"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful MYNM lead sync):


{
    "error": false,
    "data": {
        "leadId": "MYNM-12345"
    }
}
 

Request   

POST internal/crm/sync-lead-mynm

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Customer first name Example: Ahmed

last_name   string     

Customer last name

email   string     

Customer email Example: ahmed@example.com

mobile   string     

Customer mobile (formats to +966 automatically) Example: 0501234567

HConnect Lead Basket Sync

Syncs leads to HConnect Lead Basket API for sub-client lead distribution.

Authentication: X-API-Key header

Payload Fields

Field Source Required
firstName first_name or name Yes
lastName last_name Yes
phone mobile or phone Yes
email email Yes
city city.name.en or city (string) Yes
model vehicle_model.display_name.en or model No
source lead_enquiry_source No
utm_source From request input No
utm_medium From request input No
utm_campaign From request input No

Configuration

{
  "crm": {
    "provider": "hconnect",
    "config": {
      "url": "https://api.hconnect.com/lead-basket",
      "api_key": "your-api-key"
    }
  }
}
Example request:
curl --request POST \
    "http://localhost/internal/crm/sync-lead-hconnect" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"firstName\": \"Ahmed\",
    \"lastName\": \"Al-Rashid\",
    \"phone\": \"+966501234567\",
    \"email\": \"ahmed@example.com\",
    \"city\": \"Riyadh\",
    \"model\": \"Tucson\"
}"
const url = new URL(
    "http://localhost/internal/crm/sync-lead-hconnect"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "firstName": "Ahmed",
    "lastName": "Al-Rashid",
    "phone": "+966501234567",
    "email": "ahmed@example.com",
    "city": "Riyadh",
    "model": "Tucson"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful HConnect lead sync):


{
    "error": false,
    "data": {
        "leadId": "HC-12345",
        "response": {
            "id": "HC-12345",
            "status": "received"
        }
    }
}
 

Request   

POST internal/crm/sync-lead-hconnect

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

firstName   string     

Customer first name Example: Ahmed

lastName   string     

Customer last name Example: Al-Rashid

phone   string     

Customer phone number Example: +966501234567

email   string     

Customer email Example: ahmed@example.com

city   string     

Customer city name Example: Riyadh

model   string  optional    

Vehicle model name (optional) Example: Tucson

Catalogue Discovery

Catalogue Information Architecture

The discovery experience allows users to browse the complete vehicle catalogue with a structured hierarchical approach: Brand → Model → Variant → Configuration.

User Journey: Rich Exploration

  1. Landing: Featured models across different categories (SUV, Sedan, Electric).
  2. Model List: Browse available models with "Price From" and standard features.
  3. Model Detail: High-definition rich media, 360 views (if available), and comprehensive technical specifications.
  4. CTA Strategy: Dynamic CTAs ("Configur & Buy", "Enquire", "Test Drive") based on inventory availability.

List Vehicle Models

Retrieves all available vehicle models with starting prices, high-res images, and summary metadata.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "id": 1,
            "name": "Model X",
            "slug": "model-x",
            "price_from": 120000,
            "currency": "EGP",
            "media": {
                "thumbnail": "https://cdn.autoconnect.io/media/models/x_thumb.jpg",
                "hero": "https://cdn.autoconnect.io/media/models/x_hero.jpg",
                "gallery": [
                    "https://cdn.autoconnect.io/media/models/x_ext_1.jpg",
                    "https://cdn.autoconnect.io/media/models/x_int_1.jpg"
                ]
            },
            "key_specs": [
                {
                    "label": "Engine",
                    "value": "1.6L Turbo"
                },
                {
                    "label": "Power",
                    "value": "180 HP"
                }
            ]
        }
    ]
}
 

Request   

GET api/vehicle-models

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Vehicle Configurator

Guided Step-by-Step Configurator

The configurator allows for deep personalization of the chosen variant, validating every choice against live stock and business rules.

Configuration Steps

Stock Validation & Lead Times

The system distinguishes between In-Stock (available at specific showrooms) and Custom Order (factory lead times).

Validate/Save Configuration

Processes selections for colors, accessories, and protection plans, returning a final price and stock status.

Example request:
curl --request POST \
    "http://localhost/api/variants/25/configure" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"exterior_color_id\": 5,
    \"interior_color_id\": 3,
    \"accessories\": [
        101,
        102
    ],
    \"protection_plans\": [
        201
    ],
    \"insurance_opt_in\": true
}"
const url = new URL(
    "http://localhost/api/variants/25/configure"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "exterior_color_id": 5,
    "interior_color_id": 3,
    "accessories": [
        101,
        102
    ],
    "protection_plans": [
        201
    ],
    "insurance_opt_in": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Configuration valid):


{
    "success": true,
    "data": {
        "configuration_id": "CFG_99827",
        "stock_status": "In-Stock",
        "availability_node": "Cairo North Showroom",
        "estimated_delivery": "3-5 Working Days",
        "pricing": {
            "base_price": 1150000,
            "color_premium": 15000,
            "accessories_total": 8500,
            "protection_total": 12000,
            "insurance_estimate": 4500,
            "total_order_value": 1190000,
            "currency": "EGP"
        }
    }
}
 

Request   

POST api/variants/{id}/configure

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer  optional    

The variant ID Example: 25

Body Parameters

exterior_color_id   integer     

Example: 5

interior_color_id   integer     

Example: 3

accessories   integer[]  optional    

Array of accessory IDs

protection_plans   integer[]  optional    

IDs for Ceramic Coating, Tinting, etc.

insurance_opt_in   boolean  optional    

Include preliminary insurance estimate Example: true

Test Drive Booking

Comprehensive Booking Lifecycle

A digitized engine for scheduling vehicle experiences with location intelligence and secure verification.

Booking Types

Strategic Workflow

  1. Selection: Choose preferred model/variant and location.
  2. Verification (OTP): Customers verify their identity via OTP during the booking flow.
  3. Real-Time Slots: Direct integration with showroom staff and demonstrator vehicle availability.
  4. Lifecycle Management:
    • Reminders: Automated SMS/Email alerts (24h and 1h before).
    • Self-Service: Dedicated portal for cancelling or rescheduling without agent intervention.
    • Status Tracking: "Booking Request" → "Confirmed" → "Demonstrator Assigned" → "In-Progress" → "Completed".

Create Booking

requires authentication

Initiates a test drive request, handles document verification, and triggers identity OTP.

Example request:
curl --request POST \
    "http://localhost/api/test-drive/book" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"variant_id\": 25,
    \"mode\": \"home\",
    \"location_id\": 102,
    \"preferred_slot\": {
        \"date\": \"2025-04-15\",
        \"time\": \"10:30\"
    },
    \"otp_code\": \"9827\"
}"
const url = new URL(
    "http://localhost/api/test-drive/book"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "variant_id": 25,
    "mode": "home",
    "location_id": 102,
    "preferred_slot": {
        "date": "2025-04-15",
        "time": "10:30"
    },
    "otp_code": "9827"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Booking successful):


{
    "success": true,
    "data": {
        "booking_reference": "TDX-2025-001",
        "status": "Confirmed",
        "management_url": "https://autoconnect.io/my-bookings/TDX-2025-001",
        "demonstrator_info": {
            "name": "John Doe",
            "contact": "+201002223344"
        }
    }
}
 

Request   

POST api/test-drive/book

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

variant_id   integer     

Example: 25

mode   string     

'branch' or 'home' Example: home

location_id   integer  optional    

Required for 'branch' mode Example: 102

preferred_slot   object     
otp_code   string  optional    

Code sent during the booking session Example: 9827

Reschedule/Cancel Booking

requires authentication

Updates the date/time or cancels an existing booking through the self-service lifecycle.

Example request:
curl --request PUT \
    "http://localhost/api/test-drive/bookings/TDX-2025-001/manage" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"action\": \"reschedule\",
    \"new_slot\": {
        \"date\": \"2025-04-16\",
        \"time\": \"11:00\"
    }
}"
const url = new URL(
    "http://localhost/api/test-drive/bookings/TDX-2025-001/manage"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "action": "reschedule",
    "new_slot": {
        "date": "2025-04-16",
        "time": "11:00"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Update processed):


{
    "success": true,
    "message": "Booking successfully rescheduled."
}
 

Request   

PUT api/test-drive/bookings/{reference}/manage

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

reference   string  optional    

The unique booking reference Example: TDX-2025-001

Body Parameters

action   string     

'reschedule' or 'cancel' Example: reschedule

new_slot   object  optional    

Only required for 'reschedule' action

Leads

APIs for managing leads, assigning sales staff, and exporting lead data. Leads are automatically synced to the configured CRM system upon creation.

Export leads

requires authentication

Exports all leads as a CSV file download.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/leads/export" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/leads/export"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/leads/export

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

List all leads

requires authentication

Returns a paginated list of all leads with assigned sales information.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/leads" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/leads"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "id": 1,
            "first_name": "Ahmed",
            "last_name": "Al-Rashid",
            "email": "ahmed@example.com",
            "mobile": "+966501234567",
            "provider_lead_id": "ZOHO-12345",
            "assigned_sales": {
                "id": 2,
                "name": "Sales Rep"
            }
        }
    ]
}
 

Request   

GET api/admin/leads

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Create a new lead

requires authentication

Creates a lead and automatically syncs it to the configured CRM (Zoho/Keyloop/MYNM/HConnect).

Example request:
curl --request POST \
    "http://localhost/api/admin/leads" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"mobile\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/leads"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "mobile": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Success):


{
    "data": {
        "id": 1,
        "first_name": "Ahmed",
        "last_name": "Al-Rashid",
        "email": "ahmed@example.com",
        "mobile": "+966501234567",
        "provider_lead_id": "ZOHO-12345",
        "assigned_sales": null
    }
}
 

Request   

POST api/admin/leads

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Must not be greater than 255 characters. Example: b

last_name   string     

Must not be greater than 255 characters. Example: n

email   string     

Must be a valid email address. Example: ashly64@example.com

mobile   string     

Example: architecto

sales_id   string  optional    

The id of an existing record in the admins table.

provider_lead_id   string  optional    

Get lead details

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/admin/leads/architecto" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/leads/architecto"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": {
        "id": 1,
        "first_name": "Ahmed",
        "last_name": "Al-Rashid",
        "email": "ahmed@example.com",
        "mobile": "+966501234567",
        "provider_lead_id": "ZOHO-12345",
        "assigned_sales": {
            "id": 2,
            "name": "Sales Rep"
        }
    }
}
 

Request   

GET api/admin/leads/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the lead. Example: architecto

Update a lead

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/admin/leads/architecto" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"mobile\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/leads/architecto"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "mobile": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Success):


{
    "data": {
        "id": 1,
        "first_name": "Ahmed",
        "last_name": "Al-Rashid",
        "email": "ahmed@example.com",
        "mobile": "+966501234567",
        "provider_lead_id": "ZOHO-12345",
        "assigned_sales": {
            "id": 2,
            "name": "Sales Rep"
        }
    }
}
 

Request   

PUT api/admin/leads/{id}

PATCH api/admin/leads/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the lead. Example: architecto

Body Parameters

first_name   string     

Must not be greater than 255 characters. Example: b

last_name   string     

Must not be greater than 255 characters. Example: n

email   string     

Must be a valid email address. Example: ashly64@example.com

mobile   string     

Example: architecto

sales_id   string  optional    

The id of an existing record in the admins table.

provider_lead_id   string  optional    

Delete a lead

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/admin/leads/architecto" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/leads/architecto"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "message": "Deleted successfully"
}
 

Request   

DELETE api/admin/leads/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the lead. Example: architecto

GET api/admin/sales-assigned-leads/{salesId}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/sales-assigned-leads/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/sales-assigned-leads/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/sales-assigned-leads/{salesId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

salesId   string     

Example: architecto

Assign leads to sales staff

requires authentication

Assigns one or more leads to a sales representative.

Example request:
curl --request POST \
    "http://localhost/api/admin/assign-leads-to-sales" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"leads_ids\": [
        \"architecto\"
    ],
    \"sales_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/assign-leads-to-sales"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "leads_ids": [
        "architecto"
    ],
    "sales_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Success):


{
    "message": "Updated successfully",
    "data": [
        {
            "id": 1,
            "first_name": "Ahmed",
            "last_name": "Al-Rashid",
            "email": "ahmed@example.com",
            "mobile": "+966501234567",
            "provider_lead_id": "ZOHO-12345",
            "assigned_sales": {
                "id": 2,
                "name": "Sales Rep"
            }
        }
    ]
}
 

Request   

POST api/admin/assign-leads-to-sales

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

leads_ids   string[]     

The id of an existing record in the leads table.

sales_id   string     

The id of an existing record in the admins table. Example: architecto

POST api/admin/remove-leeds-assigned-sales

Example request:
curl --request POST \
    "http://localhost/api/admin/remove-leeds-assigned-sales" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"leads_ids\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/remove-leeds-assigned-sales"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "leads_ids": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/remove-leeds-assigned-sales

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

leads_ids   string[]     

The id of an existing record in the leads table.

Checkout & Onboarding

Checkout & Sales-Assisted deals

Seamlessly transitioning customers from a physical showroom experience to a digital checkout.

Sales-Assisted Workflow

Onboarding & KYC Gate

requires authentication

Generates a secure deal link for a customer based on a sales-side configuration.

Example request:
curl --request POST \
    "http://localhost/api/admin/orders/create-deal-link" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"customer_phone\": \"+201009998877\",
    \"configuration_details\": {
        \"variant_id\": 25,
        \"exterior_color_id\": 5,
        \"accessories\": [
            101
        ],
        \"discount_amount\": 5000
    },
    \"deal_notes\": \"Includes free ceramic coating as discussed.\"
}"
const url = new URL(
    "http://localhost/api/admin/orders/create-deal-link"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "customer_phone": "+201009998877",
    "configuration_details": {
        "variant_id": 25,
        "exterior_color_id": 5,
        "accessories": [
            101
        ],
        "discount_amount": 5000
    },
    "deal_notes": "Includes free ceramic coating as discussed."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Deal link dispatched):


{
    "success": true,
    "data": {
        "deal_id": "DEAL-XA-992",
        "link": "https://autoconnect.io/deal/XA992",
        "status": "Dispatched"
    }
}
 

Verify Deal & Access Checkout

Verifies the OTP sent to the customer to unlock their personalized deal link.

Example request:
curl --request POST \
    "http://localhost/api/checkout/verify-deal" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"deal_id\": \"DEAL-XA-992\",
    \"otp_code\": \"1234\"
}"
const url = new URL(
    "http://localhost/api/checkout/verify-deal"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "deal_id": "DEAL-XA-992",
    "otp_code": "1234"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Deal unlocked):


{
    "success": true,
    "data": {
        "token": "deal_access_token_xyz",
        "redirect_url": "/checkout/summary"
    }
}
 

Request   

POST api/checkout/verify-deal

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

deal_id   string     

Example: DEAL-XA-992

otp_code   string     

Example: 1234

Profile Onboarding Gate

requires authentication

Enforces mandatory KYC data capture for the customer profile.

Example request:
curl --request POST \
    "http://localhost/api/auth/onboard" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"full_name_en\": \"John Doe\",
    \"national_id\": \"29001011234567\",
    \"date_of_birth\": \"1990-01-01\",
    \"address\": \"Heliopolis, Cairo, Egypt\"
}"
const url = new URL(
    "http://localhost/api/auth/onboard"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "full_name_en": "John Doe",
    "national_id": "29001011234567",
    "date_of_birth": "1990-01-01",
    "address": "Heliopolis, Cairo, Egypt"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Onboarding complete):


{
    "success": true,
    "message": "Onboarding successful. Proceed to payment selection.",
    "is_ready_for_checkout": true
}
 

Request   

POST api/auth/onboard

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

full_name_en   string     

Example: John Doe

national_id   string     

Example: 29001011234567

date_of_birth   string     

Example: 1990-01-01

address   string     

Example: Heliopolis, Cairo, Egypt

Orders

APIs for creating and managing vehicle orders, including user orders, admin orders, payments, and order steps.

List all orders (Admin)

requires authentication

Returns a paginated list of all orders for admin view.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "id": 1,
            "order_value": 115000,
            "paid_amount": 5000,
            "vehicle_price": 100000,
            "status": "Confirmed",
            "status_message": "Order confirmed",
            "date": "Saturday, March 1, 2025",
            "is_payable": false,
            "trans_id": "TXN-12345",
            "full_or_partial": "partial",
            "amount": 5000,
            "delivery_fees": 500,
            "vat": 15000,
            "fees_breakdown": {
                "vehicle_price": 100000,
                "vat": 15000,
                "delivery": 500
            },
            "user": {
                "id": 1,
                "first_name": "Ahmed",
                "last_name": "Al-Rashid",
                "email": "ahmed@example.com"
            }
        }
    ]
}
 

Request   

GET api/admin/orders

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Get order details (Admin)

requires authentication

Returns full order details for admin view, including user, vehicle, payments, accessories, and assigned sales.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/orders/architecto" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/orders/architecto"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": {
        "id": 1,
        "order_value": 115000,
        "paid_amount": 5000,
        "vehicle_price": 100000,
        "status": "Confirmed",
        "status_message": "Order confirmed",
        "date": "Saturday 1st of March 2025",
        "is_payable": false,
        "trans_id": "TXN-12345",
        "full_or_partial": "partial",
        "amount": 5000,
        "delivery_fees": 500,
        "city": {
            "id": 1,
            "name": "Riyadh"
        },
        "address": "123 Main St",
        "warranty": {
            "id": 1,
            "name": "Extended Warranty",
            "price": 5000
        },
        "warranty_price": 5000,
        "user": {
            "id": 1,
            "first_name": "Ahmed",
            "last_name": "Al-Rashid",
            "email": "ahmed@example.com",
            "mobile": "+966501234567"
        },
        "vehicle": {
            "id": 10,
            "chassis": "VIN123456",
            "model_year": 2025,
            "price": 100000
        },
        "payments": [
            {
                "id": 1,
                "amount": 5000,
                "type": "online",
                "status": "success",
                "transaction_id": "TXN-12345"
            }
        ],
        "accessories": [
            {
                "id": 1,
                "name": "Floor Mats",
                "price": 500
            }
        ],
        "assigned_sales": {
            "id": 2,
            "name": "Sales Rep"
        },
        "fees_breakdown": {
            "vehicle_price": 100000,
            "vat": 15000,
            "delivery": 500
        },
        "addon_prices_breakdown": []
    }
}
 

Request   

GET api/admin/orders/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

Create admin order

requires authentication

Creates an order from the admin panel by assigning a lead to a vehicle. Triggers DMS sync if configured.

Example request:
curl --request POST \
    "http://localhost/api/admin/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"lead_id\": 16,
    \"chassis\": \"architecto\",
    \"sales_id\": 16,
    \"vehicle_price\": 4326.41688,
    \"address\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "lead_id": 16,
    "chassis": "architecto",
    "sales_id": 16,
    "vehicle_price": 4326.41688,
    "address": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Success):


{
    "message": "Vehicle order confirmed successfully",
    "data": {
        "customer": {
            "id": 1,
            "first_name": "Ahmed",
            "last_name": "Al-Rashid",
            "email": "ahmed@example.com"
        },
        "order": {
            "id": 1,
            "order_value": 115000,
            "status": "Confirmed",
            "vehicle_price": 100000
        },
        "vehicle": {
            "id": 10,
            "chassis": "VIN123456",
            "model_year": 2025
        }
    }
}
 

Request   

POST api/admin/orders

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

lead_id   integer     

The id of an existing record in the leads table. Example: 16

chassis   string     

The chassis of an existing record in the vehicles table. Example: architecto

sales_id   integer  optional    

The id of an existing record in the admins table. Example: 16

accessories   string[]  optional    

The id of an existing record in the accessories table.

warranty_id   string  optional    

The id of an existing record in the warranties table.

vehicle_price   number  optional    

Example: 4326.41688

city_id   string  optional    

The id of an existing record in the cities table.

delivery_option_id   string  optional    

The id of an existing record in the delivery_options table.

address   string  optional    

Example: architecto

showroom_id   string  optional    

The id of an existing record in the locations table.

PUT api/admin/orders/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/orders/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chassis\": \"architecto\",
    \"sales_id\": 16,
    \"vehicle_price\": 4326.41688,
    \"address\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/orders/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chassis": "architecto",
    "sales_id": 16,
    "vehicle_price": 4326.41688,
    "address": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/orders/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

Body Parameters

chassis   string  optional    

The chassis of an existing record in the vehicles table. Example: architecto

sales_id   integer  optional    

The id of an existing record in the admins table. Example: 16

accessories   string[]  optional    

The id of an existing record in the accessories table.

warranty_id   string  optional    

The id of an existing record in the warranties table.

vehicle_price   number  optional    

Example: 4326.41688

city_id   string  optional    

The id of an existing record in the cities table.

delivery_option_id   string  optional    

The id of an existing record in the delivery_options table.

address   string  optional    

Example: architecto

showroom_id   string  optional    

The id of an existing record in the locations table.

Cancel order

requires authentication

Cancels an order and triggers DMS cancellation (cancelSalesOrder() + cancelVehicleReservation()) if configured.

Example request:
curl --request POST \
    "http://localhost/api/admin/orders/architecto/cancel" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/orders/architecto/cancel"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "message": "Vehicle order cancelled successfully"
}
 

Request   

POST api/admin/orders/{id}/cancel

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

Get reservation amount

Returns the configured reservation (deposit) amount for orders.

Example request:
curl --request GET \
    --get "http://localhost/api/orders/reservation-amount" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/reservation-amount"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": 5000
}
 

Request   

GET api/orders/reservation-amount

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Calculate order fees

Calculates the breakdown of fees for a specific variant, including base price, VAT, addon prices, and delivery.

Example request:
curl --request POST \
    "http://localhost/api/orders/order-fees-calculates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/order-fees-calculates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "message": "Order fees calculated successfully",
    "data": {
        "vehicle_price": 100000,
        "vat_rate": 15,
        "vat_amount": 15000,
        "total": 115000,
        "addon_prices": [
            {
                "name": "Metallic Paint",
                "price": 2000
            }
        ],
        "delivery_fees": 500
    }
}
 

Request   

POST api/orders/order-fees-calculates/{variant_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

GET api/orders/{id}/payments

Example request:
curl --request GET \
    --get "http://localhost/api/orders/architecto/payments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/architecto/payments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/orders/{id}/payments

POST api/orders/{id}/payments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

GET api/orders/{id}/receipt-pdf

Example request:
curl --request GET \
    --get "http://localhost/api/orders/architecto/receipt-pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/architecto/receipt-pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/orders/{id}/receipt-pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

Create a new order

requires authentication

Creates a vehicle order. Returns a payment gateway URL for online payments, or the order resource for bank transfers. After order creation, the system automatically syncs to the configured DMS (Keyloop/Zoho) via createCustomer() and createSalesOrder().

Example request:
curl --request POST \
    "http://localhost/api/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "variant_id=architecto"\
    --form "exterior_color_id=architecto"\
    --form "interior_color_id=architecto"\
    --form "full_or_partial=1"\
    --form "type=1"\
    --form "user[gender]=architecto"\
    --form "user[marital_status]=architecto"\
    --form "user[date_of_birth]=2026-03-02"\
    --form "user[zip_code]=architecto"\
    --form "user[profession]=architecto"\
    --form "user[national_id]=architecto"\
    --form "address=architecto"\
    --form "proof_of_payment=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpku14rqvpur82dBFyD3f" \
    --form "national_id_file[]=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php53ce1124m4m2euCSYnj" \
    --form "national_id_file_back[]=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpisa27du2f43t64VrhQC" \
    --form "driving_license[]=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php266kjaq1i72i8oiLGXE" \
    --form "driving_license_back[]=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpi8641io5vrid3ZGqz6i" 
const url = new URL(
    "http://localhost/api/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('variant_id', 'architecto');
body.append('exterior_color_id', 'architecto');
body.append('interior_color_id', 'architecto');
body.append('full_or_partial', '1');
body.append('type', '1');
body.append('user[gender]', 'architecto');
body.append('user[marital_status]', 'architecto');
body.append('user[date_of_birth]', '2026-03-02');
body.append('user[zip_code]', 'architecto');
body.append('user[profession]', 'architecto');
body.append('user[national_id]', 'architecto');
body.append('address', 'architecto');
body.append('proof_of_payment', document.querySelector('input[name="proof_of_payment"]').files[0]);
body.append('national_id_file[]', document.querySelector('input[name="national_id_file[]"]').files[0]);
body.append('national_id_file_back[]', document.querySelector('input[name="national_id_file_back[]"]').files[0]);
body.append('driving_license[]', document.querySelector('input[name="driving_license[]"]').files[0]);
body.append('driving_license_back[]', document.querySelector('input[name="driving_license_back[]"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200, Online Payment):


{
    "data": {
        "payment_link": "https://gateway.example.com/pay/session-12345"
    }
}
 

Example response (200, Bank Transfer):


{
    "data": {
        "id": 1,
        "order_value": 115000,
        "paid_amount": 0,
        "vehicle_price": 100000,
        "status": "Pending Payment",
        "status_message": "Awaiting bank transfer confirmation",
        "date": "Saturday, March 1, 2025",
        "is_payable": true,
        "encrypted": "eyJpdiI6...",
        "full_or_partial": "full",
        "amount": 115000,
        "delivery_fees": 500,
        "vat": 15000,
        "warranty": {
            "id": 1,
            "name": "Extended Warranty",
            "price": 5000
        },
        "vehicle": {
            "id": 10,
            "chassis": "VIN123456",
            "model_year": 2025
        }
    }
}
 

Request   

POST api/orders

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

variant_id   string     

The id of an existing record in the variants table. Example: architecto

exterior_color_id   string     

The id of an existing record in the exterior_colors table. Example: architecto

interior_color_id   string     

The id of an existing record in the interior_colors table. Example: architecto

full_or_partial   string     

Example: 1

Must be one of:
  • 0
  • 1
amount   string  optional    
type   integer     

Example: 1

Must be one of:
  • 1
  • 2
  • 3
proof_of_payment   file  optional    

This field is required when type is 2. Must be a file. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpku14rqvpur82dBFyD3f

national_id_file   file[]  optional    

Must be a file.

national_id_file_back   file[]  optional    

Must be a file.

driving_license   file[]  optional    

Must be a file.

driving_license_back   file[]  optional    

Must be a file.

accessories   object[]  optional    
id   string  optional    

The id of an existing record in the accessories table.

user   object  optional    
gender   string  optional    

Example: architecto

marital_status   string  optional    

Example: architecto

date_of_birth   string  optional    

Must be a valid date. Must be a valid date in the format Y-m-d. Example: 2026-03-02

zip_code   string  optional    

Example: architecto

profession   string  optional    

Example: architecto

national_id   string  optional    

Example: architecto

warranty_id   string  optional    

The id of an existing record in the warranties table.

city_id   string  optional    

The id of an existing record in the cities table.

delivery_option_id   string  optional    

The id of an existing record in the delivery_options table.

address   string  optional    

Example: architecto

showroom_id   string  optional    

The id of an existing record in the locations table.

GET api/orders/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/orders/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/orders/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

POST api/orders/{id}/payment

Example request:
curl --request POST \
    "http://localhost/api/orders/architecto/payment" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "amount=95"\
    --form "type=2"\
    --form "proof_of_payment=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phptq8a0q29872q9ZCky2j" 
const url = new URL(
    "http://localhost/api/orders/architecto/payment"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('amount', '95');
body.append('type', '2');
body.append('proof_of_payment', document.querySelector('input[name="proof_of_payment"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/orders/{id}/payment

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order. Example: architecto

Body Parameters

amount   number     

Must be at least 100. Example: 95

type   integer     

Example: 2

Must be one of:
  • 1
  • 2
  • 3
proof_of_payment   file  optional    

This field is required when type is 2. Must be a file. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phptq8a0q29872q9ZCky2j

Payment

Payment Gateways

AutoConnect supports multiple payment gateways for order payments. The gateway is configured per-client.

Supported Payment Gateways

Gateway Provider Region
fawry Fawry Egypt
alrajhi Al Rajhi Bank Saudi Arabia
hyperpay HyperPay MENA Region

Payment Flow

  1. User creates order with payment type (online or bank transfer)
  2. System calculates fees (base price + accessories + warranty + delivery - discounts + VAT)
  3. Payment gateway URL is generated and returned to the frontend
  4. User is redirected to the gateway to complete payment
  5. Gateway callback notifies AutoConnect of payment result
  6. Order status updated based on payment result (confirmed or failed)

Payment Types

Type Description
online Redirect to payment gateway (Fawry/AlRajhi/HyperPay)
bank_transfer User uploads proof of bank transfer, admin reviews

Configuration

{
  "payment": {
    "provider": "hyperpay",
    "config": {
      "entity_id": "your-entity-id",
      "access_token": "your-access-token",
      "base_url": "https://eu-test.oppwa.com"
    }
  }
}

Initiate Payment

Creates a payment session with the configured gateway and returns a redirect URL for the customer.

Example request:
curl --request POST \
    "http://localhost/internal/payment/initiate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": 123,
    \"amount\": 115000,
    \"type\": \"online\"
}"
const url = new URL(
    "http://localhost/internal/payment/initiate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 123,
    "amount": 115000,
    "type": "online"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Payment gateway URL returned):


{
    "success": true,
    "data": {
        "payment_link": "https://gateway.example.com/pay/session-12345"
    }
}
 

Request   

POST internal/payment/initiate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   integer     

The order ID to pay for Example: 123

amount   number     

Payment amount in the local currency Example: 115000

type   string     

Payment type: 'online' or 'bank_transfer' Example: online

CRM Order Sync

CRM Order Synchronization

When an order is confirmed in AutoConnect, it triggers a series of CRM/DMS sync operations:

  1. Create CustomercreateCustomer($user) — Registers the customer on the DMS
  2. Create Sales OrdercreateSalesOrder($order) — Creates the sales order with vehicle and pricing details
  3. Reserve VehiclereserveVehicle($vehicleId) — Marks the vehicle as reserved on the DMS

When an order is cancelled:

  1. Cancel Sales OrdercancelSalesOrder($orderSyncCode) — Cancels the order on the DMS
  2. Release VehiclecancelVehicleReservation($vehicleId) — Releases the vehicle reservation

Strategy Support

Operation Keyloop Zoho MYNM HConnect
createCustomer() ✅ Full ⏳ Planned ❌ N/A ❌ N/A
createSalesOrder() ✅ Full ⏳ Planned ❌ N/A ❌ N/A
cancelSalesOrder() ✅ Full ⏳ Planned ❌ N/A ❌ N/A
reserveVehicle() ✅ Full ⏳ Planned ❌ N/A ❌ N/A
cancelVehicleReservation() ✅ Full ⏳ Planned ❌ N/A ❌ N/A
getVehicleDetails() ✅ Full ⏳ Planned ❌ N/A ❌ N/A

Create Customer on DMS (Keyloop)

Creates a customer record on Keyloop DMS via POST v3/customers.

This is automatically called when a user places an order. The customer record includes:

The returned customerId is stored locally as customer_key for future reference.

Example request:
curl --request POST \
    "http://localhost/internal/crm/create-customer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"Ahmed\",
    \"last_name\": \"Al-Rashid\",
    \"email\": \"ahmed@example.com\",
    \"mobile\": \"+966501234567\",
    \"national_id\": \"1234567890\"
}"
const url = new URL(
    "http://localhost/internal/crm/create-customer"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "Ahmed",
    "last_name": "Al-Rashid",
    "email": "ahmed@example.com",
    "mobile": "+966501234567",
    "national_id": "1234567890"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful customer creation):


{
    "error": false,
    "data": {
        "customer": {
            "customerId": "CUST-KL-12345"
        }
    }
}
 

Request   

POST internal/crm/create-customer

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Customer first name Example: Ahmed

last_name   string     

Customer last name Example: Al-Rashid

email   string     

Customer email Example: ahmed@example.com

mobile   string     

Customer mobile Example: +966501234567

national_id   string  optional    

Customer national ID number Example: 1234567890

Create Sales Order on DMS (Keyloop)

Creates a sales order on Keyloop DMS via POST v1/sales-orders.

Payload Structure

The sales order payload includes:

Price Calculation

Example Payload (sent to Keyloop)

{
  "orderInformation": {
    "externalSalesOrderReference": 123,
    "orderDate": "2025-03-02T10:30:00",
    "salesPerson": { "salesPersonId": "sp-001", "name": "Sales Rep" },
    "salesType": "RETAIL"
  },
  "invoiceParties": {
    "mainInvoiceParty": {
      "payeeType": "INDIVIDUAL",
      "payee": { "customerId": "CUST-KL-12345", "payeeName": "Ahmed Al-Rashid" }
    }
  },
  "vehicles": [
    {
      "vehicleId": "VEH-001",
      "prices": {
        "listPrice": {
          "netValue": 100000,
          "grossValue": 115000,
          "taxValue": 15000,
          "taxRate": 15.0,
          "currencyCode": "SAR"
        }
      },
      "specification": {
        "primaryExteriorColor": { "code": "EXT-BLK" },
        "primaryInteriorColor": { "code": "INT-BLK" }
      }
    }
  ]
}
Example request:
curl --request POST \
    "http://localhost/internal/crm/create-sales-order" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": 123,
    \"customer_key\": \"CUST-KL-12345\",
    \"vehicle_code\": \"VEH-001\"
}"
const url = new URL(
    "http://localhost/internal/crm/create-sales-order"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 123,
    "customer_key": "CUST-KL-12345",
    "vehicle_code": "VEH-001"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful sales order creation):


{
    "error": false,
    "data": {
        "salesOrderId": "SO-KL-67890",
        "status": "created"
    }
}
 

Request   

POST internal/crm/create-sales-order

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   integer     

The AutoConnect order ID Example: 123

customer_key   string     

The customer ID from the DMS (obtained from createCustomer) Example: CUST-KL-12345

vehicle_code   string     

The vehicle code from the DMS Example: VEH-001

Reserve Vehicle on DMS

Reserves a vehicle on the DMS when an order is confirmed. This prevents the vehicle from being sold to another customer.

Keyloop: Sends reservation payload to the vehicle management API.

When withoutRelease is true, the vehicle is reserved without releasing any previous reservation.

Cancel Reservation

When an order is cancelled, cancelVehicleReservation() is called to release the vehicle back to available stock.

Example request:
curl --request POST \
    "http://localhost/internal/crm/reserve-vehicle" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_id\": \"VEH-001\",
    \"without_release\": false
}"
const url = new URL(
    "http://localhost/internal/crm/reserve-vehicle"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_id": "VEH-001",
    "without_release": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Successful vehicle reservation):


{
    "error": false,
    "data": {
        "vehicleId": "VEH-001",
        "status": "reserved"
    }
}
 

Request   

POST internal/crm/reserve-vehicle

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vehicle_id   string     

The vehicle ID on the DMS Example: VEH-001

without_release   boolean  optional    

If true, reserve without releasing previous reservation Example: false

Financing (Panel Banks)

Financing Module

The financing module provides a fully digitized end-to-end journey for both Panel (API-integrated) and Non-Panel banks.

Panel Banks (Digital Scoring)

Post-Approval Actions

Submit Finance Application (Panel Bank)

requires authentication

Submit a full finance application to an integrated panel bank for real-time scoring.

Example request:
curl --request POST \
    "http://localhost/api/financing/application/apply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": 123,
    \"bank_id\": 5,
    \"employment_sector\": \"Public\",
    \"monthly_salary\": 15000,
    \"down_payment\": 20000
}"
const url = new URL(
    "http://localhost/api/financing/application/apply"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 123,
    "bank_id": 5,
    "employment_sector": "Public",
    "monthly_salary": 15000,
    "down_payment": 20000
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Application submitted):


{
    "success": true,
    "data": {
        "application_id": "FIN-5544",
        "current_status": "Scoring in Progress",
        "estimated_decision_time": "15 minutes"
    }
}
 

Request   

POST api/financing/application/apply

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   integer  optional    

Example: 123

bank_id   integer  optional    

Example: 5

employment_sector   string  optional    

e.g., 'Military', 'Public', 'Private' Example: Public

monthly_salary   number  optional    

Example: 15000

down_payment   number  optional    

Example: 20000

Financing (Non-Panel Banks)

Non-Panel Banks (Manual)

Allows users who prefer banks not yet integrated via API to remain within the digital journey.

The Hybrid Journey

  1. User selects "Personal Loan / Non-Panel Bank".
  2. User generates a Digital Quotation (Proforma Invoice) to take to their bank.
  3. After offline approval, user returns to the portal to upload the Approval Document.
  4. Verification Gate: Admin verifies the document, then releases the Sales Order creation.

Upload Non-Panel Approval

requires authentication

Uploads the approval document obtained from an offline bank to resume the AutoConnect journey.

Example request:
curl --request POST \
    "http://localhost/api/financing/non-panel/upload-approval" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://localhost/api/financing/non-panel/upload-approval"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (201, Document uploaded):


{
    "success": true,
    "message": "Approval document submitted for verification.",
    "data": {
        "status": "Pending Admin Verification"
    }
}
 

Request   

POST api/financing/non-panel/upload-approval

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

approval_document   file  optional    

PDF or Image of the bank approval letter

Enterprise Trade-In

Enterprise Trade-In Engine

Automates the trade-in experience, allowing customers to offset the cost of their new car using their current vehicle as a single transaction (Key-for-Key swap).

The Evaluation Journey

Valuation & Intelligence

Start Trade-In Request

requires authentication

Initiates a trade-in evaluation request for a specific VIN.

Example request:
curl --request POST \
    "http://localhost/api/trade-in/request" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vin\": \"WBA1234567890\",
    \"mileage\": 45000,
    \"brand\": \"Toyota\",
    \"model_year\": 2021
}"
const url = new URL(
    "http://localhost/api/trade-in/request"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vin": "WBA1234567890",
    "mileage": 45000,
    "brand": "Toyota",
    "model_year": 2021
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Request started):


{
    "success": true,
    "data": {
        "evaluation_id": "EVAL-1122",
        "next_step": "capture_photos"
    }
}
 

Request   

POST api/trade-in/request

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vin   string  optional    

Example: WBA1234567890

mileage   integer  optional    

Example: 45000

brand   string  optional    

Example: Toyota

model_year   integer  optional    

Example: 2021

Submit 99-Point Inspection

requires authentication

Structured submission of vehicle condition data after professional inspection.

Example request:
curl --request POST \
    "http://localhost/api/trade-in/evaluation/submit-inspection" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"evaluation_id\": \"EVAL-1122\",
    \"engine_score\": 95,
    \"body_damage\": [
        {
            \"panel\": \"front_left_door\",
            \"damage\": \"scratch\",
            \"severity\": \"low\"
        }
    ],
    \"photos\": [
        \"https:\\/\\/cdn.com\\/eval\\/p1.jpg\",
        \"https:\\/\\/cdn.com\\/eval\\/p2.jpg\"
    ]
}"
const url = new URL(
    "http://localhost/api/trade-in/evaluation/submit-inspection"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "evaluation_id": "EVAL-1122",
    "engine_score": 95,
    "body_damage": [
        {
            "panel": "front_left_door",
            "damage": "scratch",
            "severity": "low"
        }
    ],
    "photos": [
        "https:\/\/cdn.com\/eval\/p1.jpg",
        "https:\/\/cdn.com\/eval\/p2.jpg"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Inspection submitted):


{
    "success": true,
    "data": {
        "preliminary_value": 75000,
        "offer_status": "Awaiting Final Review"
    }
}
 

Request   

POST api/trade-in/evaluation/submit-inspection

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

evaluation_id   string  optional    

Example: EVAL-1122

engine_score   integer  optional    

Example: 95

body_damage   object[]  optional    

Array of coordinates and damage types on external shell

photos   string[]  optional    

URLs of uploaded 360-degree inspection photos

Mechanical & GR Journey

Service Operations & Approval Lifecycle

Digitizing the aftersales journey to ensure transparency, speed, and real-time customer involvement.

Mechanical & General Repair (GR)

  1. Pre-Visit Parts Sync: Real-time DMS check ensures parts are on-shelf before the appointment is confirmed.
  2. Digital Walk-Around: Service advisors document vehicle condition (scratches, fuel level, tires) via the mobile app upon arrival.
  3. Real-Time Tracker: Proactive status updates (Under Diagnosis → Work in Progress → Final Wash).
  4. Estimate Approval Engine:
    • Mandatory Items: Required for vehicle safety/reliability.
    • Optional Items: Upsell items (e.g., fuel treatment) that the customer can selectively decline.
  5. E-Gate Pass: Once the invoice is paid online, a digital QR code is issued for showroom exit.

Body & Paint (BP) Workflow

Submit Digital Walk-Around

requires authentication

Captures initial vehicle condition data and media upon arrival at the service center.

Example request:
curl --request POST \
    "http://localhost/api/service/check-in/walk-around" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"appointment_id\": \"APT-8821\",
    \"fuel_level\": \"3\\/4\",
    \"damage_spots\": [
        {
            \"area\": \"front_bumper\",
            \"severity\": \"minor\"
        }
    ],
    \"photos\": [
        \"data:image\\/jpeg;base64,...\"
    ]
}"
const url = new URL(
    "http://localhost/api/service/check-in/walk-around"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "appointment_id": "APT-8821",
    "fuel_level": "3\/4",
    "damage_spots": [
        {
            "area": "front_bumper",
            "severity": "minor"
        }
    ],
    "photos": [
        "data:image\/jpeg;base64,..."
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Check-in complete):


{
    "success": true,
    "message": "Vehicle checked in. Technician assignment pending.",
    "check_in_time": "2025-04-15 09:12:00"
}
 

Request   

POST api/service/check-in/walk-around

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

appointment_id   string     

Example: APT-8821

fuel_level   string  optional    

e.g., '1/4', 'Full' Example: 3/4

damage_spots   object[]  optional    

Markers on the 2D car model

photos   string[]  optional    

Base64 thumbnails of walk-around photos

Selective Estimate Approval

requires authentication

Allows the customer to review a detailed quote and selectively approve/decline specific line items.

Example request:
curl --request POST \
    "http://localhost/api/service/estimates/QUO-9912/approve" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"selections\": [
        {
            \"item_id\": 1,
            \"action\": \"approve\"
        },
        {
            \"item_id\": 2,
            \"action\": \"approve\"
        },
        {
            \"item_id\": 3,
            \"action\": \"decline\",
            \"reason\": \"Too expensive\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/service/estimates/QUO-9912/approve"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "selections": [
        {
            "item_id": 1,
            "action": "approve"
        },
        {
            "item_id": 2,
            "action": "approve"
        },
        {
            "item_id": 3,
            "action": "decline",
            "reason": "Too expensive"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Work authorized):


{
    "success": true,
    "new_total": 4500,
    "status": "APPROVED_PARTIAL",
    "next_step": "work_starts"
}
 

Request   

POST api/service/estimates/{quote_id}/approve

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

quote_id   string  optional    

Example: QUO-9912

Body Parameters

selections   object[]     

Real-Time Progress Tracker

requires authentication

Fetches the current live status of the vehicle in the workshop (Diagnosis, Parts, Labor, Washing).

Example request:
curl --request GET \
    --get "http://localhost/api/service/status/progress?vin=WBA12345678" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service/status/progress"
);

const params = {
    "vin": "WBA12345678",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Status snapshot):


{
    "success": true,
    "status": "PARTS_FETCHING",
    "completion_estimate": "16:30 today",
    "live_media": [
        "https://cdn.autoconnect.io/workshop/cam1.jpg"
    ]
}
 

Request   

GET api/service/status/progress

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

vin   string     

Example: WBA12345678

Sales Intelligence

Lead & Sales Intelligence

Consolidated analytics reporting for executive oversight and sales team management.

Reporting Pillars

Executive KPI Dashboard

requires authentication

Retrieves high-level performance metrics for the selected period.

Example request:
curl --request GET \
    --get "http://localhost/api/analytics/executive-overview?period=monthly" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/analytics/executive-overview"
);

const params = {
    "period": "monthly",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, KPI Data):


{
    "success": true,
    "data": {
        "gross_orders": 150,
        "conversion_rate": 12.5,
        "avg_transaction_value": 115000,
        "net_sales": 17250000,
        "trends": {
            "orders": "up",
            "revenue": "up"
        }
    }
}
 

Request   

GET api/analytics/executive-overview

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

period   string  optional    

'daily', 'weekly', 'monthly' Example: monthly

Used Cars Module

Used Cars Inventory & Discovery

Handles the unique lifecycle of Certified Pre-Owned (CPO) and non-CPO used vehicles.

Features

Used Car Inventory Ingestion

requires authentication

Creates a unique trackable digital asset for a used vehicle.

Example request:
curl --request POST \
    "http://localhost/api/admin/used-cars/ingest" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vin\": \"WBA778899\",
    \"mileage\": 22000,
    \"condition_grade\": \"A+\"
}"
const url = new URL(
    "http://localhost/api/admin/used-cars/ingest"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vin": "WBA778899",
    "mileage": 22000,
    "condition_grade": "A+"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201, Asset created):


{
    "success": true,
    "data": {
        "sku": "USED-HY-001",
        "status": "Awaiting Photography"
    }
}
 

Request   

POST api/admin/used-cars/ingest

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vin   string  optional    

Example: WBA778899

mileage   integer  optional    

Example: 22000

condition_grade   string  optional    

Example: A+

Forms

APIs for managing general forms (inquiries, test drives, complaints, etc.) and retrieving available form types.

List all forms

requires authentication

Returns a paginated list of submitted general forms.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/general-forms" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://localhost/api/admin/general-forms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "id": 1,
            "type": "Test Drive",
            "form_name": "Request a Test Drive",
            "first_name": "Ahmed",
            "last_name": "Al-Rashid",
            "email": "ahmed@example.com",
            "phone": "+966501234567",
            "message": "I want to test drive the Tucson",
            "enquiry_type": "Sales Lead",
            "purchase_plan": "Cash",
            "manufacturing_year": "2025",
            "vehicleModel": {
                "id": 1,
                "name": "Tucson"
            },
            "city": {
                "id": 1,
                "name": "Riyadh"
            },
            "created_at": "2025-03-01T10:30:00Z"
        }
    ]
}
 

Request   

GET api/admin/general-forms

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

type   string  optional    

Export general forms to CSV.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/general-forms/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/general-forms/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/general-forms/export

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available form types

requires authentication

Returns the list of supported form types for the current client.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/general-form-types" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/general-form-types"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "value": 1,
            "label": "Test Drive"
        },
        {
            "value": 2,
            "label": "Request a Quote"
        },
        {
            "value": 3,
            "label": "Service"
        },
        {
            "value": 4,
            "label": "Complaint"
        },
        {
            "value": 5,
            "label": "Newsletter"
        }
    ]
}
 

Request   

GET api/admin/general-form-types

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available form types

requires authentication

Returns the list of supported form types for the current client.

Example request:
curl --request GET \
    --get "http://localhost/api/general-form-types" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/general-form-types"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Success):


{
    "data": [
        {
            "value": 1,
            "label": "Test Drive"
        },
        {
            "value": 2,
            "label": "Request a Quote"
        },
        {
            "value": 3,
            "label": "Service"
        },
        {
            "value": 4,
            "label": "Complaint"
        },
        {
            "value": 5,
            "label": "Newsletter"
        }
    ]
}
 

Request   

GET api/general-form-types

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Submit a general form

requires authentication

Creates a new form submission. The form data is processed and synced to CRM if applicable.

Example request:
curl --request POST \
    "http://localhost/api/general-forms" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "type=11"\
    --form "first_name=b"\
    --form "last_name=n"\
    --form "email=ashly64@example.com"\
    --form "phone=architecto"\
    --form "form_name=architecto"\
    --form "message=architecto"\
    --form "enquiry_type=architecto"\
    --form "category=architecto"\
    --form "sub_category=architecto"\
    --form "salutation=Mrs"\
    --form "subscribe_to_newsletter=1"\
    --form "preferred_time_to_call=architecto"\
    --form "preferred_contact_method=architecto"\
    --form "date=2026-03-02T22:08:08"\
    --form "time=22:08:08"\
    --form "national_id=architecto"\
    --form "manufacturing_year=architecto"\
    --form "vin_number=architecto"\
    --form "plate_number=architecto"\
    --form "plate_alphabets=architecto"\
    --form "mileage=architecto"\
    --form "purchase_plan=architecto"\
    --form "monthly_salary=n"\
    --form "service_title=architecto"\
    --form "utm_source=b"\
    --form "utm_campaign=n"\
    --form "utm_medium=g"\
    --form "cta_type=z"\
    --form "gender=architecto"\
    --form "attachments[]=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpb7dfl1c4g855dTyNvvS" 
const url = new URL(
    "http://localhost/api/general-forms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('type', '11');
body.append('first_name', 'b');
body.append('last_name', 'n');
body.append('email', 'ashly64@example.com');
body.append('phone', 'architecto');
body.append('form_name', 'architecto');
body.append('message', 'architecto');
body.append('enquiry_type', 'architecto');
body.append('category', 'architecto');
body.append('sub_category', 'architecto');
body.append('salutation', 'Mrs');
body.append('subscribe_to_newsletter', '1');
body.append('preferred_time_to_call', 'architecto');
body.append('preferred_contact_method', 'architecto');
body.append('date', '2026-03-02T22:08:08');
body.append('time', '22:08:08');
body.append('national_id', 'architecto');
body.append('manufacturing_year', 'architecto');
body.append('vin_number', 'architecto');
body.append('plate_number', 'architecto');
body.append('plate_alphabets', 'architecto');
body.append('mileage', 'architecto');
body.append('purchase_plan', 'architecto');
body.append('monthly_salary', 'n');
body.append('service_title', 'architecto');
body.append('utm_source', 'b');
body.append('utm_campaign', 'n');
body.append('utm_medium', 'g');
body.append('cta_type', 'z');
body.append('gender', 'architecto');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200, Success):


{
    "data": {
        "id": 1,
        "type": "Test Drive",
        "form_name": "Request a Test Drive",
        "first_name": "Ahmed",
        "last_name": "Al-Rashid",
        "email": "ahmed@example.com",
        "phone": "+966501234567",
        "message": "I want to test drive the Tucson",
        "enquiry_type": "Sales Lead",
        "vehicleModel": {
            "id": 1,
            "name": "Tucson"
        },
        "city": {
            "id": 1,
            "name": "Riyadh"
        },
        "created_at": "2025-03-01T10:30:00Z"
    }
}
 

Request   

POST api/general-forms

Headers

Authorization        

Example: Bearer {YOUR_AUTH_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

type   string     

Example: 11

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
first_name   string  optional    

Must not be greater than 191 characters. Example: b

last_name   string  optional    

Must not be greater than 191 characters. Example: n

email   string  optional    

Must be a valid email address. Example: ashly64@example.com

phone   string  optional    

Example: architecto

form_name   string  optional    

Example: architecto

message   string  optional    

Example: architecto

enquiry_type   string  optional    

Example: architecto

category   string  optional    

Example: architecto

sub_category   string  optional    

Example: architecto

salutation   string  optional    

Example: Mrs

Must be one of:
  • Mr
  • Mrs
  • Ms
subscribe_to_newsletter   boolean  optional    

Example: true

preferred_time_to_call   string  optional    

Example: architecto

preferred_contact_method   string  optional    

Example: architecto

date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

time   string  optional    

Must be a valid date in the format H:i:s. Example: 22:08:08

national_id   string  optional    

Example: architecto

manufacturing_year   string  optional    

Example: architecto

vin_number   string  optional    

Example: architecto

plate_number   string  optional    

Example: architecto

plate_alphabets   string  optional    

Example: architecto

mileage   string  optional    

Example: architecto

purchase_plan   string  optional    

Example: architecto

monthly_salary   string  optional    

Must not be greater than 191 characters. Example: n

bank_id   string  optional    

The id of an existing record in the banks table.

service_title   string  optional    

Example: architecto

vehicle_model_id   string  optional    

The id of an existing record in the vehicle_models table.

city_id   string  optional    

The id of an existing record in the cities table.

branch_id   string  optional    

The id of an existing record in the locations table.

additional_options   object  optional    
offer_id   string  optional    

The id of an existing record in the vehicle_offers table.

career_job_id   string  optional    

The id of an existing record in the career_jobs table.

attachments   file[]  optional    

Must be a file.

utm_source   string  optional    

Must not be greater than 191 characters. Example: b

utm_campaign   string  optional    

Must not be greater than 191 characters. Example: n

utm_medium   string  optional    

Must not be greater than 191 characters. Example: g

cta_type   string  optional    

Must not be greater than 191 characters. Example: z

exterior_color_id   string  optional    

The id of an existing record in the exterior_colors table.

interior_color_id   string  optional    

The id of an existing record in the interior_colors table.

variant_id   string  optional    

The id of an existing record in the variants table.

gender   string  optional    

This field is required when salutation is not present. Example: architecto

Other Endpoints

POST api/admin/download-file

Example request:
curl --request POST \
    "http://localhost/api/admin/download-file" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\"
}"
const url = new URL(
    "http://localhost/api/admin/download-file"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/download-file

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

url   string     

Must be a valid URL. Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

Check the status of a batch job.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/jobs/status/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/jobs/status/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/jobs/status/{batchId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

batchId   string     

Example: architecto

Get all clients with their available environments

Example request:
curl --request GET \
    --get "http://localhost/api/admin/clients/available/clients" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/clients/available/clients"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/clients/available/clients

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/clients/sub-clients

Example request:
curl --request GET \
    --get "http://localhost/api/admin/clients/sub-clients" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/clients/sub-clients"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/clients/sub-clients

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Resolve and return the current client based on request headers

Example request:
curl --request GET \
    --get "http://localhost/api/clients/resolve-client" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clients/resolve-client"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/clients/resolve-client

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get all clients with their simple data

Example request:
curl --request GET \
    --get "http://localhost/api/clients" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clients"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/clients

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get all clients for a specific domain

Example request:
curl --request GET \
    --get "http://localhost/api/clients/by-domain" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/clients/by-domain"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/clients/by-domain

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

Get client data by code

Example request:
curl --request GET \
    --get "http://localhost/api/clients/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clients/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/clients/{code}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

code   integer     

Example: 16

Update client Supports updating multiple sections (information, settings, etc.)

Example request:
curl --request PUT \
    "http://localhost/api/clients/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"logo\": \"architecto\",
    \"social_media\": [
        \"http:\\/\\/bailey.com\\/\"
    ],
    \"phone_numbers\": [
        {
            \"label\": {
                \"en\": \"m\",
                \"ar\": \"i\"
            },
            \"number\": \"y\"
        }
    ],
    \"addresses\": [
        {
            \"label\": {
                \"en\": \"v\",
                \"ar\": \"d\"
            },
            \"value\": \"architecto\",
            \"coordinates\": {
                \"latitude\": 4326.41688,
                \"longitude\": 4326.41688
            }
        }
    ]
}"
const url = new URL(
    "http://localhost/api/clients/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "logo": "architecto",
    "social_media": [
        "http:\/\/bailey.com\/"
    ],
    "phone_numbers": [
        {
            "label": {
                "en": "m",
                "ar": "i"
            },
            "number": "y"
        }
    ],
    "addresses": [
        {
            "label": {
                "en": "v",
                "ar": "d"
            },
            "value": "architecto",
            "coordinates": {
                "latitude": 4326.41688,
                "longitude": 4326.41688
            }
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/clients/{code}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

code   integer     

Example: 16

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

logo   string  optional    

Example: architecto

social_media   string[]  optional    

This field is required when social_media is present. Must be a valid URL.

phone_numbers   object[]  optional    
label   object  optional    

This field is required when phone_numbers is present.

en   string  optional    

This field is required when phone_numbers.*.label is present. Must not be greater than 100 characters. Example: m

ar   string  optional    

This field is required when phone_numbers.*.label is present. Must not be greater than 100 characters. Example: i

number   string  optional    

This field is required when phone_numbers is present. Must not be greater than 50 characters. Example: y

addresses   object[]  optional    
label   object  optional    

This field is required when addresses is present.

en   string  optional    

This field is required when addresses.*.label is present. Must not be greater than 100 characters. Example: v

ar   string  optional    

This field is required when addresses.*.label is present. Must not be greater than 100 characters. Example: d

value   string  optional    

This field is required when addresses is present. Example: architecto

coordinates   object  optional    
latitude   number  optional    

Example: 4326.41688

longitude   number  optional    

Example: 4326.41688

GET api/clients/sub-clients/{clientCode}

Example request:
curl --request GET \
    --get "http://localhost/api/clients/sub-clients/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clients/sub-clients/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/clients/sub-clients/{clientCode}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

clientCode   string     

Example: architecto

Get both zones and cities for a specific domain

Example request:
curl --request GET \
    --get "http://localhost/api/geofencing/zones-and-cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/geofencing/zones-and-cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/geofencing/zones-and-cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

Get geo zones for a specific domain

Example request:
curl --request GET \
    --get "http://localhost/api/geofencing/zones" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/geofencing/zones"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/geofencing/zones

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

Get cities for a specific domain

Example request:
curl --request GET \
    --get "http://localhost/api/geofencing/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/geofencing/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/geofencing/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

Validate if a point is within service area for a domain

Example request:
curl --request POST \
    "http://localhost/api/geofencing/validate-location" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\",
    \"latitude\": -89,
    \"longitude\": -180
}"
const url = new URL(
    "http://localhost/api/geofencing/validate-location"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto",
    "latitude": -89,
    "longitude": -180
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/geofencing/validate-location

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

latitude   number     

Must be between -90 and 90. Example: -89

longitude   number     

Must be between -180 and 180. Example: -180

Validate if a city code is valid for a domain

Example request:
curl --request POST \
    "http://localhost/api/geofencing/validate-city" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"domain\": \"architecto\",
    \"city_code\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/geofencing/validate-city"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "domain": "architecto",
    "city_code": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/geofencing/validate-city

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

domain   string     

Example: architecto

city_code   string     

Example: architecto

Validate polygon overlapping or intersection

Example request:
curl --request POST \
    "http://localhost/api/geofencing/validate-polygons" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"polygons\": [
        {
            \"name\": \"architecto\",
            \"coordinates\": [
                [
                    4326.41688
                ]
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/geofencing/validate-polygons"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "polygons": [
        {
            "name": "architecto",
            "coordinates": [
                [
                    4326.41688
                ]
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/geofencing/validate-polygons

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

polygons   object[]     

Must have at least 1 items.

name   string  optional    

Example: architecto

coordinates   number[][]     

Update geo zones for a client

Example request:
curl --request PUT \
    "http://localhost/api/geofencing/zones" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"client_code\": \"architecto\",
    \"geo_zones\": [
        {
            \"name\": \"architecto\",
            \"type\": \"architecto\",
            \"coordinates\": [
                [
                    4326.41688
                ]
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/geofencing/zones"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "client_code": "architecto",
    "geo_zones": [
        {
            "name": "architecto",
            "type": "architecto",
            "coordinates": [
                [
                    4326.41688
                ]
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/geofencing/zones

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

client_code   string     

Example: architecto

geo_zones   object[]     

Must have at least 1 items.

name   string     

Example: architecto

type   string     

Example: architecto

coordinates   number[][]     

Update cities for a client

Example request:
curl --request PUT \
    "http://localhost/api/geofencing/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"client_code\": \"architecto\",
    \"cities\": [
        {
            \"name\": {
                \"en\": \"architecto\",
                \"ar\": \"architecto\"
            },
            \"code\": \"architecto\",
            \"coordinates\": {
                \"latitude\": 4326.41688,
                \"longitude\": 4326.41688
            },
            \"addon_price\": 4326.41688,
            \"geo_zones\": [
                {
                    \"name\": \"architecto\",
                    \"type\": \"architecto\",
                    \"coordinates\": []
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/geofencing/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "client_code": "architecto",
    "cities": [
        {
            "name": {
                "en": "architecto",
                "ar": "architecto"
            },
            "code": "architecto",
            "coordinates": {
                "latitude": 4326.41688,
                "longitude": 4326.41688
            },
            "addon_price": 4326.41688,
            "geo_zones": [
                {
                    "name": "architecto",
                    "type": "architecto",
                    "coordinates": []
                }
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/geofencing/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

client_code   string     

Example: architecto

cities   object[]     

Must have at least 1 items.

name   object     
en   string     

Example: architecto

ar   string  optional    

Example: architecto

code   string     

Example: architecto

coordinates   object  optional    
latitude   number  optional    

This field is required when cities.*.coordinates is present. Example: 4326.41688

longitude   number  optional    

This field is required when cities.*.coordinates is present. Example: 4326.41688

addon_price   number  optional    

Example: 4326.41688

geo_zones   object[]  optional    
name   string     

Example: architecto

type   string     

Example: architecto

coordinates   object     

Must have at least 3 items.

Get all analytics data in a single response.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/analytics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2026-03-02T22:08:08\",
    \"end_date\": \"2026-03-02T22:08:08\",
    \"markets\": [
        \"architecto\"
    ],
    \"campaign\": \"architecto\",
    \"model_name\": \"architecto\",
    \"model_family\": \"architecto\",
    \"source\": \"architecto\",
    \"cta_type\": \"architecto\",
    \"form_type\": \"architecto\",
    \"offer\": \"architecto\",
    \"offer_category\": \"architecto\",
    \"lead_channel\": \"architecto\",
    \"per_page\": 22,
    \"page\": 67
}"
const url = new URL(
    "http://localhost/api/admin/analytics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2026-03-02T22:08:08",
    "end_date": "2026-03-02T22:08:08",
    "markets": [
        "architecto"
    ],
    "campaign": "architecto",
    "model_name": "architecto",
    "model_family": "architecto",
    "source": "architecto",
    "cta_type": "architecto",
    "form_type": "architecto",
    "offer": "architecto",
    "offer_category": "architecto",
    "lead_channel": "architecto",
    "per_page": 22,
    "page": 67
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/analytics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

end_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

markets   string[]  optional    
campaign   string  optional    

Example: architecto

model_name   string  optional    

Example: architecto

model_family   string  optional    

Example: architecto

source   string  optional    

Example: architecto

cta_type   string  optional    

Example: architecto

form_type   string  optional    

Example: architecto

offer   string  optional    

Example: architecto

offer_category   string  optional    

Example: architecto

lead_channel   string  optional    

Example: architecto

per_page   integer  optional    

Must be at least 1. Must not be greater than 100. Example: 22

page   integer  optional    

Must be at least 1. Example: 67

Get lead report.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/analytics/leads" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2026-03-02T22:08:08\",
    \"end_date\": \"2026-03-02T22:08:08\",
    \"markets\": [
        \"architecto\"
    ],
    \"campaign\": \"architecto\",
    \"model_name\": \"architecto\",
    \"model_family\": \"architecto\",
    \"source\": \"architecto\",
    \"cta_type\": \"architecto\",
    \"form_type\": \"architecto\",
    \"offer\": \"architecto\",
    \"offer_category\": \"architecto\",
    \"lead_channel\": \"architecto\",
    \"per_page\": 22,
    \"page\": 67
}"
const url = new URL(
    "http://localhost/api/admin/analytics/leads"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2026-03-02T22:08:08",
    "end_date": "2026-03-02T22:08:08",
    "markets": [
        "architecto"
    ],
    "campaign": "architecto",
    "model_name": "architecto",
    "model_family": "architecto",
    "source": "architecto",
    "cta_type": "architecto",
    "form_type": "architecto",
    "offer": "architecto",
    "offer_category": "architecto",
    "lead_channel": "architecto",
    "per_page": 22,
    "page": 67
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/analytics/leads

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

end_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

markets   string[]  optional    
campaign   string  optional    

Example: architecto

model_name   string  optional    

Example: architecto

model_family   string  optional    

Example: architecto

source   string  optional    

Example: architecto

cta_type   string  optional    

Example: architecto

form_type   string  optional    

Example: architecto

offer   string  optional    

Example: architecto

offer_category   string  optional    

Example: architecto

lead_channel   string  optional    

Example: architecto

per_page   integer  optional    

Must be at least 1. Must not be greater than 100. Example: 22

page   integer  optional    

Must be at least 1. Example: 67

Export lead report.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/analytics/leads/export" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2026-03-02T22:08:08\",
    \"end_date\": \"2026-03-02T22:08:08\",
    \"markets\": [
        \"architecto\"
    ],
    \"campaign\": \"architecto\",
    \"model_name\": \"architecto\",
    \"model_family\": \"architecto\",
    \"source\": \"architecto\",
    \"cta_type\": \"architecto\",
    \"form_type\": \"architecto\",
    \"offer\": \"architecto\",
    \"offer_category\": \"architecto\",
    \"lead_channel\": \"architecto\",
    \"per_page\": 22,
    \"page\": 67
}"
const url = new URL(
    "http://localhost/api/admin/analytics/leads/export"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2026-03-02T22:08:08",
    "end_date": "2026-03-02T22:08:08",
    "markets": [
        "architecto"
    ],
    "campaign": "architecto",
    "model_name": "architecto",
    "model_family": "architecto",
    "source": "architecto",
    "cta_type": "architecto",
    "form_type": "architecto",
    "offer": "architecto",
    "offer_category": "architecto",
    "lead_channel": "architecto",
    "per_page": 22,
    "page": 67
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/analytics/leads/export

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

end_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

markets   string[]  optional    
campaign   string  optional    

Example: architecto

model_name   string  optional    

Example: architecto

model_family   string  optional    

Example: architecto

source   string  optional    

Example: architecto

cta_type   string  optional    

Example: architecto

form_type   string  optional    

Example: architecto

offer   string  optional    

Example: architecto

offer_category   string  optional    

Example: architecto

lead_channel   string  optional    

Example: architecto

per_page   integer  optional    

Must be at least 1. Must not be greater than 100. Example: 22

page   integer  optional    

Must be at least 1. Example: 67

Get filter options for analytics (markets, campaigns, models, etc.).

Filtered by admin's allowed markets and app locale.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/analytics/filter-options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/analytics/filter-options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/analytics/filter-options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get admin's allowed markets.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/analytics/admins/architecto/markets" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/analytics/admins/architecto/markets"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/analytics/admins/{adminId}/markets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

adminId   string     

Example: architecto

Assign markets to admin.

Example request:
curl --request POST \
    "http://localhost/api/admin/analytics/admins/architecto/markets" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"markets\": [
        \"b\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/analytics/admins/architecto/markets"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "markets": [
        "b"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/analytics/admins/{adminId}/markets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

adminId   string     

Example: architecto

Body Parameters

markets   string[]     

Must not be greater than 191 characters.

Update admin's markets (replace all).

Example request:
curl --request PUT \
    "http://localhost/api/admin/analytics/admins/architecto/markets" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"markets\": [
        \"b\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/analytics/admins/architecto/markets"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "markets": [
        "b"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/analytics/admins/{adminId}/markets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

adminId   string     

Example: architecto

Body Parameters

markets   string[]     

Must not be greater than 191 characters.

Remove specific market from admin.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/analytics/admins/architecto/markets/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/analytics/admins/architecto/markets/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/analytics/admins/{adminId}/markets/{market}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

adminId   string     

Example: architecto

market   string     

The market. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/article/articles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/article/articles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/article/articles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/article/articles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"b\",
    \"category\": \"n\",
    \"date\": \"2026-03-02T22:08:08\",
    \"title\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"summary\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"short_description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"reading_time\": {
        \"ar\": \"n\",
        \"en\": \"g\"
    },
    \"hidden\": false,
    \"show_in_popup\": true,
    \"all_brands_popup\": false,
    \"vehicle_make_id\": 16,
    \"vehicle_model_id\": 16,
    \"tags\": [
        16
    ]
}"
const url = new URL(
    "http://localhost/api/admin/article/articles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "b",
    "category": "n",
    "date": "2026-03-02T22:08:08",
    "title": {
        "ar": "b",
        "en": "n"
    },
    "summary": {
        "en": "architecto",
        "ar": "architecto"
    },
    "short_description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "reading_time": {
        "ar": "n",
        "en": "g"
    },
    "hidden": false,
    "show_in_popup": true,
    "all_brands_popup": false,
    "vehicle_make_id": 16,
    "vehicle_model_id": 16,
    "tags": [
        16
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/article/articles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

type   string  optional    

Must not be greater than 191 characters. Example: b

category   string  optional    

Must not be greater than 191 characters. Example: n

date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

title   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

summary   object     
en   string     

Example: architecto

ar   string     

Example: architecto

short_description   object  optional    
ar   string  optional    

This field is required when short_description is present. Example: architecto

en   string  optional    

This field is required when short_description is present. Example: architecto

description   object  optional    
ar   string  optional    

This field is required when description is present. Example: architecto

en   string  optional    

This field is required when description is present. Example: architecto

reading_time   object  optional    
ar   string  optional    

This field is required when reading_time is present. Must not be greater than 50 characters. Example: n

en   string  optional    

This field is required when reading_time is present. Must not be greater than 50 characters. Example: g

hidden   boolean  optional    

Example: false

show_in_popup   boolean  optional    

Example: true

all_brands_popup   boolean  optional    

Example: false

vehicle_make_id   integer  optional    

The id of an existing record in the vehicle_makes table. Example: 16

vehicle_model_id   integer  optional    

The id of an existing record in the vehicle_models table. Example: 16

tags   integer[]  optional    

The id of an existing record in the tags table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/article/articles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/article/articles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/article/articles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the article. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/article/articles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"b\",
    \"category\": \"n\",
    \"date\": \"2026-03-02T22:08:08\",
    \"title\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"summary\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"short_description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"reading_time\": {
        \"ar\": \"n\",
        \"en\": \"g\"
    },
    \"hidden\": true,
    \"show_in_popup\": true,
    \"all_brands_popup\": false,
    \"vehicle_make_id\": 16,
    \"vehicle_model_id\": 16,
    \"tags\": [
        16
    ]
}"
const url = new URL(
    "http://localhost/api/admin/article/articles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "b",
    "category": "n",
    "date": "2026-03-02T22:08:08",
    "title": {
        "ar": "b",
        "en": "n"
    },
    "summary": {
        "en": "architecto",
        "ar": "architecto"
    },
    "short_description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "reading_time": {
        "ar": "n",
        "en": "g"
    },
    "hidden": true,
    "show_in_popup": true,
    "all_brands_popup": false,
    "vehicle_make_id": 16,
    "vehicle_model_id": 16,
    "tags": [
        16
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/article/articles/{id}

PATCH api/admin/article/articles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the article. Example: architecto

Body Parameters

type   string  optional    

Must not be greater than 191 characters. Example: b

category   string  optional    

Must not be greater than 191 characters. Example: n

date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

title   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

summary   object     
en   string     

Example: architecto

ar   string     

Example: architecto

short_description   object  optional    
ar   string  optional    

This field is required when short_description is present. Example: architecto

en   string  optional    

This field is required when short_description is present. Example: architecto

description   object  optional    
ar   string  optional    

This field is required when description is present. Example: architecto

en   string  optional    

This field is required when description is present. Example: architecto

reading_time   object  optional    
ar   string  optional    

This field is required when reading_time is present. Must not be greater than 50 characters. Example: n

en   string  optional    

This field is required when reading_time is present. Must not be greater than 50 characters. Example: g

hidden   boolean  optional    

Example: true

show_in_popup   boolean  optional    

Example: true

all_brands_popup   boolean  optional    

Example: false

vehicle_make_id   integer  optional    

The id of an existing record in the vehicle_makes table. Example: 16

vehicle_model_id   integer  optional    

The id of an existing record in the vehicle_models table. Example: 16

tags   integer[]  optional    

The id of an existing record in the tags table.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/article/articles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/article/articles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/article/articles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the article. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/article/articles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/articles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/article/articles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a single of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/article/articles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/articles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/article/articles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the article. Example: architecto

Display the specified resource by slug.

Example request:
curl --request GET \
    --get "http://localhost/api/article/articles/show-by-slug/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/articles/show-by-slug/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/article/articles/show-by-slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the show by slug. Example: architecto

GET api/admin/cms/pages

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/pages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/cms/pages

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"meta_title\": {
        \"en\": \"b\"
    },
    \"meta_description\": {
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/cms/pages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "meta_title": {
        "en": "b"
    },
    "meta_description": {
        "ar": "architecto"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/cms/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

meta_title   object     
en   string     

Must not be greater than 255 characters. Example: b

meta_description   object     
ar   string     

Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/pages/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/pages/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the page. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/pages/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"meta_title\": {
        \"en\": \"b\"
    },
    \"meta_description\": {
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/cms/pages/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "meta_title": {
        "en": "b"
    },
    "meta_description": {
        "ar": "architecto"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/cms/pages/{id}

PATCH api/admin/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: architecto

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

meta_title   object     
en   string     

Must not be greater than 255 characters. Example: b

meta_description   object     
ar   string     

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/pages/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/pages/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/architecto/architecto/sections" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/architecto/architecto/sections"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/cms/{model}/{page_id}/sections

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model   string     

Example: architecto

page_id   string     

The ID of the page. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/sections/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/sections/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/cms/sections/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the section. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/sections/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/sections/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/sections/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the section. Example: architecto

POST api/admin/cms/sections/group

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/sections/group" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/sections/group"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/cms/sections/group

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/cms/sections/types

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/sections/types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/sections/types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/sections/types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/cms/terms-and-conditions

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/terms-and-conditions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/terms-and-conditions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/terms-and-conditions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/cms/terms-and-conditions

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/terms-and-conditions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"body\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"type\": \"legal\"
}"
const url = new URL(
    "http://localhost/api/admin/cms/terms-and-conditions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "body": {
        "en": "architecto",
        "ar": "architecto"
    },
    "type": "legal"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/cms/terms-and-conditions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

body   object     
en   string     

Example: architecto

ar   string     

Example: architecto

type   string     

Example: legal

Must be one of:
  • terms
  • order-terms
  • financing-terms
  • legal
  • privacy-practices
  • cookies
  • privacy-policy

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/terms-and-conditions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/terms-and-conditions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/terms-and-conditions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the terms and condition. Example: architecto

PUT api/admin/cms/terms-and-conditions/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/terms-and-conditions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"body\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"type\": \"cookies\"
}"
const url = new URL(
    "http://localhost/api/admin/cms/terms-and-conditions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "body": {
        "en": "architecto",
        "ar": "architecto"
    },
    "type": "cookies"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/cms/terms-and-conditions/{id}

PATCH api/admin/cms/terms-and-conditions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the terms and condition. Example: architecto

Body Parameters

body   object     
en   string     

Example: architecto

ar   string     

Example: architecto

type   string     

Example: cookies

Must be one of:
  • terms
  • order-terms
  • financing-terms
  • legal
  • privacy-practices
  • cookies
  • privacy-policy

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/terms-and-conditions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/terms-and-conditions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/terms-and-conditions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the terms and condition. Example: architecto

GET api/admin/cms/faqs

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/faqs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/faqs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/cms/faqs

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/faqs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/cms/faqs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/faqs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/faqs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/faqs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the faq. Example: architecto

PUT api/admin/cms/faqs/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/faqs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/faqs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/cms/faqs/{id}

PATCH api/admin/cms/faqs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the faq. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/faqs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/faqs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/faqs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the faq. Example: architecto

GET api/admin/cms/career-jobs

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/career-jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/career-jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/career-jobs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/cms/career-jobs

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/career-jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"description\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"content\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/cms/career-jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": {
        "en": "b",
        "ar": "n"
    },
    "description": {
        "en": "architecto",
        "ar": "architecto"
    },
    "content": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/cms/career-jobs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

description   object     
en   string     

Example: architecto

ar   string     

Example: architecto

content   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/career-jobs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/career-jobs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/career-jobs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the career job. Example: architecto

PUT api/admin/cms/career-jobs/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/career-jobs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"description\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"content\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/cms/career-jobs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": {
        "en": "b",
        "ar": "n"
    },
    "description": {
        "en": "architecto",
        "ar": "architecto"
    },
    "content": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/cms/career-jobs/{id}

PATCH api/admin/cms/career-jobs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the career job. Example: architecto

Body Parameters

title   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

description   object     
en   string     

Example: architecto

ar   string     

Example: architecto

content   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/career-jobs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/career-jobs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/career-jobs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the career job. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/categories" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name[en]=architecto"\
    --form "name[ar]=architecto"\
    --form "slug=architecto"\
    --form "is_active="\
    --form "order=16"\
    --form "image=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php36jch2g9137e2b8mPc9" 
const url = new URL(
    "http://localhost/api/admin/cms/categories"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name[en]', 'architecto');
body.append('name[ar]', 'architecto');
body.append('slug', 'architecto');
body.append('is_active', '');
body.append('order', '16');
body.append('image', document.querySelector('input[name="image"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/admin/cms/categories

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

slug   string     

Example: architecto

image   file  optional    

Must be an image. Must not be greater than 10240 kilobytes. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php36jch2g9137e2b8mPc9

is_active   boolean  optional    

Example: false

order   integer  optional    

Example: 16

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/categories/architecto" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name[en]=architecto"\
    --form "name[ar]=architecto"\
    --form "slug=architecto"\
    --form "is_active="\
    --form "order=16"\
    --form "image=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpq47imvfmjr8k649bfaf" 
const url = new URL(
    "http://localhost/api/admin/cms/categories/architecto"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name[en]', 'architecto');
body.append('name[ar]', 'architecto');
body.append('slug', 'architecto');
body.append('is_active', '');
body.append('order', '16');
body.append('image', document.querySelector('input[name="image"]').files[0]);

fetch(url, {
    method: "PUT",
    headers,
    body,
}).then(response => response.json());

Request   

PUT api/admin/cms/categories/{id}

PATCH api/admin/cms/categories/{id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Body Parameters

name   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

slug   string  optional    

Example: architecto

is_active   boolean  optional    

Example: false

image   file  optional    

Must be an image. Must not be greater than 10240 kilobytes. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpq47imvfmjr8k649bfaf

order   integer  optional    

Example: 16

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/menu-items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/menu-items"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/menu-items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/cms/menu-items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cms_category_id\": \"architecto\",
    \"title\": \"architecto\",
    \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"is_hidden\": false,
    \"is_featured\": false,
    \"order\": 16
}"
const url = new URL(
    "http://localhost/api/admin/cms/menu-items"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cms_category_id": "architecto",
    "title": "architecto",
    "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "is_hidden": false,
    "is_featured": false,
    "order": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/cms/menu-items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

cms_category_id   string     

The id of an existing record in the cms_categories table. Example: architecto

parent_id   string  optional    

The id of an existing record in the cms_menu_items table.

title   string     

Example: architecto

url   string  optional    

Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

is_hidden   boolean  optional    

Example: false

is_featured   boolean  optional    

Example: false

order   integer  optional    

Example: 16

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cms/menu-items/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/menu-items/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cms/menu-items/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the menu item. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/cms/menu-items/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"is_hidden\": true,
    \"is_featured\": false,
    \"order\": 16
}"
const url = new URL(
    "http://localhost/api/admin/cms/menu-items/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "is_hidden": true,
    "is_featured": false,
    "order": 16
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/cms/menu-items/{id}

PATCH api/admin/cms/menu-items/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the menu item. Example: architecto

Body Parameters

cms_category_id   string  optional    

The id of an existing record in the cms_categories table.

parent_id   string  optional    

The id of an existing record in the cms_menu_items table.

title   string  optional    
url   string  optional    

Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

is_hidden   boolean  optional    

Example: true

is_featured   boolean  optional    

Example: false

order   integer  optional    

Example: 16

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cms/menu-items/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cms/menu-items/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cms/menu-items/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the menu item. Example: architecto

GET api/cms/pages

Example request:
curl --request GET \
    --get "http://localhost/api/cms/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/pages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/cms/pages/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/pages/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/pages/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the page. Example: architecto

GET api/cms/pages/{page_slug}/{section_name}

Example request:
curl --request GET \
    --get "http://localhost/api/cms/pages/architecto/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/pages/architecto/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/pages/{page_slug}/{section_name}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

page_slug   string     

The slug of the page. Example: architecto

section_name   string     

Example: architecto

GET api/cms/sections-names

Example request:
curl --request GET \
    --get "http://localhost/api/cms/sections-names" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/sections-names"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/sections-names

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/cms/career-jobs

Example request:
curl --request GET \
    --get "http://localhost/api/cms/career-jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/career-jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/career-jobs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/cms/career-jobs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/career-jobs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/career-jobs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the career job. Example: architecto

GET api/cms/terms-and-conditions

Example request:
curl --request GET \
    --get "http://localhost/api/cms/terms-and-conditions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/terms-and-conditions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/terms-and-conditions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/cms/terms-and-conditions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/terms-and-conditions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/terms-and-conditions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the terms and condition. Example: architecto

GET api/cms/categories

Example request:
curl --request GET \
    --get "http://localhost/api/cms/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/cms/categories/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/cms/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

GET api/cms/menu-items

Example request:
curl --request GET \
    --get "http://localhost/api/cms/menu-items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/menu-items"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/menu-items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/cms/menu-items/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/cms/menu-items/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cms/menu-items/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cms/menu-items/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the menu item. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/nationalities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/nationalities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/nationalities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/nationalities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/nationalities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/nationalities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

code   string  optional    

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/nationalities/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/nationalities/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/nationalities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the nationality. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/nationalities/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"code\": \"ngzmiy\"
}"
const url = new URL(
    "http://localhost/api/admin/nationalities/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "code": "ngzmiy"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/nationalities/{id}

PATCH api/admin/nationalities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the nationality. Example: architecto

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

code   string  optional    

Must not be greater than 10 characters. Example: ngzmiy

DELETE api/admin/nationalities/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/nationalities/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/nationalities/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/nationalities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the nationality. Example: 16

GET api/admin/applicable-fs-fees

Example request:
curl --request GET \
    --get "http://localhost/api/admin/applicable-fs-fees" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/applicable-fs-fees"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/applicable-fs-fees

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/work-sectors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/work-sectors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/work-sectors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/work-sectors/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/work-sectors/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/work-sectors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the work sector. Example: 16

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/work-sectors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/work-sectors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/work-sectors/{work_sector_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

work_sector_id   string     

The ID of the work sector. Example: architecto

Store a newly created product.

Example request:
curl --request POST \
    "http://localhost/api/admin/products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"service_provider_id\": \"architecto\",
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"is_hidden\": true,
    \"minimum_age\": 4326.41688,
    \"maximum_age\": 4326.41688,
    \"duration_from\": 27,
    \"duration_to\": 35,
    \"admin_fee\": 4326.41688,
    \"insurance_fee\": 4326.41688,
    \"disclaimer\": [],
    \"support_percentage\": 17,
    \"conditions\": [
        {
            \"nationalities\": [
                \"architecto\"
            ],
            \"salary_transferred_to\": \"non-payroll\",
            \"minimum_salary\": 4326.41688,
            \"service_period\": 4326.41688,
            \"work_sectors\": [
                \"architecto\"
            ],
            \"down_payment_percentage\": 4326.41688,
            \"balloon_percentage\": 4326.41688,
            \"profit_rate\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/products"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "service_provider_id": "architecto",
    "name": {
        "en": "b",
        "ar": "n"
    },
    "is_hidden": true,
    "minimum_age": 4326.41688,
    "maximum_age": 4326.41688,
    "duration_from": 27,
    "duration_to": 35,
    "admin_fee": 4326.41688,
    "insurance_fee": 4326.41688,
    "disclaimer": [],
    "support_percentage": 17,
    "conditions": [
        {
            "nationalities": [
                "architecto"
            ],
            "salary_transferred_to": "non-payroll",
            "minimum_salary": 4326.41688,
            "service_period": 4326.41688,
            "work_sectors": [
                "architecto"
            ],
            "down_payment_percentage": 4326.41688,
            "balloon_percentage": 4326.41688,
            "profit_rate": 4326.41688
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/products

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

service_provider_id   string     

The id of an existing record in the service_providers table. Example: architecto

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

is_hidden   boolean     

Example: true

minimum_age   number     

Example: 4326.41688

maximum_age   number     

Example: 4326.41688

duration_from   number     

Must be at least 1. Example: 27

duration_to   number     

Must be at least 1. Example: 35

admin_fee   number     

Example: 4326.41688

insurance_fee   number     

Example: 4326.41688

disclaimer   object  optional    
en   string  optional    

This field is required when disclaimer.ar is present.

ar   string  optional    

This field is required when disclaimer.en is present.

support_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 17

conditions   object[]     
nationalities   string[]     

The id of an existing record in the nationalities table.

salary_transferred_to   string     

Example: non-payroll

Must be one of:
  • payroll
  • non-payroll
  • all
minimum_salary   number     

Example: 4326.41688

service_period   number     

Example: 4326.41688

work_sectors   string[]     

The id of an existing record in the work_sectors table.

down_payment_percentage   number     

Example: 4326.41688

balloon_percentage   number     

Example: 4326.41688

profit_rate   number     

Example: 4326.41688

Update the specified product.

Example request:
curl --request PUT \
    "http://localhost/api/admin/products/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"minimum_age\": 4326.41688,
    \"maximum_age\": 4326.41688,
    \"duration_from\": 27,
    \"duration_to\": 35,
    \"down_payment\": 4326.41688,
    \"is_hidden\": true,
    \"support_percentage\": 17,
    \"admin_fee\": 4326.41688,
    \"insurance_fee\": 4326.41688,
    \"disclaimer\": [],
    \"conditions\": [
        {
            \"nationalities\": [
                \"architecto\"
            ],
            \"salary_transferred_to\": \"non-payroll\",
            \"minimum_salary\": 4326.41688,
            \"service_period\": 4326.41688,
            \"work_sectors\": [
                \"architecto\"
            ],
            \"profit_rate\": 4326.41688,
            \"down_payment_percentage\": 4326.41688,
            \"balloon_percentage\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/products/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "b",
        "ar": "n"
    },
    "minimum_age": 4326.41688,
    "maximum_age": 4326.41688,
    "duration_from": 27,
    "duration_to": 35,
    "down_payment": 4326.41688,
    "is_hidden": true,
    "support_percentage": 17,
    "admin_fee": 4326.41688,
    "insurance_fee": 4326.41688,
    "disclaimer": [],
    "conditions": [
        {
            "nationalities": [
                "architecto"
            ],
            "salary_transferred_to": "non-payroll",
            "minimum_salary": 4326.41688,
            "service_period": 4326.41688,
            "work_sectors": [
                "architecto"
            ],
            "profit_rate": 4326.41688,
            "down_payment_percentage": 4326.41688,
            "balloon_percentage": 4326.41688
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/products/{id}

PATCH api/admin/products/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

Body Parameters

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

service_provider_id   string  optional    

The id of an existing record in the service_providers table.

minimum_age   number  optional    

Example: 4326.41688

maximum_age   number  optional    

Example: 4326.41688

duration_from   number  optional    

Must be at least 1. Example: 27

duration_to   number  optional    

Must be at least 1. Example: 35

down_payment   number  optional    

Example: 4326.41688

is_hidden   boolean     

Example: true

support_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 17

admin_fee   number  optional    

Example: 4326.41688

insurance_fee   number  optional    

Example: 4326.41688

disclaimer   object  optional    
en   string  optional    
ar   string  optional    
conditions   object[]  optional    
nationalities   string[]     

The id of an existing record in the nationalities table.

salary_transferred_to   string     

Example: non-payroll

Must be one of:
  • payroll
  • non-payroll
  • all
minimum_salary   number     

Example: 4326.41688

service_period   number     

Example: 4326.41688

work_sectors   string[]     

The id of an existing record in the work_sectors table.

profit_rate   number     

Example: 4326.41688

down_payment_percentage   number     

Example: 4326.41688

balloon_percentage   number     

Example: 4326.41688

Remove the specified product from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/products/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/products/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/products/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

POST api/admin/products/clone

Example request:
curl --request POST \
    "http://localhost/api/admin/products/clone" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"product_id\": \"architecto\",
    \"service_provider_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/products/clone"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "product_id": "architecto",
    "service_provider_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/products/clone

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

product_id   string     

The id of an existing record in the products table. Example: architecto

service_provider_id   string     

The id of an existing record in the service_providers table. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"code\": \"g\",
    \"start_date\": \"2026-03-02T22:08:08\",
    \"end_date\": \"2052-03-25\",
    \"product_id\": \"architecto\",
    \"is_active\": true,
    \"has_models\": true,
    \"finance_duration\": 22,
    \"conditions\": [
        {
            \"minimum_age\": 84,
            \"maximum_age\": 12,
            \"admin_fee\": 77,
            \"support_percentage\": 0,
            \"is_salary_transfered\": false,
            \"minimum_salary\": 76,
            \"nationality_ids\": [
                \"architecto\"
            ],
            \"service_period\": 39,
            \"insurance_fee\": 84,
            \"profit_rates\": [
                {
                    \"work_sector_id\": \"architecto\",
                    \"profit_percentage\": 39
                }
            ],
            \"down_payment_percentage\": 7,
            \"balloon_payment_percentage\": 16
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "b",
        "ar": "n"
    },
    "code": "g",
    "start_date": "2026-03-02T22:08:08",
    "end_date": "2052-03-25",
    "product_id": "architecto",
    "is_active": true,
    "has_models": true,
    "finance_duration": 22,
    "conditions": [
        {
            "minimum_age": 84,
            "maximum_age": 12,
            "admin_fee": 77,
            "support_percentage": 0,
            "is_salary_transfered": false,
            "minimum_salary": 76,
            "nationality_ids": [
                "architecto"
            ],
            "service_period": 39,
            "insurance_fee": 84,
            "profit_rates": [
                {
                    "work_sector_id": "architecto",
                    "profit_percentage": 39
                }
            ],
            "down_payment_percentage": 7,
            "balloon_payment_percentage": 16
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

code   string     

Must not be greater than 255 characters. Example: g

start_date   string     

Must be a valid date. Example: 2026-03-02T22:08:08

end_date   string     

Must be a valid date. Must be a date after start_date. Example: 2052-03-25

product_id   string     

The id of an existing record in the products table. Example: architecto

is_active   boolean     

Example: true

has_models   boolean  optional    

Example: true

finance_duration   integer  optional    

Must be at least 1. Example: 22

conditions   object[]  optional    
id   string  optional    

The id of an existing record in the offer_conditions table.

vehicle_model_ids   string[]  optional    

The id of an existing record in the vehicle_models table.

vehicle_make_ids   string[]  optional    

The id of an existing record in the vehicle_makes table.

minimum_age   integer  optional    

Must be at least 0. Example: 84

maximum_age   integer  optional    

Must be at least 0. Example: 12

admin_fee   number  optional    

Must be at least 0. Example: 77

support_percentage   number  optional    

Must be between 0 and 100. Example: 0

is_salary_transfered   boolean     

Example: false

minimum_salary   number     

Must be at least 0. Example: 76

nationality_ids   string[]     

The id of an existing record in the nationalities table.

service_period   integer     

Must be at least 0. Example: 39

insurance_fee   number  optional    

Must be at least 0. Example: 84

profit_rates   object[]     
work_sector_id   string     

The id of an existing record in the work_sectors table. Example: architecto

profit_percentage   number     

Must be at least 0. Example: 39

down_payment_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 7

balloon_payment_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/offers/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"code\": \"g\",
    \"start_date\": \"2026-03-02T22:08:08\",
    \"end_date\": \"2052-03-25\",
    \"product_id\": \"architecto\",
    \"is_active\": true,
    \"has_models\": true,
    \"finance_duration\": 22,
    \"conditions\": [
        {
            \"minimum_age\": 84,
            \"maximum_age\": 12,
            \"admin_fee\": 77,
            \"support_percentage\": 0,
            \"is_salary_transfered\": false,
            \"minimum_salary\": 76,
            \"nationality_ids\": [
                \"architecto\"
            ],
            \"service_period\": 39,
            \"insurance_fee\": 84,
            \"profit_rates\": [
                {
                    \"work_sector_id\": \"architecto\",
                    \"profit_percentage\": 39
                }
            ],
            \"down_payment_percentage\": 7,
            \"balloon_payment_percentage\": 16
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/offers/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "b",
        "ar": "n"
    },
    "code": "g",
    "start_date": "2026-03-02T22:08:08",
    "end_date": "2052-03-25",
    "product_id": "architecto",
    "is_active": true,
    "has_models": true,
    "finance_duration": 22,
    "conditions": [
        {
            "minimum_age": 84,
            "maximum_age": 12,
            "admin_fee": 77,
            "support_percentage": 0,
            "is_salary_transfered": false,
            "minimum_salary": 76,
            "nationality_ids": [
                "architecto"
            ],
            "service_period": 39,
            "insurance_fee": 84,
            "profit_rates": [
                {
                    "work_sector_id": "architecto",
                    "profit_percentage": 39
                }
            ],
            "down_payment_percentage": 7,
            "balloon_payment_percentage": 16
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/offers/{id}

PATCH api/admin/offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the offer. Example: 16

Body Parameters

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

code   string     

Must not be greater than 255 characters. Example: g

start_date   string     

Must be a valid date. Example: 2026-03-02T22:08:08

end_date   string     

Must be a valid date. Must be a date after start_date. Example: 2052-03-25

product_id   string     

The id of an existing record in the products table. Example: architecto

is_active   boolean     

Example: true

has_models   boolean  optional    

Example: true

finance_duration   integer  optional    

Must be at least 1. Example: 22

conditions   object[]  optional    
id   string  optional    

The id of an existing record in the offer_conditions table.

vehicle_model_ids   string[]  optional    

The id of an existing record in the vehicle_models table.

vehicle_make_ids   string[]  optional    

The id of an existing record in the vehicle_makes table.

minimum_age   integer  optional    

Must be at least 0. Example: 84

maximum_age   integer  optional    

Must be at least 0. Example: 12

admin_fee   number  optional    

Must be at least 0. Example: 77

support_percentage   number  optional    

Must be between 0 and 100. Example: 0

is_salary_transfered   boolean     

Example: false

minimum_salary   number     

Must be at least 0. Example: 76

nationality_ids   string[]     

The id of an existing record in the nationalities table.

service_period   integer     

Must be at least 0. Example: 39

insurance_fee   number  optional    

Must be at least 0. Example: 84

profit_rates   object[]     
work_sector_id   string     

The id of an existing record in the work_sectors table. Example: architecto

profit_percentage   number     

Must be at least 0. Example: 39

down_payment_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 7

balloon_payment_percentage   number     

Must be at least 0. Must not be greater than 100. Example: 16

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/offers/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/offers/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the offer. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified offer.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/offers/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/offers/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the offer. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/finance-applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/finance-applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/finance-applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/finance-applications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/finance-applications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/finance-applications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the finance application. Example: architecto

PUT api/admin/finance-applications/{id}/status

Example request:
curl --request PUT \
    "http://localhost/api/admin/finance-applications/architecto/status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 3
}"
const url = new URL(
    "http://localhost/api/admin/finance-applications/architecto/status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 3
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/finance-applications/{id}/status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the finance application. Example: architecto

Body Parameters

status   integer     

Example: 3

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/fs-fees" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fs-fees"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/fs-fees

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/fs-fees" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_make_id\": \"architecto\",
    \"vehicle_model_id\": \"architecto\",
    \"vehicle_model_group_id\": \"architecto\",
    \"model_year\": 1901,
    \"fee\": 84
}"
const url = new URL(
    "http://localhost/api/admin/fs-fees"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_make_id": "architecto",
    "vehicle_model_id": "architecto",
    "vehicle_model_group_id": "architecto",
    "model_year": 1901,
    "fee": 84
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/fs-fees

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

vehicle_model_id   string     

The id of an existing record in the vehicle_models table. Example: architecto

vehicle_model_group_id   string     

The id of an existing record in the vehicle_groups table. Example: architecto

model_year   integer     

Must be between 1900 and 2027. Example: 1901

fee   number     

Must be at least 0. Example: 84

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/fs-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fs-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/fs-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the fs fee. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/fs-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_make_id\": \"architecto\",
    \"vehicle_model_id\": \"architecto\",
    \"vehicle_model_group_id\": \"architecto\",
    \"model_year\": 1901,
    \"fee\": 84
}"
const url = new URL(
    "http://localhost/api/admin/fs-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_make_id": "architecto",
    "vehicle_model_id": "architecto",
    "vehicle_model_group_id": "architecto",
    "model_year": 1901,
    "fee": 84
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/fs-fees/{id}

PATCH api/admin/fs-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the fs fee. Example: 16

Body Parameters

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

vehicle_model_id   string     

The id of an existing record in the vehicle_models table. Example: architecto

vehicle_model_group_id   string     

The id of an existing record in the vehicle_groups table. Example: architecto

model_year   integer     

Must be between 1900 and 2027. Example: 1901

fee   number     

Must be at least 0. Example: 84

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/fs-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fs-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/fs-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the fs fee. Example: 16

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/quotations/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/quotations/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/quotations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the quotation. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/quotations/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/quotations/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/quotations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the quotation. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/quotations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/quotations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/quotations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/quotations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_id\": 4326.41688,
    \"product_id\": 4326.41688,
    \"service_provider_id\": 4326.41688,
    \"offer_id\": 4326.41688,
    \"sales_type\": \"iir\",
    \"created_by\": 4326.41688,
    \"finance_duration\": 16,
    \"internal_notes\": \"architecto\",
    \"validity_date\": \"2026-03-02T22:08:08\",
    \"registration_fee\": 4326.41688,
    \"fuel_efficiency_fee\": 4326.41688,
    \"plate_fee\": 4326.41688,
    \"transportation_fee\": 4326.41688,
    \"customer\": {
        \"full_name\": {
            \"en\": \"architecto\",
            \"ar\": \"architecto\"
        },
        \"address\": {
            \"city\": \"architecto\",
            \"street\": \"architecto\",
            \"apartment_no\": \"architecto\"
        },
        \"email\": \"zbailey@example.net\",
        \"mobile\": \"5642559314\",
        \"nationality\": \"architecto\",
        \"national_id\": \"ngzmiyvdljnikhwa\",
        \"dob\": \"2026-03-02\",
        \"gender\": \"female\",
        \"zip_code\": \"ykcmyu\",
        \"job_title\": \"w\",
        \"salary\": 4326.41688,
        \"salary_transfer_to\": \"architecto\",
        \"service_period\": 4326.41688,
        \"salary_transferred_to_id\": \"architecto\",
        \"work_sector_id\": \"architecto\",
        \"nationality_id\": \"architecto\"
    },
    \"vehicle_price\": 4326.41688,
    \"factory_warranty\": \"architecto\",
    \"additional_specs\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/quotations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_id": 4326.41688,
    "product_id": 4326.41688,
    "service_provider_id": 4326.41688,
    "offer_id": 4326.41688,
    "sales_type": "iir",
    "created_by": 4326.41688,
    "finance_duration": 16,
    "internal_notes": "architecto",
    "validity_date": "2026-03-02T22:08:08",
    "registration_fee": 4326.41688,
    "fuel_efficiency_fee": 4326.41688,
    "plate_fee": 4326.41688,
    "transportation_fee": 4326.41688,
    "customer": {
        "full_name": {
            "en": "architecto",
            "ar": "architecto"
        },
        "address": {
            "city": "architecto",
            "street": "architecto",
            "apartment_no": "architecto"
        },
        "email": "zbailey@example.net",
        "mobile": "5642559314",
        "nationality": "architecto",
        "national_id": "ngzmiyvdljnikhwa",
        "dob": "2026-03-02",
        "gender": "female",
        "zip_code": "ykcmyu",
        "job_title": "w",
        "salary": 4326.41688,
        "salary_transfer_to": "architecto",
        "service_period": 4326.41688,
        "salary_transferred_to_id": "architecto",
        "work_sector_id": "architecto",
        "nationality_id": "architecto"
    },
    "vehicle_price": 4326.41688,
    "factory_warranty": "architecto",
    "additional_specs": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/quotations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vehicle_id   number     

The id of an existing record in the vehicles table. Example: 4326.41688

product_id   number     

The id of an existing record in the products table. Example: 4326.41688

service_provider_id   number     

The id of an existing record in the service_providers table. Example: 4326.41688

offer_id   number  optional    

The id of an existing record in the offers table. Example: 4326.41688

sales_type   string     

Example: iir

Must be one of:
  • retail
  • iir
created_by   number  optional    

The id of an existing record in the admins table. Example: 4326.41688

finance_duration   integer     

Example: 16

internal_notes   string  optional    

Example: architecto

validity_date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

registration_fee   number  optional    

Example: 4326.41688

fuel_efficiency_fee   number  optional    

Example: 4326.41688

plate_fee   number  optional    

Example: 4326.41688

transportation_fee   number  optional    

Example: 4326.41688

customer   object     
full_name   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

address   object  optional    
city   string     

Example: architecto

street   string     

Example: architecto

apartment_no   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

mobile   string     

Must match the regex /^[0-9]{10,15}$/. Example: 5642559314

nationality   string     

The code of an existing record in the nationalities table. Example: architecto

national_id   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

dob   string     

Must be a valid date in the format Y-m-d. Example: 2026-03-02

gender   string     

Example: female

Must be one of:
  • male
  • female
zip_code   string     

Must not be greater than 10 characters. Example: ykcmyu

job_title   string     

Must not be greater than 255 characters. Example: w

salary   number     

Example: 4326.41688

salary_transfer_to   string     

Example: architecto

service_period   number     

Example: 4326.41688

salary_transferred_to_id   string     

The id of an existing record in the service_providers table. Example: architecto

work_sector_id   string     

The id of an existing record in the work_sectors table. Example: architecto

nationality_id   string     

The id of an existing record in the nationalities table. Example: architecto

vehicle_price   number     

Example: 4326.41688

factory_warranty   string  optional    

Example: architecto

additional_specs   string  optional    

Example: architecto

GET api/admin/quotations/{quotation}/download-pdf

Example request:
curl --request GET \
    --get "http://localhost/api/admin/quotations/architecto/download-pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/quotations/architecto/download-pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/quotations/{quotation}/download-pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

quotation   string     

The quotation. Example: architecto

POST api/admin/quotations/{quotation}/upload-signed

Example request:
curl --request POST \
    "http://localhost/api/admin/quotations/architecto/upload-signed" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "signed_pdf=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpnrhjvcquis3geOopuqW" 
const url = new URL(
    "http://localhost/api/admin/quotations/architecto/upload-signed"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('signed_pdf', document.querySelector('input[name="signed_pdf"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/admin/quotations/{quotation}/upload-signed

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

quotation   string     

The quotation. Example: architecto

Body Parameters

signed_pdf   file     

Must be a file. Must not be greater than 4096 kilobytes. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpnrhjvcquis3geOopuqW

Display a listing of templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created template

Example request:
curl --request POST \
    "http://localhost/api/admin/templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"type\": \"quotation\",
    \"service_provider_id\": 16,
    \"html_content\": \"architecto\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/admin/templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "type": "quotation",
    "service_provider_id": 16,
    "html_content": "architecto",
    "is_active": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

type   string     

Example: quotation

Must be one of:
  • quotation
  • purchase_order
service_provider_id   integer     

The id of an existing record in the service_providers table. Example: 16

html_content   string     

Example: architecto

is_active   boolean  optional    

Example: true

Display the specified template

Example request:
curl --request GET \
    --get "http://localhost/api/admin/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

Update the specified template

Example request:
curl --request PUT \
    "http://localhost/api/admin/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"type\": \"quotation\",
    \"service_provider_id\": 16,
    \"html_content\": \"architecto\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/admin/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "type": "quotation",
    "service_provider_id": 16,
    "html_content": "architecto",
    "is_active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

type   string     

Example: quotation

Must be one of:
  • quotation
  • purchase_order
service_provider_id   integer     

The id of an existing record in the service_providers table. Example: 16

html_content   string     

Example: architecto

is_active   boolean  optional    

Example: false

Remove the specified template

Example request:
curl --request DELETE \
    "http://localhost/api/admin/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

Get available variables for template type

Example request:
curl --request GET \
    --get "http://localhost/api/admin/templates/variables/available" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/templates/variables/available"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/templates/variables/available

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Generate documents for a quotation

Example request:
curl --request POST \
    "http://localhost/api/admin/documents/architecto/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/documents/architecto/generate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/documents/{quotationId}/generate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

quotationId   string     

Example: architecto

Get documents for a quotation

Example request:
curl --request GET \
    --get "http://localhost/api/admin/documents/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/documents/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/documents/{quotationId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

quotationId   string     

Example: architecto

Download a specific document

Example request:
curl --request GET \
    --get "http://localhost/api/admin/documents/architecto/architecto/download" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/documents/architecto/architecto/download"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/documents/{quotationId}/{type}/download

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

quotationId   string     

Example: architecto

type   string     

Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/work-sectors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/work-sectors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/work-sectors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/work-sectors/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/work-sectors/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/work-sectors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the work sector. Example: 16

Display a paginated listing of products.

Example request:
curl --request GET \
    --get "http://localhost/api/products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/products"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/products

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified product with related data.

Example request:
curl --request GET \
    --get "http://localhost/api/products/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/products/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/products/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

Get count and details of filtered products.

Example request:
curl --request GET \
    --get "http://localhost/api/products/filter-details" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filters\": {
        \"is_active\": false,
        \"nationality\": \"saudi\",
        \"service_period\": 4326.41688,
        \"age\": 4326.41688,
        \"salary\": 4326.41688,
        \"down_payment\": 77,
        \"finance_duration\": 8,
        \"price\": 4326.41688
    }
}"
const url = new URL(
    "http://localhost/api/products/filter-details"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filters": {
        "is_active": false,
        "nationality": "saudi",
        "service_period": 4326.41688,
        "age": 4326.41688,
        "salary": 4326.41688,
        "down_payment": 77,
        "finance_duration": 8,
        "price": 4326.41688
    }
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/products/filter-details

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

filters   object  optional    
is_active   boolean  optional    

Example: false

nationality   string  optional    

Example: saudi

Must be one of:
  • saudi
  • non-saudi
work_sector_id   string  optional    

The id of an existing record in the work_sectors table.

service_period   number  optional    

Example: 4326.41688

salary_transfer_to   string  optional    

The id of an existing record in the service_providers table.

age   number  optional    

Example: 4326.41688

salary   number  optional    

Example: 4326.41688

down_payment   number  optional    

Must be at least 0. Example: 77

finance_duration   number  optional    

Must be at least 0. Example: 8

price   number  optional    

Example: 4326.41688

Get offers by product ID.

Example request:
curl --request GET \
    --get "http://localhost/api/products/16/offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/products/16/offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/products/{product_id}/offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

product_id   integer     

The ID of the product. Example: 16

Search products based on provided criteria.

Example request:
curl --request GET \
    --get "http://localhost/api/search/products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"variant_id\": \"architecto\",
    \"price\": 4326.41688,
    \"nationality_id\": \"architecto\",
    \"work_sector_id\": \"architecto\",
    \"service_period\": 4326.41688,
    \"down_payment\": 4326.41688,
    \"finance_duration\": 4326.41688,
    \"salary_transfer_to\": \"architecto\",
    \"age\": 4326.41688,
    \"salary\": 4326.41688,
    \"balloon_percentage\": 77,
    \"final_payment\": 4326.41688,
    \"sales_type\": \"retail\",
    \"filters\": {
        \"down_payment\": [
            77
        ],
        \"down_payment_range\": [
            8
        ],
        \"balloon_payment\": [
            76
        ],
        \"admin_fees\": [
            60
        ],
        \"insurance_fees\": [
            42
        ],
        \"profit_rate\": 37,
        \"total_price_range\": [
            9
        ],
        \"nationality\": \"saudi\",
        \"service_period\": 4326.41688,
        \"age\": 4326.41688,
        \"salary\": 4326.41688,
        \"finance_duration\": [
            77
        ],
        \"finance_duration_range\": [
            8
        ]
    }
}"
const url = new URL(
    "http://localhost/api/search/products"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "variant_id": "architecto",
    "price": 4326.41688,
    "nationality_id": "architecto",
    "work_sector_id": "architecto",
    "service_period": 4326.41688,
    "down_payment": 4326.41688,
    "finance_duration": 4326.41688,
    "salary_transfer_to": "architecto",
    "age": 4326.41688,
    "salary": 4326.41688,
    "balloon_percentage": 77,
    "final_payment": 4326.41688,
    "sales_type": "retail",
    "filters": {
        "down_payment": [
            77
        ],
        "down_payment_range": [
            8
        ],
        "balloon_payment": [
            76
        ],
        "admin_fees": [
            60
        ],
        "insurance_fees": [
            42
        ],
        "profit_rate": 37,
        "total_price_range": [
            9
        ],
        "nationality": "saudi",
        "service_period": 4326.41688,
        "age": 4326.41688,
        "salary": 4326.41688,
        "finance_duration": [
            77
        ],
        "finance_duration_range": [
            8
        ]
    }
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/search/products

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

variant_id   string     

The id of an existing record in the variants table. Example: architecto

price   number     

Example: 4326.41688

nationality_id   string     

The id of an existing record in the nationalities table. Example: architecto

work_sector_id   string     

The id of an existing record in the work_sectors table. Example: architecto

service_period   number     

Example: 4326.41688

down_payment   number  optional    

Example: 4326.41688

finance_duration   number     

Example: 4326.41688

salary_transfer_to   string     

The id of an existing record in the service_providers table. Example: architecto

age   number     

Example: 4326.41688

salary   number     

Example: 4326.41688

balloon_percentage   number  optional    

Must be at least 0. Example: 77

final_payment   number  optional    

Example: 4326.41688

sales_type   string     

Example: retail

Must be one of:
  • retail
  • iir
transportation_fee   string  optional    
filters   object  optional    
serviceProvider   string  optional    

The id of an existing record in the service_providers table.

down_payment   number[]  optional    

Must be at least 0.

down_payment_range   number[]  optional    

Must be at least 0.

balloon_payment   number[]  optional    

Must be at least 0.

admin_fees   number[]  optional    

Must be at least 0.

insurance_fees   number[]  optional    

Must be at least 0.

profit_rate   number  optional    

Must be at least 0. Example: 37

total_price_range   number[]  optional    

Must be at least 0.

nationality   string  optional    

Example: saudi

Must be one of:
  • saudi
  • non-saudi
work_sector_id   string  optional    

The id of an existing record in the work_sectors table.

service_period   number  optional    

Example: 4326.41688

salary_transfer_to   string  optional    

The id of an existing record in the service_providers table.

age   number  optional    

Example: 4326.41688

salary   number  optional    

Example: 4326.41688

finance_duration   number[]  optional    

Must be at least 0.

finance_duration_range   number[]  optional    

Must be at least 0.

GET api/dashboard/min-applications-year

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/min-applications-year" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/dashboard/min-applications-year"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/dashboard/min-applications-year

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/dashboard/sales-analysis

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/sales-analysis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/sales-analysis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/sales-analysis

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/vehicles-analysis

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/vehicles-analysis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/vehicles-analysis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/vehicles-analysis

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/brand-analysis/{vehicle_make}

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/brand-analysis/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/brand-analysis/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/brand-analysis/{vehicle_make}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vehicle_make   integer     

Example: 1

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/providers-analysis

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/providers-analysis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/providers-analysis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/providers-analysis

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/single-provider-analysis/{service_provider_id}

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/single-provider-analysis/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/single-provider-analysis/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/single-provider-analysis/{service_provider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/distributors-analysis

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/distributors-analysis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/distributors-analysis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/distributors-analysis

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/dashboard/customers-analysis

Example request:
curl --request GET \
    --get "http://localhost/api/dashboard/customers-analysis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"start_date\": \"2022-03-27\",
    \"end_date\": \"2052-03-25\"
}"
const url = new URL(
    "http://localhost/api/dashboard/customers-analysis"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-03-27",
    "end_date": "2052-03-25"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/dashboard/customers-analysis

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

start_date   string     

Must be a valid date. Must be a date before or equal to end_date. Example: 2022-03-27

end_date   string     

Must be a valid date. Must be a date after or equal to start_date. Example: 2052-03-25

vehicle_make_id   string  optional    

The id of an existing record in the vehicle_makes table.

GET api/vehicles

Example request:
curl --request GET \
    --get "http://localhost/api/vehicles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"chassis\": \"architecto\",
    \"variant_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/vehicles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "chassis": "architecto",
    "variant_id": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/vehicles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

chassis   string     

Example: architecto

variant_id   string     

The id of an existing record in the variants table. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/distributors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/distributors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/distributors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/distributors" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name[en]=architecto"\
    --form "name[ar]=architecto"\
    --form "address[city]=architecto"\
    --form "address[street]=architecto"\
    --form "phone=architecto"\
    --form "vat_number=architecto"\
    --form "registration_number=architecto"\
    --form "contacts[][name]=architecto"\
    --form "contacts[][email]=zbailey@example.net"\
    --form "contacts[][mobile]=4326.41688"\
    --form "logo=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php1ciqjhfh6ugo4G0N9Bl" 
const url = new URL(
    "http://localhost/api/distributors"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name[en]', 'architecto');
body.append('name[ar]', 'architecto');
body.append('address[city]', 'architecto');
body.append('address[street]', 'architecto');
body.append('phone', 'architecto');
body.append('vat_number', 'architecto');
body.append('registration_number', 'architecto');
body.append('contacts[][name]', 'architecto');
body.append('contacts[][email]', 'zbailey@example.net');
body.append('contacts[][mobile]', '4326.41688');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/distributors

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

address   object     
city   string     

Example: architecto

street   string     

Example: architecto

phone   string     

Example: architecto

logo   file     

Must be an image. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/php1ciqjhfh6ugo4G0N9Bl

contacts   object[]  optional    
name   string  optional    

Example: architecto

email   string  optional    

Must be a valid email address. Example: zbailey@example.net

mobile   number  optional    

Example: 4326.41688

vat_number   string  optional    

Example: architecto

registration_number   string  optional    

Example: architecto

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/distributors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/distributors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/distributors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the distributor. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/distributors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"address\": {
        \"city\": \"architecto\",
        \"street\": \"architecto\"
    },
    \"phone\": \"architecto\",
    \"vat_number\": \"architecto\",
    \"registration_number\": \"architecto\",
    \"contacts\": [
        {
            \"name\": \"architecto\",
            \"email\": \"zbailey@example.net\",
            \"mobile\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/distributors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "address": {
        "city": "architecto",
        "street": "architecto"
    },
    "phone": "architecto",
    "vat_number": "architecto",
    "registration_number": "architecto",
    "contacts": [
        {
            "name": "architecto",
            "email": "zbailey@example.net",
            "mobile": 4326.41688
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/distributors/{id}

PATCH api/distributors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the distributor. Example: architecto

Body Parameters

name   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

address   object  optional    
city   string  optional    

Example: architecto

street   string  optional    

Example: architecto

phone   string  optional    

Example: architecto

logo   string  optional    
contacts   object[]  optional    
name   string  optional    

Example: architecto

email   string  optional    

Must be a valid email address. Example: zbailey@example.net

mobile   number  optional    

Example: 4326.41688

vat_number   string  optional    

Example: architecto

registration_number   string  optional    

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/distributors/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/distributors/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/distributors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the distributor. Example: 16

PATCH api/distributors/{distributor_id}/toggle-active

Example request:
curl --request PATCH \
    "http://localhost/api/distributors/16/toggle-active" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/distributors/16/toggle-active"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Request   

PATCH api/distributors/{distributor_id}/toggle-active

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_id   integer     

The ID of the distributor. Example: 16

PUT api/distributors/{distributor_id}/update-contacts

Example request:
curl --request PUT \
    "http://localhost/api/distributors/16/update-contacts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_information\": [
        {
            \"id\": 16,
            \"name\": \"n\",
            \"email\": \"ashly64@example.com\",
            \"mobile\": 4326.41688,
            \"profession\": \"m\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/distributors/16/update-contacts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "contact_information": [
        {
            "id": 16,
            "name": "n",
            "email": "ashly64@example.com",
            "mobile": 4326.41688,
            "profession": "m"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/distributors/{distributor_id}/update-contacts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_id   integer     

The ID of the distributor. Example: 16

Body Parameters

contact_information   object[]  optional    
id   integer  optional    

The id of an existing record in the service_provider_contacts table. Example: 16

name   string  optional    

This field is required when contact_information..email or contact_information..mobile is present. Must not be greater than 255 characters. Example: n

email   string  optional    

This field is required when contact_information..name or contact_information..mobile is present. Must be a valid email address. Must not be greater than 255 characters. Example: ashly64@example.com

mobile   number  optional    

This field is required when contact_information..name or contact_information..email is present. Example: 4326.41688

profession   string  optional    

This field is required when contact_information.*.name is present. Must not be greater than 255 characters. Example: m

POST api/distributors/{distributor_id}/add-contact

Example request:
curl --request POST \
    "http://localhost/api/distributors/16/add-contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"mobile\": 4326.41688,
    \"profession\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/distributors/16/add-contact"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "architecto",
    "email": "zbailey@example.net",
    "mobile": 4326.41688,
    "profession": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/distributors/{distributor_id}/add-contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_id   integer     

The ID of the distributor. Example: 16

Body Parameters

name   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

mobile   number     

Example: 4326.41688

profession   string     

Example: architecto

PUT api/distributors/update-contact/{distributor_contact_id}

Example request:
curl --request PUT \
    "http://localhost/api/distributors/update-contact/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"mobile\": 4326.41688,
    \"profession\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/distributors/update-contact/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "architecto",
    "email": "zbailey@example.net",
    "mobile": 4326.41688,
    "profession": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/distributors/update-contact/{distributor_contact_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_contact_id   string     

The ID of the distributor contact. Example: architecto

Body Parameters

name   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

mobile   number     

Example: 4326.41688

profession   string     

Example: architecto

DELETE api/distributors/distributor-contact/{distributor_contact_id}

Example request:
curl --request DELETE \
    "http://localhost/api/distributors/distributor-contact/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/distributors/distributor-contact/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/distributors/distributor-contact/{distributor_contact_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_contact_id   string     

The ID of the distributor contact. Example: architecto

POST api/distributors/{distributor_id}/add-admins

Example request:
curl --request POST \
    "http://localhost/api/distributors/16/add-admins" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"admins\": [
        {
            \"first_name\": \"n\",
            \"last_name\": \"g\",
            \"email\": \"rowan.gulgowski@example.com\",
            \"mobile\": \"architecto\",
            \"password\": \"]|{+-0pBNvYg\",
            \"city\": \"h\",
            \"profession\": \"w\"
        }
    ],
    \"role_id\": 16
}"
const url = new URL(
    "http://localhost/api/distributors/16/add-admins"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "admins": [
        {
            "first_name": "n",
            "last_name": "g",
            "email": "rowan.gulgowski@example.com",
            "mobile": "architecto",
            "password": "]|{+-0pBNvYg",
            "city": "h",
            "profession": "w"
        }
    ],
    "role_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/distributors/{distributor_id}/add-admins

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

distributor_id   integer     

The ID of the distributor. Example: 16

Body Parameters

admins   object[]     

Must have at least 1 items.

first_name   string     

Must not be greater than 255 characters. Example: n

last_name   string     

Must not be greater than 255 characters. Example: g

email   string     

Must be a valid email address. Example: rowan.gulgowski@example.com

mobile   string     

Example: architecto

password   string     

Must be at least 6 characters. Example: ]|{+-0pBNvYg

password_confirmation   string  optional    

This field is required when admins..password is present. The value and admins..password must match.

city   string  optional    

Must not be greater than 255 characters. Example: h

profession   string  optional    

Must not be greater than 255 characters. Example: w

role_id   integer     

The id of an existing record in the roles table. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"full_name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"address\": {
        \"city\": \"architecto\",
        \"street\": \"architecto\",
        \"apartment_no\": \"architecto\"
    },
    \"email\": \"zbailey@example.net\",
    \"mobile\": \"5642559314\",
    \"nationality_id\": \"architecto\",
    \"products\": [
        \"architecto\"
    ],
    \"finance_duration\": 4326.41688,
    \"dob\": \"2026-03-02\",
    \"age\": 4326.41688,
    \"gender\": \"female\",
    \"zip_code\": \"miyvdl\",
    \"job_title\": \"j\",
    \"salary\": 4326.41688,
    \"national_id\": 4326.41688,
    \"service_period\": 4326.41688,
    \"salary_transferred_to_id\": \"architecto\",
    \"vehicle_id\": \"architecto\",
    \"vehicle_price\": 4326.41688,
    \"work_sector_id\": \"architecto\",
    \"down_payment\": 4326.41688,
    \"balloon_percentage\": 4326.41688,
    \"final_payment\": 4326.41688,
    \"fuel_fee\": 77,
    \"plate_fee\": 8,
    \"sales_type\": \"iir\",
    \"factory_warranty\": \"architecto\",
    \"additional_specs\": \"architecto\",
    \"offers\": [
        {
            \"id\": \"architecto\",
            \"duration\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "full_name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "address": {
        "city": "architecto",
        "street": "architecto",
        "apartment_no": "architecto"
    },
    "email": "zbailey@example.net",
    "mobile": "5642559314",
    "nationality_id": "architecto",
    "products": [
        "architecto"
    ],
    "finance_duration": 4326.41688,
    "dob": "2026-03-02",
    "age": 4326.41688,
    "gender": "female",
    "zip_code": "miyvdl",
    "job_title": "j",
    "salary": 4326.41688,
    "national_id": 4326.41688,
    "service_period": 4326.41688,
    "salary_transferred_to_id": "architecto",
    "vehicle_id": "architecto",
    "vehicle_price": 4326.41688,
    "work_sector_id": "architecto",
    "down_payment": 4326.41688,
    "balloon_percentage": 4326.41688,
    "final_payment": 4326.41688,
    "fuel_fee": 77,
    "plate_fee": 8,
    "sales_type": "iir",
    "factory_warranty": "architecto",
    "additional_specs": "architecto",
    "offers": [
        {
            "id": "architecto",
            "duration": 4326.41688
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

full_name   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

address   object  optional    
city   string     

Example: architecto

street   string     

Example: architecto

apartment_no   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

mobile   string     

Must match the regex /^[0-9]{10,15}$/. Example: 5642559314

nationality_id   string     

The id of an existing record in the nationalities table. Example: architecto

products   string[]     

The id of an existing record in the products table.

offers   object[]  optional    

Must have at least 0 items. Must not have more than 3 items.

id   string     

The id of an existing record in the offers table. Example: architecto

duration   number     

Example: 4326.41688

finance_duration   number     

Example: 4326.41688

dob   string     

Must be a valid date in the format Y-m-d. Example: 2026-03-02

age   number     

Example: 4326.41688

gender   string     

Example: female

Must be one of:
  • male
  • female
zip_code   string     

Must not be greater than 10 characters. Example: miyvdl

job_title   string     

Must not be greater than 255 characters. Example: j

salary   number     

Example: 4326.41688

national_id   number     

Example: 4326.41688

service_period   number     

Example: 4326.41688

salary_transferred_to_id   string     

The id of an existing record in the service_providers table. Example: architecto

distributor_id   string  optional    

The id of an existing record in the distributors table.

vehicle_id   string     

Example: architecto

vehicle_price   number     

Example: 4326.41688

work_sector_id   string     

The id of an existing record in the work_sectors table. Example: architecto

down_payment   number  optional    

Example: 4326.41688

balloon_percentage   number  optional    

Example: 4326.41688

final_payment   number  optional    

Example: 4326.41688

fuel_fee   number     

Must be at least 0. Example: 77

plate_fee   number     

Must be at least 0. Example: 8

transportation_fee   string  optional    
sales_type   string     

Example: iir

Must be one of:
  • retail
  • iir
factory_warranty   string  optional    

Example: architecto

additional_specs   string  optional    

Example: architecto

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/applications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/applications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/applications/{application_request_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_request_id   string     

The ID of the application request. Example: architecto

PUT api/applications/{application_request}/update-status

Example request:
curl --request PUT \
    "http://localhost/api/applications/architecto/update-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 3
}"
const url = new URL(
    "http://localhost/api/applications/architecto/update-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 3
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/applications/{application_request}/update-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_request   string     

Example: architecto

Body Parameters

status   integer     

Example: 3

Must be one of:
  • 1
  • 2
  • 3

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/application-products/steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/application-products/steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/application-products/steps

Example request:
curl --request POST \
    "http://localhost/api/application-products/steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/application-products/steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/application-products/steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/application-products/steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the step. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/application-products/steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/application-products/steps/{id}

PATCH api/application-products/steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the step. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/application-products/steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/application-products/steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the step. Example: architecto

GET api/application-products/{application_product_id}

Example request:
curl --request GET \
    --get "http://localhost/api/application-products/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/application-products/{application_product_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

GET api/application-products/{application_product_id}/steps

Example request:
curl --request GET \
    --get "http://localhost/api/application-products/architecto/steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/architecto/steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/application-products/{application_product_id}/steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

GET api/application-products/{application_product_id}/steps/{step_id}

Example request:
curl --request GET \
    --get "http://localhost/api/application-products/architecto/steps/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/architecto/steps/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/application-products/{application_product_id}/steps/{step_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

step_id   integer     

The ID of the step. Example: 16

POST api/application-products/{application_product_id}/entities

Example request:
curl --request POST \
    "http://localhost/api/application-products/architecto/entities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/application-products/architecto/entities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/application-products/{application_product_id}/entities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

POST api/application-products/{application_product_id}/update-status

Example request:
curl --request POST \
    "http://localhost/api/application-products/architecto/update-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 5
}"
const url = new URL(
    "http://localhost/api/application-products/architecto/update-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/application-products/{application_product_id}/update-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

Body Parameters

status   string     

Example: 5

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5

PUT api/application-products/{application_product_id}/change-status

Example request:
curl --request PUT \
    "http://localhost/api/application-products/architecto/change-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 4
}"
const url = new URL(
    "http://localhost/api/application-products/architecto/change-status"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 4
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/application-products/{application_product_id}/change-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

application_product_id   string     

The ID of the application product. Example: architecto

Body Parameters

status   string     

Example: 4

Must be one of:
  • 3
  • 4

GET api/{commentable_type}/{commentable_id}/comments/{applications_products_id}

Example request:
curl --request GET \
    --get "http://localhost/api/architecto/architecto/comments/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/architecto/architecto/comments/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/{commentable_type}/{commentable_id}/comments/{applications_products_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

commentable_type   string     

Example: architecto

commentable_id   string     

The ID of the commentable. Example: architecto

applications_products_id   string     

The ID of the applications products. Example: architecto

POST api/{commentable_type}/{commentable_id}/comments

Example request:
curl --request POST \
    "http://localhost/api/architecto/architecto/comments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"body\": \"b\",
    \"application_product_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/architecto/architecto/comments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "body": "b",
    "application_product_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/{commentable_type}/{commentable_id}/comments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

commentable_type   string     

Example: architecto

commentable_id   string     

The ID of the commentable. Example: architecto

Body Parameters

body   string     

Must be at least 1 character. Must not be greater than 1000 characters. Example: b

comment_id   string  optional    

The id of an existing record in the comments table.

application_product_id   string     

The id of an existing record in the products_applications table. Example: architecto

GET api/comments

Example request:
curl --request GET \
    --get "http://localhost/api/comments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/comments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/comments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/comments

Example request:
curl --request POST \
    "http://localhost/api/comments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"body\": \"b\",
    \"application_product_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/comments"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "body": "b",
    "application_product_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/comments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

body   string     

Must be at least 1 character. Must not be greater than 1000 characters. Example: b

comment_id   string  optional    

The id of an existing record in the comments table.

application_product_id   string     

The id of an existing record in the products_applications table. Example: architecto

GET api/comments/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/comments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/comments/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/comments/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the comment. Example: 16

PUT api/comments/{id}

Example request:
curl --request PUT \
    "http://localhost/api/comments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"body\": \"b\",
    \"is_resolved\": true
}"
const url = new URL(
    "http://localhost/api/comments/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "body": "b",
    "is_resolved": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/comments/{id}

PATCH api/comments/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the comment. Example: 16

Body Parameters

body   string  optional    

Must be at least 1 character. Must not be greater than 1000 characters. Example: b

is_resolved   boolean  optional    

Example: true

DELETE api/comments/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/comments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/comments/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/comments/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the comment. Example: 16

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/service-providers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"page\": 16,
    \"sort_by\": \"asc\",
    \"limit\": 22,
    \"q\": \"g\"
}"
const url = new URL(
    "http://localhost/api/service-providers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "page": 16,
    "sort_by": "asc",
    "limit": 22,
    "q": "g"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/service-providers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

page   integer  optional    

Must be at least 1. Example: 16

sort_by   string  optional    

Example: asc

Must be one of:
  • asc
  • desc
limit   integer  optional    

Must be at least 1. Example: 22

q   string  optional    

Must not be greater than 150 characters. Example: g

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/service-providers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-providers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/service-providers/{service_provider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/service-providers" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name[en]=architecto"\
    --form "name[ar]=architecto"\
    --form "address[]=architecto"\
    --form "limit=4326.41688"\
    --form "logo=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpt4jtivg97ll07SyHIIH" 
const url = new URL(
    "http://localhost/api/service-providers"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name[en]', 'architecto');
body.append('name[ar]', 'architecto');
body.append('address[]', 'architecto');
body.append('limit', '4326.41688');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/service-providers

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

address   string[]     
street   string     

Example: architecto

city   string     

Example: architecto

limit   number     

Example: 4326.41688

logo   file  optional    

Must be an image. Must not be greater than 300 kilobytes. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phpt4jtivg97ll07SyHIIH

Update the contacts of the service provider.

Example request:
curl --request PUT \
    "http://localhost/api/service-providers/architecto/update-contacts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_information\": [
        {
            \"id\": 16,
            \"name\": \"n\",
            \"email\": \"ashly64@example.com\",
            \"mobile\": 4326.41688,
            \"profession\": \"m\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/service-providers/architecto/update-contacts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "contact_information": [
        {
            "id": 16,
            "name": "n",
            "email": "ashly64@example.com",
            "mobile": 4326.41688,
            "profession": "m"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/service-providers/{service_provider_id}/update-contacts

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Body Parameters

contact_information   object[]  optional    
id   integer  optional    

The id of an existing record in the service_provider_contacts table. Example: 16

name   string  optional    

This field is required when contact_information..email or contact_information..mobile is present. Must not be greater than 255 characters. Example: n

email   string  optional    

This field is required when contact_information..name or contact_information..mobile is present. Must be a valid email address. Must not be greater than 255 characters. Example: ashly64@example.com

mobile   number  optional    

This field is required when contact_information..name or contact_information..email is present. Example: 4326.41688

profession   string  optional    

This field is required when contact_information.*.name is present. Must not be greater than 255 characters. Example: m

Adds a new contact for the specified service provider.

Example request:
curl --request POST \
    "http://localhost/api/service-providers/architecto/add-contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"profession\": \"architecto\",
    \"mobile\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/service-providers/architecto/add-contact"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "architecto",
    "email": "zbailey@example.net",
    "profession": "architecto",
    "mobile": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/service-providers/{service_provider_id}/add-contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Body Parameters

name   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

profession   string     

Example: architecto

mobile   string     

Example: architecto

PUT api/service-providers/update-contact/{service_provider_contact_id}

Example request:
curl --request PUT \
    "http://localhost/api/service-providers/update-contact/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"mobile\": \"architecto\",
    \"profession\": \"n\"
}"
const url = new URL(
    "http://localhost/api/service-providers/update-contact/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "architecto",
    "email": "zbailey@example.net",
    "mobile": "architecto",
    "profession": "n"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/service-providers/update-contact/{service_provider_contact_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_contact_id   string     

The ID of the service provider contact. Example: architecto

Body Parameters

name   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

mobile   string     

Example: architecto

profession   string     

Must not be greater than 191 characters. Example: n

DELETE api/service-providers/service-provider-contact/{service_provider_contact_id}

Example request:
curl --request DELETE \
    "http://localhost/api/service-providers/service-provider-contact/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-providers/service-provider-contact/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/service-providers/service-provider-contact/{service_provider_contact_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_contact_id   string     

The ID of the service provider contact. Example: architecto

Add admins to a service provider and assign roles.

Example request:
curl --request POST \
    "http://localhost/api/service-providers/architecto/add-admins" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"admins\": [
        {
            \"first_name\": \"architecto\",
            \"last_name\": \"architecto\",
            \"email\": \"zbailey@example.net\",
            \"profession\": \"architecto\",
            \"mobile\": \"architecto\",
            \"city\": \"architecto\"
        }
    ],
    \"role_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/service-providers/architecto/add-admins"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "admins": [
        {
            "first_name": "architecto",
            "last_name": "architecto",
            "email": "zbailey@example.net",
            "profession": "architecto",
            "mobile": "architecto",
            "city": "architecto"
        }
    ],
    "role_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/service-providers/{service_provider_id}/add-admins

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Body Parameters

admins   object[]     
first_name   string     

Example: architecto

last_name   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

profession   string     

Example: architecto

mobile   string     

Example: architecto

city   string     

Example: architecto

role_id   string     

The id of an existing record in the roles table. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/service-providers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-providers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/service-providers/{service_provider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

PATCH api/service-providers/{service_provider_id}/toggle-active

Example request:
curl --request PATCH \
    "http://localhost/api/service-providers/architecto/toggle-active" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-providers/architecto/toggle-active"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Request   

PATCH api/service-providers/{service_provider_id}/toggle-active

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

GET api/service-providers/{service_provider_id}/products

Example request:
curl --request GET \
    --get "http://localhost/api/service-providers/architecto/products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-providers/architecto/products"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/service-providers/{service_provider_id}/products

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_provider_id   string     

The ID of the service provider. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/finance-applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/finance-applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/finance-applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/banks

Example request:
curl --request GET \
    --get "http://localhost/api/admin/banks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/banks"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/banks

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/banks

Example request:
curl --request POST \
    "http://localhost/api/admin/banks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/banks"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/banks

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/banks/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/banks/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/banks/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/banks/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the bank. Example: architecto

PUT api/admin/banks/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/banks/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/banks/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/banks/{id}

PATCH api/admin/banks/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the bank. Example: architecto

DELETE api/admin/banks/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/banks/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/banks/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/banks/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the bank. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/variant-forms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": 1,
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"mobile\": \"architecto\",
    \"message\": \"architecto\",
    \"date\": \"2026-03-02T22:08:08\",
    \"model_year\": 16
}"
const url = new URL(
    "http://localhost/api/variant-forms"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": 1,
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "mobile": "architecto",
    "message": "architecto",
    "date": "2026-03-02T22:08:08",
    "model_year": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/variant-forms

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

type   string     

Example: 1

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
first_name   string     

Must not be greater than 191 characters. Example: b

last_name   string     

Must not be greater than 191 characters. Example: n

email   string     

Must be a valid email address. Example: ashly64@example.com

mobile   string     

Example: architecto

message   string  optional    

Example: architecto

variant_id   string  optional    

The id of an existing record in the variants table.

model_id   string  optional    

The id of an existing record in the vehicle_models table.

location_id   string  optional    

The id of an existing record in the locations table.

date   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

time   string  optional    
exterior_color_id   string  optional    

The id of an existing record in the exterior_colors table.

interior_color_id   string  optional    

The id of an existing record in the interior_colors table.

model_year   integer  optional    

Example: 16

GET api/banks

Example request:
curl --request GET \
    --get "http://localhost/api/banks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/banks"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/banks

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/notification/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/notification/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/notification/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/notification/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

POST api/admin/notification/test

Example request:
curl --request POST \
    "http://localhost/api/admin/notification/test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"notification_id\": \"architecto\",
    \"trigger_id\": \"architecto\",
    \"channel\": \"email\",
    \"recipient\": \"architecto\",
    \"use_notifiable\": false
}"
const url = new URL(
    "http://localhost/api/admin/notification/test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "notification_id": "architecto",
    "trigger_id": "architecto",
    "channel": "email",
    "recipient": "architecto",
    "use_notifiable": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/notification/test

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

notification_id   string     

The id of an existing record in the notification_events table. Example: architecto

trigger_id   string     

The id of an existing record in the triggers table. Example: architecto

channel   string     

Example: email

Must be one of:
  • email
  • sms
recipient   string     

Example: architecto

use_notifiable   boolean  optional    

Example: false

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/triggers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/triggers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/triggers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/triggers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/triggers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/triggers/{triggerId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

triggerId   string     

Example: architecto

GET api/admin/notification/templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/notification/templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"locale\": \"en\",
    \"subject\": \"n\",
    \"body\": \"architecto\",
    \"notification_route\": \"architecto\",
    \"trigger_ids\": [
        16
    ],
    \"test_recipient\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/notification/templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "locale": "en",
    "subject": "n",
    "body": "architecto",
    "notification_route": "architecto",
    "trigger_ids": [
        16
    ],
    "test_recipient": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/notification/templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

locale   string     

Example: en

Must be one of:
  • en
  • ar
subject   string  optional    

Must not be greater than 255 characters. Example: n

body   string     

Example: architecto

notification_route   string  optional    

Example: architecto

trigger_ids   integer[]  optional    

The id of an existing record in the triggers table.

test_recipient   string  optional    

Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/notification/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"locale\": \"en\",
    \"subject\": \"n\",
    \"body\": \"architecto\",
    \"notification_route\": \"architecto\",
    \"trigger_ids\": [
        16
    ],
    \"test_recipient\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/notification/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "locale": "en",
    "subject": "n",
    "body": "architecto",
    "notification_route": "architecto",
    "trigger_ids": [
        16
    ],
    "test_recipient": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/notification/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

locale   string  optional    

Example: en

Must be one of:
  • en
  • ar
subject   string  optional    

Must not be greater than 255 characters. Example: n

body   string     

Example: architecto

notification_route   string  optional    

Example: architecto

trigger_ids   integer[]  optional    

The id of an existing record in the triggers table.

test_recipient   string  optional    

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/notification/templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/notification/templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the template. Example: architecto

GET api/admin/notification/event

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/event" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/event"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/event

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/notification/event" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"channel\": \"sms\",
    \"triggers\": [
        16
    ],
    \"test_recipient\": \"architecto\",
    \"template_ids\": [
        16
    ]
}"
const url = new URL(
    "http://localhost/api/admin/notification/event"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "channel": "sms",
    "triggers": [
        16
    ],
    "test_recipient": "architecto",
    "template_ids": [
        16
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/notification/event

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

channel   string     

Example: sms

Must be one of:
  • mail
  • sms
triggers   integer[]  optional    

The id of an existing record in the triggers table.

test_recipient   string  optional    

Example: architecto

template_ids   integer[]  optional    

The id of an existing record in the notification_templates table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notification/event/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/event/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notification/event/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/notification/event/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"channel\": \"sms\",
    \"triggers\": [
        16
    ],
    \"test_recipient\": \"architecto\",
    \"template_ids\": [
        16
    ]
}"
const url = new URL(
    "http://localhost/api/admin/notification/event/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "channel": "sms",
    "triggers": [
        16
    ],
    "test_recipient": "architecto",
    "template_ids": [
        16
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/notification/event/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: architecto

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

channel   string     

Example: sms

Must be one of:
  • mail
  • sms
triggers   integer[]  optional    

The id of an existing record in the triggers table.

test_recipient   string  optional    

Example: architecto

template_ids   integer[]  optional    

The id of an existing record in the notification_templates table.

DELETE api/admin/notification/event/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/notification/event/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notification/event/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/notification/event/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the event. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/pdf/trigger" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf/trigger"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/pdf/trigger

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/pdf/trigger/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf/trigger/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/pdf/trigger/{triggerId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

triggerId   string     

Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/pdf" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=architecto"\
    --form "pdf_trigger_id=architecto"\
    --form "is_attachment="\
    --form "boxes[][variable]=architecto"\
    --form "boxes[][is_rtl]="\
    --form "boxes[][is_variable]="\
    --form "boxes[][x]=39"\
    --form "boxes[][y]=84"\
    --form "image=@/private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phptmkvj8cpjt7e9R4bQXA" 
const url = new URL(
    "http://localhost/api/admin/pdf"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name', 'architecto');
body.append('pdf_trigger_id', 'architecto');
body.append('is_attachment', '');
body.append('boxes[][variable]', 'architecto');
body.append('boxes[][is_rtl]', '');
body.append('boxes[][is_variable]', '');
body.append('boxes[][x]', '39');
body.append('boxes[][y]', '84');
body.append('image', document.querySelector('input[name="image"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request   

POST api/admin/pdf

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string     

Example: architecto

image   file     

Must be an image. Must not be greater than 2048 kilobytes. Example: /private/var/folders/nb/j1p5drzn0jxdjmx_yrrlr7sr0000gn/T/phptmkvj8cpjt7e9R4bQXA

pdf_trigger_id   string     

The id of an existing record in the pdf_triggers table. Example: architecto

is_attachment   boolean     

Example: false

notification_template_ids   string[]  optional    

The id of an existing record in the notification_templates table.

boxes   object[]     
variable   string     

Example: architecto

is_rtl   boolean     

Example: false

is_variable   boolean     

Example: false

x   integer     

Must be at least 0. Example: 39

y   integer     

Must be at least 0. Example: 84

custom_css   object  optional    

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/pdf/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/pdf/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the pdf. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/pdf/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"image\": \"architecto\",
    \"pdf_trigger_id\": \"architecto\",
    \"is_attachment\": true,
    \"boxes\": [
        {
            \"variable\": \"architecto\",
            \"is_rtl\": true,
            \"is_variable\": false,
            \"x\": 39,
            \"y\": 84
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/pdf/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "architecto",
    "image": "architecto",
    "pdf_trigger_id": "architecto",
    "is_attachment": true,
    "boxes": [
        {
            "variable": "architecto",
            "is_rtl": true,
            "is_variable": false,
            "x": 39,
            "y": 84
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/pdf/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the pdf. Example: architecto

Body Parameters

name   string     

Example: architecto

image   string     

Example: architecto

pdf_trigger_id   string     

The id of an existing record in the pdf_triggers table. Example: architecto

is_attachment   boolean     

Example: true

notification_template_ids   string[]  optional    

The id of an existing record in the notification_templates table.

boxes   object[]     
variable   string     

Example: architecto

is_rtl   boolean     

Example: true

is_variable   boolean     

Example: false

x   integer     

Must be at least 0. Example: 39

y   integer     

Must be at least 0. Example: 84

custom_css   object  optional    

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/pdf/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/pdf/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the pdf. Example: architecto

GET api/admin/pdf/download/{templateId}/{modelId}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/pdf/download/architecto/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/pdf/download/architecto/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/pdf/download/{templateId}/{modelId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

templateId   string     

Example: architecto

modelId   string     

Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/notifications/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

Mark all notifications as read.

Example request:
curl --request PUT \
    "http://localhost/api/admin/notifications/mark-all-as-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/notifications/mark-all-as-read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/notifications/mark-all-as-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicle_offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle_offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicle_offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/vehicle_offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ],
    \"sub_title\": [
        \"n\"
    ],
    \"long_description\": [
        \"architecto\"
    ],
    \"short_description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"admin_fee\": 84,
    \"down_payment\": 12,
    \"final_payment\": 77,
    \"amount\": 8,
    \"amount_type\": \"fixed\",
    \"valid_from\": \"2026-03-02T22:08:08\",
    \"valid_to\": \"2052-03-25\",
    \"is_applied_to_used_cars\": true,
    \"is_applied_for_financing\": true,
    \"finance_duration\": [
        39
    ],
    \"tags\": [
        16
    ],
    \"categories\": [
        16
    ],
    \"offerable\": [
        {
            \"offerable_name\": \"model\",
            \"offerable_id\": [
                22
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/vehicle_offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ],
    "sub_title": [
        "n"
    ],
    "long_description": [
        "architecto"
    ],
    "short_description": [
        "architecto"
    ],
    "slug": "n",
    "admin_fee": 84,
    "down_payment": 12,
    "final_payment": 77,
    "amount": 8,
    "amount_type": "fixed",
    "valid_from": "2026-03-02T22:08:08",
    "valid_to": "2052-03-25",
    "is_applied_to_used_cars": true,
    "is_applied_for_financing": true,
    "finance_duration": [
        39
    ],
    "tags": [
        16
    ],
    "categories": [
        16
    ],
    "offerable": [
        {
            "offerable_name": "model",
            "offerable_id": [
                22
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/vehicle_offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string[]     

Must not be greater than 255 characters.

sub_title   string[]  optional    

Must not be greater than 255 characters.

long_description   string[]  optional    
short_description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

admin_fee   number  optional    

Must be at least 0. Example: 84

down_payment   number  optional    

Must be at least 0. Example: 12

final_payment   number  optional    

Must be at least 0. Example: 77

amount   number  optional    

Must be at least 0. Example: 8

amount_type   string  optional    

Example: fixed

Must be one of:
  • fixed
  • percentage
valid_from   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

valid_to   string  optional    

Must be a valid date. Must be a date after or equal to valid_from. Example: 2052-03-25

is_applied_to_used_cars   boolean  optional    

Example: true

is_applied_for_financing   boolean  optional    

Example: true

finance_duration   integer[]  optional    

Must be at least 0.

tags   integer[]  optional    

The id of an existing record in the tags table.

categories   integer[]  optional    

The id of an existing record in the categories table.

offerable   object[]  optional    
offerable_name   string  optional    

Example: model

Must be one of:
  • model
  • variant
offerable_id   integer[]  optional    

Must be at least 1.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ],
    \"sub_title\": [
        \"n\"
    ],
    \"long_description\": [
        \"architecto\"
    ],
    \"short_description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"admin_fee\": 84,
    \"down_payment\": 12,
    \"final_payment\": 77,
    \"amount\": 8,
    \"amount_type\": \"fixed\",
    \"valid_from\": \"2026-03-02T22:08:08\",
    \"valid_to\": \"2052-03-25\",
    \"is_applied_to_used_cars\": true,
    \"is_applied_for_financing\": true,
    \"finance_duration\": [
        39
    ],
    \"tags\": [
        16
    ],
    \"categories\": [
        16
    ],
    \"offerable\": [
        {
            \"offerable_name\": \"variant\",
            \"offerable_id\": [
                22
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ],
    "sub_title": [
        "n"
    ],
    "long_description": [
        "architecto"
    ],
    "short_description": [
        "architecto"
    ],
    "slug": "n",
    "admin_fee": 84,
    "down_payment": 12,
    "final_payment": 77,
    "amount": 8,
    "amount_type": "fixed",
    "valid_from": "2026-03-02T22:08:08",
    "valid_to": "2052-03-25",
    "is_applied_to_used_cars": true,
    "is_applied_for_financing": true,
    "finance_duration": [
        39
    ],
    "tags": [
        16
    ],
    "categories": [
        16
    ],
    "offerable": [
        {
            "offerable_name": "variant",
            "offerable_id": [
                22
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/vehicle_offers/{id}

PATCH api/admin/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Body Parameters

title   string[]     

Must not be greater than 255 characters.

sub_title   string[]  optional    

Must not be greater than 255 characters.

long_description   string[]  optional    
short_description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

admin_fee   number  optional    

Must be at least 0. Example: 84

down_payment   number  optional    

Must be at least 0. Example: 12

final_payment   number  optional    

Must be at least 0. Example: 77

amount   number  optional    

Must be at least 0. Example: 8

amount_type   string  optional    

Example: fixed

Must be one of:
  • fixed
  • percentage
valid_from   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

valid_to   string  optional    

Must be a valid date. Must be a date after or equal to valid_from. Example: 2052-03-25

is_applied_to_used_cars   boolean  optional    

Example: true

is_applied_for_financing   boolean  optional    

Example: true

finance_duration   integer[]  optional    

Must be at least 0.

tags   integer[]  optional    

The id of an existing record in the tags table.

categories   integer[]  optional    

The id of an existing record in the categories table.

offerable   object[]  optional    
offerable_name   string  optional    

Example: variant

Must be one of:
  • model
  • variant
offerable_id   integer[]  optional    

Must be at least 1.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"badge_text\": [
        \"b\"
    ],
    \"title\": [
        \"n\"
    ],
    \"description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"type\": \"sales\"
}"
const url = new URL(
    "http://localhost/api/admin/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "badge_text": [
        "b"
    ],
    "title": [
        "n"
    ],
    "description": [
        "architecto"
    ],
    "slug": "n",
    "type": "sales"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

badge_text   string[]  optional    

Must not be greater than 255 characters.

title   string[]     

Must not be greater than 255 characters.

description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

type   string  optional    

Example: sales

Must be one of:
  • sales
  • after_sales
tags   string[]  optional    

The id of an existing record in the tags table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"badge_text\": [
        \"b\"
    ],
    \"title\": [
        \"n\"
    ],
    \"description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"type\": \"after_sales\"
}"
const url = new URL(
    "http://localhost/api/admin/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "badge_text": [
        "b"
    ],
    "title": [
        "n"
    ],
    "description": [
        "architecto"
    ],
    "slug": "n",
    "type": "after_sales"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/categories/{id}

PATCH api/admin/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Body Parameters

badge_text   string[]  optional    

Must not be greater than 255 characters.

title   string[]     

Must not be greater than 255 characters.

description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

type   string  optional    

Example: after_sales

Must be one of:
  • sales
  • after_sales
tags   string[]  optional    

The id of an existing record in the tags table.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/tags

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/tags

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string[]     

Must not be greater than 255 characters.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/tags/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/tags/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/tags/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the tag. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/tags/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/tags/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/tags/{id}

PATCH api/admin/tags/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the tag. Example: architecto

Body Parameters

title   string[]     

Must not be greater than 255 characters.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/tags/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/tags/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/tags/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the tag. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/vehicle_offers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ],
    \"sub_title\": [
        \"n\"
    ],
    \"long_description\": [
        \"architecto\"
    ],
    \"short_description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"admin_fee\": 84,
    \"down_payment\": 12,
    \"final_payment\": 77,
    \"amount\": 8,
    \"amount_type\": \"percentage\",
    \"valid_from\": \"2026-03-02T22:08:08\",
    \"valid_to\": \"2052-03-25\",
    \"is_applied_to_used_cars\": true,
    \"is_applied_for_financing\": false,
    \"finance_duration\": [
        39
    ],
    \"tags\": [
        16
    ],
    \"categories\": [
        16
    ],
    \"offerable\": [
        {
            \"offerable_name\": \"model\",
            \"offerable_id\": [
                22
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/vehicle_offers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ],
    "sub_title": [
        "n"
    ],
    "long_description": [
        "architecto"
    ],
    "short_description": [
        "architecto"
    ],
    "slug": "n",
    "admin_fee": 84,
    "down_payment": 12,
    "final_payment": 77,
    "amount": 8,
    "amount_type": "percentage",
    "valid_from": "2026-03-02T22:08:08",
    "valid_to": "2052-03-25",
    "is_applied_to_used_cars": true,
    "is_applied_for_financing": false,
    "finance_duration": [
        39
    ],
    "tags": [
        16
    ],
    "categories": [
        16
    ],
    "offerable": [
        {
            "offerable_name": "model",
            "offerable_id": [
                22
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/vehicle_offers

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string[]     

Must not be greater than 255 characters.

sub_title   string[]  optional    

Must not be greater than 255 characters.

long_description   string[]  optional    
short_description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

admin_fee   number  optional    

Must be at least 0. Example: 84

down_payment   number  optional    

Must be at least 0. Example: 12

final_payment   number  optional    

Must be at least 0. Example: 77

amount   number  optional    

Must be at least 0. Example: 8

amount_type   string  optional    

Example: percentage

Must be one of:
  • fixed
  • percentage
valid_from   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

valid_to   string  optional    

Must be a valid date. Must be a date after or equal to valid_from. Example: 2052-03-25

is_applied_to_used_cars   boolean  optional    

Example: true

is_applied_for_financing   boolean  optional    

Example: false

finance_duration   integer[]  optional    

Must be at least 0.

tags   integer[]  optional    

The id of an existing record in the tags table.

categories   integer[]  optional    

The id of an existing record in the categories table.

offerable   object[]  optional    
offerable_name   string  optional    

Example: model

Must be one of:
  • model
  • variant
offerable_id   integer[]  optional    

Must be at least 1.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": [
        \"b\"
    ],
    \"sub_title\": [
        \"n\"
    ],
    \"long_description\": [
        \"architecto\"
    ],
    \"short_description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"admin_fee\": 84,
    \"down_payment\": 12,
    \"final_payment\": 77,
    \"amount\": 8,
    \"amount_type\": \"fixed\",
    \"valid_from\": \"2026-03-02T22:08:08\",
    \"valid_to\": \"2052-03-25\",
    \"is_applied_to_used_cars\": true,
    \"is_applied_for_financing\": true,
    \"finance_duration\": [
        39
    ],
    \"tags\": [
        16
    ],
    \"categories\": [
        16
    ],
    \"offerable\": [
        {
            \"offerable_name\": \"model\",
            \"offerable_id\": [
                22
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": [
        "b"
    ],
    "sub_title": [
        "n"
    ],
    "long_description": [
        "architecto"
    ],
    "short_description": [
        "architecto"
    ],
    "slug": "n",
    "admin_fee": 84,
    "down_payment": 12,
    "final_payment": 77,
    "amount": 8,
    "amount_type": "fixed",
    "valid_from": "2026-03-02T22:08:08",
    "valid_to": "2052-03-25",
    "is_applied_to_used_cars": true,
    "is_applied_for_financing": true,
    "finance_duration": [
        39
    ],
    "tags": [
        16
    ],
    "categories": [
        16
    ],
    "offerable": [
        {
            "offerable_name": "model",
            "offerable_id": [
                22
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/vehicle_offers/{id}

PATCH api/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Body Parameters

title   string[]     

Must not be greater than 255 characters.

sub_title   string[]  optional    

Must not be greater than 255 characters.

long_description   string[]  optional    
short_description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

admin_fee   number  optional    

Must be at least 0. Example: 84

down_payment   number  optional    

Must be at least 0. Example: 12

final_payment   number  optional    

Must be at least 0. Example: 77

amount   number  optional    

Must be at least 0. Example: 8

amount_type   string  optional    

Example: fixed

Must be one of:
  • fixed
  • percentage
valid_from   string  optional    

Must be a valid date. Example: 2026-03-02T22:08:08

valid_to   string  optional    

Must be a valid date. Must be a date after or equal to valid_from. Example: 2052-03-25

is_applied_to_used_cars   boolean  optional    

Example: true

is_applied_for_financing   boolean  optional    

Example: true

finance_duration   integer[]  optional    

Must be at least 0.

tags   integer[]  optional    

The id of an existing record in the tags table.

categories   integer[]  optional    

The id of an existing record in the categories table.

offerable   object[]  optional    
offerable_name   string  optional    

Example: model

Must be one of:
  • model
  • variant
offerable_id   integer[]  optional    

Must be at least 1.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/vehicle_offers/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/vehicle_offers/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle offer. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers/category/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/category/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers/category/{categoryId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

categoryId   string     

Example: architecto

Display the specified resource by slug.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers/show-by-slug/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/show-by-slug/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers/show-by-slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the show by slug. Example: architecto

GET api/vehicle_offers/category/show-by-slug/{slug}

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers/category/show-by-slug/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/category/show-by-slug/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers/category/show-by-slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the show by slug. Example: architecto

GET api/vehicle_offers/client/{clientCode?}

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle_offers/client/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle_offers/client/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle_offers/client/{clientCode?}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

clientCode   string  optional    

Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"badge_text\": [
        \"b\"
    ],
    \"title\": [
        \"n\"
    ],
    \"description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"type\": \"after_sales\"
}"
const url = new URL(
    "http://localhost/api/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "badge_text": [
        "b"
    ],
    "title": [
        "n"
    ],
    "description": [
        "architecto"
    ],
    "slug": "n",
    "type": "after_sales"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

badge_text   string[]  optional    

Must not be greater than 255 characters.

title   string[]     

Must not be greater than 255 characters.

description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

type   string  optional    

Example: after_sales

Must be one of:
  • sales
  • after_sales
tags   string[]  optional    

The id of an existing record in the tags table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"badge_text\": [
        \"b\"
    ],
    \"title\": [
        \"n\"
    ],
    \"description\": [
        \"architecto\"
    ],
    \"slug\": \"n\",
    \"type\": \"after_sales\"
}"
const url = new URL(
    "http://localhost/api/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "badge_text": [
        "b"
    ],
    "title": [
        "n"
    ],
    "description": [
        "architecto"
    ],
    "slug": "n",
    "type": "after_sales"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/categories/{id}

PATCH api/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Body Parameters

badge_text   string[]  optional    

Must not be greater than 255 characters.

title   string[]     

Must not be greater than 255 characters.

description   string[]  optional    
slug   string     

Must not be greater than 255 characters. Example: n

type   string  optional    

Example: after_sales

Must be one of:
  • sales
  • after_sales
tags   string[]  optional    

The id of an existing record in the tags table.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/categories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/categories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the category. Example: architecto

Display the specified resource by slug.

Example request:
curl --request GET \
    --get "http://localhost/api/categories/show-by-slug/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/categories/show-by-slug/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/categories/show-by-slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the show by slug. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/tags

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/tags/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/tags/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/tags/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the tag. Example: architecto

GET api/admin/orders/{order}/steps

Example request:
curl --request GET \
    --get "http://localhost/api/admin/orders/architecto/steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/orders/architecto/steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/orders/{order}/steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: architecto

POST api/admin/orders/{orderId}/steps/save-values

Example request:
curl --request POST \
    "http://localhost/api/admin/orders/architecto/steps/save-values" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://localhost/api/admin/orders/architecto/steps/save-values"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/orders/{orderId}/steps/save-values

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

orderId   string     

Example: architecto

Body Parameters

field_values   string[]  optional    

POST api/admin/orders/{orderId}/steps/submit

Example request:
curl --request POST \
    "http://localhost/api/admin/orders/architecto/steps/submit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"rejected\",
    \"comments\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/orders/architecto/steps/submit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "rejected",
    "comments": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/orders/{orderId}/steps/submit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

orderId   string     

Example: architecto

Body Parameters

status   string     

Example: rejected

Must be one of:
  • approved
  • rejected
comments   string[]  optional    

This field is required when status is rejected.

POST api/admin/orders/steps/comments/{commentId}/reply

Example request:
curl --request POST \
    "http://localhost/api/admin/orders/steps/comments/architecto/reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/orders/steps/comments/architecto/reply"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/orders/steps/comments/{commentId}/reply

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

commentId   string     

Example: architecto

GET api/admin/order-steps

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/order-steps

Example request:
curl --request POST \
    "http://localhost/api/admin/order-steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"message\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"lead_time\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"order\": 4326.41688,
    \"visible_to_customer\": false,
    \"customer_responsible\": true,
    \"online_order_step\": true,
    \"offline_order_step\": true,
    \"auto_generate_documents\": true,
    \"auto_submitted\": true,
    \"user_notified_on_approve\": true,
    \"entities\": [
        {
            \"name\": {
                \"ar\": \"architecto\",
                \"en\": \"architecto\"
            },
            \"editable_by_customer\": true,
            \"auto_generate_documents\": false,
            \"is_user_notified\": true,
            \"fields\": [
                {
                    \"name\": \"architecto\",
                    \"type\": \"architecto\",
                    \"label\": {
                        \"ar\": \"architecto\",
                        \"en\": \"architecto\"
                    },
                    \"template_id\": 16
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/order-steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "message": {
        "en": "architecto",
        "ar": "architecto"
    },
    "lead_time": {
        "en": "architecto",
        "ar": "architecto"
    },
    "order": 4326.41688,
    "visible_to_customer": false,
    "customer_responsible": true,
    "online_order_step": true,
    "offline_order_step": true,
    "auto_generate_documents": true,
    "auto_submitted": true,
    "user_notified_on_approve": true,
    "entities": [
        {
            "name": {
                "ar": "architecto",
                "en": "architecto"
            },
            "editable_by_customer": true,
            "auto_generate_documents": false,
            "is_user_notified": true,
            "fields": [
                {
                    "name": "architecto",
                    "type": "architecto",
                    "label": {
                        "ar": "architecto",
                        "en": "architecto"
                    },
                    "template_id": 16
                }
            ]
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/order-steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

message   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

lead_time   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

order   number     

Example: 4326.41688

visible_to_customer   boolean  optional    

Example: false

customer_responsible   boolean  optional    

Example: true

online_order_step   boolean  optional    

Example: true

offline_order_step   boolean  optional    

Example: true

auto_generate_documents   boolean  optional    

Example: true

auto_submitted   boolean  optional    

Example: true

user_notified_on_approve   boolean  optional    

Example: true

entities   object[]     
name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

editable_by_customer   boolean  optional    

Example: true

auto_generate_documents   boolean  optional    

Example: false

is_user_notified   boolean  optional    

Example: true

fields   object[]     
name   string     

Example: architecto

type   string     

Example: architecto

label   object  optional    
ar   string     

Example: architecto

en   string     

Example: architecto

validation   object  optional    
template_id   integer  optional    

The id of an existing record in the auto_generated_document_templates table. Example: 16

roles   string[]  optional    

The id of an existing record in the roles table.

responsibilities   string[]  optional    

The id of an existing record in the roles table.

GET api/admin/order-steps/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step. Example: architecto

PUT api/admin/order-steps/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/order-steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"message\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"lead_time\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"order\": 4326.41688,
    \"visible_to_customer\": false,
    \"customer_responsible\": false,
    \"online_order_step\": false,
    \"offline_order_step\": false,
    \"auto_generate_documents\": false,
    \"auto_submitted\": false,
    \"user_notified_on_approve\": true,
    \"entities\": [
        {
            \"name\": {
                \"ar\": \"architecto\",
                \"en\": \"architecto\"
            },
            \"editable_by_customer\": false,
            \"auto_generate_documents\": false,
            \"is_user_notified\": true,
            \"fields\": [
                {
                    \"name\": \"architecto\",
                    \"type\": \"architecto\",
                    \"label\": {
                        \"ar\": \"architecto\",
                        \"en\": \"architecto\"
                    },
                    \"template_id\": 16
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/order-steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "message": {
        "en": "architecto",
        "ar": "architecto"
    },
    "lead_time": {
        "en": "architecto",
        "ar": "architecto"
    },
    "order": 4326.41688,
    "visible_to_customer": false,
    "customer_responsible": false,
    "online_order_step": false,
    "offline_order_step": false,
    "auto_generate_documents": false,
    "auto_submitted": false,
    "user_notified_on_approve": true,
    "entities": [
        {
            "name": {
                "ar": "architecto",
                "en": "architecto"
            },
            "editable_by_customer": false,
            "auto_generate_documents": false,
            "is_user_notified": true,
            "fields": [
                {
                    "name": "architecto",
                    "type": "architecto",
                    "label": {
                        "ar": "architecto",
                        "en": "architecto"
                    },
                    "template_id": 16
                }
            ]
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/order-steps/{id}

PATCH api/admin/order-steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step. Example: architecto

Body Parameters

name   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

message   object  optional    
en   string     

Example: architecto

ar   string     

Example: architecto

lead_time   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

order   number     

Example: 4326.41688

visible_to_customer   boolean  optional    

Example: false

customer_responsible   boolean  optional    

Example: false

online_order_step   boolean  optional    

Example: false

offline_order_step   boolean  optional    

Example: false

auto_generate_documents   boolean  optional    

Example: false

auto_submitted   boolean  optional    

Example: false

user_notified_on_approve   boolean  optional    

Example: true

entities   object[]     
name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

editable_by_customer   boolean  optional    

Example: false

auto_generate_documents   boolean  optional    

Example: false

is_user_notified   boolean  optional    

Example: true

fields   object[]     
name   string     

Example: architecto

type   string     

Example: architecto

label   object  optional    
ar   string     

Example: architecto

en   string     

Example: architecto

validation   object  optional    
template_id   integer  optional    

The id of an existing record in the auto_generated_document_templates table. Example: 16

id   string  optional    

The id of an existing record in the order_entity_fields table.

id   string  optional    

The id of an existing record in the order_entities table.

roles   string[]  optional    

The id of an existing record in the roles table.

responsibilities   string[]  optional    

The id of an existing record in the roles table.

removed_entities   string[]  optional    

The id of an existing record in the order_entities table.

removed_fields   string[]  optional    

The id of an existing record in the order_entity_fields table.

DELETE api/admin/order-steps/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/order-steps/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-steps/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/order-steps/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step. Example: architecto

GET api/admin/order-steps-field-types

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-steps-field-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-steps-field-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-steps-field-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/auto-generated-document-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/auto-generated-document-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created template

Example request:
curl --request POST \
    "http://localhost/api/admin/auto-generated-document-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"templatable_type\": \"order_entity_field\",
    \"html_content\": \"architecto\",
    \"css_styles\": \"architecto\",
    \"version\": \"n\",
    \"order_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "templatable_type": "order_entity_field",
    "html_content": "architecto",
    "css_styles": "architecto",
    "version": "n",
    "order_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/auto-generated-document-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

templatable_type   string     

Example: order_entity_field

Must be one of:
  • order_entity_field
html_content   string     

Example: architecto

css_styles   string  optional    

Example: architecto

variables   object  optional    
version   string  optional    

Must not be greater than 50 characters. Example: n

order_id   integer  optional    

The id of an existing record in the orders table. Example: 16

Get available templatable types

Example request:
curl --request GET \
    --get "http://localhost/api/admin/auto-generated-document-templates/types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/auto-generated-document-templates/types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available PDF variable keys for Order model Includes order relations and step entity field values

Example request:
curl --request GET \
    --get "http://localhost/api/admin/auto-generated-document-templates/variables/available" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/variables/available"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/auto-generated-document-templates/variables/available

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified template

Example request:
curl --request GET \
    --get "http://localhost/api/admin/auto-generated-document-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/auto-generated-document-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the auto generated document template. Example: architecto

Update the specified template

Example request:
curl --request PUT \
    "http://localhost/api/admin/auto-generated-document-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"templatable_type\": \"order_entity_field\",
    \"html_content\": \"architecto\",
    \"css_styles\": \"architecto\",
    \"version\": \"n\",
    \"order_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "templatable_type": "order_entity_field",
    "html_content": "architecto",
    "css_styles": "architecto",
    "version": "n",
    "order_id": 16
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/auto-generated-document-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the auto generated document template. Example: architecto

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

templatable_type   string  optional    

Example: order_entity_field

Must be one of:
  • order_entity_field
html_content   string  optional    

Example: architecto

css_styles   string  optional    

Example: architecto

variables   object  optional    
version   string  optional    

Must not be greater than 50 characters. Example: n

order_id   integer  optional    

The id of an existing record in the orders table. Example: 16

Remove the specified template

Example request:
curl --request DELETE \
    "http://localhost/api/admin/auto-generated-document-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/auto-generated-document-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the auto generated document template. Example: architecto

Test render a template with order data

Example request:
curl --request POST \
    "http://localhost/api/admin/auto-generated-document-templates/render-test" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"template_id\": 16,
    \"html_content\": \"architecto\",
    \"css_styles\": \"architecto\",
    \"order_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/render-test"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "template_id": 16,
    "html_content": "architecto",
    "css_styles": "architecto",
    "order_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/auto-generated-document-templates/render-test

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

template_id   integer  optional    

This field is required when html_content is not present. The id of an existing record in the auto_generated_document_templates table. Example: 16

html_content   string  optional    

This field is required when template_id is not present. Example: architecto

css_styles   string  optional    

Example: architecto

order_id   integer     

The id of an existing record in the orders table. Example: 16

Validate template HTML without rendering

Example request:
curl --request POST \
    "http://localhost/api/admin/auto-generated-document-templates/validate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"html_content\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/auto-generated-document-templates/validate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "html_content": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/auto-generated-document-templates/validate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

html_content   string     

Example: architecto

Display a listing of notification templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-step-notification-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-step-notification-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created template

Example request:
curl --request POST \
    "http://localhost/api/admin/order-step-notification-templates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"subject\": \"n\",
    \"locale\": \"ar\",
    \"template_type\": \"admin\",
    \"html_content\": \"architecto\",
    \"css_styles\": \"architecto\",
    \"version\": \"n\"
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "subject": "n",
    "locale": "ar",
    "template_type": "admin",
    "html_content": "architecto",
    "css_styles": "architecto",
    "version": "n"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/order-step-notification-templates

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

subject   string  optional    

Must not be greater than 255 characters. Example: n

locale   string     

Example: ar

Must be one of:
  • en
  • ar
template_type   string     

Example: admin

Must be one of:
  • user
  • admin
html_content   string     

Example: architecto

css_styles   string  optional    

Example: architecto

variables   object  optional    
version   string  optional    

Must not be greater than 50 characters. Example: n

Get available variables for notification templates

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-step-notification-templates/variables/available" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/variables/available"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-step-notification-templates/variables/available

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Get available templateable types for form selection

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-step-notification-templates/templateable-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/templateable-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-step-notification-templates/templateable-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Render template preview with order data and optionally send test email If order_id and step_id are not provided, they will be automatically fetched from the database

Example request:
curl --request POST \
    "http://localhost/api/admin/order-step-notification-templates/render-preview" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"template_id\": \"architecto\",
    \"send_email\": false,
    \"test_email\": \"zbailey@example.net\"
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/render-preview"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "template_id": "architecto",
    "send_email": false,
    "test_email": "zbailey@example.net"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/order-step-notification-templates/render-preview

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

template_id   string     

The id of an existing record in the order_step_notification_templates table. Example: architecto

order_id   string  optional    

The id of an existing record in the orders table.

step_id   string  optional    

The id of an existing record in the order_steps table.

send_email   boolean  optional    

Example: false

test_email   string  optional    

Must be a valid email address. Example: zbailey@example.net

Attach template to OrderStep or OrderEntityField

Example request:
curl --request POST \
    "http://localhost/api/admin/order-step-notification-templates/attach" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"template_id\": \"architecto\",
    \"templateable_type\": \"order_step\",
    \"templateable_id\": 16,
    \"notification_type\": \"updated\"
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/attach"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "template_id": "architecto",
    "templateable_type": "order_step",
    "templateable_id": 16,
    "notification_type": "updated"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/order-step-notification-templates/attach

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

template_id   string     

The id of an existing record in the order_step_notification_templates table. Example: architecto

templateable_type   string     

Example: order_step

Must be one of:
  • order_step
  • order_entity_field
templateable_id   integer     

Example: 16

notification_type   string     

Example: updated

Must be one of:
  • submitted
  • updated
  • approved
  • rejected

Detach template from OrderStep or OrderEntityField

Example request:
curl --request POST \
    "http://localhost/api/admin/order-step-notification-templates/detach" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"template_id\": \"architecto\",
    \"templateable_type\": \"order_step\",
    \"templateable_id\": 16,
    \"notification_type\": \"rejected\"
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/detach"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "template_id": "architecto",
    "templateable_type": "order_step",
    "templateable_id": 16,
    "notification_type": "rejected"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/order-step-notification-templates/detach

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

template_id   string     

The id of an existing record in the order_step_notification_templates table. Example: architecto

templateable_type   string     

Example: order_step

Must be one of:
  • order_step
  • order_entity_field
templateable_id   integer     

Example: 16

notification_type   string     

Example: rejected

Must be one of:
  • submitted
  • updated
  • approved
  • rejected

Get templates attached to a specific OrderStep or OrderEntityField

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-step-notification-templates/attached" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"templateable_type\": \"order_step\",
    \"templateable_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/attached"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "templateable_type": "order_step",
    "templateable_id": 16
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/order-step-notification-templates/attached

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

templateable_type   string     

Example: order_step

Must be one of:
  • order_step
  • order_entity_field
templateable_id   integer     

Example: 16

Display the specified template

Example request:
curl --request GET \
    --get "http://localhost/api/admin/order-step-notification-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/order-step-notification-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step notification template. Example: architecto

Update the specified template

Example request:
curl --request PUT \
    "http://localhost/api/admin/order-step-notification-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"subject\": \"n\",
    \"locale\": \"en\",
    \"template_type\": \"user\",
    \"html_content\": \"architecto\",
    \"css_styles\": \"architecto\",
    \"version\": \"n\"
}"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "subject": "n",
    "locale": "en",
    "template_type": "user",
    "html_content": "architecto",
    "css_styles": "architecto",
    "version": "n"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/order-step-notification-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step notification template. Example: architecto

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

subject   string  optional    

Must not be greater than 255 characters. Example: n

locale   string  optional    

Example: en

Must be one of:
  • en
  • ar
template_type   string  optional    

Example: user

Must be one of:
  • user
  • admin
html_content   string  optional    

Example: architecto

css_styles   string  optional    

Example: architecto

variables   object  optional    
version   string  optional    

Must not be greater than 50 characters. Example: n

Remove the specified template

Example request:
curl --request DELETE \
    "http://localhost/api/admin/order-step-notification-templates/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/order-step-notification-templates/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/order-step-notification-templates/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the order step notification template. Example: architecto

Get fee associations

Example request:
curl --request GET \
    --get "http://localhost/api/admin/additional-fees/architecto/associations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees/architecto/associations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/additional-fees/{additional_fee_id}/associations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

additional_fee_id   string     

The ID of the additional fee. Example: architecto

Attach fee to vehicle model

Example request:
curl --request POST \
    "http://localhost/api/admin/additional-fees/architecto/attach-model" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_model_id\": \"architecto\",
    \"amount\": 39
}"
const url = new URL(
    "http://localhost/api/admin/additional-fees/architecto/attach-model"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_model_id": "architecto",
    "amount": 39
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/additional-fees/{additional_fee_id}/attach-model

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

additional_fee_id   string     

The ID of the additional fee. Example: architecto

Body Parameters

vehicle_model_id   string     

The id of an existing record in the vehicle_models table. Example: architecto

amount   number  optional    

Must be at least 0. Example: 39

Attach fee to vehicle make

Example request:
curl --request POST \
    "http://localhost/api/admin/additional-fees/architecto/attach-make" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vehicle_make_id\": \"architecto\",
    \"amount\": 39
}"
const url = new URL(
    "http://localhost/api/admin/additional-fees/architecto/attach-make"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vehicle_make_id": "architecto",
    "amount": 39
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/additional-fees/{additional_fee_id}/attach-make

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

additional_fee_id   string     

The ID of the additional fee. Example: architecto

Body Parameters

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

amount   number  optional    

Must be at least 0. Example: 39

Detach fee from vehicle model

Example request:
curl --request DELETE \
    "http://localhost/api/admin/additional-fees/architecto/detach-model/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees/architecto/detach-model/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/additional-fees/{additional_fee_id}/detach-model/{model_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

additional_fee_id   string     

The ID of the additional fee. Example: architecto

model_id   string     

The ID of the model. Example: architecto

Detach fee from vehicle make

Example request:
curl --request DELETE \
    "http://localhost/api/admin/additional-fees/architecto/detach-make/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees/architecto/detach-make/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/additional-fees/{additional_fee_id}/detach-make/{make_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

additional_fee_id   string     

The ID of the additional fee. Example: architecto

make_id   string     

The ID of the make. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/additional-fees" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/additional-fees

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/additional-fees" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"slug\": \"g\",
    \"amount\": 12,
    \"type\": \"percentage\",
    \"is_taxable\": true,
    \"active\": false
}"
const url = new URL(
    "http://localhost/api/admin/additional-fees"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "b",
        "ar": "n"
    },
    "slug": "g",
    "amount": 12,
    "type": "percentage",
    "is_taxable": true,
    "active": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/additional-fees

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

slug   string     

Must not be greater than 255 characters. Example: g

amount   number     

Must be at least 0. Example: 12

type   string     

Example: percentage

Must be one of:
  • fixed
  • percentage
is_taxable   boolean  optional    

Example: true

active   boolean  optional    

Example: false

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/additional-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/additional-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the additional fee. Example: 16

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/additional-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"slug\": \"g\",
    \"amount\": 12,
    \"type\": \"fixed\",
    \"is_taxable\": true,
    \"active\": false
}"
const url = new URL(
    "http://localhost/api/admin/additional-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "b",
        "ar": "n"
    },
    "slug": "g",
    "amount": 12,
    "type": "fixed",
    "is_taxable": true,
    "active": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/additional-fees/{id}

PATCH api/admin/additional-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the additional fee. Example: 16

Body Parameters

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

slug   string     

Must not be greater than 255 characters. Example: g

amount   number     

Must be at least 0. Example: 12

type   string     

Example: fixed

Must be one of:
  • fixed
  • percentage
is_taxable   boolean  optional    

Example: true

active   boolean  optional    

Example: false

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/additional-fees/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/additional-fees/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/additional-fees/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the additional fee. Example: 16

GET api/orders/{order}/steps

Example request:
curl --request GET \
    --get "http://localhost/api/orders/architecto/steps" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/architecto/steps"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/orders/{order}/steps

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: architecto

POST api/orders/{orderId}/steps/save-values

Example request:
curl --request POST \
    "http://localhost/api/orders/architecto/steps/save-values" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://localhost/api/orders/architecto/steps/save-values"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/orders/{orderId}/steps/save-values

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

orderId   string     

Example: architecto

Body Parameters

field_values   string[]  optional    

POST api/orders/{orderId}/steps/submit

Example request:
curl --request POST \
    "http://localhost/api/orders/architecto/steps/submit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"approved\",
    \"comments\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "http://localhost/api/orders/architecto/steps/submit"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "approved",
    "comments": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/orders/{orderId}/steps/submit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

orderId   string     

Example: architecto

Body Parameters

status   string     

Example: approved

Must be one of:
  • approved
  • rejected
comments   string[]  optional    

This field is required when status is rejected.

POST api/orders/steps/comments/{commentId}/reply

Example request:
curl --request POST \
    "http://localhost/api/orders/steps/comments/architecto/reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/steps/comments/architecto/reply"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/orders/steps/comments/{commentId}/reply

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

commentId   string     

Example: architecto

PATCH api/admin/payments/{id}

Example request:
curl --request PATCH \
    "http://localhost/api/admin/payments/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 1,
    \"comment\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/payments/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 1,
    "comment": "architecto"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PATCH api/admin/payments/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the payment. Example: architecto

Body Parameters

status   integer     

Example: 1

Must be one of:
  • 0
  • 1
  • 2
comment   string  optional    

This field is required when status is 2. Example: architecto

POST api/admin/auth/login

Example request:
curl --request POST \
    "http://localhost/api/admin/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/auth/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gbailey@example.net",
    "password": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/auth/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: gbailey@example.net

password   string     

Example: architecto

POST api/admin/auth/logout

Example request:
curl --request POST \
    "http://localhost/api/admin/auth/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auth/logout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/auth/logout

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/auth/reset-password/{admin}

Example request:
curl --request POST \
    "http://localhost/api/admin/auth/reset-password/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "http://localhost/api/admin/auth/reset-password/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "|]|{+-"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/auth/reset-password/{admin}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

admin   string     

Example: architecto

Body Parameters

password   string     

Must be at least 8 characters. Example: |]|{+-

GET api/admin/auth/my-leads

Example request:
curl --request GET \
    --get "http://localhost/api/admin/auth/my-leads" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/auth/my-leads"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/auth/my-leads

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/admins/send-verification-code

Example request:
curl --request POST \
    "http://localhost/api/admin/admins/send-verification-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\"
}"
const url = new URL(
    "http://localhost/api/admin/admins/send-verification-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gbailey@example.net"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/admins/send-verification-code

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. The email of an existing record in the admins table. Example: gbailey@example.net

POST api/admin/admins/verify

Example request:
curl --request POST \
    "http://localhost/api/admin/admins/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\",
    \"code\": \"569775\"
}"
const url = new URL(
    "http://localhost/api/admin/admins/verify"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gbailey@example.net",
    "code": "569775"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/admins/verify

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. The email of an existing record in the admins table. Example: gbailey@example.net

code   string     

Must be 6 digits. Example: 569775

GET api/admin/admins

Example request:
curl --request GET \
    --get "http://localhost/api/admin/admins" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"sales_type\": \"iir\",
    \"type\": \"sales\"
}"
const url = new URL(
    "http://localhost/api/admin/admins"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "sales_type": "iir",
    "type": "sales"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/admins

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

sales_type   string  optional    

Example: iir

Must be one of:
  • retail
  • iir
type   string  optional    

Example: sales

Must be one of:
  • sales

POST api/admin/admins

Example request:
curl --request POST \
    "http://localhost/api/admin/admins" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"mobile\": \"v\",
    \"password\": \"BNvYgxwmi\\/#iw\\/kX\",
    \"address\": {
        \"region\": \"w\",
        \"street\": \"l\"
    },
    \"sales_type\": \"iir\",
    \"type\": \"sales\"
}"
const url = new URL(
    "http://localhost/api/admin/admins"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "mobile": "v",
    "password": "BNvYgxwmi\/#iw\/kX",
    "address": {
        "region": "w",
        "street": "l"
    },
    "sales_type": "iir",
    "type": "sales"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/admins

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Must not be greater than 255 characters. Example: b

last_name   string     

Must not be greater than 255 characters. Example: n

email   string     

Must be a valid email address. Example: ashly64@example.com

mobile   string     

Must not be greater than 255 characters. Example: v

roles   string[]  optional    

The name of an existing record in the roles table.

password   string     

Must be at least 8 characters. Example: BNvYgxwmi/#iw/kX

address   object  optional    
region   string  optional    

Must not be greater than 191 characters. Example: w

street   string  optional    

Must not be greater than 255 characters. Example: l

sales_type   string  optional    

Example: iir

Must be one of:
  • retail
  • iir
type   string  optional    

Example: sales

Must be one of:
  • sales
analytics_markets   string[]  optional    

The code of an existing record in the clients table.

GET api/admin/admins/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/admins/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/admins/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/admins/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the admin. Example: architecto

DELETE api/admin/admins/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/admins/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/admins/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/admins/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the admin. Example: architecto

GET api/admin/admins/{id}/statistics

Example request:
curl --request GET \
    --get "http://localhost/api/admin/admins/architecto/statistics" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"statistics\": []
}"
const url = new URL(
    "http://localhost/api/admin/admins/architecto/statistics"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "statistics": []
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/admins/{id}/statistics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the admin. Example: architecto

Body Parameters

statistics   object     

POST api/admin/admins/change-status/{id}

Example request:
curl --request POST \
    "http://localhost/api/admin/admins/change-status/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 2
}"
const url = new URL(
    "http://localhost/api/admin/admins/change-status/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 2
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/admins/change-status/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the change status. Example: architecto

Body Parameters

status   integer     

Example: 2

Must be one of:
  • 1
  • 2
  • 3

POST api/admin/change-password

Example request:
curl --request POST \
    "http://localhost/api/admin/change-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"old_password\": \"architecto\",
    \"password\": \"]|{+-0pBNvYg\"
}"
const url = new URL(
    "http://localhost/api/admin/change-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "old_password": "architecto",
    "password": "]|{+-0pBNvYg"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/change-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

old_password   string     

Example: architecto

password   string     

Must be at least 8 characters. Example: ]|{+-0pBNvYg

GET api/admin/roles

Example request:
curl --request GET \
    --get "http://localhost/api/admin/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/roles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/admin/roles

Example request:
curl --request POST \
    "http://localhost/api/admin/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"permissions\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/roles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "permissions": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

permissions   string[]     

The name of an existing record in the permissions table.

GET api/admin/roles/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/roles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/roles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: architecto

PUT api/admin/roles/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/roles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"permissions\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "http://localhost/api/admin/roles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "permissions": [
        "architecto"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/roles/{id}

PATCH api/admin/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: architecto

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

permissions   string[]     

The name of an existing record in the permissions table.

DELETE api/admin/roles/{id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/roles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/roles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/roles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the role. Example: architecto

GET api/select/roles

Example request:
curl --request GET \
    --get "http://localhost/api/select/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/select/roles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/select/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/select/permissions

Example request:
curl --request GET \
    --get "http://localhost/api/select/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/select/permissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/select/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Handle user registration.

Example request:
curl --request POST \
    "http://localhost/api/users/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/users/login

Example request:
curl --request POST \
    "http://localhost/api/users/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users/callback-url/{driver}

Example request:
curl --request GET \
    --get "http://localhost/api/users/callback-url/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/callback-url/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/callback-url/{driver}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

driver   string     

Example: architecto

GET api/users/exchange-code

Example request:
curl --request GET \
    --get "http://localhost/api/users/exchange-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/users/exchange-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/users/exchange-code

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Example: architecto

POST api/users/forgot-password

Example request:
curl --request POST \
    "http://localhost/api/users/forgot-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\",
    \"method\": \"email\"
}"
const url = new URL(
    "http://localhost/api/users/forgot-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gbailey@example.net",
    "method": "email"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/forgot-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. The email of an existing record in the users table. Example: gbailey@example.net

method   string     

Example: email

Must be one of:
  • email
  • mobile

POST api/users/verify-reset-code

Example request:
curl --request POST \
    "http://localhost/api/users/verify-reset-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"bngzm\",
    \"method\": \"mobile\"
}"
const url = new URL(
    "http://localhost/api/users/verify-reset-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "bngzm",
    "method": "mobile"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/verify-reset-code

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must match the regex /^\d{5}$/. Must be 5 characters. Example: bngzm

method   string     

Example: mobile

Must be one of:
  • email
  • mobile

POST api/users/reset-password

Example request:
curl --request POST \
    "http://localhost/api/users/reset-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\",
    \"token\": \"architecto\",
    \"method\": \"mobile\"
}"
const url = new URL(
    "http://localhost/api/users/reset-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "|]|{+-",
    "token": "architecto",
    "method": "mobile"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/reset-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

password   string     

Must be at least 8 characters. Example: |]|{+-

token   string     

Example: architecto

method   string     

Example: mobile

Must be one of:
  • email
  • mobile

POST api/users/send-verify-email

Example request:
curl --request POST \
    "http://localhost/api/users/send-verify-email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\"
}"
const url = new URL(
    "http://localhost/api/users/send-verify-email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gbailey@example.net"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/send-verify-email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string  optional    

Must be a valid email address. The email of an existing record in the users table. Must not be greater than 191 characters. Example: gbailey@example.net

POST api/users/verify-email

Example request:
curl --request POST \
    "http://localhost/api/users/verify-email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\",
    \"email\": \"zbailey@example.net\"
}"
const url = new URL(
    "http://localhost/api/users/verify-email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "architecto",
    "email": "zbailey@example.net"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/verify-email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Example: architecto

email   string     

Must be a valid email address. Example: zbailey@example.net

POST api/users/refresh

Example request:
curl --request POST \
    "http://localhost/api/users/refresh" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/refresh"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/refresh

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users

Example request:
curl --request GET \
    --get "http://localhost/api/users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/users/logout

Example request:
curl --request POST \
    "http://localhost/api/users/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/logout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/logout

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"preferred_language\": \"ar\",
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"secondary_email\": \"justina.gaylord@example.org\",
    \"mobile\": \"ikhwaykcmyuwpwlv\",
    \"secondary_mobile\": \"qwrsitcpscqldzsn\",
    \"country_code\": \"r\",
    \"address\": {
        \"region\": \"w\",
        \"country\": \"t\",
        \"city\": \"u\",
        \"street\": \"j\",
        \"area\": \"w\"
    }
}"
const url = new URL(
    "http://localhost/api/users"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "preferred_language": "ar",
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "secondary_email": "justina.gaylord@example.org",
    "mobile": "ikhwaykcmyuwpwlv",
    "secondary_mobile": "qwrsitcpscqldzsn",
    "country_code": "r",
    "address": {
        "region": "w",
        "country": "t",
        "city": "u",
        "street": "j",
        "area": "w"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

preferred_language   string     

Example: ar

Must be one of:
  • en
  • ar
first_name   string     

Must not be greater than 191 characters. Example: b

last_name   string  optional    

Must not be greater than 191 characters. Example: n

email   string     

Must be a valid email address. Example: ashly64@example.com

secondary_email   string  optional    

Must be a valid email address. Must not be greater than 191 characters. Example: justina.gaylord@example.org

mobile   string     

Must not be greater than 20 characters. Example: ikhwaykcmyuwpwlv

secondary_mobile   string  optional    

Must not be greater than 20 characters. Example: qwrsitcpscqldzsn

country_code   string     

Must not be greater than 5 characters. Example: r

address   object  optional    
region   string  optional    

Must not be greater than 191 characters. Example: w

country   string  optional    

Must not be greater than 191 characters. Example: t

city   string  optional    

Must not be greater than 191 characters. Example: u

street   string  optional    

Must not be greater than 255 characters. Example: j

area   string  optional    

Must not be greater than 255 characters. Example: w

city_id   string  optional    

The id of an existing record in the cities table.

PATCH api/users/preferred-language

Example request:
curl --request PATCH \
    "http://localhost/api/users/preferred-language" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"preferred_language\": null
}"
const url = new URL(
    "http://localhost/api/users/preferred-language"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "preferred_language": null
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PATCH api/users/preferred-language

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

preferred_language   string     
Must be one of:

GET api/users/vehicles

Example request:
curl --request GET \
    --get "http://localhost/api/users/vehicles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/vehicles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/vehicles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users/orders

Example request:
curl --request GET \
    --get "http://localhost/api/users/orders" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/orders"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/orders

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/users/change-password

Example request:
curl --request POST \
    "http://localhost/api/users/change-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/change-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/change-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/users/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "http://localhost/api/users/notifications/mark-all-as-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/notifications/mark-all-as-read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Request   

PATCH api/users/notifications/mark-all-as-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "http://localhost/api/users/notifications/mark-many-as-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/notifications/mark-many-as-read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Request   

PATCH api/users/notifications/mark-many-as-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PATCH api/users/notifications/{id}

Example request:
curl --request PATCH \
    "http://localhost/api/users/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PATCH",
    headers,
}).then(response => response.json());

Request   

PATCH api/users/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/users/notifications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/notifications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/users/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

POST api/users/send-verify-mobile

Example request:
curl --request POST \
    "http://localhost/api/users/send-verify-mobile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"mobile\": \"architecto\",
    \"country_code\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/users/send-verify-mobile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "mobile": "architecto",
    "country_code": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/send-verify-mobile

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

mobile   string     

Example: architecto

country_code   string     

Example: architecto

POST api/users/verify-mobile

Example request:
curl --request POST \
    "http://localhost/api/users/verify-mobile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/verify-mobile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/users/verify-mobile

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users/financing-applications

Example request:
curl --request GET \
    --get "http://localhost/api/users/financing-applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/financing-applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/financing-applications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users/financing-applications/{id}

Example request:
curl --request GET \
    --get "http://localhost/api/users/financing-applications/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/financing-applications/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/financing-applications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the financing application. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/users/favorites" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"variant_id\": \"architecto\",
    \"exterior_color_id\": \"architecto\",
    \"interior_color_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/users/favorites"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "variant_id": "architecto",
    "exterior_color_id": "architecto",
    "interior_color_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/users/favorites

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

variant_id   string     

The id of an existing record in the variants table. Example: architecto

exterior_color_id   string     

The id of an existing record in the exterior_colors table. Example: architecto

interior_color_id   string     

The id of an existing record in the interior_colors table. Example: architecto

accessories   string[]  optional    

The id of an existing record in the accessories table.

warranty_id   string  optional    

The id of an existing record in the warranties table.

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/users/favorites" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/favorites"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/users/favorites

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/users/favorites/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/users/favorites/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/users/favorites/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the favorite. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/makes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/makes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/makes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/makes" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"code\": \"n\",
    \"slug\": \"g\",
    \"hidden\": true,
    \"is_service_booking_enabled\": true,
    \"is_location_checkout_enabled\": true,
    \"primary_color_hex\": \"zmiyvd\",
    \"secondary_color_hex\": \"ljnikh\",
    \"hotline_number\": \"waykcmyuwpwlvqwr\",
    \"explore_button\": \"request_quote\",
    \"whats_app_number\": \"sitcpscqldzsnrwt\",
    \"code_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/makes"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "code": "n",
    "slug": "g",
    "hidden": true,
    "is_service_booking_enabled": true,
    "is_location_checkout_enabled": true,
    "primary_color_hex": "zmiyvd",
    "secondary_color_hex": "ljnikh",
    "hotline_number": "waykcmyuwpwlvqwr",
    "explore_button": "request_quote",
    "whats_app_number": "sitcpscqldzsnrwt",
    "code_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/makes

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 191 characters. Example: b

code   string     

Must not be greater than 50 characters. Example: n

slug   string     

Must not be greater than 191 characters. Example: g

hidden   boolean     

Example: true

is_service_booking_enabled   boolean  optional    

Example: true

is_location_checkout_enabled   boolean  optional    

Example: true

primary_color_hex   string  optional    

Must not be greater than 10 characters. Example: zmiyvd

secondary_color_hex   string  optional    

Must not be greater than 10 characters. Example: ljnikh

hotline_number   string  optional    

Must not be greater than 20 characters. Example: waykcmyuwpwlvqwr

explore_button   string     

Example: request_quote

Must be one of:
  • request_quote
  • call_us
whats_app_number   string  optional    

Must not be greater than 20 characters. Example: sitcpscqldzsnrwt

code_id   integer  optional    

Example: 16

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/makes/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/makes/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/makes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the make. Example: architecto

PUT api/admin/makes/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/makes/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"code\": \"n\",
    \"slug\": \"g\",
    \"hidden\": false,
    \"is_service_booking_enabled\": true,
    \"is_location_checkout_enabled\": true,
    \"primary_color_hex\": \"zmiyvd\",
    \"secondary_color_hex\": \"ljnikh\",
    \"hotline_number\": \"waykcmyuwpwlvqwr\",
    \"explore_button\": \"call_us\",
    \"whats_app_number\": \"sitcpscqldzsnrwt\",
    \"code_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/makes/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "b",
    "code": "n",
    "slug": "g",
    "hidden": false,
    "is_service_booking_enabled": true,
    "is_location_checkout_enabled": true,
    "primary_color_hex": "zmiyvd",
    "secondary_color_hex": "ljnikh",
    "hotline_number": "waykcmyuwpwlvqwr",
    "explore_button": "call_us",
    "whats_app_number": "sitcpscqldzsnrwt",
    "code_id": 16
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/makes/{id}

PATCH api/admin/makes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the make. Example: architecto

Body Parameters

name   string     

Must not be greater than 191 characters. Example: b

code   string     

Must not be greater than 50 characters. Example: n

slug   string     

Must not be greater than 191 characters. Example: g

hidden   boolean     

Example: false

is_service_booking_enabled   boolean  optional    

Example: true

is_location_checkout_enabled   boolean  optional    

Example: true

primary_color_hex   string  optional    

Must not be greater than 10 characters. Example: zmiyvd

secondary_color_hex   string  optional    

Must not be greater than 10 characters. Example: ljnikh

hotline_number   string  optional    

Must not be greater than 20 characters. Example: waykcmyuwpwlvqwr

explore_button   string     

Example: call_us

Must be one of:
  • request_quote
  • call_us
whats_app_number   string  optional    

Must not be greater than 20 characters. Example: sitcpscqldzsnrwt

code_id   integer  optional    

Example: 16

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/makes/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/makes/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/makes/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the make. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/models" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"vehicle_make_id\": \"architecto\",
    \"description\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"code\": \"g\",
    \"slug\": \"z\",
    \"hidden\": true,
    \"featured\": true,
    \"long_description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"order\": 16,
    \"body_type_ids\": [
        \"architecto\"
    ],
    \"hex_code\": \"ngzmiy\",
    \"year\": \"v\",
    \"max_speed\": \"d\",
    \"engine_power\": \"l\",
    \"drive_train\": \"j\",
    \"is_old\": false
}"
const url = new URL(
    "http://localhost/api/admin/models"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "b",
        "en": "n"
    },
    "vehicle_make_id": "architecto",
    "description": {
        "ar": "b",
        "en": "n"
    },
    "code": "g",
    "slug": "z",
    "hidden": true,
    "featured": true,
    "long_description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "order": 16,
    "body_type_ids": [
        "architecto"
    ],
    "hex_code": "ngzmiy",
    "year": "v",
    "max_speed": "d",
    "engine_power": "l",
    "drive_train": "j",
    "is_old": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/models

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

description   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

code   string     

Must not be greater than 50 characters. Example: g

slug   string     

Must not be greater than 191 characters. Example: z

hidden   boolean     

Example: true

featured   boolean     

Example: true

meta_title   object  optional    
meta_description   object  optional    
long_description   object  optional    
ar   string  optional    

Example: architecto

en   string  optional    

Example: architecto

order   integer     

Example: 16

treated_as   string  optional    

The id of an existing record in the vehicle_models table.

body_type_ids   string[]     

The id of an existing record in the body_types table.

hex_code   string  optional    

Must not be greater than 10 characters. Example: ngzmiy

year   string  optional    

Must not be greater than 191 characters. Example: v

max_speed   string  optional    

Must not be greater than 191 characters. Example: d

engine_power   string  optional    

Must not be greater than 191 characters. Example: l

drive_train   string  optional    

Must not be greater than 191 characters. Example: j

is_old   boolean  optional    

Example: false

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/models/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the model. Example: architecto

PUT api/admin/models/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"vehicle_make_id\": \"architecto\",
    \"description\": {
        \"ar\": \"b\",
        \"en\": \"n\"
    },
    \"code\": \"g\",
    \"slug\": \"z\",
    \"hidden\": true,
    \"featured\": false,
    \"long_description\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"order\": 16,
    \"body_type_ids\": [
        \"architecto\"
    ],
    \"hex_code\": \"ngzmiy\",
    \"year\": \"v\",
    \"max_speed\": \"d\",
    \"engine_power\": \"l\",
    \"drive_train\": \"j\",
    \"is_old\": false
}"
const url = new URL(
    "http://localhost/api/admin/models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "b",
        "en": "n"
    },
    "vehicle_make_id": "architecto",
    "description": {
        "ar": "b",
        "en": "n"
    },
    "code": "g",
    "slug": "z",
    "hidden": true,
    "featured": false,
    "long_description": {
        "ar": "architecto",
        "en": "architecto"
    },
    "order": 16,
    "body_type_ids": [
        "architecto"
    ],
    "hex_code": "ngzmiy",
    "year": "v",
    "max_speed": "d",
    "engine_power": "l",
    "drive_train": "j",
    "is_old": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/models/{id}

PATCH api/admin/models/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the model. Example: architecto

Body Parameters

name   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

description   object     
ar   string     

Must not be greater than 191 characters. Example: b

en   string     

Must not be greater than 191 characters. Example: n

code   string     

Must not be greater than 50 characters. Example: g

slug   string     

Must not be greater than 191 characters. Example: z

hidden   boolean     

Example: true

featured   boolean     

Example: false

meta_title   object  optional    
meta_description   object  optional    
long_description   object  optional    
ar   string  optional    

Example: architecto

en   string  optional    

Example: architecto

order   integer     

Example: 16

treated_as   string  optional    

The id of an existing record in the vehicle_models table.

body_type_ids   string[]     

The id of an existing record in the body_types table.

hex_code   string  optional    

Must not be greater than 10 characters. Example: ngzmiy

year   string  optional    

Must not be greater than 191 characters. Example: v

max_speed   string  optional    

Must not be greater than 191 characters. Example: d

engine_power   string  optional    

Must not be greater than 191 characters. Example: l

drive_train   string  optional    

Must not be greater than 191 characters. Example: j

is_old   boolean  optional    

Example: false

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/models/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the model. Example: architecto

POST api/admin/models/{model_id}/exterior_colors

Example request:
curl --request POST \
    "http://localhost/api/admin/models/architecto/exterior_colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/exterior_colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/models/{model_id}/exterior_colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

POST api/admin/models/{model_id}/interior_colors

Example request:
curl --request POST \
    "http://localhost/api/admin/models/architecto/interior_colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/interior_colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/models/{model_id}/interior_colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

DELETE api/admin/models/{model_id}/exterior_colors/{exterior_color_id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/models/architecto/exterior_colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/exterior_colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/models/{model_id}/exterior_colors/{exterior_color_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

exterior_color_id   string     

The ID of the exterior color. Example: architecto

DELETE api/admin/models/{model_id}/interior_colors/{interior_color_id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/models/architecto/interior_colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/interior_colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/models/{model_id}/interior_colors/{interior_color_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

interior_color_id   string     

The ID of the interior color. Example: architecto

PATCH api/admin/variants/{variant_id}/addon-prices

Example request:
curl --request PATCH \
    "http://localhost/api/admin/variants/architecto/addon-prices" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"addon_prices\": [
        {
            \"resource_id\": 16,
            \"resource_type\": \"exterior_color\",
            \"price\": 39
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/addon-prices"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "addon_prices": [
        {
            "resource_id": 16,
            "resource_type": "exterior_color",
            "price": 39
        }
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PATCH api/admin/variants/{variant_id}/addon-prices

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

Body Parameters

addon_prices   object[]     
resource_id   integer     

Example: 16

resource_type   string     

Example: exterior_color

Must be one of:
  • exterior_color
  • interior_color
price   number     

Must be at least 0. Example: 39

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/makes/architecto/models" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/makes/architecto/models"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/makes/{make_id}/models

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

make_id   string     

The ID of the make. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/makes/architecto/models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/makes/architecto/models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/makes/{make_id}/models/{model_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

make_id   string     

The ID of the make. Example: architecto

model_id   string     

The ID of the model. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/variants" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"display_name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"code\": \"n\",
    \"transmission_id\": \"architecto\",
    \"body_type_id\": \"architecto\",
    \"vehicle_model_id\": \"architecto\",
    \"fuel_type_id\": \"architecto\",
    \"warranty_months\": \"n\",
    \"warranty_mileage\": \"g\",
    \"price\": 12,
    \"hidden\": false,
    \"featured\": false,
    \"financing_price\": 77,
    \"retail_price\": 8,
    \"model_year\": \"yvdl\",
    \"addon_price\": 9,
    \"is_parent\": false
}"
const url = new URL(
    "http://localhost/api/admin/variants"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "display_name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "code": "n",
    "transmission_id": "architecto",
    "body_type_id": "architecto",
    "vehicle_model_id": "architecto",
    "fuel_type_id": "architecto",
    "warranty_months": "n",
    "warranty_mileage": "g",
    "price": 12,
    "hidden": false,
    "featured": false,
    "financing_price": 77,
    "retail_price": 8,
    "model_year": "yvdl",
    "addon_price": 9,
    "is_parent": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/variants

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

display_name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

code   string     

Must not be greater than 50 characters. Example: n

transmission_id   string     

The id of an existing record in the transmissions table. Example: architecto

body_type_id   string     

The id of an existing record in the body_types table. Example: architecto

vehicle_model_id   string     

The id of an existing record in the vehicle_models table. Example: architecto

fuel_type_id   string     

The id of an existing record in the fuel_types table. Example: architecto

warranty_months   string     

Must not be greater than 191 characters. Example: n

warranty_mileage   string     

Must not be greater than 191 characters. Example: g

price   integer     

Must be at least 0. Example: 12

hidden   boolean     

Example: false

featured   boolean     

Example: false

financing_price   number     

Must be at least 0. Example: 77

retail_price   number     

Must be at least 0. Example: 8

model_year   string     

Must not be greater than 6 characters. Example: yvdl

treated_as   string  optional    

The id of an existing record in the vehicle_models table.

addon_price   number  optional    

Must be at least 0. Example: 9

is_parent   boolean  optional    

Example: false

child_variant_ids   string[]  optional    

The id of an existing record in the variants table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/variants/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/variants/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

PUT api/admin/variants/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/variants/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"display_name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"code\": \"n\",
    \"transmission_id\": \"architecto\",
    \"body_type_id\": \"architecto\",
    \"vehicle_model_id\": \"architecto\",
    \"fuel_type_id\": \"architecto\",
    \"warranty_months\": \"n\",
    \"warranty_mileage\": \"g\",
    \"price\": 12,
    \"hidden\": true,
    \"featured\": true,
    \"financing_price\": 77,
    \"retail_price\": 8,
    \"model_year\": \"yvdl\",
    \"addon_price\": 9,
    \"is_parent\": false
}"
const url = new URL(
    "http://localhost/api/admin/variants/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "display_name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "code": "n",
    "transmission_id": "architecto",
    "body_type_id": "architecto",
    "vehicle_model_id": "architecto",
    "fuel_type_id": "architecto",
    "warranty_months": "n",
    "warranty_mileage": "g",
    "price": 12,
    "hidden": true,
    "featured": true,
    "financing_price": 77,
    "retail_price": 8,
    "model_year": "yvdl",
    "addon_price": 9,
    "is_parent": false
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/variants/{id}

PATCH api/admin/variants/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

Body Parameters

name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

display_name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

code   string     

Must not be greater than 50 characters. Example: n

transmission_id   string     

The id of an existing record in the transmissions table. Example: architecto

body_type_id   string     

The id of an existing record in the body_types table. Example: architecto

vehicle_model_id   string     

The id of an existing record in the vehicle_models table. Example: architecto

fuel_type_id   string     

The id of an existing record in the fuel_types table. Example: architecto

warranty_months   string     

Must not be greater than 191 characters. Example: n

warranty_mileage   string     

Must not be greater than 191 characters. Example: g

price   integer     

Must be at least 0. Example: 12

hidden   boolean     

Example: true

featured   boolean     

Example: true

financing_price   number     

Must be at least 0. Example: 77

retail_price   number     

Must be at least 0. Example: 8

model_year   string     

Must not be greater than 6 characters. Example: yvdl

treated_as   string  optional    

The id of an existing record in the vehicle_models table.

addon_price   number  optional    

Must be at least 0. Example: 9

is_parent   boolean  optional    

Example: false

child_variant_ids   string[]  optional    

The id of an existing record in the variants table.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/variants/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/variants/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

POST api/admin/variants/{variant_id}/exterior_colors

Example request:
curl --request POST \
    "http://localhost/api/admin/variants/architecto/exterior_colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/exterior_colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/variants/{variant_id}/exterior_colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

POST api/admin/variants/{variant_id}/interior_colors

Example request:
curl --request POST \
    "http://localhost/api/admin/variants/architecto/interior_colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/interior_colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/variants/{variant_id}/interior_colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

DELETE api/admin/variants/{variant_id}/exterior_colors/{exterior_color_id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/variants/architecto/exterior_colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/exterior_colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/variants/{variant_id}/exterior_colors/{exterior_color_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

exterior_color_id   string     

The ID of the exterior color. Example: architecto

DELETE api/admin/variants/{variant_id}/interior_colors/{interior_color_id}

Example request:
curl --request DELETE \
    "http://localhost/api/admin/variants/architecto/interior_colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/interior_colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/variants/{variant_id}/interior_colors/{interior_color_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

interior_color_id   string     

The ID of the interior color. Example: architecto

GET api/admin/variants/{variant_id}/all-available-colors

Example request:
curl --request GET \
    --get "http://localhost/api/admin/variants/architecto/all-available-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/all-available-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/variants/{variant_id}/all-available-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

Get variants that can be attached as children to this variant (same model, not self, not parents).

Example request:
curl --request GET \
    --get "http://localhost/api/admin/variants/architecto/eligible-children" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/eligible-children"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/variants/{variant_id}/eligible-children

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/models/architecto/variants" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/variants"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/models/{model_id}/variants

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

GET api/admin/vehicles/filter

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicles/filter" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicles/filter"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicles/filter

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/vehicles/chassis/{chassis}

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicles/chassis/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicles/chassis/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicles/chassis/{chassis}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

chassis   string     

The chassis. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"used\": true
}"
const url = new URL(
    "http://localhost/api/admin/vehicles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "used": true
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/vehicles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

used   boolean  optional    

Example: true

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/vehicles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"variant_id\": \"architecto\",
    \"model_year\": \"2026\",
    \"price\": 16,
    \"used\": false,
    \"stockbook_number\": 16,
    \"interior_color_id\": 16,
    \"user_id\": 16,
    \"chassis\": \"n\",
    \"vehicle_code\": \"g\",
    \"ownership_type\": 16,
    \"location_id\": 16,
    \"mileage\": \"architecto\",
    \"transmission_id\": 16,
    \"exterior_color_id\": 16,
    \"state\": \"ngzmiyvdljnikhwa\",
    \"reserved\": false,
    \"reserved_date\": \"2026-03-02T22:08:08\",
    \"financing_price\": \"architecto\",
    \"last_synced\": \"2026-03-02T22:08:08\",
    \"retail_price\": \"architecto\",
    \"make_model\": \"n\",
    \"type\": \"customer\",
    \"hidden\": true,
    \"plate_no\": \"g\"
}"
const url = new URL(
    "http://localhost/api/admin/vehicles"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "variant_id": "architecto",
    "model_year": "2026",
    "price": 16,
    "used": false,
    "stockbook_number": 16,
    "interior_color_id": 16,
    "user_id": 16,
    "chassis": "n",
    "vehicle_code": "g",
    "ownership_type": 16,
    "location_id": 16,
    "mileage": "architecto",
    "transmission_id": 16,
    "exterior_color_id": 16,
    "state": "ngzmiyvdljnikhwa",
    "reserved": false,
    "reserved_date": "2026-03-02T22:08:08",
    "financing_price": "architecto",
    "last_synced": "2026-03-02T22:08:08",
    "retail_price": "architecto",
    "make_model": "n",
    "type": "customer",
    "hidden": true,
    "plate_no": "g"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/vehicles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

variant_id   string     

The id of an existing record in the Modules\Vehicle\Models\VehicleVariant table. Example: architecto

model_year   string     

Must be a valid date in the format Y. Example: 2026

price   integer     

Example: 16

used   boolean     

Example: false

stockbook_number   integer     

Example: 16

interior_color_id   integer     

The id of an existing record in the Modules\Vehicle\Models\InteriorColor table. Example: 16

user_id   integer     

The id of an existing record in the Modules\User\Models\User table. Example: 16

chassis   string     

Must not be greater than 50 characters. Example: n

vehicle_code   string     

Must not be greater than 50 characters. Example: g

ownership_type   integer     

Must not be greater than 255. Example: 16

location_id   integer     

The id of an existing record in the Modules\Vehicle\Models\Location table. Example: 16

mileage   string     

Example: architecto

transmission_id   integer     

The id of an existing record in the Modules\Vehicle\Models\Transmission table. Example: 16

exterior_color_id   integer     

The id of an existing record in the Modules\Vehicle\Models\ExteriorColor table. Example: 16

state   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

reserved   boolean  optional    

Example: false

reserved_date   string     

Must be a valid date. Example: 2026-03-02T22:08:08

financing_price   string     

Example: architecto

last_synced   string     

Must be a valid date. Example: 2026-03-02T22:08:08

retail_price   string     

Example: architecto

make_model   string     

Must not be greater than 50 characters. Example: n

type   string     

Example: customer

Must be one of:
  • customer
  • non-customer
hidden   boolean  optional    

Example: true

plate_no   string     

Must not be greater than 50 characters. Example: g

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle. Example: architecto

PUT api/admin/vehicles/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/vehicles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"variant_id\": \"architecto\",
    \"model_year\": \"2026\",
    \"price\": 16,
    \"used\": true,
    \"stockbook_number\": 16,
    \"interior_color_id\": 16,
    \"user_id\": 16,
    \"chassis\": \"n\",
    \"vehicle_code\": \"g\",
    \"ownership_type\": 16,
    \"location_id\": 16,
    \"mileage\": \"architecto\",
    \"transmission_id\": 16,
    \"exterior_color_id\": 16,
    \"state\": \"ngzmiyvdljnikhwa\",
    \"reserved\": true,
    \"reserved_date\": \"2026-03-02T22:08:08\",
    \"financing_price\": \"architecto\",
    \"last_synced\": \"2026-03-02T22:08:08\",
    \"retail_price\": \"architecto\",
    \"make_model\": \"n\",
    \"type\": \"customer\",
    \"hidden\": true,
    \"plate_no\": \"g\"
}"
const url = new URL(
    "http://localhost/api/admin/vehicles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "variant_id": "architecto",
    "model_year": "2026",
    "price": 16,
    "used": true,
    "stockbook_number": 16,
    "interior_color_id": 16,
    "user_id": 16,
    "chassis": "n",
    "vehicle_code": "g",
    "ownership_type": 16,
    "location_id": 16,
    "mileage": "architecto",
    "transmission_id": 16,
    "exterior_color_id": 16,
    "state": "ngzmiyvdljnikhwa",
    "reserved": true,
    "reserved_date": "2026-03-02T22:08:08",
    "financing_price": "architecto",
    "last_synced": "2026-03-02T22:08:08",
    "retail_price": "architecto",
    "make_model": "n",
    "type": "customer",
    "hidden": true,
    "plate_no": "g"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/vehicles/{id}

PATCH api/admin/vehicles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle. Example: architecto

Body Parameters

variant_id   string     

The id of an existing record in the Modules\Vehicle\Models\VehicleVariant table. Example: architecto

model_year   string     

Must be a valid date in the format Y. Example: 2026

price   integer     

Example: 16

used   boolean     

Example: true

stockbook_number   integer     

Example: 16

interior_color_id   integer     

The id of an existing record in the Modules\Vehicle\Models\InteriorColor table. Example: 16

user_id   integer     

The id of an existing record in the Modules\User\Models\User table. Example: 16

chassis   string     

Must not be greater than 50 characters. Example: n

vehicle_code   string     

Must not be greater than 50 characters. Example: g

ownership_type   integer     

Must not be greater than 255. Example: 16

location_id   integer     

The id of an existing record in the Modules\Vehicle\Models\Location table. Example: 16

mileage   string     

Example: architecto

transmission_id   integer     

The id of an existing record in the Modules\Vehicle\Models\Transmission table. Example: 16

exterior_color_id   integer     

The id of an existing record in the Modules\Vehicle\Models\ExteriorColor table. Example: 16

state   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

reserved   boolean  optional    

Example: true

reserved_date   string     

Must be a valid date. Example: 2026-03-02T22:08:08

financing_price   string     

Example: architecto

last_synced   string     

Must be a valid date. Example: 2026-03-02T22:08:08

retail_price   string     

Example: architecto

make_model   string     

Must not be greater than 50 characters. Example: n

type   string     

Example: customer

Must be one of:
  • customer
  • non-customer
hidden   boolean  optional    

Example: true

plate_no   string     

Must not be greater than 50 characters. Example: g

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/vehicles/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicles/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/vehicles/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle. Example: architecto

POST api/admin/vehicles/generate

Example request:
curl --request POST \
    "http://localhost/api/admin/vehicles/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicles/generate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/vehicles/generate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/body-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/body-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/body-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/body-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/body-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/body-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/body-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/body-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/body-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the body type. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/body-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/body-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/body-types/{id}

PATCH api/admin/body-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the body type. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/body-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/body-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/body-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the body type. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the color. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/colors/{id}

PATCH api/admin/colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the color. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the color. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/specs-groups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs-groups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/specs-groups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/specs-groups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/specs-groups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/specs-groups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/specs-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/specs-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the specs group. Example: architecto

PUT api/admin/specs-groups/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/specs-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/specs-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/specs-groups/{id}

PATCH api/admin/specs-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the specs group. Example: architecto

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/specs-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/specs-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the specs group. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/specs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/specs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/specs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"type\": \"checkbox\",
    \"specs_group_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/specs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "type": "checkbox",
    "specs_group_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/specs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

type   string     

Example: checkbox

Must be one of:
  • text
  • checkbox
specs_group_id   string     

The id of an existing record in the Modules\Vehicle\Models\SpecGroup table. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/specs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/specs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the spec. Example: architecto

PUT api/admin/specs/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/specs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"ar\": \"architecto\",
        \"en\": \"architecto\"
    },
    \"type\": \"checkbox\",
    \"specs_group_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/specs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "ar": "architecto",
        "en": "architecto"
    },
    "type": "checkbox",
    "specs_group_id": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/specs/{id}

PATCH api/admin/specs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the spec. Example: architecto

Body Parameters

name   object     
ar   string     

Example: architecto

en   string     

Example: architecto

type   string     

Example: checkbox

Must be one of:
  • text
  • checkbox
specs_group_id   string     

The id of an existing record in the Modules\Vehicle\Models\SpecGroup table. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/specs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/specs/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the spec. Example: architecto

Store a newly created resource in storage.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/variants/architecto/spec-value" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/spec-value"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/variants/{variant_id}/spec-value

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

GET api/admin/models/{model_id}/spec-value

Example request:
curl --request GET \
    --get "http://localhost/api/admin/models/architecto/spec-value" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/spec-value"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/models/{model_id}/spec-value

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

PUT api/admin/variants/{variant_id}/spec-value

Example request:
curl --request PUT \
    "http://localhost/api/admin/variants/architecto/spec-value" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"specs\": [
        {
            \"featured\": false
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/variants/architecto/spec-value"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "specs": [
        {
            "featured": false
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/variants/{variant_id}/spec-value

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant_id   string     

The ID of the variant. Example: architecto

Body Parameters

specs   object[]     
featured   boolean  optional    

Example: false

PUT api/admin/models/{model_id}/spec-value

Example request:
curl --request PUT \
    "http://localhost/api/admin/models/architecto/spec-value" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"specs\": [
        {
            \"featured\": true
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/models/architecto/spec-value"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "specs": [
        {
            "featured": true
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/models/{model_id}/spec-value

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

Body Parameters

specs   object[]     
featured   boolean  optional    

Example: true

GET api/admin/models/{model_id}/warranties

Example request:
curl --request GET \
    --get "http://localhost/api/admin/models/architecto/warranties" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/models/architecto/warranties"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/models/{model_id}/warranties

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

POST api/admin/specs/import

Example request:
curl --request POST \
    "http://localhost/api/admin/specs/import" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/specs/import"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/specs/import

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/exterior-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/exterior-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/exterior-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/exterior-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"name\": \"architecto\",
    \"display_name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"hexcode\": \"architecto\",
    \"has_addon\": true,
    \"vehicle_make_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/exterior-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "name": "architecto",
    "display_name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "hexcode": "architecto",
    "has_addon": true,
    "vehicle_make_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/exterior-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

name   string     

Example: architecto

display_name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

hexcode   string     

Example: architecto

has_addon   boolean     

Example: true

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/exterior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/exterior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/exterior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exterior color. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/exterior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"name\": \"architecto\",
    \"display_name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"hexcode\": \"architecto\",
    \"has_addon\": true,
    \"vehicle_make_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/exterior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "name": "architecto",
    "display_name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "hexcode": "architecto",
    "has_addon": true,
    "vehicle_make_id": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/exterior-colors/{id}

PATCH api/admin/exterior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exterior color. Example: architecto

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

name   string     

Example: architecto

display_name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

hexcode   string     

Example: architecto

has_addon   boolean     

Example: true

vehicle_make_id   string     

The id of an existing record in the vehicle_makes table. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/exterior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/exterior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/exterior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the exterior color. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/interior-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/interior-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/interior-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/interior-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"name\": \"architecto\",
    \"display_name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"hexcode\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/interior-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "name": "architecto",
    "display_name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "hexcode": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/interior-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

name   string     

Example: architecto

display_name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

hexcode   string     

Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/interior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/interior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/interior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the interior color. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/interior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"name\": \"architecto\",
    \"display_name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"hexcode\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/interior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "name": "architecto",
    "display_name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "hexcode": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/interior-colors/{id}

PATCH api/admin/interior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the interior color. Example: architecto

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

name   string     

Example: architecto

display_name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

hexcode   string     

Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/interior-colors/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/interior-colors/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/interior-colors/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the interior color. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/fuel-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fuel-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/fuel-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/fuel-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fuel-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/fuel-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/fuel-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fuel-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/fuel-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fuel type. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/fuel-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fuel-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/fuel-types/{id}

PATCH api/admin/fuel-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fuel type. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/fuel-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/fuel-types/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/fuel-types/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the fuel type. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/transmissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/transmissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/transmissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/transmissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/transmissions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/transmissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/transmissions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/transmissions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/transmissions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the transmission. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/transmissions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/transmissions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/transmissions/{id}

PATCH api/admin/transmissions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the transmission. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/transmissions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/transmissions/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/transmissions/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the transmission. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/accessories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/accessories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/accessories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/accessories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\",
    \"new_or_used\": \"used\",
    \"price\": 39,
    \"hidden\": true,
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"display_name\": {
        \"en\": \"g\",
        \"ar\": \"z\"
    },
    \"description\": {
        \"en\": \"m\",
        \"ar\": \"i\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/accessories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "architecto",
    "new_or_used": "used",
    "price": 39,
    "hidden": true,
    "name": {
        "en": "b",
        "ar": "n"
    },
    "display_name": {
        "en": "g",
        "ar": "z"
    },
    "description": {
        "en": "m",
        "ar": "i"
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/accessories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Example: architecto

vehicle_model_id   string  optional    

The id of an existing record in the vehicle_models table.

variant_id   string  optional    

The id of an existing record in the variants table.

new_or_used   string     

Example: used

Must be one of:
  • new
  • used
price   number     

Must be at least 0. Example: 39

hidden   boolean  optional    

Example: true

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

description   object  optional    
en   string  optional    

Must not be greater than 1000 characters. Example: m

ar   string  optional    

Must not be greater than 1000 characters. Example: i

display_name   object     
en   string     

Must not be greater than 255 characters. Example: g

ar   string     

Must not be greater than 255 characters. Example: z

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/accessories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/accessories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/accessories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the accessory. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/accessories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\",
    \"new_or_used\": \"used\",
    \"price\": 39,
    \"hidden\": true,
    \"name\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"display_name\": {
        \"en\": \"g\",
        \"ar\": \"z\"
    },
    \"description\": {
        \"en\": \"m\",
        \"ar\": \"i\"
    }
}"
const url = new URL(
    "http://localhost/api/admin/accessories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "architecto",
    "new_or_used": "used",
    "price": 39,
    "hidden": true,
    "name": {
        "en": "b",
        "ar": "n"
    },
    "display_name": {
        "en": "g",
        "ar": "z"
    },
    "description": {
        "en": "m",
        "ar": "i"
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/accessories/{id}

PATCH api/admin/accessories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the accessory. Example: architecto

Body Parameters

code   string     

Example: architecto

vehicle_model_id   string  optional    

The id of an existing record in the vehicle_models table.

variant_id   string  optional    

The id of an existing record in the variants table.

new_or_used   string     

Example: used

Must be one of:
  • new
  • used
price   number     

Must be at least 0. Example: 39

hidden   boolean  optional    

Example: true

name   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string     

Must not be greater than 255 characters. Example: n

description   object  optional    
en   string  optional    

Must not be greater than 1000 characters. Example: m

ar   string  optional    

Must not be greater than 1000 characters. Example: i

display_name   object     
en   string     

Must not be greater than 255 characters. Example: g

ar   string     

Must not be greater than 255 characters. Example: z

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/accessories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/accessories/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/accessories/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the accessory. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cities/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the city. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/cities/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/cities/{id}

PATCH api/admin/cities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the city. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/cities/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/cities/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the city. Example: architecto

GET api/admin/cities/{city_id}/locations

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cities/architecto/locations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities/architecto/locations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cities/{city_id}/locations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

city_id   string     

The ID of the city. Example: architecto

GET api/admin/cities/{cityId}/delivery-options

Example request:
curl --request GET \
    --get "http://localhost/api/admin/cities/architecto/delivery-options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/cities/architecto/delivery-options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/cities/{cityId}/delivery-options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

cityId   string     

Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/locations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"location_type\": \"service_center\"
}"
const url = new URL(
    "http://localhost/api/admin/locations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "location_type": "service_center"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/locations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

location_type   string  optional    

Example: service_center

Must be one of:
  • showroom
  • service_center
  • parts
  • quick_service
  • workshop
  • bodyshop
city_id   string  optional    

The id of an existing record in the cities table.

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/locations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/locations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/locations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/locations/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/locations/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/locations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the location. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/locations/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/locations/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/locations/{id}

PATCH api/admin/locations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the location. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/locations/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/locations/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/locations/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the location. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicle-groups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle-groups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicle-groups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/vehicle-groups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"vehicle_models\": [
        4326.41688
    ]
}"
const url = new URL(
    "http://localhost/api/admin/vehicle-groups"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "vehicle_models": [
        4326.41688
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/vehicle-groups

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

vehicle_models   number[]  optional    

The id of an existing record in the vehicle_models table.

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/vehicle-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/vehicle-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle group. Example: architecto

PUT api/admin/vehicle-groups/{id}

Example request:
curl --request PUT \
    "http://localhost/api/admin/vehicle-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"vehicle_models\": [
        4326.41688
    ]
}"
const url = new URL(
    "http://localhost/api/admin/vehicle-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": {
        "en": "architecto",
        "ar": "architecto"
    },
    "vehicle_models": [
        4326.41688
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/vehicle-groups/{id}

PATCH api/admin/vehicle-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle group. Example: architecto

Body Parameters

name   object     
en   string     

Example: architecto

ar   string     

Example: architecto

vehicle_models   number[]  optional    

The id of an existing record in the vehicle_models table.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/vehicle-groups/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/vehicle-groups/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/vehicle-groups/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle group. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/warranties" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/warranties"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/warranties

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/warranties" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"title\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"description\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"is_default\": true,
    \"vehicle_models\": [
        {
            \"price\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/warranties"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "title": {
        "en": "b",
        "ar": "n"
    },
    "description": {
        "en": "architecto",
        "ar": "architecto"
    },
    "is_default": true,
    "vehicle_models": [
        {
            "price": 4326.41688
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/warranties

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

title   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string  optional    

Must not be greater than 255 characters. Example: n

description   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

is_default   boolean  optional    

Example: true

vehicle_models   object[]  optional    
vehicle_model_id   string  optional    

This field is required when vehicle_models is present. The id of an existing record in the vehicle_models table.

price   number  optional    

This field is required when vehicle_models is present. Example: 4326.41688

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/warranties/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/warranties/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/warranties/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the warranty. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/warranties/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"title\": {
        \"en\": \"b\",
        \"ar\": \"n\"
    },
    \"description\": {
        \"en\": \"architecto\",
        \"ar\": \"architecto\"
    },
    \"is_default\": false,
    \"vehicle_models\": [
        {
            \"price\": 4326.41688
        }
    ]
}"
const url = new URL(
    "http://localhost/api/admin/warranties/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "code": "b",
    "title": {
        "en": "b",
        "ar": "n"
    },
    "description": {
        "en": "architecto",
        "ar": "architecto"
    },
    "is_default": false,
    "vehicle_models": [
        {
            "price": 4326.41688
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

PUT api/admin/warranties/{id}

PATCH api/admin/warranties/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the warranty. Example: architecto

Body Parameters

code   string     

Must not be greater than 50 characters. Example: b

title   object     
en   string     

Must not be greater than 255 characters. Example: b

ar   string  optional    

Must not be greater than 255 characters. Example: n

description   object  optional    
en   string  optional    

Example: architecto

ar   string  optional    

Example: architecto

is_default   boolean  optional    

Example: false

vehicle_models   object[]  optional    
vehicle_model_id   string  optional    

This field is required when vehicle_models is present. The id of an existing record in the vehicle_models table.

price   number  optional    

This field is required when vehicle_models is present. Example: 4326.41688

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/warranties/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/warranties/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/warranties/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the warranty. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/delivery-options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/delivery-options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://localhost/api/admin/delivery-options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request   

POST api/admin/delivery-options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/delivery-options/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/delivery-options/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the delivery option. Example: architecto

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://localhost/api/admin/delivery-options/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Request   

PUT api/admin/delivery-options/{id}

PATCH api/admin/delivery-options/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the delivery option. Example: architecto

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://localhost/api/admin/delivery-options/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request   

DELETE api/admin/delivery-options/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the delivery option. Example: architecto

GET api/admin/delivery-options/{id}/cities

Example request:
curl --request GET \
    --get "http://localhost/api/admin/delivery-options/architecto/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/admin/delivery-options/architecto/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/admin/delivery-options/{id}/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the delivery option. Example: architecto

Fetch all models from a target client.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/target-models" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"target_client_code\": \"b\",
    \"target_client_environment\": \"staging\",
    \"per_page\": 22,
    \"page\": 67
}"
const url = new URL(
    "http://localhost/api/admin/target-models"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "target_client_code": "b",
    "target_client_environment": "staging",
    "per_page": 22,
    "page": 67
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/target-models

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

target_client_code   string     

Must not be greater than 50 characters. Example: b

target_client_environment   string     

Example: staging

Must be one of:
  • local
  • staging
  • production
per_page   integer  optional    

Must be at least 1. Must not be greater than 100. Example: 22

page   integer  optional    

Must be at least 1. Example: 67

Get a specific model from a target client.

Example request:
curl --request GET \
    --get "http://localhost/api/admin/target-models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"target_client_code\": \"b\",
    \"target_client_environment\": \"local\",
    \"per_page\": 22,
    \"page\": 67
}"
const url = new URL(
    "http://localhost/api/admin/target-models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "target_client_code": "b",
    "target_client_environment": "local",
    "per_page": 22,
    "page": 67
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/admin/target-models/{model_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model_id   string     

The ID of the model. Example: architecto

Body Parameters

target_client_code   string     

Must not be greater than 50 characters. Example: b

target_client_environment   string     

Example: local

Must be one of:
  • local
  • staging
  • production
per_page   integer  optional    

Must be at least 1. Must not be greater than 100. Example: 22

page   integer  optional    

Must be at least 1. Example: 67

POST api/admin/clone/variants/{variant}

Example request:
curl --request POST \
    "http://localhost/api/admin/clone/variants/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"target_client_code\": \"b\",
    \"target_client_environment\": \"staging\",
    \"target_model_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/clone/variants/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "target_client_code": "b",
    "target_client_environment": "staging",
    "target_model_id": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/clone/variants/{variant}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant   string     

The variant. Example: architecto

Body Parameters

target_client_code   string     

Must not be greater than 50 characters. Example: b

target_client_environment   string     

Example: staging

Must be one of:
  • local
  • staging
  • production
target_model_id   string     

Example: architecto

POST api/admin/clone/variants/{variant}/duplicate

Example request:
curl --request POST \
    "http://localhost/api/admin/clone/variants/architecto/duplicate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"target_model_id\": 16
}"
const url = new URL(
    "http://localhost/api/admin/clone/variants/architecto/duplicate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "target_model_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/clone/variants/{variant}/duplicate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

variant   string     

The variant. Example: architecto

Body Parameters

target_model_id   integer     

The id of an existing record in the vehicle_models table. Example: 16

POST api/admin/clone/models/{model}

Example request:
curl --request POST \
    "http://localhost/api/admin/clone/models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"target_client_code\": \"b\",
    \"target_client_environment\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/admin/clone/models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "target_client_code": "b",
    "target_client_environment": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

POST api/admin/clone/models/{model}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

model   string     

The model. Example: architecto

Body Parameters

target_client_code   string     

Must not be greater than 50 characters. Example: b

target_client_environment   string     

Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-makes/architecto/vehicle-models" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-makes/architecto/vehicle-models"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-makes/{vehicle_make_slug}/vehicle-models

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vehicle_make_slug   string     

The slug of the vehicle make. Example: architecto

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle model. Example: architecto

Display the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/show-by-slug/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/show-by-slug/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/show-by-slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the show by slug. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/architecto/variants" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/architecto/variants"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/{id}/variants

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle model. Example: architecto

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/slug/architecto/variants" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/slug/architecto/variants"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/slug/{slug}/variants

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the slug. Example: architecto

Model Seo.

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/architecto/seo" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/architecto/seo"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/{slug}/seo

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the vehicle model. Example: architecto

GET api/vehicle-models/{id}/warranties

Example request:
curl --request GET \
    --get "http://localhost/api/vehicle-models/architecto/warranties" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicle-models/architecto/warranties"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicle-models/{id}/warranties

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the vehicle model. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/variants" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/variants

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://localhost/api/variants/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants/architecto"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/variants/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

GET api/variants/{id}/exterior-colors/{exterior_id}/interior-colors

Example request:
curl --request GET \
    --get "http://localhost/api/variants/architecto/exterior-colors/architecto/interior-colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants/architecto/exterior-colors/architecto/interior-colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/variants/{id}/exterior-colors/{exterior_id}/interior-colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

exterior_id   string     

The ID of the exterior. Example: architecto

GET api/variants/{id}/exterior-colors/{exterior_id}/interior-colors/{interior_id}/pdf

Example request:
curl --request GET \
    --get "http://localhost/api/variants/architecto/exterior-colors/architecto/interior-colors/architecto/pdf" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants/architecto/exterior-colors/architecto/interior-colors/architecto/pdf"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/variants/{id}/exterior-colors/{exterior_id}/interior-colors/{interior_id}/pdf

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

exterior_id   string     

The ID of the exterior. Example: architecto

interior_id   string     

The ID of the interior. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/variants/architecto/specs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants/architecto/specs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/variants/{id}/specs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the variant. Example: architecto

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/colors" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/colors"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/colors

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "http://localhost/api/variants/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/variants/search"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

GET api/vehicles/accessories

Example request:
curl --request GET \
    --get "http://localhost/api/vehicles/accessories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vehicles/accessories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/vehicles/accessories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/locations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"location_type\": \"workshop\"
}"
const url = new URL(
    "http://localhost/api/locations"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "location_type": "workshop"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request   

GET api/locations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

location_type   string  optional    

Example: workshop

Must be one of:
  • showroom
  • service_center
  • parts
  • quick_service
  • workshop
  • bodyshop
city_id   string  optional    

The id of an existing record in the cities table.

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://localhost/api/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/delivery/options

Example request:
curl --request GET \
    --get "http://localhost/api/delivery/options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/delivery/options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/delivery/options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/delivery/options/{id}/cities

Example request:
curl --request GET \
    --get "http://localhost/api/delivery/options/architecto/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/delivery/options/architecto/cities"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/delivery/options/{id}/cities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the option. Example: architecto

GET api/delivery/cities/{cityId}/options

Example request:
curl --request GET \
    --get "http://localhost/api/delivery/cities/architecto/options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/delivery/cities/architecto/options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Request   

GET api/delivery/cities/{cityId}/options

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

cityId   string     

Example: architecto

Logistics & Delivery

Post-Order Fulfillment & Handover

Automating the lifecycle from Sales Order completion to physical vehicle delivery and digital ownership activation.

Logistics Milestone Tracking

  1. Vehicle Allocation: Assigned VIN is confirmed for the order.
  2. PDI (Pre-Delivery Inspection): Quality checks and preparation.
  3. Vehicle Ready: Operations team marks the vehicle as ready for handover.
  4. Slot Selection: Customer selects their preferred showroom delivery slot.
  5. Handover Completed: Digital sign-off and warranty activation.

Extended KYC (Ownership Activation)

Track Delivery Milestones

requires authentication

Retrieves the real-time fulfillment status and upcoming milestones for an order.

Example request:
curl --request GET \
    --get "http://localhost/api/orders/ORD-9927/logistics-track" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/ORD-9927/logistics-track"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Milestones retrieved):


{
    "success": true,
    "data": {
        "current_status": "READY_FOR_HANDOVER",
        "milestones": [
            {
                "key": "allocation",
                "status": "completed",
                "date": "2025-04-01"
            },
            {
                "key": "pdi",
                "status": "completed",
                "date": "2025-04-03"
            },
            {
                "key": "ready",
                "status": "completed",
                "date": "2025-04-04"
            },
            {
                "key": "handover_scheduling",
                "status": "pending",
                "target": "2025-04-05"
            }
        ],
        "vin": "WBA1234567890XYZ"
    }
}
 

Request   

GET api/orders/{order_id}/logistics-track

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order_id   string  optional    

Example: ORD-9927

Schedule Handover Slot

requires authentication

Allows the customer to pick a specific time-slot for vehicle delivery at their chosen dealership.

Example request:
curl --request POST \
    "http://localhost/api/delivery/schedule-handover" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": \"ORD-9927\",
    \"preferred_slot\": {
        \"date\": \"2025-04-10\",
        \"time\": \"15:00\",
        \"node_id\": 102
    }
}"
const url = new URL(
    "http://localhost/api/delivery/schedule-handover"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": "ORD-9927",
    "preferred_slot": {
        "date": "2025-04-10",
        "time": "15:00",
        "node_id": 102
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Handover scheduled):


{
    "success": true,
    "message": "Slot confirmed. Please bring your original ID for the handover."
}
 

Request   

POST api/delivery/schedule-handover

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   string     

Example: ORD-9927

preferred_slot   object     

Activate Digital Warranty (OCR)

requires authentication

Uploads car license (registration) for OCR extraction to verify ownership and activate the digital warranty.

Example request:
curl --request POST \
    "http://localhost/api/kyc/activate-ownership" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": \"ORD-9927\",
    \"license_image\": \"data:image\\/jpeg;base64,...\"
}"
const url = new URL(
    "http://localhost/api/kyc/activate-ownership"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": "ORD-9927",
    "license_image": "data:image\/jpeg;base64,..."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Ownership activated):


{
    "success": true,
    "data": {
        "vin": "WBA1234567890XYZ",
        "warranty_expiry": "2030-04-10",
        "activation_status": "COMPLETED"
    }
}
 

Request   

POST api/kyc/activate-ownership

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   string     

Example: ORD-9927

license_image   string     

Base64 image of the car registration document Example: data:image/jpeg;base64,...

Payments & DMS Integration

Financial Commitment & Document Sync

Automating the transition from customer commitment to legal order fulfillment through integrated payment gateways and SAP/DMS synchronization.

Advanced Payment Logic

DMS & SAP Handshake

Initiate Payment Session

requires authentication

Creates a payment intent for a specific order. Returns a gateway URL for online payment or instructions for bank transfer.

Example request:
curl --request POST \
    "http://localhost/api/payments/initiate-session" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": \"ORD-9927\",
    \"payment_method\": \"split_card\",
    \"amount\": 50000
}"
const url = new URL(
    "http://localhost/api/payments/initiate-session"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": "ORD-9927",
    "payment_method": "split_card",
    "amount": 50000
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Session ready):


{
    "success": true,
    "data": {
        "session_id": "PAY_XYZ_123",
        "payment_url": "https://gateway.autoconnect.io/checkout/PAY_XYZ_123",
        "order_total": 1200000,
        "paid_amount": 0,
        "remaining_balance": 1200000
    }
}
 

Request   

POST api/payments/initiate-session

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   string     

Example: ORD-9927

payment_method   string     

'card', 'split_card', or 'bank_transfer' Example: split_card

amount   number     

Amount for this specific transaction chunk Example: 50000

Submit Bank Transfer Proof

requires authentication

Uploads a proof-of-payment (receipt/PDF) for bank transfer transactions. Enters an 'Awaiting Verification' state.

Example request:
curl --request POST \
    "http://localhost/api/payments/bank-transfer/upload-proof" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order_id\": \"ORD-9927\",
    \"receipt_image\": \"data:image\\/png;base64,iVBOR...\",
    \"transfer_amount\": 1150000
}"
const url = new URL(
    "http://localhost/api/payments/bank-transfer/upload-proof"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": "ORD-9927",
    "receipt_image": "data:image\/png;base64,iVBOR...",
    "transfer_amount": 1150000
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200, Proof uploaded):


{
    "success": true,
    "message": "Receipt uploaded successfully. Our finance team will verify it within 24 hours.",
    "status": "Verification_Pending"
}
 

Request   

POST api/payments/bank-transfer/upload-proof

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

order_id   string     

Example: ORD-9927

receipt_image   string     

Base64 or Multipart image/PDF of the receipt Example: data:image/png;base64,iVBOR...

transfer_amount   number     

Example: 1150000

Fetch Official DMS Invoice

requires authentication

Retrieves the legally generated tax invoice from the DMS after the order has been processed and synced.

Example request:
curl --request GET \
    --get "http://localhost/api/orders/ORD-9927/dms-invoice" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/orders/ORD-9927/dms-invoice"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};


fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200, Invoice link found):


{
    "success": true,
    "data": {
        "dms_invoice_no": "DMS-INV-8872",
        "pdf_url": "https://cdn.autoconnect.io/invoices/ORD-9927.pdf",
        "sync_status": "synced"
    }
}
 

Request   

GET api/orders/{order_id}/dms-invoice

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order_id   string  optional    

Example: ORD-9927