MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>

Authenticating requests

This API is not authenticated.

Endpoints

POST api/register

Example request:
curl --request POST \
    "http://localhost/api/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"password\": \"-0pBNvYgxw\",
    \"phone\": \"aykcmyuwpwlvqwrs\",
    \"business_name\": \"i\",
    \"country\": \"tc\",
    \"language\": \"pscqld\",
    \"timezone\": \"America\\/Dawson_Creek\",
    \"currency\": \"s\"
}"
const url = new URL(
    "http://localhost/api/register"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "password": "-0pBNvYgxw",
    "phone": "aykcmyuwpwlvqwrs",
    "business_name": "i",
    "country": "tc",
    "language": "pscqld",
    "timezone": "America\/Dawson_Creek",
    "currency": "s"
};

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

Request      

POST api/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: zbailey@example.net

password   string     

Must be at least 8 characters. Example: -0pBNvYgxw

phone   string  optional    

Must not be greater than 20 characters. Example: aykcmyuwpwlvqwrs

business_name   string  optional    

Must not be greater than 255 characters. Example: i

country   string  optional    

Must not be greater than 2 characters. Example: tc

language   string  optional    

Must not be greater than 10 characters. Example: pscqld

timezone   string  optional    

Must not be greater than 50 characters. Example: America/Dawson_Creek

currency   string  optional    

Must not be greater than 3 characters. Example: s

POST api/login

Example request:
curl --request POST \
    "http://localhost/api/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gbailey@example.net\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/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/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/contact

Example request:
curl --request POST \
    "http://localhost/api/contact" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"subject\": \"i\",
    \"message\": \"y\"
}"
const url = new URL(
    "http://localhost/api/contact"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "subject": "i",
    "message": "y"
};

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

Request      

POST api/contact

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: zbailey@example.net

subject   string     

Must not be greater than 255 characters. Example: i

message   string     

Must not be greater than 2000 characters. Example: y

GET api/service-types

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

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


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

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

[
    {
        "id": 1,
        "name": "Business Registration",
        "slug": "business-registration",
        "description": "Complete business registration and incorporation services",
        "requirements": "[\"business_plan\",\"identification\",\"proof_of_address\"]",
        "duration_estimate": "5-7 business days",
        "base_price": "500.00",
        "currency": "USD",
        "category_id": null,
        "icon": null,
        "is_active": true,
        "featured": "0",
        "created_by": null,
        "updated_by": null,
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": null,
        "category": null
    },
    {
        "id": 5,
        "name": "Compliance Audit",
        "slug": "compliance-audit",
        "description": "Comprehensive compliance audit and certification",
        "requirements": "[\"business_licenses\",\"compliance_records\"]",
        "duration_estimate": "10-14 business days",
        "base_price": "1000.00",
        "currency": "USD",
        "category_id": null,
        "icon": null,
        "is_active": true,
        "featured": "0",
        "created_by": null,
        "updated_by": null,
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": null,
        "category": null
    },
    {
        "id": 4,
        "name": "Financial Reporting",
        "slug": "financial-reporting",
        "description": "Financial statement preparation and reporting",
        "requirements": "[\"financial_records\",\"bank_statements\"]",
        "duration_estimate": "7-10 business days",
        "base_price": "750.00",
        "currency": "USD",
        "category_id": null,
        "icon": null,
        "is_active": true,
        "featured": "0",
        "created_by": null,
        "updated_by": null,
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": null,
        "category": null
    },
    {
        "id": 3,
        "name": "Legal Document Preparation",
        "slug": "legal-document-preparation",
        "description": "Preparation of legal documents and contracts",
        "requirements": "[\"identification\",\"business_details\"]",
        "duration_estimate": "2-3 business days",
        "base_price": "200.00",
        "currency": "USD",
        "category_id": null,
        "icon": null,
        "is_active": true,
        "featured": "0",
        "created_by": null,
        "updated_by": null,
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": null,
        "category": null
    },
    {
        "id": 2,
        "name": "Tax Compliance",
        "slug": "tax-compliance",
        "description": "Tax filing and compliance services",
        "requirements": "[\"tax_returns\",\"financial_statements\"]",
        "duration_estimate": "3-5 business days",
        "base_price": "300.00",
        "currency": "USD",
        "category_id": null,
        "icon": null,
        "is_active": true,
        "featured": "0",
        "created_by": null,
        "updated_by": null,
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": null,
        "category": null
    }
]
 

Request      

GET api/service-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/service-types/{serviceType_id}

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

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


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

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "id": 1,
    "name": "Business Registration",
    "slug": "business-registration",
    "description": "Complete business registration and incorporation services",
    "requirements": "[\"business_plan\",\"identification\",\"proof_of_address\"]",
    "duration_estimate": "5-7 business days",
    "base_price": "500.00",
    "currency": "USD",
    "category_id": null,
    "icon": null,
    "is_active": true,
    "featured": "0",
    "created_by": null,
    "updated_by": null,
    "created_at": "2026-03-21T12:36:47.000000Z",
    "updated_at": null,
    "category": null,
    "creator": null
}
 

Request      

GET api/service-types/{serviceType_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceType_id   integer     

The ID of the serviceType. Example: 1

GET api/sliders/active

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

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


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

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

[
    {
        "id": 1,
        "title": "Welcome to TBR",
        "subtitle": "Your trusted compliance partner",
        "description": "Professional compliance services for modern businesses",
        "image_url": "/images/slider1.jpg",
        "button_text": "Get Started",
        "button_url": "/register",
        "position": "1",
        "is_active": true,
        "language": "en",
        "created_by": "1",
        "updated_by": "1",
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": "2026-03-21T12:36:47.000000Z"
    },
    {
        "id": 2,
        "title": "Expert Compliance Solutions",
        "subtitle": "Navigate regulations with confidence",
        "description": "Our team of experts ensures your business stays compliant with all regulatory requirements",
        "image_url": "/images/slider2.jpg",
        "button_text": "Learn More",
        "button_url": "/services",
        "position": "2",
        "is_active": true,
        "language": "en",
        "created_by": "1",
        "updated_by": "1",
        "created_at": "2026-03-21T12:36:47.000000Z",
        "updated_at": "2026-03-21T12:36:47.000000Z"
    }
]
 

Request      

GET api/sliders/active

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/public/stats

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

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


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

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "users_count": 11,
    "service_requests_count": 8,
    "completed_requests_count": 0
}
 

