MENU navbar-image

Introduction

REST API for the Ravish customer, vendor, staff, and admin apps.

All endpoints are prefixed with `/api/v1`. Send `Accept: application/json` and `Content-Type: application/json` on every request.

## Response envelope

Successful responses:

```json
{
  "success": true,
  "status_code": 200,
  "message": "Success",
  "data": {},
  "meta": { "currency": { "code": "GBP", "symbol": "£" } },
  "errors": null
}
```

Error responses:

```json
{
  "success": false,
  "status_code": 422,
  "message": "Validation failed.",
  "data": null,
  "errors": { "field": ["The field is required."] }
}
```

## Authentication

Protected routes require a Laravel Sanctum bearer token in the `Authorization` header.
Obtain a token from the relevant login or registration endpoint in the **Auth** group.

<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

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

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

Call a login or registration endpoint in the Auth group, then pass the returned token as Authorization: Bearer {token}. For automated example responses during doc generation, set SCRIBE_AUTH_KEY in .env to a valid token.

Auth

POST api/v1/auth/customer/register

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/customer/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"full_name\": \"b\",
    \"phone\": \"ngzmiyvdljnikhwa\",
    \"email\": \"[email protected]\",
    \"password\": \"architecto\",
    \"accept_terms\": true,
    \"address\": {
        \"line_1\": \"n\",
        \"line_2\": \"g\",
        \"city\": \"z\",
        \"postcode\": \"miyvdljnikhwaykc\"
    }
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/customer/register"
);

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

let body = {
    "full_name": "b",
    "phone": "ngzmiyvdljnikhwa",
    "email": "[email protected]",
    "password": "architecto",
    "accept_terms": true,
    "address": {
        "line_1": "n",
        "line_2": "g",
        "city": "z",
        "postcode": "miyvdljnikhwaykc"
    }
};

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

Request      

POST api/v1/auth/customer/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

full_name   string     

Must not be greater than 255 characters. Example: b

phone   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

password   string     

Example: architecto

accept_terms   boolean     

Must be accepted. Example: true

address   object  optional    
line_1   string  optional    

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

line_2   string  optional    

Must not be greater than 255 characters. Example: g

city   string  optional    

This field is required when address is present. Must not be greater than 100 characters. Example: z

postcode   string  optional    

This field is required when address is present. Must not be greater than 20 characters. Example: miyvdljnikhwaykc

POST api/v1/auth/customer/login

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/customer/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/customer/login"
);

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

let body = {
    "email": "[email protected]",
    "password": "|]|{+-"
};

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

Request      

POST api/v1/auth/customer/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

password   string     

Example: |]|{+-

POST api/v1/auth/vendor/login

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/login"
);

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

let body = {
    "email": "[email protected]",
    "password": "|]|{+-"
};

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

Request      

POST api/v1/auth/vendor/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

password   string     

Example: |]|{+-

POST api/v1/auth/vendor/individual/register

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/individual/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"full_name\": \"b\",
    \"display_name\": \"n\",
    \"category\": \"nails\",
    \"phone\": \"gzmiyvdljnikhway\",
    \"email\": \"[email protected]\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/individual/register"
);

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

let body = {
    "full_name": "b",
    "display_name": "n",
    "category": "nails",
    "phone": "gzmiyvdljnikhway",
    "email": "[email protected]",
    "password": "architecto"
};

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

Request      

POST api/v1/auth/vendor/individual/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

full_name   string     

Must not be greater than 255 characters. Example: b

display_name   string  optional    

Must not be greater than 255 characters. Example: n

category   string     

Example: nails

Must be one of:
  • hair
  • nails
  • makeup
phone   string     

Must not be greater than 20 characters. Example: gzmiyvdljnikhway

email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

password   string     

Example: architecto

POST api/v1/auth/vendor/business/register

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/business/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"business_name\": \"b\",
    \"display_name\": \"n\",
    \"category\": \"spa\",
    \"business_phone\": \"gzmiyvdljnikhway\",
    \"business_email\": \"[email protected]\",
    \"registration_number\": \"w\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/business/register"
);

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

let body = {
    "business_name": "b",
    "display_name": "n",
    "category": "spa",
    "business_phone": "gzmiyvdljnikhway",
    "business_email": "[email protected]",
    "registration_number": "w",
    "password": "architecto"
};

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

Request      

POST api/v1/auth/vendor/business/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

business_name   string     

Must not be greater than 255 characters. Example: b

display_name   string  optional    

Must not be greater than 255 characters. Example: n

category   string     

Example: spa

Must be one of:
  • hair_salon
  • spa
business_phone   string     

Must not be greater than 20 characters. Example: gzmiyvdljnikhway

business_email   string     

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

registration_number   string  optional    

Must not be greater than 100 characters. Example: w

password   string     

Example: architecto

POST api/v1/auth/admin/login

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/admin/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/admin/login"
);

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

let body = {
    "email": "[email protected]",
    "password": "|]|{+-"
};

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

Request      

POST api/v1/auth/admin/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

password   string     

Example: |]|{+-

POST api/v1/auth/staff/otp/request

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/request" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/request"
);

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

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

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

Request      

POST api/v1/auth/staff/otp/request

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

phone   string     

Example: architecto

POST api/v1/auth/staff/otp/resend

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/resend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/resend"
);

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

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

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

Request      

POST api/v1/auth/staff/otp/resend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

phone   string     

Example: architecto

POST api/v1/auth/staff/otp/verify

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"architecto\",
    \"otp\": \"569775\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/staff/otp/verify"
);

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

let body = {
    "phone": "architecto",
    "otp": "569775"
};

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

Request      

POST api/v1/auth/staff/otp/verify

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

phone   string     

Example: architecto

otp   string     

Must be 6 digits. Example: 569775

POST api/v1/auth/staff/login

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/staff/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/staff/login"
);

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

let body = {
    "email": "[email protected]",
    "password": "|]|{+-"
};

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

Request      

POST api/v1/auth/staff/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

password   string     

Example: |]|{+-

POST api/v1/auth/password/forgot

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/password/forgot" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/password/forgot"
);

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

let body = {
    "email": "[email protected]"
};

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

Request      

POST api/v1/auth/password/forgot

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

POST api/v1/auth/password/forgot/resend

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/password/forgot/resend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/password/forgot/resend"
);

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

let body = {
    "email": "[email protected]"
};

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

Request      

POST api/v1/auth/password/forgot/resend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

POST api/v1/auth/password/reset

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/password/reset" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"code\": \"569775\",
    \"password\": \"]|{+-0pBNvYg\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/password/reset"
);

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

let body = {
    "email": "[email protected]",
    "code": "569775",
    "password": "]|{+-0pBNvYg"
};

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

Request      

POST api/v1/auth/password/reset

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email   string     

Must be a valid email address. Example: [email protected]

code   string     

Must be 6 digits. Example: 569775

password   string     

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

POST api/v1/auth/social/{provider}

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/social/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id_token\": \"architecto\",
    \"access_token\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/social/architecto"
);

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

let body = {
    "id_token": "architecto",
    "access_token": "architecto"
};

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

Request      

POST api/v1/auth/social/{provider}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

provider   string     

Example: architecto

Body Parameters

id_token   string  optional    

Example: architecto

access_token   string  optional    

Example: architecto

POST api/v1/auth/logout

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/logout" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/logout"
);

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


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

Request      

POST api/v1/auth/logout

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/auth/me

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/auth/me" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/me"
);

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


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

Request      

GET api/v1/auth/me

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/password/change

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/password/change" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_password\": \"architecto\",
    \"password\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/password/change"
);

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

let body = {
    "current_password": "architecto",
    "password": "architecto"
};

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

Request      

POST api/v1/auth/password/change

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

current_password   string     

Example: architecto

password   string     

Example: architecto

POST api/v1/auth/vendor/email/verification/send

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/send" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/send"
);

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


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

Request      

POST api/v1/auth/vendor/email/verification/send

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/vendor/email/verification/resend

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/resend" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/resend"
);

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


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

Request      

POST api/v1/auth/vendor/email/verification/resend

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/vendor/email/verification/verify

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/verify" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"569775\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/email/verification/verify"
);

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

let body = {
    "code": "569775"
};

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

Request      

POST api/v1/auth/vendor/email/verification/verify

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must be 6 digits. Example: 569775

POST api/v1/auth/vendor/phone/verification/send

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/send" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/send"
);

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


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

Request      

POST api/v1/auth/vendor/phone/verification/send

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/vendor/phone/verification/resend

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/resend" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/resend"
);

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


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

Request      

POST api/v1/auth/vendor/phone/verification/resend

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/auth/vendor/phone/verification/verify

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/verify" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"569775\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/phone/verification/verify"
);

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

let body = {
    "code": "569775"
};

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

Request      

POST api/v1/auth/vendor/phone/verification/verify

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must be 6 digits. Example: 569775

POST api/v1/auth/vendor/contact-verification/send

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/contact-verification/send" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"channel\": \"phone\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/contact-verification/send"
);

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

let body = {
    "channel": "phone"
};

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

Request      

POST api/v1/auth/vendor/contact-verification/send

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

channel   string     

Example: phone

Must be one of:
  • email
  • phone
  • both

POST api/v1/auth/vendor/contact-verification/confirm

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/vendor/contact-verification/confirm" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email_code\": \"bngzmi\",
    \"phone_code\": \"yvdljn\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/vendor/contact-verification/confirm"
);

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

let body = {
    "email_code": "bngzmi",
    "phone_code": "yvdljn"
};

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

Request      

POST api/v1/auth/vendor/contact-verification/confirm

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email_code   string  optional    

Must be 6 characters. Example: bngzmi

phone_code   string  optional    

Must be 6 characters. Example: yvdljn

POST api/v1/auth/2fa/enable

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/2fa/enable" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"channel\": \"phone\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/2fa/enable"
);

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

let body = {
    "channel": "phone"
};

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

Request      

POST api/v1/auth/2fa/enable

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

channel   string     

Example: phone

Must be one of:
  • phone
  • email

POST api/v1/auth/2fa/resend

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/2fa/resend" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"channel\": \"email\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/2fa/resend"
);

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

let body = {
    "channel": "email"
};

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

Request      

POST api/v1/auth/2fa/resend

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

channel   string     

Example: email

Must be one of:
  • phone
  • email

POST api/v1/auth/2fa/verify

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/auth/2fa/verify" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"bngzmi\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/2fa/verify"
);

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

let body = {
    "code": "bngzmi"
};

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

Request      

POST api/v1/auth/2fa/verify

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Must be 6 characters. Example: bngzmi

DELETE api/v1/auth/2fa

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/auth/2fa" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/auth/2fa"
);

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


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

Request      

DELETE api/v1/auth/2fa

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Public

GET api/v1/public/home

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/home" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/home"
);

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


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

Request      

GET api/v1/public/home

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public/categories

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/categories"
);

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


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

Request      

GET api/v1/public/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public/sections/top-rated

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/sections/top-rated" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/sections/top-rated"
);

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


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

Request      

GET api/v1/public/sections/top-rated

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public/sections/walk-in-salons

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/sections/walk-in-salons" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/sections/walk-in-salons"
);

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


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

Request      

GET api/v1/public/sections/walk-in-salons

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public/sections/home-service

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/sections/home-service" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/sections/home-service"
);

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


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

Request      

GET api/v1/public/sections/home-service

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/sections/trending-services" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/sections/trending-services"
);

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


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

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/sections/featured-products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/sections/featured-products"
);

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


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

GET api/v1/public/explore

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/explore" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/explore"
);

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


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

Request      

GET api/v1/public/explore

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/search"
);

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


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

GET api/v1/public/vendors/individual/{vendor_id}

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/vendors/individual/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/vendors/individual/16"
);

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


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

Request      

GET api/v1/public/vendors/individual/{vendor_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/public/vendors/business/{vendor_id}

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/vendors/business/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/vendors/business/16"
);

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


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

Request      

GET api/v1/public/vendors/business/{vendor_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/public/vendors/{vendor_id}/services

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/vendors/16/services" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/vendors/16/services"
);

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


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

Request      

GET api/v1/public/vendors/{vendor_id}/services

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/public/vendors/{vendor_id}/availability

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/vendors/16/availability" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/vendors/16/availability"
);

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


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

Request      

GET api/v1/public/vendors/{vendor_id}/availability

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/public/vendors/{vendor_id}/reviews

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/vendors/16/reviews" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/vendors/16/reviews"
);

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


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

Request      

GET api/v1/public/vendors/{vendor_id}/reviews

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/public/shops

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/shops" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/shops"
);

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


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

Request      

GET api/v1/public/shops

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/public/shops/{id}

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/shops/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/shops/16"
);

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


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

Request      

GET api/v1/public/shops/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the shop. Example: 16

GET api/v1/public/shops/{shop_id}/products

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/shops/16/products" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/shops/16/products"
);

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


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

Request      

GET api/v1/public/shops/{shop_id}/products

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

shop_id   integer     

The ID of the shop. Example: 16

GET api/v1/public/products/{id}

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/public/products/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/public/products/16"
);

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


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

Request      

GET api/v1/public/products/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

Customer

GET api/v1/customer/wallet

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/wallet" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/wallet"
);

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


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

Request      

GET api/v1/customer/wallet

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/customer/wallet/transactions

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/wallet/transactions" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/wallet/transactions"
);

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


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

Request      

GET api/v1/customer/wallet/transactions

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/customer/wallet/top-up

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/wallet/top-up" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 16,
    \"pin\": \"ngzm\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/wallet/top-up"
);

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

let body = {
    "amount": 16,
    "pin": "ngzm"
};

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

Request      

POST api/v1/customer/wallet/top-up

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

amount   number     

Must be at least 1. Example: 16

pin   string  optional    

Must be 4 characters. Example: ngzm

POST api/v1/customer/wallet/pin

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/wallet/pin" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pin\": \"bngz\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/wallet/pin"
);

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

let body = {
    "pin": "bngz"
};

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

Request      

POST api/v1/customer/wallet/pin

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

pin   string     

Must be 4 characters. Example: bngz

PUT api/v1/customer/wallet/pin

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/customer/wallet/pin" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_pin\": \"bngz\",
    \"new_pin\": \"miyv\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/wallet/pin"
);

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

let body = {
    "current_pin": "bngz",
    "new_pin": "miyv"
};

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

Request      

PUT api/v1/customer/wallet/pin

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

current_pin   string     

Must be 4 characters. Example: bngz

new_pin   string     

Must be 4 characters. Example: miyv

GET api/v1/customer/profile

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/profile"
);

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


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

Request      

GET api/v1/customer/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/customer/profile

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/customer/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"full_name\": \"b\",
    \"phone\": \"ngzmiyvdljnikhwa\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/profile"
);

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

let body = {
    "full_name": "b",
    "phone": "ngzmiyvdljnikhwa"
};

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

Request      

PUT api/v1/customer/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

full_name   string  optional    

Must not be greater than 255 characters. Example: b

phone   string  optional    

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

DELETE api/v1/customer/account

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/customer/account" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/account"
);

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

let body = {
    "password": "|]|{+-"
};

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

Request      

DELETE api/v1/customer/account

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

password   string     

Example: |]|{+-

GET api/v1/customer/notifications

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/notifications" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/notifications"
);

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


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

Request      

GET api/v1/customer/notifications

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/customer/payment-methods

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/payment-methods" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/payment-methods"
);

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


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

Request      

GET api/v1/customer/payment-methods

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/customer/payment-methods

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/payment-methods" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_token\": \"b\",
    \"brand\": \"n\",
    \"last_four\": \"gzmi\",
    \"expires_month\": 1,
    \"expires_year\": 1,
    \"is_default\": false,
    \"provider\": \"d\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/payment-methods"
);

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

let body = {
    "payment_token": "b",
    "brand": "n",
    "last_four": "gzmi",
    "expires_month": 1,
    "expires_year": 1,
    "is_default": false,
    "provider": "d"
};

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

Request      

POST api/v1/customer/payment-methods

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

payment_token   string     

Must not be greater than 255 characters. Example: b

brand   string  optional    

Must not be greater than 50 characters. Example: n

last_four   string  optional    

Must be 4 characters. Example: gzmi

expires_month   integer  optional    

Must be at least 1. Must not be greater than 12. Example: 1

expires_year   integer  optional    

Must be at least 2024. Must not be greater than 2099. Example: 1

is_default   boolean  optional    

Example: false

provider   string  optional    

Must not be greater than 50 characters. Example: d

DELETE api/v1/customer/payment-methods/{paymentMethod_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/customer/payment-methods/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/payment-methods/16"
);

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


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

Request      

DELETE api/v1/customer/payment-methods/{paymentMethod_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

paymentMethod_id   integer     

The ID of the paymentMethod. Example: 16

GET api/v1/customer/addresses

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/addresses" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/addresses"
);

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


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

Request      

GET api/v1/customer/addresses

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/customer/addresses

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/addresses" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"line_1\": \"b\",
    \"line_2\": \"n\",
    \"city\": \"g\",
    \"postcode\": \"zmiyvdljnikhwayk\",
    \"is_default\": true
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/addresses"
);

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

let body = {
    "line_1": "b",
    "line_2": "n",
    "city": "g",
    "postcode": "zmiyvdljnikhwayk",
    "is_default": true
};

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

Request      

POST api/v1/customer/addresses

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

line_1   string     

Must not be greater than 255 characters. Example: b

line_2   string  optional    

Must not be greater than 255 characters. Example: n

city   string     

Must not be greater than 100 characters. Example: g

postcode   string     

Must not be greater than 20 characters. Example: zmiyvdljnikhwayk

is_default   boolean  optional    

Example: true

GET api/v1/customer/addresses/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/addresses/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/addresses/16"
);

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


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

Request      

GET api/v1/customer/addresses/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the address. Example: 16

PUT api/v1/customer/addresses/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/customer/addresses/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"line_1\": \"b\",
    \"line_2\": \"n\",
    \"city\": \"g\",
    \"postcode\": \"zmiyvdljnikhwayk\",
    \"is_default\": true
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/addresses/16"
);

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

let body = {
    "line_1": "b",
    "line_2": "n",
    "city": "g",
    "postcode": "zmiyvdljnikhwayk",
    "is_default": true
};

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

Request      

PUT api/v1/customer/addresses/{id}

PATCH api/v1/customer/addresses/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the address. Example: 16

Body Parameters

line_1   string  optional    

Must not be greater than 255 characters. Example: b

line_2   string  optional    

Must not be greater than 255 characters. Example: n

city   string  optional    

Must not be greater than 100 characters. Example: g

postcode   string  optional    

Must not be greater than 20 characters. Example: zmiyvdljnikhwayk

is_default   boolean  optional    

Example: true

DELETE api/v1/customer/addresses/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/customer/addresses/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/addresses/16"
);

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


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

Request      

DELETE api/v1/customer/addresses/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the address. Example: 16

GET api/v1/customer/saved-vendors

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/saved-vendors" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/saved-vendors"
);

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


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

Request      

GET api/v1/customer/saved-vendors

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/customer/saved-vendors/{vendor_id}

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/saved-vendors/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/saved-vendors/16"
);

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


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

Request      

POST api/v1/customer/saved-vendors/{vendor_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

DELETE api/v1/customer/saved-vendors/{vendor_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/customer/saved-vendors/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/saved-vendors/16"
);

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


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

Request      

DELETE api/v1/customer/saved-vendors/{vendor_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

vendor_id   integer     

The ID of the vendor. Example: 16

GET api/v1/customer/bookings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/bookings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings"
);

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


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

Request      

GET api/v1/customer/bookings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/customer/bookings/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/bookings/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/16"
);

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


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

Request      

GET api/v1/customer/bookings/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the booking. Example: 16

POST api/v1/customer/bookings/individual/quote

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/individual/quote" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vendor_id\": 16,
    \"service_id\": 16,
    \"service_type\": \"walk_in\",
    \"scheduled_date\": \"2026-06-26T08:51:34\",
    \"scheduled_time\": \"08:51\",
    \"address_id\": 16
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/individual/quote"
);

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

let body = {
    "vendor_id": 16,
    "service_id": 16,
    "service_type": "walk_in",
    "scheduled_date": "2026-06-26T08:51:34",
    "scheduled_time": "08:51",
    "address_id": 16
};

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

Request      

POST api/v1/customer/bookings/individual/quote

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vendor_id   integer     

Must match an existing stored value. Example: 16

service_id   integer     

Must match an existing stored value. Example: 16

service_type   string     

Example: walk_in

Must be one of:
  • walk_in
  • home_service
scheduled_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

scheduled_time   string  optional    

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

address_id   integer  optional    

Must match an existing stored value. Example: 16

POST api/v1/customer/bookings/individual

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/individual" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vendor_id\": 16,
    \"service_id\": 16,
    \"service_type\": \"walk_in\",
    \"scheduled_date\": \"2052-07-19\",
    \"scheduled_time\": \"08:51\",
    \"address_id\": 16,
    \"notes\": \"n\",
    \"payment_method\": \"wallet\",
    \"pin\": \"gzmi\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/individual"
);

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

let body = {
    "vendor_id": 16,
    "service_id": 16,
    "service_type": "walk_in",
    "scheduled_date": "2052-07-19",
    "scheduled_time": "08:51",
    "address_id": 16,
    "notes": "n",
    "payment_method": "wallet",
    "pin": "gzmi"
};

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

Request      

POST api/v1/customer/bookings/individual

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vendor_id   integer     

Must match an existing stored value. Example: 16