Request      

GET api/public/stats

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/user

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/user

Example request:
curl --request PUT \
    "http://localhost/api/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"phone\": \"ngzmiyvdljnikhwa\",
    \"business_name\": \"y\",
    \"country\": \"kc\",
    \"language\": \"myuwpw\",
    \"timezone\": \"America\\/Mexico_City\",
    \"currency\": \"v\"
}"
const url = new URL(
    "http://localhost/api/user"
);

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

let body = {
    "name": "b",
    "phone": "ngzmiyvdljnikhwa",
    "business_name": "y",
    "country": "kc",
    "language": "myuwpw",
    "timezone": "America\/Mexico_City",
    "currency": "v"
};

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

Request      

PUT api/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

phone   string  optional    

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

business_name   string  optional    

Must not be greater than 255 characters. Example: y

country   string  optional    

Must not be greater than 2 characters. Example: kc

language   string  optional    

Must not be greater than 10 characters. Example: myuwpw

timezone   string  optional    

Must not be greater than 50 characters. Example: America/Mexico_City

currency   string  optional    

Must not be greater than 3 characters. Example: v

POST api/user/change-password

Example request:
curl --request POST \
    "http://localhost/api/user/change-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_password\": \"architecto\",
    \"password\": \"]|{+-0pBNvYg\"
}"
const url = new URL(
    "http://localhost/api/user/change-password"
);

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

let body = {
    "current_password": "architecto",
    "password": "]|{+-0pBNvYg"
};

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

Request      

POST api/user/change-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

current_password   string     

Example: architecto

password   string     

Must be at least 8 characters. Example: ]|{+-0pBNvYg

POST api/logout

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

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


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

Request      

POST api/logout

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());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/users

Example request:
curl --request POST \
    "http://localhost/api/users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"email\": \"zbailey@example.net\",
    \"password\": \"-0pBNvYgxw\",
    \"phone\": \"aykcmyuwpwlvqwrs\",
    \"business_name\": \"i\",
    \"role_id\": \"architecto\",
    \"country\": \"ng\",
    \"language\": \"zmiyvd\",
    \"timezone\": \"Asia\\/Barnaul\",
    \"currency\": \"j\"
}"
const url = new URL(
    "http://localhost/api/users"
);

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

let body = {
    "name": "b",
    "email": "zbailey@example.net",
    "password": "-0pBNvYgxw",
    "phone": "aykcmyuwpwlvqwrs",
    "business_name": "i",
    "role_id": "architecto",
    "country": "ng",
    "language": "zmiyvd",
    "timezone": "Asia\/Barnaul",
    "currency": "j"
};

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

Request      

POST api/users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: zbailey@example.net

password   string     

Must be at least 8 characters. Example: -0pBNvYgxw

phone   string  optional    

Must not be greater than 20 characters. Example: aykcmyuwpwlvqwrs

business_name   string  optional    

Must not be greater than 255 characters. Example: i

role_id   string     

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

country   string  optional    

Must not be greater than 2 characters. Example: ng

language   string  optional    

Must not be greater than 10 characters. Example: zmiyvd

timezone   string  optional    

Must not be greater than 50 characters. Example: Asia/Barnaul

currency   string  optional    

Must not be greater than 3 characters. Example: j

GET api/users/{user_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/users/{user_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

PUT api/users/{user_id}

Example request:
curl --request PUT \
    "http://localhost/api/users/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"phone\": \"ngzmiyvdljnikhwa\",
    \"business_name\": \"y\",
    \"country\": \"kc\",
    \"language\": \"myuwpw\",
    \"timezone\": \"America\\/Mexico_City\",
    \"currency\": \"v\"
}"
const url = new URL(
    "http://localhost/api/users/1"
);

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

let body = {
    "name": "b",
    "phone": "ngzmiyvdljnikhwa",
    "business_name": "y",
    "country": "kc",
    "language": "myuwpw",
    "timezone": "America\/Mexico_City",
    "currency": "v"
};

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

Request      

PUT api/users/{user_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

email   string  optional    
phone   string  optional    

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

business_name   string  optional    

Must not be greater than 255 characters. Example: y

role_id   string  optional    

The id of an existing record in the roles table.

country   string  optional    

Must not be greater than 2 characters. Example: kc

language   string  optional    

Must not be greater than 10 characters. Example: myuwpw

timezone   string  optional    

Must not be greater than 50 characters. Example: America/Mexico_City

currency   string  optional    

Must not be greater than 3 characters. Example: v

DELETE api/users/{user_id}

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

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


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

Request      

DELETE api/users/{user_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

POST api/users/{user_id}/change-password

Example request:
curl --request POST \
    "http://localhost/api/users/1/change-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "http://localhost/api/users/1/change-password"
);

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/users/{user_id}/change-password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

password   string     

Must be at least 8 characters. Example: |]|{+-

GET api/notifications

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/notifications/unread

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/notifications/unread

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/notifications/{id}/mark-read

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

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


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

Request      

POST api/notifications/{id}/mark-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

POST api/notifications/mark-all-read

Example request:
curl --request POST \
    "http://localhost/api/notifications/mark-all-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/notifications/mark-all-read"
);

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


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

Request      

POST api/notifications/mark-all-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

DELETE api/notifications/{id}

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

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


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

Request      

DELETE api/notifications/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the notification. Example: architecto

DELETE api/notifications

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

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


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

Request      

DELETE api/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/pages

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/pages

Example request:
curl --request POST \
    "http://localhost/api/pages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"slug\": \"n\",
    \"template\": \"g\",
    \"status\": \"published\",
    \"language\": \"zmiyvd\",
    \"meta_title\": \"l\",
    \"meta_description\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/pages"
);

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

let body = {
    "title": "b",
    "slug": "n",
    "template": "g",
    "status": "published",
    "language": "zmiyvd",
    "meta_title": "l",
    "meta_description": "architecto"
};

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

Request      

POST api/pages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: b

slug   string     

Must not be greater than 100 characters. Example: n

content   object  optional    
template   string  optional    

Must not be greater than 50 characters. Example: g

status   string  optional    

Example: published

Must be one of:
  • draft
  • published
  • archived
language   string  optional    

Must not be greater than 10 characters. Example: zmiyvd

meta_title   string  optional    

Must not be greater than 255 characters. Example: l