service_id   integer     

Must match an existing stored value. Example: 16

service_type   string     

Example: walk_in

Must be one of:
  • walk_in
  • home_service
scheduled_date   string     

Must be a valid date. Must be a date after or equal to today. Example: 2052-07-19

scheduled_time   string     

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

address_id   integer  optional    

Must match an existing stored value. Example: 16

notes   string  optional    

Must not be greater than 1000 characters. Example: n

payment_method   string     

Example: wallet

Must be one of:
  • wallet
pin   string  optional    

Must be 4 characters. Example: gzmi

POST api/v1/customer/bookings/business/quote

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/business/quote" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vendor_id\": 16,
    \"service_id\": 16,
    \"service_size\": \"small\",
    \"scheduled_date\": \"2026-06-26T08:51:34\",
    \"scheduled_time\": \"08:51\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/business/quote"
);

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

let body = {
    "vendor_id": 16,
    "service_id": 16,
    "service_size": "small",
    "scheduled_date": "2026-06-26T08:51:34",
    "scheduled_time": "08:51"
};

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

Request      

POST api/v1/customer/bookings/business/quote

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vendor_id   integer     

Must match an existing stored value. Example: 16

service_id   integer     

Must match an existing stored value. Example: 16

service_size   string     

Example: small

Must be one of:
  • small
  • medium
  • large
scheduled_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

scheduled_time   string  optional    

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

POST api/v1/customer/bookings/business

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/business" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vendor_id\": 16,
    \"service_id\": 16,
    \"service_size\": \"medium\",
    \"scheduled_date\": \"2052-07-19\",
    \"scheduled_time\": \"08:51\",
    \"notes\": \"n\",
    \"payment_method\": \"wallet\",
    \"pin\": \"gzmi\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/business"
);

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

let body = {
    "vendor_id": 16,
    "service_id": 16,
    "service_size": "medium",
    "scheduled_date": "2052-07-19",
    "scheduled_time": "08:51",
    "notes": "n",
    "payment_method": "wallet",
    "pin": "gzmi"
};

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

Request      

POST api/v1/customer/bookings/business

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

vendor_id   integer     

Must match an existing stored value. Example: 16

service_id   integer     

Must match an existing stored value. Example: 16

service_size   string     

Example: medium

Must be one of:
  • small
  • medium
  • large
scheduled_date   string     

Must be a valid date. Must be a date after or equal to today. Example: 2052-07-19

scheduled_time   string     

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

notes   string  optional    

Must not be greater than 1000 characters. Example: n

payment_method   string     

Example: wallet

Must be one of:
  • wallet
pin   string  optional    

Must be 4 characters. Example: gzmi

POST api/v1/customer/bookings/{booking_id}/cancel

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/16/cancel" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reason\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/16/cancel"
);

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

let body = {
    "reason": "b"
};

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

Request      

POST api/v1/customer/bookings/{booking_id}/cancel

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

Body Parameters

reason   string  optional    

Must not be greater than 500 characters. Example: b

POST api/v1/customer/bookings/{booking_id}/review

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/bookings/16/review" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 1,
    \"comment\": \"n\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/bookings/16/review"
);

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

let body = {
    "rating": 1,
    "comment": "n"
};

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

Request      

POST api/v1/customer/bookings/{booking_id}/review

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

Body Parameters

rating   integer     

Must be at least 1. Must not be greater than 5. Example: 1

comment   string  optional    

Must not be greater than 1000 characters. Example: n

GET api/v1/customer/cart

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/cart" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/cart"
);

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


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

Request      

GET api/v1/customer/cart

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/customer/cart/items

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/cart/items" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"product_id\": 16,
    \"quantity\": 22
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/cart/items"
);

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

let body = {
    "product_id": 16,
    "quantity": 22
};

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

Request      

POST api/v1/customer/cart/items

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

product_id   integer     

Must match an existing stored value. Example: 16

quantity   integer     

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

PUT api/v1/customer/cart/items/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/customer/cart/items/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"quantity\": 1
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/cart/items/16"
);

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

let body = {
    "quantity": 1
};

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

Request      

PUT api/v1/customer/cart/items/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the item. Example: 16

Body Parameters

quantity   integer     

Must be at least 1. Must not be greater than 99. Example: 1

DELETE api/v1/customer/cart/items/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/customer/cart/items/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/cart/items/16"
);

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


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

Request      

DELETE api/v1/customer/cart/items/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the item. Example: 16

POST api/v1/customer/cart/checkout

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/cart/checkout" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"address_id\": 16,
    \"payment_method\": \"wallet\",
    \"pin\": \"ngzm\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/cart/checkout"
);

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

let body = {
    "address_id": 16,
    "payment_method": "wallet",
    "pin": "ngzm"
};

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

Request      

POST api/v1/customer/cart/checkout

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

address_id   integer     

Must match an existing stored value. Example: 16

payment_method   string     

Example: wallet

Must be one of:
  • wallet
pin   string  optional    

Must be 4 characters. Example: ngzm

GET api/v1/customer/orders

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/orders" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/orders"
);

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


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

Request      

GET api/v1/customer/orders

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/customer/orders/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/orders/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/orders/16"
);

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


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

Request      

GET api/v1/customer/orders/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the order. Example: 16

GET api/v1/customer/orders/{order_id}/tracking

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/orders/16/tracking" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/orders/16/tracking"
);

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


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

Request      

GET api/v1/customer/orders/{order_id}/tracking

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order_id   integer     

The ID of the order. Example: 16

POST api/v1/customer/support/tickets

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/customer/support/tickets" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"subject\": \"b\",
    \"body\": \"n\",
    \"category\": \"g\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/support/tickets"
);

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

let body = {
    "subject": "b",
    "body": "n",
    "category": "g"
};

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

Request      

POST api/v1/customer/support/tickets

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

subject   string     

Must not be greater than 255 characters. Example: b

body   string     

Must not be greater than 5000 characters. Example: n

category   string  optional    

Must not be greater than 50 characters. Example: g

GET api/v1/customer/support/tickets

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/support/tickets" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/support/tickets"
);

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


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

Request      

GET api/v1/customer/support/tickets

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/customer/support/tickets/{ticket_id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/customer/support/tickets/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/customer/support/tickets/16"
);

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


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

Request      

GET api/v1/customer/support/tickets/{ticket_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticket_id   integer     

The ID of the ticket. Example: 16

Vendor — Individual

POST api/v1/vendor/individual/onboarding/location

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/location" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"city\": \"b\",
    \"postcode\": \"ngzmiyvdljnikhwa\",
    \"address_line\": \"y\",
    \"service_location_type\": \"in_studio_only\",
    \"latitude\": -90,
    \"longitude\": -180
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/location"
);

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

let body = {
    "city": "b",
    "postcode": "ngzmiyvdljnikhwa",
    "address_line": "y",
    "service_location_type": "in_studio_only",
    "latitude": -90,
    "longitude": -180
};

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

Request      

POST api/v1/vendor/individual/onboarding/location

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

city   string     

Must not be greater than 100 characters. Example: b

postcode   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

address_line   string     

Must not be greater than 255 characters. Example: y

service_location_type   string     

Example: in_studio_only

Must be one of:
  • in_studio_only
  • home_service_only
  • both
latitude   number  optional    

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

longitude   number  optional    

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

POST api/v1/vendor/individual/onboarding/travel-settings

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/travel-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"travel_radius\": 1,
    \"travel_radius_unit\": \"miles\",
    \"travel_fee_type\": \"tiered\",
    \"travel_fee_amount\": 39,
    \"travel_fee_tiers\": [
        {
            \"max_miles\": 67,
            \"fee\": 12
        }
    ]
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/travel-settings"
);

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

let body = {
    "travel_radius": 1,
    "travel_radius_unit": "miles",
    "travel_fee_type": "tiered",
    "travel_fee_amount": 39,
    "travel_fee_tiers": [
        {
            "max_miles": 67,
            "fee": 12
        }
    ]
};

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

Request      

POST api/v1/vendor/individual/onboarding/travel-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

travel_radius   integer     

Must be at least 1. Must not be greater than 500. Example: 1

travel_radius_unit   string     

Example: miles

Must be one of:
  • miles
  • km
travel_fee_type   string     

Example: tiered

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

This field is required when travel_fee_type is flat_fee. Must be at least 0. Example: 39

travel_fee_tiers   object[]  optional    

This field is required when travel_fee_type is tiered.

max_miles   integer  optional    

This field is required when travel_fee_tiers is present. Must be at least 1. Example: 67

fee   number  optional    

This field is required when travel_fee_tiers is present. Must be at least 0. Example: 12

POST api/v1/vendor/individual/onboarding/verification/identity

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/verification/identity" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "document_type=driving_licence"\
    --form "id_number=b"\
    --form "expiry_date=2052-07-19"\
    --form "document=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpu45naaesek650vN283H" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/verification/identity"
);

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

const body = new FormData();
body.append('document_type', 'driving_licence');
body.append('id_number', 'b');
body.append('expiry_date', '2052-07-19');
body.append('document', document.querySelector('input[name="document"]').files[0]);

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

Request      

POST api/v1/vendor/individual/onboarding/verification/identity

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

document_type   string     

Example: driving_licence

Must be one of:
  • passport
  • driving_licence
id_number   string     

Must not be greater than 50 characters. Example: b

expiry_date   string     

Must be a valid date. Must be a date after today. Example: 2052-07-19

document   file     

Must be a file. Must not be greater than 5120 kilobytes. Example: /private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpu45naaesek650vN283H

POST api/v1/vendor/individual/onboarding/verification/dbs

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/verification/dbs" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "has_dbs=1"\
    --form "certificate_number=b"\
    --form "dbs_type=basic"\
    --form "issue_date=2022-07-20"\
    --form "document=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpl322gq093krada5DCER" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/verification/dbs"
);

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

const body = new FormData();
body.append('has_dbs', '1');
body.append('certificate_number', 'b');
body.append('dbs_type', 'basic');
body.append('issue_date', '2022-07-20');
body.append('document', document.querySelector('input[name="document"]').files[0]);

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

Request      

POST api/v1/vendor/individual/onboarding/verification/dbs

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

has_dbs   boolean     

Example: true

certificate_number   string  optional    

Must not be greater than 50 characters. Example: b

dbs_type   string  optional    

Example: basic

Must be one of:
  • basic
  • standard
  • enhanced
issue_date   string  optional    

Must be a valid date. Must be a date before or equal to today. Example: 2022-07-20

document   file  optional    

Must be a file. Must not be greater than 5120 kilobytes. Example: /private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpl322gq093krada5DCER

POST api/v1/vendor/individual/onboarding/profile

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "bio=b"\
    --form "years_of_experience=22"\
    --form "specialties[]=g"\
    --form "portfolio[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpgn83aj43vbgn3fn5yqp" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/profile"
);

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

const body = new FormData();
body.append('bio', 'b');
body.append('years_of_experience', '22');
body.append('specialties[]', 'g');
body.append('portfolio[]', document.querySelector('input[name="portfolio[]"]').files[0]);

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

Request      

POST api/v1/vendor/individual/onboarding/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

bio   string     

Must not be greater than 300 characters. Example: b

years_of_experience   integer     

Must be at least 0. Must not be greater than 60. Example: 22

specialties   string[]  optional    

Must not be greater than 100 characters.

portfolio   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

POST api/v1/vendor/individual/onboarding/financial

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/financial" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stripe_account_id\": \"b\",
    \"transaction_pin\": \"569775\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/financial"
);

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

let body = {
    "stripe_account_id": "b",
    "transaction_pin": "569775"
};

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

Request      

POST api/v1/vendor/individual/onboarding/financial

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

stripe_account_id   string     

Must match the regex /^acct_[a-zA-Z0-9]+$/. Must not be greater than 255 characters. Example: b

transaction_pin   string     

Must be 6 digits. Example: 569775

GET api/v1/vendor/individual/onboarding/status

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/status" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/onboarding/status"
);

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


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

Request      

GET api/v1/vendor/individual/onboarding/status

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/dashboard/overview

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/dashboard/overview" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/dashboard/overview"
);

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


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

Request      

GET api/v1/vendor/individual/dashboard/overview

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/dashboard/bookings/upcoming

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/dashboard/bookings/upcoming" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/dashboard/bookings/upcoming"
);

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


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

Request      

GET api/v1/vendor/individual/dashboard/bookings/upcoming

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/services

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/services" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services"
);

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


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

Request      

GET api/v1/vendor/individual/services

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/individual/services

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/services" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Eius et animi quos velit et."\
    --form "category=v"\
    --form "price=42"\
    --form "price_small=37"\
    --form "price_medium=9"\
    --form "price_large=52"\
    --form "requires_deposit=1"\
    --form "deposit_amount=8"\
    --form "service_location_types[]=home_service"\
    --form "availability_days[]=0"\
    --form "auto_confirm_bookings=1"\
    --form "is_active="\
    --form "travel_settings[travel_radius]=14"\
    --form "travel_settings[travel_radius_unit]=miles"\
    --form "travel_settings[travel_fee_type]=tiered"\
    --form "travel_settings[travel_fee_amount]=87"\
    --form "travel_settings[home_service_enabled]="\
    --form "name=a"\
    --form "duration_minutes=75"\
    --form "availability_schedule[][day]=0"\
    --form "availability_schedule[][enabled]=1"\
    --form "availability_schedule[][start_time]=08:51"\
    --form "availability_schedule[][end_time]=08:51"\
    --form "photos[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpquu92gvbsoumaDqJfPh" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services"
);

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

const body = new FormData();
body.append('description', 'Eius et animi quos velit et.');
body.append('category', 'v');
body.append('price', '42');
body.append('price_small', '37');
body.append('price_medium', '9');
body.append('price_large', '52');
body.append('requires_deposit', '1');
body.append('deposit_amount', '8');
body.append('service_location_types[]', 'home_service');
body.append('availability_days[]', '0');
body.append('auto_confirm_bookings', '1');
body.append('is_active', '');
body.append('travel_settings[travel_radius]', '14');
body.append('travel_settings[travel_radius_unit]', 'miles');
body.append('travel_settings[travel_fee_type]', 'tiered');
body.append('travel_settings[travel_fee_amount]', '87');
body.append('travel_settings[home_service_enabled]', '');
body.append('name', 'a');
body.append('duration_minutes', '75');
body.append('availability_schedule[][day]', '0');
body.append('availability_schedule[][enabled]', '1');
body.append('availability_schedule[][start_time]', '08:51');
body.append('availability_schedule[][end_time]', '08:51');
body.append('photos[]', document.querySelector('input[name="photos[]"]').files[0]);

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

Request      

POST api/v1/vendor/individual/services

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

description   string  optional    

Must not be greater than 500 characters. Example: Eius et animi quos velit et.

category   string  optional    

Must not be greater than 100 characters. Example: v

price   number  optional    

Must be at least 0. Example: 42

price_small   number  optional    

Must be at least 0. Example: 37

price_medium   number  optional    

Must be at least 0. Example: 9

price_large   number  optional    

Must be at least 0. Example: 52

requires_deposit   boolean  optional    

Example: true

deposit_amount   number  optional    

This field is required when requires_deposit is true. Must be at least 0. Example: 8

service_location_types   string[]  optional    
Must be one of:
  • in_studio
  • home_service
availability_days   integer[]  optional    

Must be between 0 and 6.

availability_schedule   object[]  optional    

Must not have more than 7 items.

day   integer  optional    

This field is required when availability_schedule is present. Must be between 0 and 6. Example: 0

enabled   boolean  optional    

Example: true

start_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

end_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

auto_confirm_bookings   boolean  optional    

Example: true

is_active   boolean  optional    

Example: false

photos   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

travel_settings   object  optional    
travel_radius   integer  optional    

Must be at least 1. Must not be greater than 500. Example: 14

travel_radius_unit   string  optional    

Example: miles

Must be one of:
  • miles
  • km
travel_fee_type   string  optional    

Example: tiered

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

Must be at least 0. Example: 87

travel_fee_tiers   object  optional    
home_service_enabled   boolean  optional    

Example: false

name   string     

Must not be greater than 255 characters. Example: a

duration_minutes   integer     

Must be at least 5. Example: 75

GET api/v1/vendor/individual/services/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16"
);

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


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

Request      

GET api/v1/vendor/individual/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

PUT api/v1/vendor/individual/services/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Eius et animi quos velit et."\
    --form "category=v"\
    --form "price=42"\
    --form "price_small=37"\
    --form "price_medium=9"\
    --form "price_large=52"\
    --form "requires_deposit=1"\
    --form "deposit_amount=8"\
    --form "service_location_types[]=in_studio"\
    --form "availability_days[]=0"\
    --form "auto_confirm_bookings="\
    --form "is_active=1"\
    --form "travel_settings[travel_radius]=14"\
    --form "travel_settings[travel_radius_unit]=miles"\
    --form "travel_settings[travel_fee_type]=free_within_radius"\
    --form "travel_settings[travel_fee_amount]=87"\
    --form "travel_settings[home_service_enabled]="\
    --form "name=a"\
    --form "duration_minutes=75"\
    --form "remove_photo_ids[]=16"\
    --form "availability_schedule[][day]=1"\
    --form "availability_schedule[][enabled]=1"\
    --form "availability_schedule[][start_time]=08:51"\
    --form "availability_schedule[][end_time]=08:51"\
    --form "photos[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpq3ij0crndsjo38pRcjs" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16"
);

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

const body = new FormData();
body.append('description', 'Eius et animi quos velit et.');
body.append('category', 'v');
body.append('price', '42');
body.append('price_small', '37');
body.append('price_medium', '9');
body.append('price_large', '52');
body.append('requires_deposit', '1');
body.append('deposit_amount', '8');
body.append('service_location_types[]', 'in_studio');
body.append('availability_days[]', '0');
body.append('auto_confirm_bookings', '');
body.append('is_active', '1');
body.append('travel_settings[travel_radius]', '14');
body.append('travel_settings[travel_radius_unit]', 'miles');
body.append('travel_settings[travel_fee_type]', 'free_within_radius');
body.append('travel_settings[travel_fee_amount]', '87');
body.append('travel_settings[home_service_enabled]', '');
body.append('name', 'a');
body.append('duration_minutes', '75');
body.append('remove_photo_ids[]', '16');
body.append('availability_schedule[][day]', '1');
body.append('availability_schedule[][enabled]', '1');
body.append('availability_schedule[][start_time]', '08:51');
body.append('availability_schedule[][end_time]', '08:51');
body.append('photos[]', document.querySelector('input[name="photos[]"]').files[0]);

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

Request      

PUT api/v1/vendor/individual/services/{id}

PATCH api/v1/vendor/individual/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

Body Parameters

description   string  optional    

Must not be greater than 500 characters. Example: Eius et animi quos velit et.

category   string  optional    

Must not be greater than 100 characters. Example: v

price   number  optional    

Must be at least 0. Example: 42

price_small   number  optional    

Must be at least 0. Example: 37

price_medium   number  optional    

Must be at least 0. Example: 9

price_large   number  optional    

Must be at least 0. Example: 52

requires_deposit   boolean  optional    

Example: true

deposit_amount   number  optional    

This field is required when requires_deposit is true. Must be at least 0. Example: 8

service_location_types   string[]  optional    
Must be one of:
  • in_studio
  • home_service
availability_days   integer[]  optional    

Must be between 0 and 6.

availability_schedule   object[]  optional    

Must not have more than 7 items.

day   integer  optional    

This field is required when availability_schedule is present. Must be between 0 and 6. Example: 1

enabled   boolean  optional    

Example: true

start_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

end_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

auto_confirm_bookings   boolean  optional    

Example: false

is_active   boolean  optional    

Example: true

photos   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

travel_settings   object  optional    
travel_radius   integer  optional    

Must be at least 1. Must not be greater than 500. Example: 14

travel_radius_unit   string  optional    

Example: miles

Must be one of:
  • miles
  • km
travel_fee_type   string  optional    

Example: free_within_radius

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

Must be at least 0. Example: 87

travel_fee_tiers   object  optional    
home_service_enabled   boolean  optional    

Example: false

name   string  optional    

Must not be greater than 255 characters. Example: a

duration_minutes   integer  optional    

Must be at least 5. Example: 75

remove_photo_ids   integer[]  optional    

Must match an existing stored value.

DELETE api/v1/vendor/individual/services/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16"
);

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


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

Request      

DELETE api/v1/vendor/individual/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

PATCH api/v1/vendor/individual/services/{service_id}/deactivate

requires authentication

Example request:
curl --request PATCH \
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16/deactivate" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16/deactivate"
);

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


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

Request      

PATCH api/v1/vendor/individual/services/{service_id}/deactivate

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_id   integer     

The ID of the service. Example: 16

GET api/v1/vendor/individual/availability

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability"
);

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


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

Request      

GET api/v1/vendor/individual/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/individual/availability

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"day_of_week\": 1,
    \"start_time\": \"08:51\",
    \"end_time\": \"2052-07-19\",
    \"is_recurring\": false,
    \"specific_date\": \"2026-06-26T08:51:34\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability"
);

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

let body = {
    "day_of_week": 1,
    "start_time": "08:51",
    "end_time": "2052-07-19",
    "is_recurring": false,
    "specific_date": "2026-06-26T08:51:34"
};

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

Request      

POST api/v1/vendor/individual/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

day_of_week   integer  optional    

Must be between 0 and 6. Example: 1

start_time   string     

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

end_time   string     

Must be a valid date in the format H:i. Must be a date after start_time. Example: 2052-07-19