meta_description   string  optional    

Example: architecto

GET api/pages/{page_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/pages/{page_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

page_id   integer     

The ID of the page. Example: 1

PUT api/pages/{page_id}

Example request:
curl --request PUT \
    "http://localhost/api/pages/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"template\": \"n\",
    \"status\": \"published\",
    \"language\": \"gzmiyv\",
    \"meta_title\": \"d\",
    \"meta_description\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/pages/1"
);

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

let body = {
    "title": "b",
    "template": "n",
    "status": "published",
    "language": "gzmiyv",
    "meta_title": "d",
    "meta_description": "architecto"
};

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

Request      

PUT api/pages/{page_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

page_id   integer     

The ID of the page. Example: 1

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: b

slug   string  optional    
content   object  optional    
template   string  optional    

Must not be greater than 50 characters. Example: n

status   string  optional    

Example: published

Must be one of:
  • draft
  • published
  • archived
language   string  optional    

Must not be greater than 10 characters. Example: gzmiyv

meta_title   string  optional    

Must not be greater than 255 characters. Example: d

meta_description   string  optional    

Example: architecto

DELETE api/pages/{page_id}

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

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


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

Request      

DELETE api/pages/{page_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

page_id   integer     

The ID of the page. Example: 1

GET api/media

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/media

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/media

Example request:
curl --request POST \
    "http://localhost/api/media" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "folder=b"\
    --form "type=video"\
    --form "file=@/tmp/phpxDhICP" 
const url = new URL(
    "http://localhost/api/media"
);

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

const body = new FormData();
body.append('folder', 'b');
body.append('type', 'video');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

POST api/media

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 10240 kilobytes. Example: /tmp/phpxDhICP

folder   string  optional    

Must not be greater than 255 characters. Example: b

type   string  optional    

Example: video

Must be one of:
  • image
  • document
  • video
  • audio

GET api/media/{medium_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/media/{medium_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

medium_id   integer     

The ID of the medium. Example: 16

DELETE api/media/{medium_id}

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

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


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

Request      

DELETE api/media/{medium_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

medium_id   integer     

The ID of the medium. Example: 16

GET api/sliders

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/sliders

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/sliders

Example request:
curl --request POST \
    "http://localhost/api/sliders" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"subtitle\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"button_text\": \"v\",
    \"button_url\": \"http:\\/\\/www.dach.com\\/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html\",
    \"image_url\": \"http:\\/\\/swift.com\\/quidem-nostrum-qui-commodi-incidunt-iure-odit.html\",
    \"position\": 57,
    \"is_active\": false,
    \"language\": \"itcpsc\"
}"
const url = new URL(
    "http://localhost/api/sliders"
);

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

let body = {
    "title": "b",
    "subtitle": "n",
    "description": "Eius et animi quos velit et.",
    "button_text": "v",
    "button_url": "http:\/\/www.dach.com\/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html",
    "image_url": "http:\/\/swift.com\/quidem-nostrum-qui-commodi-incidunt-iure-odit.html",
    "position": 57,
    "is_active": false,
    "language": "itcpsc"
};

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

Request      

POST api/sliders

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: b

subtitle   string  optional    

Must not be greater than 255 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

button_text   string  optional    

Must not be greater than 50 characters. Example: v

button_url   string  optional    

Must not be greater than 255 characters. Example: http://www.dach.com/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html

image_url   string  optional    

Must not be greater than 500 characters. Example: http://swift.com/quidem-nostrum-qui-commodi-incidunt-iure-odit.html

position   integer  optional    

Must be at least 0. Example: 57

is_active   boolean  optional    

Example: false

language   string  optional    

Must not be greater than 10 characters. Example: itcpsc

GET api/sliders/{slider_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/sliders/{slider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slider_id   integer     

The ID of the slider. Example: 1

PUT api/sliders/{slider_id}

Example request:
curl --request PUT \
    "http://localhost/api/sliders/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"subtitle\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"button_text\": \"v\",
    \"button_url\": \"http:\\/\\/www.dach.com\\/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html\",
    \"image_url\": \"http:\\/\\/swift.com\\/quidem-nostrum-qui-commodi-incidunt-iure-odit.html\",
    \"position\": 57,
    \"is_active\": true,
    \"language\": \"itcpsc\"
}"
const url = new URL(
    "http://localhost/api/sliders/1"
);

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

let body = {
    "title": "b",
    "subtitle": "n",
    "description": "Eius et animi quos velit et.",
    "button_text": "v",
    "button_url": "http:\/\/www.dach.com\/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html",
    "image_url": "http:\/\/swift.com\/quidem-nostrum-qui-commodi-incidunt-iure-odit.html",
    "position": 57,
    "is_active": true,
    "language": "itcpsc"
};

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

Request      

PUT api/sliders/{slider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slider_id   integer     

The ID of the slider. Example: 1

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: b

subtitle   string  optional    

Must not be greater than 255 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

button_text   string  optional    

Must not be greater than 50 characters. Example: v

button_url   string  optional    

Must not be greater than 255 characters. Example: http://www.dach.com/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html

image_url   string  optional    

Must not be greater than 500 characters. Example: http://swift.com/quidem-nostrum-qui-commodi-incidunt-iure-odit.html

position   integer  optional    

Must be at least 0. Example: 57

is_active   boolean  optional    

Example: true

language   string  optional    

Must not be greater than 10 characters. Example: itcpsc

DELETE api/sliders/{slider_id}

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

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


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

Request      

DELETE api/sliders/{slider_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slider_id   integer     

The ID of the slider. Example: 1

POST api/sliders/reorder

Example request:
curl --request POST \
    "http://localhost/api/sliders/reorder" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"sliders\": [
        {
            \"id\": \"architecto\",
            \"position\": 39
        }
    ]
}"
const url = new URL(
    "http://localhost/api/sliders/reorder"
);

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

let body = {
    "sliders": [
        {
            "id": "architecto",
            "position": 39
        }
    ]
};

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

Request      

POST api/sliders/reorder

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

sliders   object[]     
id   string     

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

position   integer     

Must be at least 0. Example: 39

GET api/service-categories

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/service-categories

Example request:
curl --request POST \
    "http://localhost/api/service-categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"slug\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"icon\": \"v\",
    \"is_active\": true,
    \"featured\": true
}"
const url = new URL(
    "http://localhost/api/service-categories"
);

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

let body = {
    "name": "b",
    "slug": "n",
    "description": "Eius et animi quos velit et.",
    "icon": "v",
    "is_active": true,
    "featured": true
};

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

Request      

POST api/service-categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 100 characters. Example: b

slug   string     

Must not be greater than 100 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

icon   string  optional    

Must not be greater than 100 characters. Example: v

is_active   boolean  optional    

Example: true

featured   boolean  optional    

Example: true

GET api/service-categories/{category_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-categories/{category_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_id   integer     

The ID of the category. Example: 1

PUT api/service-categories/{category_id}

Example request:
curl --request PUT \
    "http://localhost/api/service-categories/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"icon\": \"v\",
    \"is_active\": false,
    \"featured\": true
}"
const url = new URL(
    "http://localhost/api/service-categories/1"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "icon": "v",
    "is_active": false,
    "featured": true
};

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

Request      

PUT api/service-categories/{category_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_id   integer     

The ID of the category. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 100 characters. Example: b

slug   string  optional    
description   string  optional    

Example: Eius et animi quos velit et.

icon   string  optional    

Must not be greater than 100 characters. Example: v

is_active   boolean  optional    

Example: false

featured   boolean  optional    

Example: true

DELETE api/service-categories/{category_id}

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

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


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

Request      

DELETE api/service-categories/{category_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_id   integer     

The ID of the category. Example: 1

POST api/service-types

Example request:
curl --request POST \
    "http://localhost/api/service-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"slug\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"duration_estimate\": \"v\",
    \"base_price\": 42,
    \"currency\": \"l\",
    \"icon\": \"j\",
    \"is_active\": true,
    \"featured\": true
}"
const url = new URL(
    "http://localhost/api/service-types"
);

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

let body = {
    "name": "b",
    "slug": "n",
    "description": "Eius et animi quos velit et.",
    "duration_estimate": "v",
    "base_price": 42,
    "currency": "l",
    "icon": "j",
    "is_active": true,
    "featured": true
};

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

Request      

POST api/service-types

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 100 characters. Example: b

slug   string     

Must not be greater than 100 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

requirements   object  optional    
duration_estimate   string  optional    

Must not be greater than 50 characters. Example: v

base_price   number  optional    

Must be at least 0. Example: 42

currency   string  optional    

Must not be greater than 3 characters. Example: l

category_id   string  optional    

The id of an existing record in the service_categories table.

icon   string  optional    

Must not be greater than 100 characters. Example: j

is_active   boolean  optional    

Example: true

featured   boolean  optional    

Example: true

PUT api/service-types/{serviceType_id}

Example request:
curl --request PUT \
    "http://localhost/api/service-types/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"duration_estimate\": \"v\",
    \"base_price\": 42,
    \"currency\": \"l\",
    \"icon\": \"j\",
    \"is_active\": true,
    \"featured\": false
}"
const url = new URL(
    "http://localhost/api/service-types/1"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "duration_estimate": "v",
    "base_price": 42,
    "currency": "l",
    "icon": "j",
    "is_active": true,
    "featured": false
};

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

Request      

PUT api/service-types/{serviceType_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceType_id   integer     

The ID of the serviceType. Example: 1

Body Parameters

name   string  optional    

Must not be greater than 100 characters. Example: b

slug   string  optional    
description   string  optional    

Example: Eius et animi quos velit et.

requirements   object  optional    
duration_estimate   string  optional    

Must not be greater than 50 characters. Example: v

base_price   number  optional    

Must be at least 0. Example: 42

currency   string  optional    

Must not be greater than 3 characters. Example: l

category_id   string  optional    

The id of an existing record in the service_categories table.

icon   string  optional    

Must not be greater than 100 characters. Example: j

is_active   boolean  optional    

Example: true

featured   boolean  optional    

Example: false

DELETE api/service-types/{serviceType_id}

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

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


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

Request      

DELETE api/service-types/{serviceType_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceType_id   integer     

The ID of the serviceType. Example: 1

GET api/service-requests

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-requests

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/service-requests

Example request:
curl --request POST \
    "http://localhost/api/service-requests" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"service_type_id\": \"architecto\",
    \"description\": \"Eius et animi quos velit et.\",
    \"preferred_contact_time\": \"v\",
    \"notes\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/service-requests"
);

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

let body = {
    "service_type_id": "architecto",
    "description": "Eius et animi quos velit et.",
    "preferred_contact_time": "v",
    "notes": "architecto"
};

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

Request      

POST api/service-requests

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

service_type_id   string     

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

description   string     

Example: Eius et animi quos velit et.

preferred_contact_time   string  optional    

Must not be greater than 100 characters. Example: v

notes   string  optional    

Example: architecto

GET api/service-requests/mine

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-requests/mine

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/service-requests/unassigned

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-requests/unassigned

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/service-requests/auto-assign

Example request:
curl --request POST \
    "http://localhost/api/service-requests/auto-assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-requests/auto-assign"
);

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


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

Request      

POST api/service-requests/auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/service-requests/{serviceRequest_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/service-requests/{serviceRequest_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceRequest_id   integer     

The ID of the serviceRequest. Example: 1

PUT api/service-requests/{serviceRequest_id}

Example request:
curl --request PUT \
    "http://localhost/api/service-requests/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"cancelled\",
    \"priority\": \"high\",
    \"description\": \"Eius et animi quos velit et.\",
    \"preferred_contact_time\": \"v\",
    \"notes\": \"architecto\",
    \"admin_notes\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/service-requests/1"
);

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

let body = {
    "status": "cancelled",
    "priority": "high",
    "description": "Eius et animi quos velit et.",
    "preferred_contact_time": "v",
    "notes": "architecto",
    "admin_notes": "architecto"
};

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

Request      

PUT api/service-requests/{serviceRequest_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceRequest_id   integer     

The ID of the serviceRequest. Example: 1

Body Parameters

status   string  optional    

Example: cancelled

Must be one of:
  • pending
  • in_progress
  • awaiting_info
  • completed
  • cancelled
priority   string  optional    

Example: high

Must be one of:
  • low
  • normal
  • high
  • urgent
assigned_agent_id   string  optional    

The id of an existing record in the users table.

description   string  optional    

Example: Eius et animi quos velit et.

preferred_contact_time   string  optional    

Must not be greater than 100 characters. Example: v

notes   string  optional    

Example: architecto

admin_notes   string  optional    

Example: architecto

DELETE api/service-requests/{serviceRequest_id}

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

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


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

Request      

DELETE api/service-requests/{serviceRequest_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceRequest_id   integer     

The ID of the serviceRequest. Example: 1

POST api/service-requests/{serviceRequest_id}/assign

Example request:
curl --request POST \
    "http://localhost/api/service-requests/1/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"agent_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/service-requests/1/assign"
);

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

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

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

Request      

POST api/service-requests/{serviceRequest_id}/assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceRequest_id   integer     

The ID of the serviceRequest. Example: 1

Body Parameters

agent_id   string     

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

POST api/service-requests/{serviceRequest_id}/auto-assign

Example request:
curl --request POST \
    "http://localhost/api/service-requests/1/auto-assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/service-requests/1/auto-assign"
);

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


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

Request      

POST api/service-requests/{serviceRequest_id}/auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

serviceRequest_id   integer     

The ID of the serviceRequest. Example: 1

GET api/languages

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/languages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/languages/active

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/languages/active

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/languages

Example request:
curl --request POST \
    "http://localhost/api/languages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"bngzmi\",
    \"name\": \"y\",
    \"native_name\": \"v\",
    \"is_active\": false,
    \"is_rtl\": true
}"
const url = new URL(
    "http://localhost/api/languages"
);

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

let body = {
    "code": "bngzmi",
    "name": "y",
    "native_name": "v",
    "is_active": false,
    "is_rtl": true
};

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

Request      

POST api/languages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must not be greater than 10 characters. Example: bngzmi

name   string     

Must not be greater than 100 characters. Example: y

native_name   string  optional    

Must not be greater than 100 characters. Example: v

is_active   boolean  optional    

Example: false

is_rtl   boolean  optional    

Example: true

GET api/languages/{language_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/languages/{language_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

language_id   integer     

The ID of the language. Example: 1

PUT api/languages/{language_id}

Example request:
curl --request PUT \
    "http://localhost/api/languages/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"native_name\": \"n\",
    \"is_active\": true,
    \"is_rtl\": false
}"
const url = new URL(
    "http://localhost/api/languages/1"
);

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

let body = {
    "name": "b",
    "native_name": "n",
    "is_active": true,
    "is_rtl": false
};

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

Request      

PUT api/languages/{language_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

language_id   integer     

The ID of the language. Example: 1

Body Parameters

code   string  optional    
name   string  optional    

Must not be greater than 100 characters. Example: b

native_name   string  optional    

Must not be greater than 100 characters. Example: n

is_active   boolean  optional    

Example: true

is_rtl   boolean  optional    

Example: false

DELETE api/languages/{language_id}

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

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


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

Request      

DELETE api/languages/{language_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

language_id   integer     

The ID of the language. Example: 1

GET api/currencies

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/currencies

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/currencies/active

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/currencies/active

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/currencies

Example request:
curl --request POST \
    "http://localhost/api/currencies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"b\",
    \"name\": \"n\",
    \"symbol\": \"gzmiyv\",
    \"decimal_places\": 4,
    \"exchange_rate\": 37,
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/currencies"
);

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

let body = {
    "code": "b",
    "name": "n",
    "symbol": "gzmiyv",
    "decimal_places": 4,
    "exchange_rate": 37,
    "is_active": true
};

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

Request      

POST api/currencies

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must not be greater than 3 characters. Example: b

name   string     

Must not be greater than 100 characters. Example: n

symbol   string     

Must not be greater than 10 characters. Example: gzmiyv

decimal_places   integer  optional    

Must be at least 0. Must not be greater than 4. Example: 4

exchange_rate   number  optional    

Must be at least 0. Example: 37

is_active   boolean  optional    

Example: true

GET api/currencies/{currency_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/currencies/{currency_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

currency_id   integer     

The ID of the currency. Example: 1

PUT api/currencies/{currency_id}

Example request:
curl --request PUT \
    "http://localhost/api/currencies/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"symbol\": \"ngzmiy\",
    \"decimal_places\": 2,
    \"exchange_rate\": 42,
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/currencies/1"
);

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

let body = {
    "name": "b",
    "symbol": "ngzmiy",
    "decimal_places": 2,
    "exchange_rate": 42,
    "is_active": true
};

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

Request      

PUT api/currencies/{currency_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

currency_id   integer     

The ID of the currency. Example: 1

Body Parameters

code   string  optional    
name   string  optional    

Must not be greater than 100 characters. Example: b

symbol   string  optional    

Must not be greater than 10 characters. Example: ngzmiy

decimal_places   integer  optional    

Must be at least 0. Must not be greater than 4. Example: 2

exchange_rate   number  optional    

Must be at least 0. Example: 42

is_active   boolean  optional    

Example: true

DELETE api/currencies/{currency_id}

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

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


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

Request      

DELETE api/currencies/{currency_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

currency_id   integer     

The ID of the currency. Example: 1

GET api/translations

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/translations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/translations

Example request:
curl --request POST \
    "http://localhost/api/translations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"language_id\": \"architecto\",
    \"key\": \"n\",
    \"value\": \"architecto\",
    \"group\": \"n\"
}"
const url = new URL(
    "http://localhost/api/translations"
);

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

let body = {
    "language_id": "architecto",
    "key": "n",
    "value": "architecto",
    "group": "n"
};

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

Request      

POST api/translations

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

language_id   string     

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

key   string     

Must not be greater than 255 characters. Example: n

value   string     

Example: architecto

group   string  optional    

Must not be greater than 100 characters. Example: n

GET api/translations/{translation_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/translations/{translation_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

translation_id   integer     

The ID of the translation. Example: 16

PUT api/translations/{translation_id}

Example request:
curl --request PUT \
    "http://localhost/api/translations/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"key\": \"b\",
    \"value\": \"architecto\",
    \"group\": \"n\"
}"
const url = new URL(
    "http://localhost/api/translations/16"
);

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

let body = {
    "key": "b",
    "value": "architecto",
    "group": "n"
};

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

Request      

PUT api/translations/{translation_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

translation_id   integer     

The ID of the translation. Example: 16

Body Parameters

language_id   string  optional    

The id of an existing record in the languages table.

key   string  optional    

Must not be greater than 255 characters. Example: b

value   string  optional    

Example: architecto

group   string  optional    

Must not be greater than 100 characters. Example: n

DELETE api/translations/{translation_id}

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

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


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

Request      

DELETE api/translations/{translation_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

translation_id   integer     

The ID of the translation. Example: 16

GET api/translations/language/{languageId}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/translations/language/{languageId}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

languageId   integer     

Example: 1

GET api/invoices

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/invoices

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/invoices/mine

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/invoices/mine

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/invoices

Example request:
curl --request POST \
    "http://localhost/api/invoices" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": \"architecto\",
    \"amount\": 39,
    \"currency\": \"g\",
    \"due_date\": \"2026-03-21T12:36:53\",
    \"notes\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/invoices"
);

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

let body = {
    "user_id": "architecto",
    "amount": 39,
    "currency": "g",
    "due_date": "2026-03-21T12:36:53",
    "notes": "architecto"
};

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

Request      

POST api/invoices

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

user_id   string     

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

service_request_id   string  optional    

The id of an existing record in the service_requests table.

amount   number     

Must be at least 0. Example: 39

currency   string     

Must not be greater than 3 characters. Example: g

due_date   string     

Must be a valid date. Example: 2026-03-21T12:36:53

items   object  optional    
notes   string  optional    

Example: architecto

GET api/invoices/{invoice_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/invoices/{invoice_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

invoice_id   integer     

The ID of the invoice. Example: 1

PUT api/invoices/{invoice_id}

Example request:
curl --request PUT \
    "http://localhost/api/invoices/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"pending\",
    \"amount\": 27,
    \"currency\": \"n\",
    \"due_date\": \"2026-03-21T12:36:53\",
    \"notes\": \"architecto\",
    \"paid_at\": \"2026-03-21T12:36:53\"
}"
const url = new URL(
    "http://localhost/api/invoices/1"
);

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

let body = {
    "status": "pending",
    "amount": 27,
    "currency": "n",
    "due_date": "2026-03-21T12:36:53",
    "notes": "architecto",
    "paid_at": "2026-03-21T12:36:53"
};

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

Request      

PUT api/invoices/{invoice_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

invoice_id   integer     

The ID of the invoice. Example: 1

Body Parameters

status   string  optional    

Example: pending

Must be one of:
  • pending
  • paid
  • overdue
  • cancelled
amount   number  optional    

Must be at least 0. Example: 27

currency   string  optional    

Must not be greater than 3 characters. Example: n

due_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:53

items   object  optional    
notes   string  optional    

Example: architecto

paid_at   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:53

DELETE api/invoices/{invoice_id}

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

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


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

Request      

DELETE api/invoices/{invoice_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

invoice_id   integer     

The ID of the invoice. Example: 1

GET api/payments

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/payments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/payments/mine

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/payments/mine

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/payments

Example request:
curl --request POST \
    "http://localhost/api/payments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"invoice_id\": \"architecto\",
    \"amount\": 39,
    \"currency\": \"g\",
    \"payment_method\": \"z\",
    \"transaction_id\": \"m\"
}"
const url = new URL(
    "http://localhost/api/payments"
);

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

let body = {
    "invoice_id": "architecto",
    "amount": 39,
    "currency": "g",
    "payment_method": "z",
    "transaction_id": "m"
};

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

Request      

POST api/payments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

invoice_id   string     

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

amount   number     

Must be at least 0. Example: 39

currency   string     

Must not be greater than 3 characters. Example: g

payment_method   string     

Must not be greater than 50 characters. Example: z

transaction_id   string  optional    

Must not be greater than 255 characters. Example: m

gateway_response   object  optional    

GET api/payments/{payment_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/payments/{payment_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

payment_id   integer     

The ID of the payment. Example: 16

PUT api/payments/{payment_id}

Example request:
curl --request PUT \
    "http://localhost/api/payments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"pending\",
    \"transaction_id\": \"b\"
}"
const url = new URL(
    "http://localhost/api/payments/16"
);

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

let body = {
    "status": "pending",
    "transaction_id": "b"
};

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

Request      

PUT api/payments/{payment_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

payment_id   integer     

The ID of the payment. Example: 16

Body Parameters

status   string  optional    

Example: pending

Must be one of:
  • pending
  • completed
  • failed
  • refunded
transaction_id   string  optional    

Must not be greater than 255 characters. Example: b

gateway_response   object  optional    

GET api/support-tickets

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/support-tickets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/support-tickets/mine

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/support-tickets/mine

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/support-tickets/unassigned

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/support-tickets/unassigned

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/support-tickets

Example request:
curl --request POST \
    "http://localhost/api/support-tickets" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"message\": \"architecto\",
    \"category\": \"n\",
    \"priority\": \"normal\"
}"
const url = new URL(
    "http://localhost/api/support-tickets"
);

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

let body = {
    "title": "b",
    "description": "Eius et animi quos velit et.",
    "message": "architecto",
    "category": "n",
    "priority": "normal"
};

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

Request      

POST api/support-tickets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

message   string  optional    

Example: architecto

category   string  optional    

Must not be greater than 100 characters. Example: n

priority   string  optional    

Example: normal

Must be one of:
  • low
  • medium
  • normal
  • high
  • urgent

GET api/support-tickets/{ticket_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/support-tickets/{ticket_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

PUT api/support-tickets/{ticket_id}

Example request:
curl --request PUT \
    "http://localhost/api/support-tickets/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"resolved\",
    \"priority\": \"high\",
    \"category\": \"b\"
}"
const url = new URL(
    "http://localhost/api/support-tickets/1"
);

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

let body = {
    "status": "resolved",
    "priority": "high",
    "category": "b"
};

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

Request      

PUT api/support-tickets/{ticket_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

Body Parameters

status   string  optional    

Example: resolved

Must be one of:
  • open
  • in_progress
  • resolved
  • closed
priority   string  optional    

Example: high

Must be one of:
  • low
  • normal
  • high
  • urgent
assigned_agent_id   string  optional    

The id of an existing record in the users table.

category   string  optional    

Must not be greater than 100 characters. Example: b

DELETE api/support-tickets/{ticket_id}

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

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


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

Request      

DELETE api/support-tickets/{ticket_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

POST api/support-tickets/{ticket_id}/assign

Example request:
curl --request POST \
    "http://localhost/api/support-tickets/1/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"assigned_agent_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/support-tickets/1/assign"
);

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

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

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

Request      

POST api/support-tickets/{ticket_id}/assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

Body Parameters

assigned_agent_id   string     

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

POST api/support-tickets/{ticket_id}/auto-assign

Example request:
curl --request POST \
    "http://localhost/api/support-tickets/1/auto-assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/support-tickets/1/auto-assign"
);

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


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

Request      

POST api/support-tickets/{ticket_id}/auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

POST api/support-tickets/auto-assign

Example request:
curl --request POST \
    "http://localhost/api/support-tickets/auto-assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/support-tickets/auto-assign"
);

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


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

Request      

POST api/support-tickets/auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/support-tickets/{ticket_id}/messages

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/support-tickets/{ticket_id}/messages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

POST api/support-tickets/{ticket_id}/messages

Example request:
curl --request POST \
    "http://localhost/api/support-tickets/1/messages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"architecto\",
    \"is_internal\": false
}"
const url = new URL(
    "http://localhost/api/support-tickets/1/messages"
);

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

let body = {
    "message": "architecto",
    "is_internal": false
};

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

Request      

POST api/support-tickets/{ticket_id}/messages

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

Body Parameters

message   string     

Example: architecto

is_internal   boolean  optional    

Example: false

DELETE api/support-tickets/{ticket_id}/messages/{message_id}

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

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


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

Request      

DELETE api/support-tickets/{ticket_id}/messages/{message_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 1

message_id   integer     

The ID of the message. Example: 16

GET api/documents

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/documents

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/documents

Example request:
curl --request POST \
    "http://localhost/api/documents" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "document_type=b"\
    --form "description=Eius et animi quos velit et."\
    --form "file=@/tmp/phplcvROa" 
const url = new URL(
    "http://localhost/api/documents"
);

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

const body = new FormData();
body.append('document_type', 'b');
body.append('description', 'Eius et animi quos velit et.');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Request      

POST api/documents

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

file   file     

Must be a file. Must not be greater than 10240 kilobytes. Example: /tmp/phplcvROa

service_request_id   string  optional    

The id of an existing record in the service_requests table.

document_type   string  optional    

Must not be greater than 100 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

GET api/documents/{document_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/documents/{document_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

document_id   integer     

The ID of the document. Example: 16

PUT api/documents/{document_id}

Example request:
curl --request PUT \
    "http://localhost/api/documents/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"document_type\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"status\": \"rejected\"
}"
const url = new URL(
    "http://localhost/api/documents/16"
);

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

let body = {
    "document_type": "b",
    "description": "Eius et animi quos velit et.",
    "status": "rejected"
};

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

Request      

PUT api/documents/{document_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

document_id   integer     

The ID of the document. Example: 16

Body Parameters

document_type   string  optional    

Must not be greater than 100 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

status   string  optional    

Example: rejected

Must be one of:
  • pending
  • verified
  • rejected

DELETE api/documents/{document_id}

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

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


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

Request      

DELETE api/documents/{document_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

document_id   integer     

The ID of the document. Example: 16

GET api/documents/{document_id}/download

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/documents/{document_id}/download

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

document_id   integer     

The ID of the document. Example: 16

GET api/audit-logs

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/audit-logs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/audit-logs/{auditLog_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/audit-logs/{auditLog_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

auditLog_id   integer     

The ID of the auditLog. Example: 16

GET api/push-subscriptions

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/push-subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/push-subscriptions

Example request:
curl --request POST \
    "http://localhost/api/push-subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"b\",
    \"keys\": {
        \"p256dh\": \"n\",
        \"auth\": \"g\"
    }
}"
const url = new URL(
    "http://localhost/api/push-subscriptions"
);

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

let body = {
    "endpoint": "b",
    "keys": {
        "p256dh": "n",
        "auth": "g"
    }
};

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

Request      

POST api/push-subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

endpoint   string     

Must not be greater than 500 characters. Example: b

keys   object  optional    
p256dh   string     

Must not be greater than 255 characters. Example: n

auth   string     

Must not be greater than 255 characters. Example: g

DELETE api/push-subscriptions

Example request:
curl --request DELETE \
    "http://localhost/api/push-subscriptions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"endpoint\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/push-subscriptions"
);

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

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

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

Request      

DELETE api/push-subscriptions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

endpoint   string     

Example: architecto

GET api/roles

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/roles

Example request:
curl --request POST \
    "http://localhost/api/roles" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"architecto\",
    \"display_name\": \"architecto\",
    \"description\": \"Eius et animi quos velit et.\",
    \"is_active\": false,
    \"sort_order\": 16
}"
const url = new URL(
    "http://localhost/api/roles"
);

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

let body = {
    "name": "architecto",
    "display_name": "architecto",
    "description": "Eius et animi quos velit et.",
    "is_active": false,
    "sort_order": 16
};

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

Request      

POST api/roles

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Example: architecto

display_name   string     

Example: architecto

description   string  optional    

Example: Eius et animi quos velit et.

is_active   boolean  optional    

Example: false

sort_order   integer  optional    

Example: 16

GET api/roles/{role_id}

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/roles/{role_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

role_id   integer     

The ID of the role. Example: 1

PUT api/roles/{role_id}

Example request:
curl --request PUT \
    "http://localhost/api/roles/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"display_name\": \"architecto\",
    \"description\": \"Eius et animi quos velit et.\",
    \"is_active\": true,
    \"sort_order\": 16
}"
const url = new URL(
    "http://localhost/api/roles/1"
);

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

let body = {
    "display_name": "architecto",
    "description": "Eius et animi quos velit et.",
    "is_active": true,
    "sort_order": 16
};

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

Request      

PUT api/roles/{role_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

role_id   integer     

The ID of the role. Example: 1

Body Parameters

name   string  optional    
display_name   string  optional    

Example: architecto

description   string  optional    

Example: Eius et animi quos velit et.

is_active   boolean  optional    

Example: true

sort_order   integer  optional    

Example: 16

DELETE api/roles/{role_id}

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

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


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

Request      

DELETE api/roles/{role_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

role_id   integer     

The ID of the role. Example: 1

POST api/roles/{role_id}/permissions

Example request:
curl --request POST \
    "http://localhost/api/roles/1/permissions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"permission_id\": \"architecto\"
}"
const url = new URL(
    "http://localhost/api/roles/1/permissions"
);

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

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

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

Request      

POST api/roles/{role_id}/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

role_id   integer     

The ID of the role. Example: 1

Body Parameters

permission_id   string     

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

DELETE api/roles/{role_id}/permissions/{permission_id}

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

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


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

Request      

DELETE api/roles/{role_id}/permissions/{permission_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

role_id   integer     

The ID of the role. Example: 1

permission_id   integer     

The ID of the permission. Example: 1

GET api/permissions

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/permissions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/settings

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/settings

Example request:
curl --request PUT \
    "http://localhost/api/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"app_name\": \"architecto\",
    \"app_version\": \"architecto\",
    \"support_email\": \"zbailey@example.net\",
    \"company_phone\": \"architecto\",
    \"company_address\": \"architecto\",
    \"default_language\": \"architecto\",
    \"default_currency\": \"architecto\",
    \"timezone\": \"Asia\\/Yekaterinburg\",
    \"maintenance_mode\": false,
    \"max_file_size\": 16,
    \"allowed_file_types\": \"architecto\",
    \"odoo_api_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"payment_gateway\": \"architecto\",
    \"auto_assign_enabled\": false
}"
const url = new URL(
    "http://localhost/api/settings"
);

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

let body = {
    "app_name": "architecto",
    "app_version": "architecto",
    "support_email": "zbailey@example.net",
    "company_phone": "architecto",
    "company_address": "architecto",
    "default_language": "architecto",
    "default_currency": "architecto",
    "timezone": "Asia\/Yekaterinburg",
    "maintenance_mode": false,
    "max_file_size": 16,
    "allowed_file_types": "architecto",
    "odoo_api_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "payment_gateway": "architecto",
    "auto_assign_enabled": false
};

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

Request      

PUT api/settings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

app_name   string  optional    

Example: architecto

app_version   string  optional    

Example: architecto

support_email   string  optional    

Must be a valid email address. Example: zbailey@example.net

company_phone   string  optional    

Example: architecto

company_address   string  optional    

Example: architecto

default_language   string  optional    

Example: architecto

default_currency   string  optional    

Example: architecto

timezone   string  optional    

Example: Asia/Yekaterinburg

maintenance_mode   boolean  optional    

Example: false

max_file_size   integer  optional    

Example: 16

allowed_file_types   string  optional    

Example: architecto

odoo_api_url   string  optional    

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

payment_gateway   string  optional    

Example: architecto

auto_assign_enabled   boolean  optional    

Example: false

GET api/settings/integration

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings/integration

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/settings/auto-assign

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings/auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/settings/auto-assign/toggle

Example request:
curl --request POST \
    "http://localhost/api/settings/auto-assign/toggle" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"enabled\": false
}"
const url = new URL(
    "http://localhost/api/settings/auto-assign/toggle"
);

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

let body = {
    "enabled": false
};

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

Request      

POST api/settings/auto-assign/toggle

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

enabled   boolean     

Example: false

GET api/settings/auto-assign-rule

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings/auto-assign-rule

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/settings/auto-assign-rule

Example request:
curl --request POST \
    "http://localhost/api/settings/auto-assign-rule" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rule\": \"service_based\"
}"
const url = new URL(
    "http://localhost/api/settings/auto-assign-rule"
);

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

let body = {
    "rule": "service_based"
};

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

Request      

POST api/settings/auto-assign-rule

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

rule   string     

Example: service_based

Must be one of:
  • round_robin
  • least_workload
  • priority_based
  • service_based

GET api/settings/ticket-auto-assign

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings/ticket-auto-assign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/settings/ticket-auto-assign/toggle

Example request:
curl --request POST \
    "http://localhost/api/settings/ticket-auto-assign/toggle" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"enabled\": true
}"
const url = new URL(
    "http://localhost/api/settings/ticket-auto-assign/toggle"
);

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

let body = {
    "enabled": true
};

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

Request      

POST api/settings/ticket-auto-assign/toggle

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

enabled   boolean     

Example: true

GET api/settings/ticket-auto-assign-rule

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/settings/ticket-auto-assign-rule

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/settings/ticket-auto-assign-rule

Example request:
curl --request POST \
    "http://localhost/api/settings/ticket-auto-assign-rule" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rule\": \"least_workload\"
}"
const url = new URL(
    "http://localhost/api/settings/ticket-auto-assign-rule"
);

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

let body = {
    "rule": "least_workload"
};

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

Request      

POST api/settings/ticket-auto-assign-rule

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

rule   string     

Example: least_workload

Must be one of:
  • round_robin
  • least_workload
  • priority_based
  • category_based

GET api/reports/dashboard

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reports/dashboard

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/reports/service-requests

Example request:
curl --request GET \
    --get "http://localhost/api/reports/service-requests" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"from_date\": \"2026-03-21T12:36:56\",
    \"to_date\": \"2026-03-21T12:36:56\"
}"
const url = new URL(
    "http://localhost/api/reports/service-requests"
);

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

let body = {
    "from_date": "2026-03-21T12:36:56",
    "to_date": "2026-03-21T12:36:56"
};

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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reports/service-requests

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

from_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

to_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

GET api/reports/revenue

Example request:
curl --request GET \
    --get "http://localhost/api/reports/revenue" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"from_date\": \"2026-03-21T12:36:56\",
    \"to_date\": \"2026-03-21T12:36:56\"
}"
const url = new URL(
    "http://localhost/api/reports/revenue"
);

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

let body = {
    "from_date": "2026-03-21T12:36:56",
    "to_date": "2026-03-21T12:36:56"
};

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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reports/revenue

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

from_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

to_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

GET api/reports/support

Example request:
curl --request GET \
    --get "http://localhost/api/reports/support" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"from_date\": \"2026-03-21T12:36:56\",
    \"to_date\": \"2026-03-21T12:36:56\"
}"
const url = new URL(
    "http://localhost/api/reports/support"
);

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

let body = {
    "from_date": "2026-03-21T12:36:56",
    "to_date": "2026-03-21T12:36:56"
};

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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reports/support

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

from_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

to_date   string  optional    

Must be a valid date. Example: 2026-03-21T12:36:56

GET api/reports/agents-performance

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

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


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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reports/agents-performance

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/pages/slug/{slug}

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

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


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

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "No query results for model [App\\Models\\Page]."
}
 

Request      

GET api/pages/slug/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the slug. Example: architecto