is_recurring   boolean  optional    

Example: false

specific_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

PUT api/v1/vendor/individual/availability/{slot_id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"day_of_week\": 1,
    \"start_time\": \"08:51\",
    \"end_time\": \"08:51\",
    \"is_recurring\": false,
    \"specific_date\": \"2026-06-26T08:51:34\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability/16"
);

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

let body = {
    "day_of_week": 1,
    "start_time": "08:51",
    "end_time": "08:51",
    "is_recurring": false,
    "specific_date": "2026-06-26T08:51:34"
};

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

Request      

PUT api/v1/vendor/individual/availability/{slot_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slot_id   integer     

The ID of the slot. Example: 16

Body Parameters

day_of_week   integer  optional    

Must be between 0 and 6. Example: 1

start_time   string  optional    

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

end_time   string  optional    

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

is_recurring   boolean  optional    

Example: false

specific_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

DELETE api/v1/vendor/individual/availability/{slot_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/availability/16"
);

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


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

Request      

DELETE api/v1/vendor/individual/availability/{slot_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slot_id   integer     

The ID of the slot. Example: 16

PUT api/v1/vendor/individual/booking-settings

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/booking-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"auto_confirm_bookings\": true,
    \"home_service_enabled\": false
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/booking-settings"
);

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

let body = {
    "auto_confirm_bookings": true,
    "home_service_enabled": false
};

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

Request      

PUT api/v1/vendor/individual/booking-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

auto_confirm_bookings   boolean  optional    

Example: true

home_service_enabled   boolean  optional    

Example: false

GET api/v1/vendor/individual/travel-settings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/travel-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/travel-settings"
);

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


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

Request      

GET api/v1/vendor/individual/travel-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/individual/travel-settings

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/travel-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"travel_radius\": 1,
    \"travel_radius_unit\": \"km\",
    \"travel_fee_type\": \"free_within_radius\",
    \"travel_fee_amount\": 39,
    \"home_service_enabled\": true
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/travel-settings"
);

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

let body = {
    "travel_radius": 1,
    "travel_radius_unit": "km",
    "travel_fee_type": "free_within_radius",
    "travel_fee_amount": 39,
    "home_service_enabled": true
};

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

Request      

PUT api/v1/vendor/individual/travel-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

travel_radius   integer  optional    

Must be at least 1. Must not be greater than 500. Example: 1

travel_radius_unit   string  optional    

Example: km

Must be one of:
  • miles
  • km
travel_fee_type   string  optional    

Example: free_within_radius

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

Must be at least 0. Example: 39

travel_fee_tiers   object  optional    
home_service_enabled   boolean  optional    

Example: true

GET api/v1/vendor/individual/bookings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/bookings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings"
);

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


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

Request      

GET api/v1/vendor/individual/bookings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/bookings/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16"
);

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


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

Request      

GET api/v1/vendor/individual/bookings/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the booking. Example: 16

POST api/v1/vendor/individual/bookings/{booking_id}/accept

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/accept" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/accept"
);

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


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

Request      

POST api/v1/vendor/individual/bookings/{booking_id}/accept

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

POST api/v1/vendor/individual/bookings/{booking_id}/reject

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/reject" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/reject"
);

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


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

Request      

POST api/v1/vendor/individual/bookings/{booking_id}/reject

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

POST api/v1/vendor/individual/bookings/{booking_id}/complete

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/complete" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/bookings/16/complete"
);

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


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

Request      

POST api/v1/vendor/individual/bookings/{booking_id}/complete

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

GET api/v1/vendor/individual/verification

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/verification" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/verification"
);

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


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

Request      

GET api/v1/vendor/individual/verification

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/wallet

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/wallet" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet"
);

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


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

Request      

GET api/v1/vendor/individual/wallet

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/wallet/transactions

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/transactions" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/transactions"
);

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


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

Request      

GET api/v1/vendor/individual/wallet/transactions

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/individual/wallet/withdraw

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/withdraw" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 16
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/withdraw"
);

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

let body = {
    "amount": 16
};

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

Request      

POST api/v1/vendor/individual/wallet/withdraw

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

amount   number     

Must be at least 1. Example: 16

GET api/v1/vendor/individual/reviews

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/reviews" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/reviews"
);

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


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

Request      

GET api/v1/vendor/individual/reviews

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/individual/reviews/{review_id}/respond

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/reviews/16/respond" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"response\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/reviews/16/respond"
);

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

let body = {
    "response": "b"
};

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

Request      

POST api/v1/vendor/individual/reviews/{review_id}/respond

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

review_id   integer     

The ID of the review. Example: 16

Body Parameters

response   string     

Must not be greater than 500 characters. Example: b

GET api/v1/vendor/individual/profile

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/profile"
);

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


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

Request      

GET api/v1/vendor/individual/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/individual/profile

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"display_name\": \"b\",
    \"bio\": \"n\",
    \"phone\": \"g\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/profile"
);

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

let body = {
    "display_name": "b",
    "bio": "n",
    "phone": "g"
};

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

Request      

PUT api/v1/vendor/individual/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

display_name   string  optional    

Must not be greater than 255 characters. Example: b

bio   string  optional    

Must not be greater than 300 characters. Example: n

phone   string  optional    

Must not be greater than 30 characters. Example: g

GET api/v1/vendor/individual/profile/share

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/profile/share" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/profile/share"
);

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


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

Request      

GET api/v1/vendor/individual/profile/share

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/individual/calendar/blocked-days

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days"
);

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


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

Request      

GET api/v1/vendor/individual/calendar/blocked-days

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/individual/calendar/blocked-days

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"date\": \"2026-06-26T08:51:34\",
    \"reason\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days"
);

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

let body = {
    "date": "2026-06-26T08:51:34",
    "reason": "b"
};

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

Request      

POST api/v1/vendor/individual/calendar/blocked-days

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

date   string     

Must be a valid date. Example: 2026-06-26T08:51:34

reason   string  optional    

Must not be greater than 255 characters. Example: b

DELETE api/v1/vendor/individual/calendar/blocked-days/{blockedDay_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/calendar/blocked-days/16"
);

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


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

Request      

DELETE api/v1/vendor/individual/calendar/blocked-days/{blockedDay_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blockedDay_id   integer     

The ID of the blockedDay. Example: 16

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16/booking-link" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/services/16/booking-link"
);

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


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

GET api/v1/vendor/individual/wallet/payout-schedule

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/payout-schedule" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/payout-schedule"
);

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


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

Request      

GET api/v1/vendor/individual/wallet/payout-schedule

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/individual/wallet/payout-schedule

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/payout-schedule" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"frequency\": \"daily\",
    \"minimum_threshold\": 27
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/individual/wallet/payout-schedule"
);

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

let body = {
    "frequency": "daily",
    "minimum_threshold": 27
};

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

Request      

PUT api/v1/vendor/individual/wallet/payout-schedule

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

frequency   string  optional    

Example: daily

Must be one of:
  • daily
  • weekly
  • manual
minimum_threshold   number  optional    

Must be at least 0. Example: 27

Vendor — Business

POST api/v1/vendor/business/onboarding/location

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/location" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"city\": \"b\",
    \"postcode\": \"ngzmiyvdljnikhwa\",
    \"address_line\": \"y\",
    \"service_location_type\": \"both\",
    \"latitude\": -90,
    \"longitude\": -180
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/location"
);

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

let body = {
    "city": "b",
    "postcode": "ngzmiyvdljnikhwa",
    "address_line": "y",
    "service_location_type": "both",
    "latitude": -90,
    "longitude": -180
};

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

Request      

POST api/v1/vendor/business/onboarding/location

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

city   string     

Must not be greater than 100 characters. Example: b

postcode   string     

Must not be greater than 20 characters. Example: ngzmiyvdljnikhwa

address_line   string     

Must not be greater than 255 characters. Example: y

service_location_type   string     

Example: both

Must be one of:
  • in_studio_only
  • home_service_only
  • both
latitude   number  optional    

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

longitude   number  optional    

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

POST api/v1/vendor/business/onboarding/travel-settings

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/travel-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"travel_radius\": 1,
    \"travel_radius_unit\": \"miles\",
    \"travel_fee_type\": \"tiered\",
    \"travel_fee_amount\": 39,
    \"travel_fee_tiers\": [
        {
            \"max_miles\": 67,
            \"fee\": 12
        }
    ]
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/travel-settings"
);

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

let body = {
    "travel_radius": 1,
    "travel_radius_unit": "miles",
    "travel_fee_type": "tiered",
    "travel_fee_amount": 39,
    "travel_fee_tiers": [
        {
            "max_miles": 67,
            "fee": 12
        }
    ]
};

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

Request      

POST api/v1/vendor/business/onboarding/travel-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

travel_radius   integer     

Must be at least 1. Must not be greater than 500. Example: 1

travel_radius_unit   string     

Example: miles

Must be one of:
  • miles
  • km
travel_fee_type   string     

Example: tiered

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

This field is required when travel_fee_type is flat_fee. Must be at least 0. Example: 39

travel_fee_tiers   object[]  optional    

This field is required when travel_fee_type is tiered.

max_miles   integer  optional    

This field is required when travel_fee_tiers is present. Must be at least 1. Example: 67

fee   number  optional    

This field is required when travel_fee_tiers is present. Must be at least 0. Example: 12

POST api/v1/vendor/business/onboarding/verification/identity

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/verification/identity" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "document_type=passport"\
    --form "id_number=b"\
    --form "expiry_date=2052-07-19"\
    --form "document=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpoc7h1trmdbld8QTJkVX" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/verification/identity"
);

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

const body = new FormData();
body.append('document_type', 'passport');
body.append('id_number', 'b');
body.append('expiry_date', '2052-07-19');
body.append('document', document.querySelector('input[name="document"]').files[0]);

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

Request      

POST api/v1/vendor/business/onboarding/verification/identity

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

document_type   string     

Example: passport

Must be one of:
  • passport
  • driving_licence
id_number   string     

Must not be greater than 50 characters. Example: b

expiry_date   string     

Must be a valid date. Must be a date after today. Example: 2052-07-19

document   file     

Must be a file. Must not be greater than 5120 kilobytes. Example: /private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpoc7h1trmdbld8QTJkVX

POST api/v1/vendor/business/onboarding/verification/dbs

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/verification/dbs" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "has_dbs="\
    --form "certificate_number=b"\
    --form "dbs_type=basic"\
    --form "issue_date=2022-07-20"\
    --form "document=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpmkele7iq622p2w5u8mb" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/verification/dbs"
);

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

const body = new FormData();
body.append('has_dbs', '');
body.append('certificate_number', 'b');
body.append('dbs_type', 'basic');
body.append('issue_date', '2022-07-20');
body.append('document', document.querySelector('input[name="document"]').files[0]);

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

Request      

POST api/v1/vendor/business/onboarding/verification/dbs

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

has_dbs   boolean     

Example: false

certificate_number   string  optional    

Must not be greater than 50 characters. Example: b

dbs_type   string  optional    

Example: basic

Must be one of:
  • basic
  • standard
  • enhanced
issue_date   string  optional    

Must be a valid date. Must be a date before or equal to today. Example: 2022-07-20

document   file  optional    

Must be a file. Must not be greater than 5120 kilobytes. Example: /private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/phpmkele7iq622p2w5u8mb

POST api/v1/vendor/business/onboarding/profile

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "bio=b"\
    --form "years_of_experience=22"\
    --form "specialties[]=g"\
    --form "photo=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/php9euld28g04j1aWqY6t5" \
    --form "portfolio[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/php2jh8ujgd12ec4WBYV9J" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/profile"
);

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

const body = new FormData();
body.append('bio', 'b');
body.append('years_of_experience', '22');
body.append('specialties[]', 'g');
body.append('photo', document.querySelector('input[name="photo"]').files[0]);
body.append('portfolio[]', document.querySelector('input[name="portfolio[]"]').files[0]);

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

Request      

POST api/v1/vendor/business/onboarding/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

photo   file     

Must be an image. Must not be greater than 5120 kilobytes. Example: /private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/php9euld28g04j1aWqY6t5

bio   string     

Must not be greater than 300 characters. Example: b

years_of_experience   integer     

Must be at least 0. Must not be greater than 60. Example: 22

specialties   string[]  optional    

Must not be greater than 100 characters.

portfolio   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

POST api/v1/vendor/business/onboarding/financial

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/financial" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stripe_account_id\": \"b\",
    \"transaction_pin\": \"569775\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/financial"
);

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

let body = {
    "stripe_account_id": "b",
    "transaction_pin": "569775"
};

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

Request      

POST api/v1/vendor/business/onboarding/financial

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

stripe_account_id   string     

Must match the regex /^acct_[a-zA-Z0-9]+$/. Must not be greater than 255 characters. Example: b

transaction_pin   string     

Must be 6 digits. Example: 569775

GET api/v1/vendor/business/onboarding/status

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/status" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/onboarding/status"
);

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


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

Request      

GET api/v1/vendor/business/onboarding/status

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/dashboard/overview

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/dashboard/overview" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/dashboard/overview"
);

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


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

Request      

GET api/v1/vendor/business/dashboard/overview

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/staff

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/staff" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff"
);

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


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

Request      

GET api/v1/vendor/business/staff

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/staff

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/staff" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"phone\": \"n\",
    \"email\": \"[email protected]\",
    \"bio\": \"v\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff"
);

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

let body = {
    "name": "b",
    "phone": "n",
    "email": "[email protected]",
    "bio": "v"
};

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

Request      

POST api/v1/vendor/business/staff

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

phone   string     

Must not be greater than 30 characters. Example: n

email   string  optional    

Must be a valid email address. Example: [email protected]

bio   string  optional    

Must not be greater than 500 characters. Example: v

GET api/v1/vendor/business/staff/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/staff/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16"
);

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


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

Request      

GET api/v1/vendor/business/staff/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the staff. Example: 16

PUT api/v1/vendor/business/staff/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"phone\": \"n\",
    \"email\": \"[email protected]\",
    \"bio\": \"v\",
    \"is_active\": false
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16"
);

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

let body = {
    "name": "b",
    "phone": "n",
    "email": "[email protected]",
    "bio": "v",
    "is_active": false
};

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

Request      

PUT api/v1/vendor/business/staff/{id}

PATCH api/v1/vendor/business/staff/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the staff. Example: 16

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

phone   string  optional    

Must not be greater than 30 characters. Example: n

email   string  optional    

Must be a valid email address. Example: [email protected]

bio   string  optional    

Must not be greater than 500 characters. Example: v

is_active   boolean  optional    

Example: false

DELETE api/v1/vendor/business/staff/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16"
);

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


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

Request      

DELETE api/v1/vendor/business/staff/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the staff. Example: 16

POST api/v1/vendor/business/staff/{staff_id}/services

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/services" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"service_ids\": [
        16
    ]
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/services"
);

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

let body = {
    "service_ids": [
        16
    ]
};

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

Request      

POST api/v1/vendor/business/staff/{staff_id}/services

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

staff_id   integer     

The ID of the staff. Example: 16

Body Parameters

service_ids   integer[]  optional    

Must match an existing stored value.

GET api/v1/vendor/business/staff/{staff_id}/availability

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/availability"
);

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


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

Request      

GET api/v1/vendor/business/staff/{staff_id}/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

staff_id   integer     

The ID of the staff. Example: 16

PUT api/v1/vendor/business/staff/{staff_id}/availability

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slots\": [
        {
            \"day_of_week\": 1,
            \"start_time\": \"08:51\",
            \"end_time\": \"08:51\"
        }
    ]
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/availability"
);

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

let body = {
    "slots": [
        {
            "day_of_week": 1,
            "start_time": "08:51",
            "end_time": "08:51"
        }
    ]
};

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

Request      

PUT api/v1/vendor/business/staff/{staff_id}/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

staff_id   integer     

The ID of the staff. Example: 16

Body Parameters

slots   object[]     
day_of_week   integer     

Must be between 0 and 6. Example: 1

start_time   string     

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

end_time   string     

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

GET api/v1/vendor/business/staff/{staff_id}/performance

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/performance" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/performance"
);

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


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

Request      

GET api/v1/vendor/business/staff/{staff_id}/performance

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

staff_id   integer     

The ID of the staff. Example: 16

GET api/v1/vendor/business/services

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/services" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services"
);

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


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

Request      

GET api/v1/vendor/business/services

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/services

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/services" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Eius et animi quos velit et."\
    --form "category=v"\
    --form "price=42"\
    --form "price_small=37"\
    --form "price_medium=9"\
    --form "price_large=52"\
    --form "requires_deposit="\
    --form "deposit_amount=8"\
    --form "service_location_types[]=in_studio"\
    --form "availability_days[]=0"\
    --form "auto_confirm_bookings="\
    --form "is_active=1"\
    --form "travel_settings[travel_radius]=14"\
    --form "travel_settings[travel_radius_unit]=miles"\
    --form "travel_settings[travel_fee_type]=free_within_radius"\
    --form "travel_settings[travel_fee_amount]=87"\
    --form "travel_settings[home_service_enabled]="\
    --form "name=a"\
    --form "duration_minutes=75"\
    --form "availability_schedule[][day]=0"\
    --form "availability_schedule[][enabled]="\
    --form "availability_schedule[][start_time]=08:51"\
    --form "availability_schedule[][end_time]=08:51"\
    --form "photos[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/php9kn9jf4h70ev6hBpePz" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services"
);

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

const body = new FormData();
body.append('description', 'Eius et animi quos velit et.');
body.append('category', 'v');
body.append('price', '42');
body.append('price_small', '37');
body.append('price_medium', '9');
body.append('price_large', '52');
body.append('requires_deposit', '');
body.append('deposit_amount', '8');
body.append('service_location_types[]', 'in_studio');
body.append('availability_days[]', '0');
body.append('auto_confirm_bookings', '');
body.append('is_active', '1');
body.append('travel_settings[travel_radius]', '14');
body.append('travel_settings[travel_radius_unit]', 'miles');
body.append('travel_settings[travel_fee_type]', 'free_within_radius');
body.append('travel_settings[travel_fee_amount]', '87');
body.append('travel_settings[home_service_enabled]', '');
body.append('name', 'a');
body.append('duration_minutes', '75');
body.append('availability_schedule[][day]', '0');
body.append('availability_schedule[][enabled]', '');
body.append('availability_schedule[][start_time]', '08:51');
body.append('availability_schedule[][end_time]', '08:51');
body.append('photos[]', document.querySelector('input[name="photos[]"]').files[0]);

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

Request      

POST api/v1/vendor/business/services

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

description   string  optional    

Must not be greater than 500 characters. Example: Eius et animi quos velit et.

category   string  optional    

Must not be greater than 100 characters. Example: v

price   number  optional    

Must be at least 0. Example: 42

price_small   number  optional    

Must be at least 0. Example: 37

price_medium   number  optional    

Must be at least 0. Example: 9

price_large   number  optional    

Must be at least 0. Example: 52

requires_deposit   boolean  optional    

Example: false

deposit_amount   number  optional    

This field is required when requires_deposit is true. Must be at least 0. Example: 8

service_location_types   string[]  optional    
Must be one of:
  • in_studio
  • home_service
availability_days   integer[]  optional    

Must be between 0 and 6.

availability_schedule   object[]  optional    

Must not have more than 7 items.

day   integer  optional    

This field is required when availability_schedule is present. Must be between 0 and 6. Example: 0

enabled   boolean  optional    

Example: false

start_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

end_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

auto_confirm_bookings   boolean  optional    

Example: false

is_active   boolean  optional    

Example: true

photos   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

travel_settings   object  optional    
travel_radius   integer  optional    

Must be at least 1. Must not be greater than 500. Example: 14

travel_radius_unit   string  optional    

Example: miles

Must be one of:
  • miles
  • km
travel_fee_type   string  optional    

Example: free_within_radius

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

Must be at least 0. Example: 87

travel_fee_tiers   object  optional    
home_service_enabled   boolean  optional    

Example: false

name   string     

Must not be greater than 255 characters. Example: a

duration_minutes   integer     

Must be at least 5. Example: 75

GET api/v1/vendor/business/services/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16"
);

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


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

Request      

GET api/v1/vendor/business/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

PUT api/v1/vendor/business/services/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Eius et animi quos velit et."\
    --form "category=v"\
    --form "price=42"\
    --form "price_small=37"\
    --form "price_medium=9"\
    --form "price_large=52"\
    --form "requires_deposit=1"\
    --form "deposit_amount=8"\
    --form "service_location_types[]=in_studio"\
    --form "availability_days[]=0"\
    --form "auto_confirm_bookings=1"\
    --form "is_active="\
    --form "travel_settings[travel_radius]=14"\
    --form "travel_settings[travel_radius_unit]=km"\
    --form "travel_settings[travel_fee_type]=free_within_radius"\
    --form "travel_settings[travel_fee_amount]=87"\
    --form "travel_settings[home_service_enabled]="\
    --form "name=a"\
    --form "duration_minutes=75"\
    --form "remove_photo_ids[]=16"\
    --form "availability_schedule[][day]=1"\
    --form "availability_schedule[][enabled]="\
    --form "availability_schedule[][start_time]=08:51"\
    --form "availability_schedule[][end_time]=08:51"\
    --form "photos[]=@/private/var/folders/26/k7gyxj9s2j976f6nb1z5dnl80000gn/T/php15g5if1nmn3p0oduvPc" 
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16"
);

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

const body = new FormData();
body.append('description', 'Eius et animi quos velit et.');
body.append('category', 'v');
body.append('price', '42');
body.append('price_small', '37');
body.append('price_medium', '9');
body.append('price_large', '52');
body.append('requires_deposit', '1');
body.append('deposit_amount', '8');
body.append('service_location_types[]', 'in_studio');
body.append('availability_days[]', '0');
body.append('auto_confirm_bookings', '1');
body.append('is_active', '');
body.append('travel_settings[travel_radius]', '14');
body.append('travel_settings[travel_radius_unit]', 'km');
body.append('travel_settings[travel_fee_type]', 'free_within_radius');
body.append('travel_settings[travel_fee_amount]', '87');
body.append('travel_settings[home_service_enabled]', '');
body.append('name', 'a');
body.append('duration_minutes', '75');
body.append('remove_photo_ids[]', '16');
body.append('availability_schedule[][day]', '1');
body.append('availability_schedule[][enabled]', '');
body.append('availability_schedule[][start_time]', '08:51');
body.append('availability_schedule[][end_time]', '08:51');
body.append('photos[]', document.querySelector('input[name="photos[]"]').files[0]);

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

Request      

PUT api/v1/vendor/business/services/{id}

PATCH api/v1/vendor/business/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

Body Parameters

description   string  optional    

Must not be greater than 500 characters. Example: Eius et animi quos velit et.

category   string  optional    

Must not be greater than 100 characters. Example: v

price   number  optional    

Must be at least 0. Example: 42

price_small   number  optional    

Must be at least 0. Example: 37

price_medium   number  optional    

Must be at least 0. Example: 9

price_large   number  optional    

Must be at least 0. Example: 52

requires_deposit   boolean  optional    

Example: true

deposit_amount   number  optional    

This field is required when requires_deposit is true. Must be at least 0. Example: 8

service_location_types   string[]  optional    
Must be one of:
  • in_studio
  • home_service
availability_days   integer[]  optional    

Must be between 0 and 6.

availability_schedule   object[]  optional    

Must not have more than 7 items.

day   integer  optional    

This field is required when availability_schedule is present. Must be between 0 and 6. Example: 1

enabled   boolean  optional    

Example: false

start_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

end_time   string  optional    

This field is required when availability_schedule is present. Must be a valid date in the format H:i. Example: 08:51

auto_confirm_bookings   boolean  optional    

Example: true

is_active   boolean  optional    

Example: false

photos   file[]  optional    

Must be an image. Must not be greater than 5120 kilobytes.

travel_settings   object  optional    
travel_radius   integer  optional    

Must be at least 1. Must not be greater than 500. Example: 14

travel_radius_unit   string  optional    

Example: km

Must be one of:
  • miles
  • km
travel_fee_type   string  optional    

Example: free_within_radius

Must be one of:
  • free_within_radius
  • flat_fee
  • tiered
travel_fee_amount   number  optional    

Must be at least 0. Example: 87

travel_fee_tiers   object  optional    
home_service_enabled   boolean  optional    

Example: false

name   string  optional    

Must not be greater than 255 characters. Example: a

duration_minutes   integer  optional    

Must be at least 5. Example: 75

remove_photo_ids   integer[]  optional    

Must match an existing stored value.

DELETE api/v1/vendor/business/services/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16"
);

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


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

Request      

DELETE api/v1/vendor/business/services/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the service. Example: 16

PATCH api/v1/vendor/business/services/{service_id}/deactivate

requires authentication

Example request:
curl --request PATCH \
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16/deactivate" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16/deactivate"
);

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


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

Request      

PATCH api/v1/vendor/business/services/{service_id}/deactivate

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_id   integer     

The ID of the service. Example: 16

GET api/v1/vendor/business/availability

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/availability"
);

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


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

Request      

GET api/v1/vendor/business/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/availability

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"day_of_week\": 1,
    \"start_time\": \"08:51\",
    \"end_time\": \"2052-07-19\",
    \"is_recurring\": false,
    \"specific_date\": \"2026-06-26T08:51:34\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/availability"
);

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

let body = {
    "day_of_week": 1,
    "start_time": "08:51",
    "end_time": "2052-07-19",
    "is_recurring": false,
    "specific_date": "2026-06-26T08:51:34"
};

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

Request      

POST api/v1/vendor/business/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

day_of_week   integer  optional    

Must be between 0 and 6. Example: 1

start_time   string     

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

end_time   string     

Must be a valid date in the format H:i. Must be a date after start_time. Example: 2052-07-19

is_recurring   boolean  optional    

Example: false

specific_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

PUT api/v1/vendor/business/availability/{slot_id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/availability/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"day_of_week\": 1,
    \"start_time\": \"08:51\",
    \"end_time\": \"08:51\",
    \"is_recurring\": false,
    \"specific_date\": \"2026-06-26T08:51:34\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/availability/16"
);

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

let body = {
    "day_of_week": 1,
    "start_time": "08:51",
    "end_time": "08:51",
    "is_recurring": false,
    "specific_date": "2026-06-26T08:51:34"
};

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

Request      

PUT api/v1/vendor/business/availability/{slot_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slot_id   integer     

The ID of the slot. Example: 16

Body Parameters

day_of_week   integer  optional    

Must be between 0 and 6. Example: 1

start_time   string  optional    

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

end_time   string  optional    

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

is_recurring   boolean  optional    

Example: false

specific_date   string  optional    

Must be a valid date. Example: 2026-06-26T08:51:34

DELETE api/v1/vendor/business/availability/{slot_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/business/availability/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/availability/16"
);

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


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

Request      

DELETE api/v1/vendor/business/availability/{slot_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slot_id   integer     

The ID of the slot. Example: 16

PUT api/v1/vendor/business/booking-settings

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/booking-settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"auto_confirm_bookings\": false,
    \"home_service_enabled\": false
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/booking-settings"
);

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

let body = {
    "auto_confirm_bookings": false,
    "home_service_enabled": false
};

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

Request      

PUT api/v1/vendor/business/booking-settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

auto_confirm_bookings   boolean  optional    

Example: false

home_service_enabled   boolean  optional    

Example: false

GET api/v1/vendor/business/bookings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/bookings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/bookings"
);

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


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

Request      

GET api/v1/vendor/business/bookings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/bookings/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/bookings/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/bookings/16"
);

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


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

Request      

GET api/v1/vendor/business/bookings/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the booking. Example: 16

POST api/v1/vendor/business/bookings/{booking_id}/assign-staff

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/bookings/16/assign-staff" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"staff_id\": 16
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/bookings/16/assign-staff"
);

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

let body = {
    "staff_id": 16
};

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

Request      

POST api/v1/vendor/business/bookings/{booking_id}/assign-staff

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

booking_id   integer     

The ID of the booking. Example: 16

Body Parameters

staff_id   integer     

Must match an existing stored value. Example: 16

POST api/v1/vendor/business/codes/verify

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/codes/verify" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/codes/verify"
);

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

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

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

Request      

POST api/v1/vendor/business/codes/verify

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Example: architecto

GET api/v1/vendor/business/codes/logs

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/codes/logs" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/codes/logs"
);

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


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

Request      

GET api/v1/vendor/business/codes/logs

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/reviews

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/reviews" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/reviews"
);

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


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

Request      

GET api/v1/vendor/business/reviews

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/reviews/{review_id}/respond

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/reviews/16/respond" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"response\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/reviews/16/respond"
);

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

let body = {
    "response": "b"
};

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

Request      

POST api/v1/vendor/business/reviews/{review_id}/respond

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

review_id   integer     

The ID of the review. Example: 16

Body Parameters

response   string     

Must not be greater than 500 characters. Example: b

GET api/v1/vendor/business/wallet

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/wallet" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet"
);

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


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

Request      

GET api/v1/vendor/business/wallet

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/wallet/transactions

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/wallet/transactions" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/transactions"
);

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


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

Request      

GET api/v1/vendor/business/wallet/transactions

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/wallet/withdraw

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/withdraw" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 16
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/withdraw"
);

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

let body = {
    "amount": 16
};

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

Request      

POST api/v1/vendor/business/wallet/withdraw

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

amount   number     

Must be at least 1. Example: 16

GET api/v1/vendor/business/settings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/settings"
);

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


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

Request      

GET api/v1/vendor/business/settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/business/settings

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/settings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"business_name\": \"b\",
    \"display_name\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"service_location_type\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/settings"
);

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

let body = {
    "business_name": "b",
    "display_name": "n",
    "description": "Eius et animi quos velit et.",
    "service_location_type": "architecto"
};

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

Request      

PUT api/v1/vendor/business/settings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

business_name   string  optional    

Must not be greater than 255 characters. Example: b

display_name   string  optional    

Must not be greater than 255 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

service_location_type   string  optional    

Example: architecto

PUT api/v1/vendor/business/policies

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/policies" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"cancellation_policy\": \"architecto\",
    \"late_policy\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/policies"
);

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

let body = {
    "cancellation_policy": "architecto",
    "late_policy": "architecto"
};

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

Request      

PUT api/v1/vendor/business/policies

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

cancellation_policy   string  optional    

Example: architecto

late_policy   string  optional    

Example: architecto

GET api/v1/vendor/business/profile/share

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/profile/share" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/profile/share"
);

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


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

Request      

GET api/v1/vendor/business/profile/share

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/business/calendar/blocked-days

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days"
);

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


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

Request      

GET api/v1/vendor/business/calendar/blocked-days

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/business/calendar/blocked-days

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"date\": \"2026-06-26T08:51:34\",
    \"reason\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days"
);

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

let body = {
    "date": "2026-06-26T08:51:34",
    "reason": "b"
};

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

Request      

POST api/v1/vendor/business/calendar/blocked-days

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

date   string     

Must be a valid date. Example: 2026-06-26T08:51:34

reason   string  optional    

Must not be greater than 255 characters. Example: b

DELETE api/v1/vendor/business/calendar/blocked-days/{blockedDay_id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/calendar/blocked-days/16"
);

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


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

Request      

DELETE api/v1/vendor/business/calendar/blocked-days/{blockedDay_id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blockedDay_id   integer     

The ID of the blockedDay. Example: 16

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16/booking-link" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/services/16/booking-link"
);

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


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

GET api/v1/vendor/business/wallet/payout-schedule

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/wallet/payout-schedule" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/payout-schedule"
);

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


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

Request      

GET api/v1/vendor/business/wallet/payout-schedule

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/business/wallet/payout-schedule

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/payout-schedule" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"frequency\": \"weekly\",
    \"minimum_threshold\": 27
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/wallet/payout-schedule"
);

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

let body = {
    "frequency": "weekly",
    "minimum_threshold": 27
};

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

Request      

PUT api/v1/vendor/business/wallet/payout-schedule

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

frequency   string  optional    

Example: weekly

Must be one of:
  • daily
  • weekly
  • manual
minimum_threshold   number  optional    

Must be at least 0. Example: 27

GET api/v1/vendor/business/staff/{staff_id}/activity-log

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/activity-log" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/business/staff/16/activity-log"
);

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


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

Request      

GET api/v1/vendor/business/staff/{staff_id}/activity-log

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

staff_id   integer     

The ID of the staff. Example: 16

Vendor — Shop

POST api/v1/vendor/shop/activate

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/shop/activate" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/activate"
);

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


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

Request      

POST api/v1/vendor/shop/activate

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/shop/deactivate

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/shop/deactivate" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/deactivate"
);

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


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

Request      

POST api/v1/vendor/shop/deactivate

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/shop/products

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/products" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products"
);

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


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

Request      

GET api/v1/vendor/shop/products

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/shop/products

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/shop/products" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"category\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"price\": 60,
    \"stock_quantity\": 42,
    \"shipping_fee\": 37
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products"
);

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

let body = {
    "name": "b",
    "category": "n",
    "description": "Eius et animi quos velit et.",
    "price": 60,
    "stock_quantity": 42,
    "shipping_fee": 37
};

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

Request      

POST api/v1/vendor/shop/products

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

category   string  optional    

Must not be greater than 100 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

price   number     

Must be at least 0. Example: 60

stock_quantity   integer  optional    

Must be at least 0. Example: 42

shipping_fee   number  optional    

Must be at least 0. Example: 37

GET api/v1/vendor/shop/products/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/products/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16"
);

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


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

Request      

GET api/v1/vendor/shop/products/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

PUT api/v1/vendor/shop/products/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"category\": \"n\",
    \"description\": \"Eius et animi quos velit et.\",
    \"price\": 60,
    \"shipping_fee\": 42,
    \"is_active\": true
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16"
);

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

let body = {
    "name": "b",
    "category": "n",
    "description": "Eius et animi quos velit et.",
    "price": 60,
    "shipping_fee": 42,
    "is_active": true
};

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

Request      

PUT api/v1/vendor/shop/products/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

category   string  optional    

Must not be greater than 100 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

price   number  optional    

Must be at least 0. Example: 60

shipping_fee   number  optional    

Must be at least 0. Example: 42

is_active   boolean  optional    

Example: true

DELETE api/v1/vendor/shop/products/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16"
);

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


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

Request      

DELETE api/v1/vendor/shop/products/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the product. Example: 16

PUT api/v1/vendor/shop/products/{product_id}/stock

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16/stock" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stock_quantity\": 27
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/products/16/stock"
);

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

let body = {
    "stock_quantity": 27
};

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

Request      

PUT api/v1/vendor/shop/products/{product_id}/stock

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

product_id   integer     

The ID of the product. Example: 16

Body Parameters

stock_quantity   integer     

Must be at least 0. Example: 27

GET api/v1/vendor/shop/orders

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/orders" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/orders"
);

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


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

Request      

GET api/v1/vendor/shop/orders

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/shop/orders/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/orders/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/orders/16"
);

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


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

Request      

GET api/v1/vendor/shop/orders/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the order. Example: 16

PUT api/v1/vendor/shop/orders/{order_id}/status

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/shop/orders/16/status" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"processing\",
    \"tracking_number\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/orders/16/status"
);

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

let body = {
    "status": "processing",
    "tracking_number": "b"
};

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

Request      

PUT api/v1/vendor/shop/orders/{order_id}/status

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order_id   integer     

The ID of the order. Example: 16

Body Parameters

status   string     

Example: processing

Must be one of:
  • processing
  • shipped
  • delivered
  • cancelled
tracking_number   string  optional    

Must not be greater than 100 characters. Example: b

GET api/v1/vendor/shop/revenue

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/revenue" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/revenue"
);

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


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

Request      

GET api/v1/vendor/shop/revenue

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/shop/payouts

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop/payouts" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop/payouts"
);

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


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

Request      

GET api/v1/vendor/shop/payouts

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Vendor — Shared

GET api/v1/vendor/notifications

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/notifications" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/notifications"
);

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


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

Request      

GET api/v1/vendor/notifications

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/notifications/{notification_id}/read

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/notifications/16/read" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/notifications/16/read"
);

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


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

Request      

PUT api/v1/vendor/notifications/{notification_id}/read

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

notification_id   integer     

The ID of the notification. Example: 16

PUT api/v1/vendor/notifications/read-all

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/notifications/read-all" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/notifications/read-all"
);

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


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

Request      

PUT api/v1/vendor/notifications/read-all

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/notification-preferences

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/notification-preferences" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/notification-preferences"
);

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


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

Request      

GET api/v1/vendor/notification-preferences

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/vendor/notification-preferences

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/notification-preferences" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email_bookings\": true,
    \"email_reviews\": true,
    \"email_payouts\": false,
    \"email_shop_orders\": true,
    \"email_staff_activity\": true
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/notification-preferences"
);

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

let body = {
    "email_bookings": true,
    "email_reviews": true,
    "email_payouts": false,
    "email_shop_orders": true,
    "email_staff_activity": true
};

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

Request      

PUT api/v1/vendor/notification-preferences

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email_bookings   boolean  optional    

Example: true

email_reviews   boolean  optional    

Example: true

email_payouts   boolean  optional    

Example: false

email_shop_orders   boolean  optional    

Example: true

email_staff_activity   boolean  optional    

Example: true

GET api/v1/vendor/help

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/help" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/help"
);

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


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

Request      

GET api/v1/vendor/help

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/support/tickets

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/support/tickets" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"subject\": \"b\",
    \"message\": \"architecto\",
    \"category\": \"n\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/support/tickets"
);

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

let body = {
    "subject": "b",
    "message": "architecto",
    "category": "n"
};

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

Request      

POST api/v1/vendor/support/tickets

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

subject   string     

Must not be greater than 255 characters. Example: b

message   string     

Example: architecto

category   string  optional    

Must not be greater than 100 characters. Example: n

GET api/v1/vendor/security/sessions

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/security/sessions" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/security/sessions"
);

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


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

Request      

GET api/v1/vendor/security/sessions

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/vendor/shop

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/vendor/shop" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop"
);

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


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

Request      

GET api/v1/vendor/shop

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/v1/vendor/shop

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/vendor/shop" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"checkout_policy\": \"architecto\",
    \"order_cutoff_time\": \"08:51\",
    \"free_delivery_threshold\": 39
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "checkout_policy": "architecto",
    "order_cutoff_time": "08:51",
    "free_delivery_threshold": 39
};

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

Request      

POST api/v1/vendor/shop

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

checkout_policy   string  optional    

Example: architecto

order_cutoff_time   string  optional    

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

free_delivery_threshold   number  optional    

Must be at least 0. Example: 39

PUT api/v1/vendor/shop

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/vendor/shop" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"checkout_policy\": \"architecto\",
    \"return_policy\": \"architecto\",
    \"order_cutoff_time\": \"08:51\",
    \"free_delivery_threshold\": 39
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/vendor/shop"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "checkout_policy": "architecto",
    "return_policy": "architecto",
    "order_cutoff_time": "08:51",
    "free_delivery_threshold": 39
};

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

Request      

PUT api/v1/vendor/shop

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

checkout_policy   string  optional    

Example: architecto

return_policy   string  optional    

Example: architecto

order_cutoff_time   string  optional    

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

free_delivery_threshold   number  optional    

Must be at least 0. Example: 39

Staff

GET api/v1/staff/profile

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/staff/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/profile"
);

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


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

Request      

GET api/v1/staff/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/staff/profile

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/staff/profile" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"phone\": \"n\",
    \"bio\": \"g\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/profile"
);

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

let body = {
    "name": "b",
    "phone": "n",
    "bio": "g"
};

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

Request      

PUT api/v1/staff/profile

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

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 30 characters. Example: n

bio   string  optional    

Must not be greater than 500 characters. Example: g

GET api/v1/staff/availability

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/staff/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/availability"
);

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


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

Request      

GET api/v1/staff/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/staff/availability

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/staff/availability" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slots\": [
        {
            \"day_of_week\": 1,
            \"start_time\": \"08:51\",
            \"end_time\": \"08:51\"
        }
    ]
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/availability"
);

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

let body = {
    "slots": [
        {
            "day_of_week": 1,
            "start_time": "08:51",
            "end_time": "08:51"
        }
    ]
};

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

Request      

PUT api/v1/staff/availability

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

slots   object[]     
day_of_week   integer     

Must be between 0 and 6. Example: 1

start_time   string     

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

end_time   string     

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

POST api/v1/staff/calendar/blocked-days

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/staff/calendar/blocked-days" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"date\": \"2026-06-26T08:51:34\",
    \"reason\": \"b\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/calendar/blocked-days"
);

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

let body = {
    "date": "2026-06-26T08:51:34",
    "reason": "b"
};

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

Request      

POST api/v1/staff/calendar/blocked-days

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

date   string     

Must be a valid date. Example: 2026-06-26T08:51:34

reason   string  optional    

Must not be greater than 255 characters. Example: b

GET api/v1/staff/notification-preferences

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/staff/notification-preferences" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/notification-preferences"
);

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


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

Request      

GET api/v1/staff/notification-preferences

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/v1/staff/notification-preferences

requires authentication

Example request:
curl --request PUT \
    "https://dev.ravishapp.com/api/v1/staff/notification-preferences" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email_bookings\": false,
    \"email_reviews\": false,
    \"email_payouts\": true,
    \"email_shop_orders\": true,
    \"email_staff_activity\": false
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/notification-preferences"
);

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

let body = {
    "email_bookings": false,
    "email_reviews": false,
    "email_payouts": true,
    "email_shop_orders": true,
    "email_staff_activity": false
};

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

Request      

PUT api/v1/staff/notification-preferences

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

email_bookings   boolean  optional    

Example: false

email_reviews   boolean  optional    

Example: false

email_payouts   boolean  optional    

Example: true

email_shop_orders   boolean  optional    

Example: true

email_staff_activity   boolean  optional    

Example: false

GET api/v1/staff/bookings

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/staff/bookings" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/bookings"
);

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


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

Request      

GET api/v1/staff/bookings

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/v1/staff/bookings/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev.ravishapp.com/api/v1/staff/bookings/16" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/bookings/16"
);

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


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

Request      

GET api/v1/staff/bookings/{id}

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the booking. Example: 16

POST api/v1/staff/codes/verify

requires authentication

Example request:
curl --request POST \
    "https://dev.ravishapp.com/api/v1/staff/codes/verify" \
    --header "Authorization: Bearer {YOUR_SANCTUM_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"architecto\"
}"
const url = new URL(
    "https://dev.ravishapp.com/api/v1/staff/codes/verify"
);

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

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

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

Request      

POST api/v1/staff/codes/verify

Headers

Authorization        

Example: Bearer {YOUR_SANCTUM_TOKEN}

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

code   string     

Example: architecto