MENU navbar-image

Introduction

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

Authenticating requests

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

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

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Ads

APIs for managing ads

Show all ads

requires authentication

This endpoint lets you show all ads

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/ads?page=15&per_page=14&filter%5Bid%5D=et&filter%5Blink%5D=voluptate&filter%5Bdescription%5D=autem&filter%5Btitle%5D=ducimus&sort=accusantium" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads"
);

const params = {
    "page": "15",
    "per_page": "14",
    "filter[id]": "et",
    "filter[link]": "voluptate",
    "filter[description]": "autem",
    "filter[title]": "ducimus",
    "sort": "accusantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "title": "Prof.",
            "title_ar": "Mr.",
            "description_ar": "Ipsa quia alias et ut. Sunt laboriosam qui earum quidem nesciunt laboriosam suscipit. Deserunt tempora fugit sed dolore quo ad beatae.",
            "description": "Facilis quia consequuntur qui omnis. Cupiditate autem reprehenderit enim ratione a iste inventore quia. Voluptatem quis quo corrupti est sapiente ut.",
            "link": "http://www.kris.com/ut-voluptate-a-doloribus-libero-id-et-et",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ff77?text=quo"
        },
        {
            "id": 9,
            "title": "Dr.",
            "title_ar": "Prof.",
            "description_ar": "Ut aut consequatur molestias eius. Ea qui est voluptatibus molestiae. Et quis eum numquam itaque veritatis voluptatem provident quos. Quos illum libero quia corporis. Et ea eos sed reprehenderit.",
            "description": "Voluptatum eos alias quasi consectetur. Autem sed veritatis provident voluptas accusamus. Nihil consectetur sapiente velit vel quo.",
            "link": "https://powlowski.com/cum-quaerat-maiores-quis-distinctio-modi-iste-ea-adipisci.html",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ff33?text=iusto"
        },
        {
            "id": 10,
            "title": "Prof.",
            "title_ar": "Dr.",
            "description_ar": "Praesentium repudiandae incidunt cumque iste fugiat nostrum consequatur. Architecto praesentium dolor voluptas sint ut. Ratione illum natus impedit blanditiis consequatur molestiae ut accusamus.",
            "description": "Aut reiciendis et qui ullam voluptas libero. Saepe eos dolorem ut voluptatum sequi ut. Voluptates esse aliquid quae qui. Vero ut voluptatem est iste sit quos culpa.",
            "link": "http://www.weimann.com/",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ff22?text=fuga"
        },
        {
            "id": 11,
            "title": "Prof.",
            "title_ar": "Ms.",
            "description_ar": "Adipisci id enim molestias vel eos quia. Rerum modi distinctio at. Et et et temporibus explicabo qui. In consequatur animi deleniti voluptatem quisquam beatae est.",
            "description": "Quam sed doloribus eos praesentium dolorem similique. Labore vel expedita magni quia quo quia doloribus. Esse sapiente quam facere. Qui quod tempore et et aut et et adipisci. Qui vitae molestiae deserunt unde vero.",
            "link": "http://www.huels.com/",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00aa77?text=quo"
        },
        {
            "id": 12,
            "title": "Prof.",
            "title_ar": "Dr.",
            "description_ar": "Ad aliquam soluta et accusamus. Omnis nobis temporibus ut natus. Eum dolor nesciunt officiis voluptas molestiae. Aut alias delectus illum nihil.",
            "description": "Non accusamus et modi aliquid iure est non. Repellat animi animi at expedita. Tempore non sint veniam et molestiae. Aut a ut quia possimus hic dolores soluta.",
            "link": "http://www.kshlerin.com/id-quia-ducimus-harum",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00cc55?text=architecto"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/ads

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 14

filter[id]   string  optional  

Field to filter items by id. Example: et

filter[link]   string  optional  

Field to filter items by link. Example: voluptate

filter[description]   string  optional  

Field to filter items by description. Example: autem

filter[title]   string  optional  

Field to filter items by title. Example: ducimus

sort   string  optional  

Field to sort items by id,link,description,title. Example: accusantium

Add ad

requires authentication

This endpoint lets you add ad.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/ads" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://www.rempel.biz/omnis-doloremque-voluptatem-excepturi-placeat-error-doloremque"\
    --form "title=accusamus"\
    --form "title_ar=illo"\
    --form "description=consequuntur"\
    --form "description_ar=quam"\
    --form "image=@/tmp/phplokdLO" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads"
);

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

const body = new FormData();
body.append('link', 'https://www.rempel.biz/omnis-doloremque-voluptatem-excepturi-placeat-error-doloremque');
body.append('title', 'accusamus');
body.append('title_ar', 'illo');
body.append('description', 'consequuntur');
body.append('description_ar', 'quam');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "title": "title",
        "title_ar": "title",
        "description_ar": "fffff",
        "description": "fffff",
        "link": "https://google.com",
        "image": "https://api.dev.menassahur.com/storage/ads/test_20260110040137000.jpg"
    },
    "message": "The ad added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/ads

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

link   string   

Must be a valid URL. Example: https://www.rempel.biz/omnis-doloremque-voluptatem-excepturi-placeat-error-doloremque

title   string   

Example: accusamus

title_ar   string   

Example: illo

description   string   

Example: consequuntur

description_ar   string   

Example: quam

image   file   

Must be an image. Example: /tmp/phplokdLO

Show specific ad

requires authentication

This endpoint lets you show specific ad

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

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "title": "Ms.",
        "title_ar": "Dr.",
        "description_ar": "Sint voluptas voluptas eligendi quaerat mollitia sequi est deleniti. Voluptatum ut vel molestias natus. Fugit aut placeat id minima ab. Soluta iste esse dolorem consequatur. Et deserunt asperiores nesciunt rerum odit. Numquam beatae ad et soluta.",
        "description": "Ratione quae maiores autem quae illo neque consectetur. Labore et magni numquam vitae ut. Repellat explicabo ab quo autem enim aut. Necessitatibus aut ducimus omnis dolorem ut sint voluptatem ut.",
        "link": "http://swift.org/",
        "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ee44?text=facilis"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 6

Update specific ad

requires authentication

This endpoint lets you update specific ad.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/ads/7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=http://lind.info/"\
    --form "image=@/tmp/phpoefghK" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads/7"
);

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

const body = new FormData();
body.append('link', 'http://lind.info/');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 5,
        "title": "title",
        "title_ar": "Ms.",
        "description_ar": "Esse placeat tenetur officia corporis tenetur est. Et optio libero accusantium. Ut quae consequatur consequuntur reprehenderit dolorem quasi consequatur ad.",
        "description": "description",
        "link": "https://google.com",
        "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/005588?text=vel"
    },
    "message": "Ad's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/ads/{id}

PATCH api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 7

Body Parameters

link   string  optional  

Must be a valid URL. Example: http://lind.info/

title   string  optional  
title_ar   string  optional  
description_ar   string  optional  
description   string  optional  
image   file  optional  

Must be an image. Example: /tmp/phpoefghK

Delete specific ad

requires authentication

This endpoint lets you delete specific ad

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/ads/5" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads/5"
);

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

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

Example response (200):


{
    "message": "The Ad deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 5

Attachments

APIs for managing attachments

requires authentication

This endpoint lets you add attachment by link

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/link" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"link\": \"http:\\/\\/waters.com\\/odit-ipsum-necessitatibus-quo.html\",
    \"order\": 15
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/link"
);

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

let body = {
    "link": "http:\/\/waters.com\/odit-ipsum-necessitatibus-quo.html",
    "order": 15
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "user_id": 681,
        "status": 2,
        "sort": null,
        "type": 3,
        "name": null,
        "link": "https://www.nicesnippets.com/blog/laravel-validation-for-url-example",
        "order": {
            "id": 2,
            "subject": "Facere ut est at quibusdam recusandae. Consequatur enim debitis fugit enim. Eum veniam asperiores libero quia. Doloremque rerum nisi beatae quia ex ex.",
            "status": 4
        }
    },
    "message": "The attachment added successfully",
    "status_code": 200
}
 

Add file attachment

requires authentication

This endpoint lets you add attachment by file

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/file" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=uarnbmqnhjazklvvktamypryc"\
    --form "type=1"\
    --form "order=4"\
    --form "file=@/tmp/phphHeddh" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/file"
);

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

const body = new FormData();
body.append('name', 'uarnbmqnhjazklvvktamypryc');
body.append('type', '1');
body.append('order', '4');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 4,
        "user_id": 30,
        "status": 2,
        "sort": 4,
        "type": 2,
        "name": "myFile",
        "link": "https://api.dev.menassahur.com/storage/attachments/test_20260110040141000.jpg",
        "order": {
            "id": 6,
            "subject": "Distinctio sunt deleniti qui officia voluptate dolor. Voluptatem aperiam ratione libero at molestiae. Officiis et est quia animi totam consequatur. Doloribus aut dolorum voluptates est quis.",
            "status": 7
        }
    },
    "message": "The attachment added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/file

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

file   file   

Must be a file. Example: /tmp/phphHeddh

name   string   

Must not be greater than 255 characters. Example: uarnbmqnhjazklvvktamypryc

order_id   string  optional  

The id of an existing record in the orders table. This field is required when offer_id is not present.

offer_id   string  optional  

The id of an existing record in the offers table. This field is required when order_id is not present.

type   string   

Example: 1

Must be one of:
  • 1
  • 2
  • 3
order   integer   

Example: 4

Accept Attachment

requires authentication

This endpoint lets you accept attachment

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "user_id": 49,
        "status": 2,
        "sort": 2,
        "type": 1,
        "name": "myFile",
        "link": "http://www.berge.com/incidunt-fugiat-illum-sequi-occaecati-aspernatur-quisquam-quis",
        "order": {
            "id": 12,
            "subject": "Eum ab non velit omnis numquam voluptatum. Ea provident fugiat aut molestiae voluptatibus eos. Est occaecati laboriosam fuga aut enim autem. Commodi sint voluptatem illum fugiat illo sint.",
            "status": 6
        }
    },
    "message": "The attachment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/{attachment_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

attachment_id   integer   

The ID of the attachment. Example: 1

Reject Attachment

requires authentication

This endpoint lets you reject attachment

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 7,
        "user_id": 55,
        "status": 3,
        "sort": 13,
        "type": 2,
        "name": "myFile",
        "link": "http://www.gleason.com/",
        "order": {
            "id": 13,
            "subject": "Enim doloribus optio dolores tempora ut omnis ullam odio. Omnis voluptas reprehenderit et consequatur. Rerum cupiditate est eum commodi omnis.",
            "status": 3
        }
    },
    "message": "The attachment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/{attachment_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

attachment_id   integer   

The ID of the attachment. Example: 1

Show all attachments

requires authentication

This endpoint lets you show all attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/attachments?page=10&per_page=6&filter%5Bid%5D=quibusdam&filter%5Blink%5D=est&filter%5Buser_id%5D=quam&sort=non" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachments"
);

const params = {
    "page": "10",
    "per_page": "6",
    "filter[id]": "quibusdam",
    "filter[link]": "est",
    "filter[user_id]": "quam",
    "sort": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "user_id": 36,
            "status": 2,
            "sort": 6,
            "type": 1,
            "name": "myFile",
            "link": "http://predovic.info/",
            "order": {
                "id": 8,
                "subject": "Est illo consequatur quia. Molestias temporibus neque voluptatem mollitia sit mollitia aut. Non sit ut ducimus tenetur corporis quam provident ratione.",
                "status": 6
            }
        },
        {
            "id": 9,
            "user_id": 39,
            "status": 1,
            "sort": 14,
            "type": 3,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 9,
                "subject": "Aliquid minus esse esse cum. Possimus odit est ipsam consequatur nisi. Ipsum consequuntur neque molestias atque. Temporibus eum quas voluptas dolorum perferendis.",
                "status": 6
            }
        },
        {
            "id": 10,
            "user_id": 42,
            "status": 2,
            "sort": 4,
            "type": 1,
            "name": "myFile",
            "link": "http://www.schoen.org/ut-autem-ut-adipisci-pariatur",
            "order": {
                "id": 10,
                "subject": "Blanditiis molestias ut magnam consectetur corporis animi possimus. Omnis modi deleniti fugiat asperiores rerum consequatur. Error et facilis repellendus quis accusantium aperiam pariatur.",
                "status": 9
            }
        },
        {
            "id": 11,
            "user_id": 45,
            "status": 2,
            "sort": 18,
            "type": 3,
            "name": "myFile",
            "link": "http://www.ryan.com/",
            "order": {
                "id": 11,
                "subject": "Nihil error omnis similique repudiandae velit expedita quo architecto. Deleniti dolore aut facere suscipit. Tempora et rerum autem voluptatem quae ut harum amet.",
                "status": 2
            }
        },
        {
            "id": 12,
            "user_id": 48,
            "status": 2,
            "sort": 7,
            "type": 1,
            "name": "myFile",
            "link": "https://www.kuhic.com/veniam-in-quis-nihil-fuga-consequuntur-voluptas",
            "order": {
                "id": 12,
                "subject": "Aut numquam possimus reiciendis et deserunt. Ad eius rerum esse.",
                "status": 9
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 10

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 6

filter[id]   string  optional  

Field to filter items by id. Example: quibusdam

filter[link]   string  optional  

Field to filter items by link. Example: est

filter[user_id]   string  optional  

Field to filter items by user_id. Example: quam

sort   string  optional  

Field to sort items by id,link,user_id,order_id. Example: non

Show specific attachment

requires authentication

This endpoint lets you show specific attachment

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

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "user_id": 18,
        "status": 2,
        "sort": 13,
        "type": 2,
        "name": "myFile",
        "link": "http://www.keeling.com/",
        "order": {
            "id": 3,
            "subject": "Ipsa impedit mollitia modi dicta asperiores aut aliquam. Debitis ut dolores ut sint. Possimus mollitia eveniet excepturi eum veniam odit.",
            "status": 7
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/attachments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the attachment. Example: 1

Delete specific attachment

requires authentication

This endpoint lets you delete specific attachment

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/attachments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachments/1"
);

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

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

Example response (200):


{
    "message": "The attachment deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/attachments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the attachment. Example: 1

Auth management

APIs for login, register and all about auth

Register

This endpoint lets you add a new user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "phone=voluptates"\
    --form "password=,Sq/fB`Vnjr*\kQ>^V"\
    --form "name=ypnibtywxpwshyqrerupi"\
    --form "age=aoqyiqijfujdsmxvskvuqoa"\
    --form "brief=bxjabxxt"\
    --form "specialty=qnidn"\
    --form "profession=xkdawjhmcnpegqh"\
    --form "[email protected]"\
    --form "language=1"\
    --form "image=@/tmp/phpjFhkFd" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register"
);

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

const body = new FormData();
body.append('phone', 'voluptates');
body.append('password', ',Sq/fB`Vnjr*\kQ>^V');
body.append('name', 'ypnibtywxpwshyqrerupi');
body.append('age', 'aoqyiqijfujdsmxvskvuqoa');
body.append('brief', 'bxjabxxt');
body.append('specialty', 'qnidn');
body.append('profession', 'xkdawjhmcnpegqh');
body.append('email', '[email protected]');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "xEPPwSwp04LgMfkQFIWqliWAf2UXyxVqBu6S0VXZ",
        "access_expires_at": "2027-01-10T04:01:47.000000Z",
        "refresh_token": "nr8eqzqIm72W8i9wd2MTu6PwNiAPyAEcvkVKL0P5",
        "refresh_expires_at": "2027-01-10T04:01:47.000000Z",
        "me": {
            "id": 65,
            "name": null,
            "phone": "+971554838910",
            "image": "https://api.dev.menassahur.com/storage/users/avatar_20260110040147000.png",
            "email": null,
            "chat_id": "65_TESTING_CHAT_ID",
            "has_verified_email": false,
            "has_verified_phone": false,
            "age": null,
            "profession": null,
            "specialty": null,
            "brief": null,
            "expert_rating_avg": null,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": null,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

phone   string   

Example: voluptates

password   string   

Must be at least 6 characters. Example: ,Sq/fBVnjr*\kQ>^V`

name   string  optional  

Must not be greater than 255 characters. Example: ypnibtywxpwshyqrerupi

age   string  optional  

Must not be greater than 255 characters. Example: aoqyiqijfujdsmxvskvuqoa

brief   string  optional  

Must not be greater than 255 characters. Example: bxjabxxt

specialty   string  optional  

Must not be greater than 255 characters. Example: qnidn

profession   string  optional  

Must not be greater than 255 characters. Example: xkdawjhmcnpegqh

email   string  optional  

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

language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpjFhkFd

Login

This endpoint lets you log in with specific user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"et\",
    \"password\": \"PBdw`8gDIs*:AkPfe}5\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/login"
);

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

let body = {
    "phone": "et",
    "password": "PBdw`8gDIs*:AkPfe}5"
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "xEPPwSwp04LgMfkQFIWqliWAf2UXyxVqBu6S0VXZ",
        "access_expires_at": "2027-01-10T04:01:47.000000Z",
        "refresh_token": "nr8eqzqIm72W8i9wd2MTu6PwNiAPyAEcvkVKL0P5",
        "refresh_expires_at": "2027-01-10T04:01:47.000000Z",
        "me": {
            "id": 65,
            "name": null,
            "phone": "+971554838910",
            "image": "https://api.dev.menassahur.com/storage/users/avatar_20260110040147000.png",
            "email": null,
            "chat_id": "65_TESTING_CHAT_ID",
            "has_verified_email": false,
            "has_verified_phone": false,
            "age": null,
            "profession": null,
            "specialty": null,
            "brief": null,
            "expert_rating_avg": null,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": null,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

Example: et

password   string   

Must be at least 6 characters. Example: PBdw8gDIs*:AkPfe}5`

udid   string  optional  
fcm_token   string  optional  

login via firebase account

This endpoint lets you login via firebase id token

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/firebase-login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id_token\": \"reprehenderit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/firebase-login"
);

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

let body = {
    "id_token": "reprehenderit"
};

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

Request      

POST api/v1/auth/firebase-login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Example: reprehenderit

phone   string  optional  
udid   string  optional  
fcm_token   string  optional  

Update user

requires authentication

This endpoint lets you update user's information

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/auth/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=subxgnvrrubhsicx"\
    --form "password=&JAF`YuGZgM.,I"\
    --form "age=ptekwgk"\
    --form "brief=ycg"\
    --form "specialty=unxwxooy"\
    --form "profession=ludyriaghtvnfqbpop"\
    --form "chat_id=zspncdrsdduowzlvctpsu"\
    --form "[email protected]"\
    --form "language=2"\
    --form "image=@/tmp/phpgBBeIJ" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/update"
);

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

const body = new FormData();
body.append('name', 'subxgnvrrubhsicx');
body.append('password', '&JAF`YuGZgM.,I');
body.append('age', 'ptekwgk');
body.append('brief', 'ycg');
body.append('specialty', 'unxwxooy');
body.append('profession', 'ludyriaghtvnfqbpop');
body.append('chat_id', 'zspncdrsdduowzlvctpsu');
body.append('email', '[email protected]');
body.append('language', '2');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 68,
        "name": "New last name",
        "phone": "+17635095149",
        "image": null,
        "email": "fliddddd@gmail",
        "chat_id": "eaec3985-c6e4-3d91-bb96-16e9c69663b2",
        "has_verified_email": false,
        "has_verified_phone": false,
        "age": 26,
        "profession": "The great question.",
        "specialty": "Lory, with a table.",
        "brief": "The Queen smiled.",
        "expert_rating_avg": 0.5,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 1,
        "expert_services": [],
        "has_password": true,
        "roles": null
    },
    "message": "User's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/auth/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: subxgnvrrubhsicx

password   string  optional  

Must be at least 6 characters. Example: &JAFYuGZgM.,I`

age   string  optional  

Must not be greater than 255 characters. Example: ptekwgk

brief   string  optional  

Must not be greater than 255 characters. Example: ycg

specialty   string  optional  

Must not be greater than 255 characters. Example: unxwxooy

profession   string  optional  

Must not be greater than 255 characters. Example: ludyriaghtvnfqbpop

chat_id   string  optional  

Must not be greater than 255 characters. Example: zspncdrsdduowzlvctpsu

email   string  optional  

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

language   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpgBBeIJ

Refresh token

This endpoint lets you refresh token to user

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/auth/refresh?token=eum" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"access_token\": \"harum\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/refresh"
);

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

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

let body = {
    "access_token": "harum"
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "9K3ZaeEc2EmJHv6bSJMxHXJOUAfAYJRNbZUqVnS5",
        "access_expires_at": "2027-01-10T04:01:44.000000Z",
        "refresh_token": "DJPtdJhz0xrtO5fpHnoX6qfMskHtYyouJcghSVvw",
        "refresh_expires_at": "2027-01-10T04:01:44.000000Z",
        "me": {
            "id": 702,
            "name": "Prof. Keely Cronin",
            "phone": "+16156817664",
            "image": null,
            "email": "[email protected]",
            "chat_id": "6620a3ec-46d7-3515-bfbb-d65b115f3c64",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "16",
            "profession": "But her sister on.",
            "specialty": "I hadn't to bring.",
            "brief": "Alice, and tried.",
            "expert_rating_avg": 0.4,
            "marketing_link": null,
            "permissions": null,
            "type": 2,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/auth/refresh

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

token   string   

User's token. Example: eum

Body Parameters

access_token   string   

Example: harum

Logout

requires authentication

This endpoint lets you log out

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/logout?token=harum&udid=eligendi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"access_token\": \"velit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/logout"
);

const params = {
    "token": "harum",
    "udid": "eligendi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "access_token": "velit"
};

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

Example response (200):


{
    "message": "Successfully logged out",
    "status_code": 200
}
 

Request      

POST api/v1/auth/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

token   string   

User's token. Example: harum

udid   string  optional  

User's device udid. Example: eligendi

Body Parameters

udid   string  optional  
fcm_token   string  optional  
access_token   string   

Example: velit

Change Password

requires authentication

This endpoint lets you change the account password

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

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

let body = {
    "password": "laborum",
    "new_password": "jgtxfgzulswst"
};

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

Example response (200):


{
    "message": "Password is updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/change-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string   

Example: laborum

new_password   string   

Must be at least 6 characters. Example: jgtxfgzulswst

Register User Device

requires authentication

This endpoint lets you register User Device

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register-device" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"udid\": \"facere\",
    \"fcm_token\": \"odit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register-device"
);

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

let body = {
    "udid": "facere",
    "fcm_token": "odit"
};

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

Example response (200):


{
    "message": "Device is registered successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register-device

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

udid   string   

Example: facere

fcm_token   string   

Example: odit

Log in using phone number

This endpoint creates a new user and sends an OTP to the provided phone number.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/login-with-phone" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"+1234567890\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/login-with-phone"
);

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

let body = {
    "phone": "+1234567890"
};

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

Example response (200):


{
    "data": {
        "user_id": 64
    },
    "message": "OTP sent",
    "status_code": 200
}
 

Request      

POST api/v1/auth/login-with-phone

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The user's phone number. Example: +1234567890

Verify OTP

This endpoint verifies the (OTP) sent to the user's phone.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register/verify-otp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"+1234567890\",
    \"otp_code\": \"ipsam\",
    \"otp_cod\": \"123456\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register/verify-otp"
);

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

let body = {
    "phone": "+1234567890",
    "otp_code": "ipsam",
    "otp_cod": "123456"
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "1J61PCNXy9wrzI6gPVhBMpUC3pDF05E8r4hwZu3d",
        "access_expires_at": "2027-01-10T04:01:46.000000Z",
        "refresh_token": "2j7x2tBLGD4gssP9pKCLFakvIVOMrGLfVF0EJyD5",
        "refresh_expires_at": "2027-01-10T04:01:46.000000Z",
        "me": {
            "id": 62,
            "name": "Theresia Ledner",
            "phone": "+963994635477",
            "image": null,
            "email": "[email protected]",
            "chat_id": "341919cb-4cf5-37d6-b748-2036758657a8",
            "has_verified_email": true,
            "has_verified_phone": true,
            "age": "33",
            "profession": "I'm talking!' Just.",
            "specialty": "Shark, But, when.",
            "brief": "Alice noticed, had.",
            "expert_rating_avg": 0.5,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register/verify-otp

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The user's phone number. Example: +1234567890

otp_code   string   

Example: ipsam

otp_cod   string   

The OTP code sent to the user's phone. Example: 123456

Request To Resend Otp Code

requires authentication

This endpoint lets you request otp code

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

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

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

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

Example response (200):


{
    "data": {
        "retry_after": 60
    },
    "message": "Code is sent successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/request-phone-otp

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

Example: aliquid

Category

APIs for course category settings

Show all category

requires authentication

This endpoint lets you show all category

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/categories?page=19&per_page=12&filter%5Bid%5D=dolorem&filter%5Bname%5D=impedit&filter%5Bdescription%5D=officiis&sort=consectetur" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories"
);

const params = {
    "page": "19",
    "per_page": "12",
    "filter[id]": "dolorem",
    "filter[name]": "impedit",
    "filter[description]": "officiis",
    "sort": "consectetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Roselyn O'Keefe",
            "name_ar": "Molly Heller",
            "description": "Voluptas corporis tenetur facilis. Porro similique delectus eius expedita veritatis tempore repellendus. Eveniet laboriosam omnis voluptatibus quia sunt. Qui aut eum unde et consequatur.",
            "description_ar": "Harum accusamus consequatur et quod pariatur dolorum non. Dignissimos consectetur sint excepturi quasi nam aut magnam ducimus. Non unde est sint consequatur perferendis eligendi rerum."
        },
        {
            "id": 9,
            "name": "Juliana Gulgowski",
            "name_ar": "Miss Viviane Toy V",
            "description": "Quo molestiae corrupti fuga voluptatem voluptates suscipit. Atque esse sed totam quo dolores consequatur molestias veniam. Laborum eveniet eum accusamus ex laudantium nihil. Voluptatum beatae velit minus quia ducimus alias odio.",
            "description_ar": "Omnis qui consectetur voluptate sequi nam soluta. Atque voluptatem amet in libero id. Voluptatum eaque praesentium illo nostrum eveniet possimus amet. Qui voluptas quae harum id ex."
        },
        {
            "id": 10,
            "name": "Everett Paucek",
            "name_ar": "Mr. Josiah Murray IV",
            "description": "Dignissimos dolorum voluptas quos accusamus. Sunt vitae voluptatem totam omnis cumque sunt omnis. Sed ut rerum molestiae aliquid velit culpa quia. Voluptas ab expedita incidunt inventore et.",
            "description_ar": "Aut illo error quia. Inventore consequatur amet reprehenderit voluptates explicabo. Blanditiis qui ipsam qui voluptate."
        },
        {
            "id": 11,
            "name": "Stanford Gaylord",
            "name_ar": "Donnie Sporer III",
            "description": "Hic recusandae animi ea quidem sit velit. Nobis eaque ipsum ipsam sint. Voluptatum voluptatum reprehenderit neque aliquid voluptates recusandae. Est placeat eum cum tempore et voluptas.",
            "description_ar": "Neque similique et cumque ex. Et occaecati non quis repudiandae officiis omnis laudantium. Non debitis nihil laudantium deserunt exercitationem eligendi."
        },
        {
            "id": 12,
            "name": "Dr. Lilyan Purdy I",
            "name_ar": "Coleman Harber",
            "description": "Laudantium dolor dolor quam quasi commodi rerum omnis. Nesciunt eaque atque hic quia quibusdam deserunt nam. Qui veniam error velit omnis. Illo et nobis sequi accusantium ab dolorem quos.",
            "description_ar": "Consequuntur autem quis dolor esse doloremque qui. Vitae libero velit non facilis eos. Dolor et dolor quisquam facilis commodi consequatur aut. Totam id quam illo in dolorum maxime."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 19

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 12

filter[id]   string  optional  

Field to filter items by id. Example: dolorem

filter[name]   string  optional  

Field to filter items by name. Example: impedit

filter[description]   string  optional  

sting Field to filter items by description. Example: officiis

sort   string  optional  

Field to sort items by id,description,name. Example: consectetur

Add category to category

requires authentication

This endpoint lets you add category to category

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Commodi iusto expedita voluptas et tempore earum.\",
    \"description_ar\": \"guxm\",
    \"name\": \"zxv\",
    \"name_ar\": \"rymevxmsalm\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories"
);

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

let body = {
    "description": "Commodi iusto expedita voluptas et tempore earum.",
    "description_ar": "guxm",
    "name": "zxv",
    "name_ar": "rymevxmsalm"
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "name": "category1",
        "name_ar": "تصنيف",
        "description": "this is my category",
        "description_ar": "this is my arabic"
    },
    "message": "The category added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

description   string   

Must not be greater than 255 characters. Example: Commodi iusto expedita voluptas et tempore earum.

description_ar   string   

Must not be greater than 255 characters. Example: guxm

name   string   

Must not be greater than 255 characters. Example: zxv

name_ar   string   

Must not be greater than 255 characters. Example: rymevxmsalm

Show specific category

requires authentication

This endpoint lets you show specific category

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

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "name": "Kaitlyn Fritsch",
        "name_ar": "Gregorio Fadel",
        "description": "Esse sed quas cum ad est consequuntur odit eos. Eius aperiam fugiat minima aut aut distinctio. Qui earum omnis veritatis animi. Laboriosam quia incidunt nobis reprehenderit. Vel blanditiis cupiditate iure inventore libero aut culpa. Sint qui non eos.",
        "description_ar": "Nobis ut perferendis rerum ut debitis fugiat et. Minima maiores porro ipsum earum. Voluptatem voluptatem molestiae natus maxime est adipisci laborum repudiandae. Molestiae facilis ea consequuntur."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Update specific category

requires authentication

This endpoint lets you update specific category.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Ipsam eligendi placeat libero qui quasi.\",
    \"description_ar\": \"noqfiiwlqknhpvfom\",
    \"name\": \"jxvuun\",
    \"name_ar\": \"wmoqwqynxhtmitzxmrubly\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1"
);

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

let body = {
    "description": "Ipsam eligendi placeat libero qui quasi.",
    "description_ar": "noqfiiwlqknhpvfom",
    "name": "jxvuun",
    "name_ar": "wmoqwqynxhtmitzxmrubly"
};

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "category1",
        "name_ar": "Chyna Gaylord",
        "description": "this is my category",
        "description_ar": "Reiciendis sint blanditiis molestias cum. Quia repudiandae porro nostrum est a aut. Consectetur hic fuga explicabo vel doloremque commodi explicabo. Rerum ullam eaque incidunt error."
    },
    "message": "course's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/categories/{id}

PATCH api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Ipsam eligendi placeat libero qui quasi.

description_ar   string  optional  

Must not be greater than 255 characters. Example: noqfiiwlqknhpvfom

name   string  optional  

Must not be greater than 255 characters. Example: jxvuun

name_ar   string  optional  

Must not be greater than 255 characters. Example: wmoqwqynxhtmitzxmrubly

Delete specific category

requires authentication

This endpoint lets you delete specific category

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1"
);

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

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

Example response (200):


{
    "message": "The category deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Show category courses

requires authentication

This endpoint lets you show all courses for specific category id

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/categories/1/courses?page=1&per_page=4&filter%5Bid%5D=quos&filter%5Bteacher_id%5D=in&filter%5Bname%5D=delectus&filter%5Bdescription%5D=consequatur&filter%5Bprice%5D=755695.06032646&filter%5Bhours%5D=20&filter%5Bdates%5D=reiciendis&sort=rerum" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1/courses"
);

const params = {
    "page": "1",
    "per_page": "4",
    "filter[id]": "quos",
    "filter[teacher_id]": "in",
    "filter[name]": "delectus",
    "filter[description]": "consequatur",
    "filter[price]": "755695.06032646",
    "filter[hours]": "20",
    "filter[dates]": "reiciendis",
    "sort": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Mr. Lemuel Armstrong MD",
            "name_ar": "Prof. Opal Roob",
            "description": "Temporibus unde eaque dolorem tenetur. Odit tempore fugiat animi non. Rerum et veritatis aut magnam optio.",
            "description_ar": "Animi blanditiis dolore ullam voluptatibus enim. Doloribus est distinctio quam totam. Modi impedit id cumque qui necessitatibus. Eos eos voluptas unde cumque minima accusamus maxime.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/000088?text=occaecati",
            "price": 1961.95,
            "hours": 16308,
            "dates": null,
            "teachers": null,
            "category_id": 1,
            "teacher_id": 745,
            "category_name": "Miss Aaliyah Cassin Jr.",
            "teacher_name": "Janessa Kertzmann III"
        },
        {
            "id": 2,
            "name": "Leslie Gusikowski DVM",
            "name_ar": "Hobart Ziemann",
            "description": "Eaque libero consequatur aut architecto. Maiores architecto laboriosam nisi commodi dolorum expedita in maiores. Ut voluptatum eaque praesentium nostrum et in. Corrupti ea rem est blanditiis.",
            "description_ar": "Perspiciatis voluptatem voluptas aut cupiditate quis. Ut quod aut repellat sit iste deleniti voluptatem. Et numquam esse ad rerum. Hic ducimus sint sequi cumque sunt repellendus.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/009900?text=ullam",
            "price": 4951.42,
            "hours": 13321,
            "dates": null,
            "teachers": null,
            "category_id": 1,
            "teacher_id": 747,
            "category_name": "Miss Aaliyah Cassin Jr.",
            "teacher_name": "Prof. Elmore Simonis III"
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories/{category_id}/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 1

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 4

filter[id]   string  optional  

Field to filter items by id. Example: quos

filter[teacher_id]   string  optional  

Field to filter items by teacher_id. Example: in

filter[name]   string  optional  

Field to filter items by name. Example: delectus

filter[description]   string  optional  

sting Field to filter items by description. Example: consequatur

filter[price]   number  optional  

Field to filter items by price. Example: 755695.06032646

filter[hours]   integer  optional  

Field to filter items by hours. Example: 20

filter[dates]   string  optional  

Field to filter items by dates. Example: reiciendis

sort   string  optional  

Field to sort items by id,description,name,price,hours,dates,teacher_id. Example: rerum

Chat

APIs for Chat Management

Show all user chats

requires authentication

This endpoint lets user show all chats

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

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

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

Example response (200):


{
    "data": [
        {
            "chat_id": 6,
            "user": null,
            "receiver": {
                "id": 730,
                "name": "Velda Windler DVM",
                "phone": "+14845909959",
                "image": null
            },
            "last_message": {
                "message": "Sed illum iusto quis error quo deserunt.",
                "created_at": "2026-01-10T04:01:50.000000Z"
            },
            "unread_messages_count": 2
        },
        {
            "chat_id": 7,
            "user": null,
            "receiver": {
                "id": 732,
                "name": "Lesley Morissette",
                "phone": "+14796658333",
                "image": null
            },
            "last_message": {
                "message": "Tempora nulla et sit quasi culpa.",
                "created_at": "2026-01-10T04:01:50.000000Z"
            },
            "unread_messages_count": 0
        },
        {
            "chat_id": 8,
            "user": null,
            "receiver": {
                "id": 734,
                "name": "Rogers Morar Sr.",
                "phone": "+15853999863",
                "image": null
            },
            "last_message": {
                "message": "Corporis est voluptatem dicta placeat.",
                "created_at": "2026-01-10T04:01:51.000000Z"
            },
            "unread_messages_count": 1
        },
        {
            "chat_id": 9,
            "user": null,
            "receiver": {
                "id": 736,
                "name": "Dr. Seth Fritsch",
                "phone": "+16502483583",
                "image": null
            },
            "last_message": {
                "message": "Tempore facere impedit velit ut exercitationem dolor est mollitia.",
                "created_at": "2026-01-10T04:01:51.000000Z"
            },
            "unread_messages_count": 0
        },
        {
            "chat_id": 10,
            "user": null,
            "receiver": {
                "id": 738,
                "name": "Kane Schmidt",
                "phone": "+13518657696",
                "image": null
            },
            "last_message": {
                "message": "Voluptatibus magni et voluptas sit dignissimos libero odit.",
                "created_at": "2026-01-10T04:01:51.000000Z"
            },
            "unread_messages_count": 1
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/user/chats

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show specific user chat messages

requires authentication

This endpoint lets user show specific chat messages

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages"
);

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

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

Example response (200):


{
    "data": [
        {
            "chat": {
                "id": 1
            },
            "message_id": 10,
            "sender": {
                "id": 113,
                "name": "Mark Volkman Sr."
            },
            "message": "Molestiae vitae quis ipsum provident animi.",
            "attachments": null,
            "created_at": "2026-01-10T04:10:50.000000Z",
            "status": 1,
            "type": 2,
            "offer": {
                "id": 6,
                "status": 4
            },
            "order": {
                "id": 16,
                "status": 4
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 9,
            "sender": {
                "id": 110,
                "name": "Jane Harber Jr."
            },
            "message": "Voluptatum explicabo deleniti reiciendis voluptas vero.",
            "attachments": null,
            "created_at": "2026-01-10T04:09:50.000000Z",
            "status": 2,
            "type": 1,
            "offer": {
                "id": 6,
                "status": 4
            },
            "order": {
                "id": 16,
                "status": 4
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 8,
            "sender": {
                "id": 107,
                "name": "Mr. Lee Gutmann IV"
            },
            "message": "Qui iure id officia.",
            "attachments": null,
            "created_at": "2026-01-10T04:08:50.000000Z",
            "status": 1,
            "type": 2,
            "offer": {
                "id": 6,
                "status": 4
            },
            "order": {
                "id": 16,
                "status": 4
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 7,
            "sender": {
                "id": 104,
                "name": "Elias Hammes"
            },
            "message": "Tempora dolorem nihil velit eum delectus.",
            "attachments": null,
            "created_at": "2026-01-10T04:07:50.000000Z",
            "status": 2,
            "type": 2,
            "offer": {
                "id": 6,
                "status": 4
            },
            "order": {
                "id": 16,
                "status": 4
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 6,
            "sender": {
                "id": 101,
                "name": "Prof. Clementina Bauch"
            },
            "message": "Quia molestiae aut eius distinctio.",
            "attachments": null,
            "created_at": "2026-01-10T04:06:50.000000Z",
            "status": 2,
            "type": 3,
            "offer": {
                "id": 6,
                "status": 4
            },
            "order": {
                "id": 16,
                "status": 4
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/user/chats/offer/{offer_id}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Send Message

requires authentication

This endpoint lets user send message

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"necessitatibus\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages"
);

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

let body = {
    "message": "necessitatibus"
};

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

Example response (200):


{
    "data": {
        "chat": {
            "id": 1
        },
        "message_id": 1,
        "sender": {
            "id": 681,
            "name": "Mr. Kristopher Christiansen II"
        },
        "message": "Hello, this is a test!",
        "attachments": null,
        "created_at": "2026-01-10T04:01:51.000000Z",
        "status": 2,
        "type": 1,
        "offer": null,
        "order": null
    },
    "message": "The message was sent successfully",
    "status_code": 200
}
 

Request      

POST api/v1/user/chats/offer/{offer_id}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Body Parameters

message   string  optional  

This field is required when none of attachments are present. Example: necessitatibus

attachments   string[]  optional  

Configuration

APIs for global settings

get configuration

This endpoint lets you get current configuration

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

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

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

Example response (200):


{
    "data": {
        "chat": {
            "key": "",
            "cluster": "mt1",
            "auth_endpoint": "http://localhost/api/broadcasting/auth",
            "channel_prefix": "chat.",
            "event": "new-message"
        },
        "payment": {
            "base_url": null,
            "api_key": null,
            "currency": "SAR",
            "country": null,
            "test_mode": null,
            "webhook_url": "http://localhost/api/myfatoorah-webhook"
        },
        "terms": "<p><strong>TEST AL TEST</strong></p>",
        "about": "<p><strong>TEST AL TEST</strong></p>",
        "how_to_use": [
            {
                "section_name": "شرح ألية العمل بالنسبة للطالبين الخدمات ",
                "section_content": "<p><strong>TEST AL TEST</strong></p>"
            },
            {
                "section_name": "شرح ألية العمل بالنسبة للطالبين للمختصين ",
                "section_content": "<p><strong>TEST AL TEST</strong></p>"
            }
        ],
        "contact_us": [
            {
                "section_name": "الدعم الفني",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "قسم التسويق",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "الشكاوي و الاقتراحات",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "دعم المختصين",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            }
        ],
        "app_labels": {
            "JOIN_EXPERTS_TEAM": "HOW_TO_JOIN_EXPERT_TEAM",
            "JOIN_MARKETERS_TEAM": "HOW_TO_JOIN_MARKETER_TEAM"
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/configurations

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Course

APIs for course settings

Show all courses

requires authentication

This endpoint lets you show all courses

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/courses?page=8&per_page=11&filter%5Bid%5D=dolores&filter%5Bteacher_id%5D=laudantium&filter%5Bcategory_id%5D=alias&filter%5Bname%5D=itaque&filter%5Bdescription%5D=aut&filter%5Bprice%5D=467592071.53919&filter%5Bhours%5D=15&filter%5Bdates%5D=ratione&sort=asperiores" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses"
);

const params = {
    "page": "8",
    "per_page": "11",
    "filter[id]": "dolores",
    "filter[teacher_id]": "laudantium",
    "filter[category_id]": "alias",
    "filter[name]": "itaque",
    "filter[description]": "aut",
    "filter[price]": "467592071.53919",
    "filter[hours]": "15",
    "filter[dates]": "ratione",
    "sort": "asperiores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Prof. Tyrese Champlin IV",
            "name_ar": "Easton Auer II",
            "description": "Incidunt sint sed eligendi quos facere consequuntur. Accusamus quas ducimus possimus est. Maiores molestiae nemo recusandae. Est dolorem consequatur voluptatem aut omnis reprehenderit.",
            "description_ar": "Et mollitia eum dolor. Est incidunt dolorum iste enim quam impedit. Error nisi vitae tenetur dolores non. Debitis tempore rerum minus et ducimus ab beatae.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/0099ee?text=porro",
            "price": 56.09,
            "hours": 19903,
            "dates": null,
            "teachers": null,
            "category_id": 16,
            "teacher_id": 854,
            "category_name": "Mr. Devin Breitenberg Sr.",
            "teacher_name": "Mr. Connor Ziemann MD"
        },
        {
            "id": 9,
            "name": "Donavon Smitham",
            "name_ar": "Prof. Caterina Lockman",
            "description": "Aperiam optio quia est rerum aut et officia et. Ut velit nisi vitae quae quibusdam et soluta nemo. Et impedit sed autem sapiente est doloribus hic. Expedita autem neque molestiae dolor in.",
            "description_ar": "Temporibus doloribus et tenetur aut animi consequatur. Molestias repellendus unde error eum. Enim incidunt deleniti omnis aliquid similique voluptatem. Voluptatibus cumque repudiandae enim repellat dolores quia exercitationem.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/002266?text=facere",
            "price": 1830.01,
            "hours": 4259,
            "dates": null,
            "teachers": null,
            "category_id": 17,
            "teacher_id": 856,
            "category_name": "Prof. Raheem Wisoky I",
            "teacher_name": "Rosemarie Renner"
        },
        {
            "id": 10,
            "name": "Prof. Sabina Hirthe",
            "name_ar": "Prof. Name Larson Sr.",
            "description": "Ipsa explicabo maiores nesciunt beatae illo veniam velit. Dolores saepe hic omnis in asperiores dicta. Distinctio tempore nesciunt unde aut provident. Quaerat sit ipsa et officia facilis et aut.",
            "description_ar": "Dolorem praesentium sit aut tempora. Asperiores facere nihil in velit. Sit et est magni harum dolore distinctio velit at. Nulla vel dolorem enim rerum.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/004499?text=iure",
            "price": 8055.58,
            "hours": 7667,
            "dates": null,
            "teachers": null,
            "category_id": 18,
            "teacher_id": 858,
            "category_name": "Meda Carter",
            "teacher_name": "Miss Andreane Nitzsche MD"
        },
        {
            "id": 11,
            "name": "Arielle Harris",
            "name_ar": "Catalina Gutkowski V",
            "description": "Possimus facilis eveniet nostrum dicta et hic aut sed. Molestiae dolorem totam sint qui tempore quis nisi nemo. Itaque quibusdam laboriosam asperiores iste velit quas nostrum. At velit omnis incidunt iusto.",
            "description_ar": "Excepturi facere sunt ea laboriosam. Iste totam et sit sunt aspernatur. Corrupti qui impedit adipisci ex. Molestiae repellendus odit qui at dolorem.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/0022aa?text=cumque",
            "price": 6501.43,
            "hours": 4727,
            "dates": null,
            "teachers": null,
            "category_id": 19,
            "teacher_id": 860,
            "category_name": "Dr. Sven Goodwin",
            "teacher_name": "Lucile Von"
        },
        {
            "id": 12,
            "name": "Dr. Otis Price",
            "name_ar": "Kraig Rolfson",
            "description": "Dolorem id eaque et sit. A repellat quaerat velit sed voluptatibus ipsa. Et et repellendus consequatur corrupti. Dolore laudantium dolor et voluptas laudantium rerum.",
            "description_ar": "Velit sunt accusamus expedita odit labore fuga. Aperiam quia temporibus distinctio ut dolorem ipsam quo placeat. Inventore et non sapiente tempore consequatur dignissimos voluptates reprehenderit. Qui aut dolorum consequatur est voluptas.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/000033?text=corrupti",
            "price": 4629.03,
            "hours": 9755,
            "dates": null,
            "teachers": null,
            "category_id": 20,
            "teacher_id": 862,
            "category_name": "Mr. Tyree Kautzer",
            "teacher_name": "Mr. Conner Hamill II"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 8

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 11

filter[id]   string  optional  

Field to filter items by id. Example: dolores

filter[teacher_id]   string  optional  

Field to filter items by teacher_id. Example: laudantium

filter[category_id]   string  optional  

Field to filter items by category_id. Example: alias

filter[name]   string  optional  

Field to filter items by name. Example: itaque

filter[description]   string  optional  

sting Field to filter items by description. Example: aut

filter[price]   number  optional  

Field to filter items by price. Example: 467592071.53919

filter[hours]   integer  optional  

Field to filter items by hours. Example: 15

filter[dates]   string  optional  

Field to filter items by dates. Example: ratione

sort   string  optional  

Field to sort items by id,description,name,price,hours,dates,teacher_id,category_id. Example: asperiores

Add course to course

requires authentication

This endpoint lets you add course to course

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/courses" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Omnis quasi et et quaerat."\
    --form "description_ar=ixnxampxfatezhieigqdzpo"\
    --form "name=skggdobshedanj"\
    --form "name_ar=qemvjc"\
    --form "price=1577.54967901"\
    --form "dates=sapiente"\
    --form "hours=corporis"\
    --form "category_id=zgcdimihdgouxaylqiesrb"\
    --form "teachers=eiczk"\
    --form "teacher_id=sunt"\
    --form "image=@/tmp/phpgNgJhp" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses"
);

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

const body = new FormData();
body.append('description', 'Omnis quasi et et quaerat.');
body.append('description_ar', 'ixnxampxfatezhieigqdzpo');
body.append('name', 'skggdobshedanj');
body.append('name_ar', 'qemvjc');
body.append('price', '1577.54967901');
body.append('dates', 'sapiente');
body.append('hours', 'corporis');
body.append('category_id', 'zgcdimihdgouxaylqiesrb');
body.append('teachers', 'eiczk');
body.append('teacher_id', 'sunt');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "name": "course1",
        "name_ar": "course1",
        "description": "this is my course",
        "description_ar": "this is my course",
        "image": "https://api.dev.menassahur.com/storage/courses/test_20260110040153000.jpg",
        "price": 58.22,
        "hours": 8,
        "dates": "22/8/2021",
        "teachers": "my name is teacher",
        "category_id": 11111135,
        "teacher_id": 709,
        "category_name": "sport",
        "teacher_name": "Destin Rolfson"
    },
    "message": "The course added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

description   string   

Must not be greater than 255 characters. Example: Omnis quasi et et quaerat.

description_ar   string   

Must not be greater than 255 characters. Example: ixnxampxfatezhieigqdzpo

name   string   

Must not be greater than 255 characters. Example: skggdobshedanj

name_ar   string   

Must not be greater than 255 characters. Example: qemvjc

price   number   

Example: 1577.54967901

dates   string   

Example: sapiente

hours   string   

Example: corporis

category_id   string   

The id of an existing record in the categories table. Must not be greater than 255 characters. Example: zgcdimihdgouxaylqiesrb

image   file   

Must be an image. Example: /tmp/phpgNgJhp

teachers   string  optional  

Must not be greater than 255 characters. Example: eiczk

teacher_id   string   

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

Show specific course

requires authentication

This endpoint lets you show specific course

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

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "name": "Dr. Laurianne Feest",
        "name_ar": "Judah Rodriguez",
        "description": "Eos mollitia aut explicabo eaque aut. Sequi asperiores eveniet incidunt. Facilis enim modi dolore optio sapiente saepe est consequatur. Eligendi quisquam quisquam ea.",
        "description_ar": "Voluptatem expedita vitae impedit quo quia reprehenderit est. Eveniet dolorem eum id qui in adipisci. Repudiandae nulla nisi quia. Et rem possimus consequatur. Possimus dolorem voluptatibus minus ipsa fuga qui sapiente quos.",
        "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/0088aa?text=sed",
        "price": 3002.92,
        "hours": 13431,
        "dates": null,
        "teachers": null,
        "category_id": 8,
        "teacher_id": 142,
        "category_name": "Darren Marks",
        "teacher_name": "Keshawn Feil"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 8

Update specific course

requires authentication

This endpoint lets you update specific course.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/courses/14" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Et ut odit perferendis eum quam id delectus."\
    --form "description_ar=q"\
    --form "name=wsxhm"\
    --form "name_ar=sqaxgtmhb"\
    --form "price=qosussjha"\
    --form "dates=mcdvjdogyfxg"\
    --form "hours=pysssi"\
    --form "category_id=pqipogsjo"\
    --form "teachers=krmkehagq"\
    --form "image=@/tmp/phpDLHjcj" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses/14"
);

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

const body = new FormData();
body.append('description', 'Et ut odit perferendis eum quam id delectus.');
body.append('description_ar', 'q');
body.append('name', 'wsxhm');
body.append('name_ar', 'sqaxgtmhb');
body.append('price', 'qosussjha');
body.append('dates', 'mcdvjdogyfxg');
body.append('hours', 'pysssi');
body.append('category_id', 'pqipogsjo');
body.append('teachers', 'krmkehagq');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "course1",
        "name_ar": "Fidel Swift",
        "description": "this is my course",
        "description_ar": "this is my course",
        "image": "https://api.dev.menassahur.com/storage/courses/tmp/phpLjiAnK",
        "price": 5797.6,
        "hours": 7776,
        "dates": null,
        "teachers": null,
        "category_id": 10,
        "teacher_id": 148,
        "category_name": "Miss Araceli Johnston DDS",
        "teacher_name": "Hassie Brown II"
    },
    "message": "course's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/courses/{id}

PATCH api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 14

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Et ut odit perferendis eum quam id delectus.

description_ar   string  optional  

Must not be greater than 255 characters. Example: q

name   string  optional  

Must not be greater than 255 characters. Example: wsxhm

name_ar   string  optional  

Must not be greater than 255 characters. Example: sqaxgtmhb

price   string  optional  

Must not be greater than 255 characters. Example: qosussjha

dates   string  optional  

Must not be greater than 255 characters. Example: mcdvjdogyfxg

hours   string  optional  

Must not be greater than 255 characters. Example: pysssi

category_id   string  optional  

The id of an existing record in the App\Models\CourseCategory table. Must not be greater than 255 characters. Example: pqipogsjo

image   file  optional  

Must be an image. Example: /tmp/phpDLHjcj

teachers   string  optional  

Must not be greater than 255 characters. Example: krmkehagq

teacher_id   string  optional  

The id of an existing record in the App\Models\User table.

Delete specific course

requires authentication

This endpoint lets you delete specific course

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/courses/7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses/7"
);

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

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

Example response (200):


{
    "message": "The course deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 7

Course Order

APIs for course order settings

Show all course order

requires authentication

This endpoint lets you show all course order

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/course-orders?page=6&per_page=13&filter%5Bid%5D=et&filter%5Buser_id%5D=veniam&filter%5Bcourse_id%5D=assumenda&filter%5Bname%5D=saepe&filter%5Bphone%5D=amet&filter%5Bstatus%5D=perspiciatis&filter%5Bpreferred_times%5D=velit&sort=excepturi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders"
);

const params = {
    "page": "6",
    "per_page": "13",
    "filter[id]": "et",
    "filter[user_id]": "veniam",
    "filter[course_id]": "assumenda",
    "filter[name]": "saepe",
    "filter[phone]": "amet",
    "filter[status]": "perspiciatis",
    "filter[preferred_times]": "velit",
    "sort": "excepturi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Jettie Ullrich",
            "phone": "539-351-5007",
            "preferred_times": "Ad veniam omnis eveniet et nihil. Neque harum iusto atque nam ea culpa. Placeat cum voluptatem enim aperiam cum saepe qui nesciunt. Quaerat nihil nemo tenetur iste maxime.",
            "user_id": 173,
            "course_id": 16,
            "status": 1,
            "chat_group_id": null
        },
        {
            "id": 9,
            "name": "Prof. Dexter Blanda II",
            "phone": "1-386-678-2360",
            "preferred_times": "Quasi placeat quo minima doloribus nihil ipsam quos excepturi. Corporis non reprehenderit in accusamus ut rerum optio.",
            "user_id": 176,
            "course_id": 17,
            "status": 3,
            "chat_group_id": null
        },
        {
            "id": 10,
            "name": "Lindsay VonRueden",
            "phone": "218.709.3273",
            "preferred_times": "Ipsum nihil non aut iste explicabo ipsum. Dolor dicta exercitationem alias culpa quos sint. Unde nihil tempore eos illo nostrum dolorem.",
            "user_id": 179,
            "course_id": 18,
            "status": 2,
            "chat_group_id": null
        },
        {
            "id": 11,
            "name": "Oren Shanahan",
            "phone": "1-858-487-7000",
            "preferred_times": "Dolores quas et explicabo voluptates quo quod. Necessitatibus dolores distinctio laborum sunt vel earum recusandae dignissimos. Assumenda voluptates atque odit nihil. Tenetur odio assumenda eveniet.",
            "user_id": 182,
            "course_id": 19,
            "status": 2,
            "chat_group_id": null
        },
        {
            "id": 12,
            "name": "Dr. Jovany Koss",
            "phone": "+1-878-928-2458",
            "preferred_times": "Veritatis ex iusto tempora et ipsam enim qui. Quos voluptatem quia harum et. Voluptatem soluta corporis molestiae voluptas sed accusamus illum.",
            "user_id": 185,
            "course_id": 20,
            "status": 3,
            "chat_group_id": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/course-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 6

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 13

filter[id]   string  optional  

Field to filter items by id. Example: et

filter[user_id]   string  optional  

Field to filter items by user id. Example: veniam

filter[course_id]   string  optional  

sting Field to filter items by course id. Example: assumenda

filter[name]   string  optional  

sting Field to filter items by name. Example: saepe

filter[phone]   string  optional  

sting Field to filter items by phone. Example: amet

filter[status]   string  optional  

sting Field to filter items by status. Example: perspiciatis

filter[preferred_times]   string  optional  

sting Field to filter items by preferred times. Example: velit

sort   string  optional  

Field to sort items by id,name,preferred_times,phone,status,user_id,course_id. Example: excepturi

Add course order

requires authentication

This endpoint lets you add course order to course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"yhjm\",
    \"phone\": \"nulla\",
    \"preferred_times\": \"maiores\",
    \"course_id\": \"expedita\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders"
);

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

let body = {
    "name": "yhjm",
    "phone": "nulla",
    "preferred_times": "maiores",
    "course_id": "expedita"
};

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

Example response (200):


{
    "data": {
        "id": 5,
        "name": "course1",
        "phone": "+971585422373",
        "preferred_times": "22/8/2021",
        "user_id": 892,
        "course_id": 11111163,
        "status": 1,
        "chat_group_id": null
    },
    "message": "The course order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: yhjm

phone   string   

Example: nulla

preferred_times   string   

Example: maiores

course_id   string   

The id of an existing record in the courses table. Example: expedita

Show specific course order

requires authentication

This endpoint lets you show specific course order

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

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "name": "Prof. Bo Rohan V",
        "phone": "+1.986.653.5044",
        "preferred_times": "Cumque non ut a aut. Eum ipsa ipsa nihil voluptatum. Nisi tempore consectetur totam qui nulla eius. Quia eius sit omnis similique repellendus eligendi sint non.",
        "user_id": 881,
        "course_id": 11111160,
        "status": 3,
        "chat_group_id": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/course-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course order. Example: 13

Make Course Order accepted

requires authentication

This endpoint lets you accept course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders/13/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders/13/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "name": "Eduardo Morar I",
        "phone": "743.863.0496",
        "preferred_times": "Enim sint qui eligendi ex est. Alias dolores sunt enim facilis quas quibusdam nesciunt. Ea aut esse labore et repellat voluptas optio. Est sapiente ea occaecati alias illo distinctio in.",
        "user_id": 728,
        "course_id": 4,
        "status": 2,
        "chat_group_id": null
    },
    "message": "The course order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders/{course_order_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_order_id   integer   

The ID of the course order. Example: 13

Reject Course Order

requires authentication

This endpoint lets you reject course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders/6/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders/6/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 7,
        "name": "Elissa Abernathy V",
        "phone": "+1-234-419-4030",
        "preferred_times": "Rerum delectus autem nobis. Omnis consequatur aut pariatur et qui nemo maiores omnis. Tenetur animi vitae consectetur laboriosam in.",
        "user_id": 745,
        "course_id": 8,
        "status": 3,
        "chat_group_id": null
    },
    "message": "The course order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders/{course_order_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_order_id   integer   

The ID of the course order. Example: 6

Endpoints

POST api/broadcasting/auth

requires authentication

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

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

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

Request      

POST api/broadcasting/auth

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/broadcasting/auth-debug

requires authentication

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

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

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

Request      

POST api/broadcasting/auth-debug

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/app-version/check

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/app-version/check" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"osType\": \"ANDROID\",
    \"release\": \"assumenda\",
    \"buildNumber\": \"ut\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/app-version/check"
);

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

let body = {
    "osType": "ANDROID",
    "release": "assumenda",
    "buildNumber": "ut"
};

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

Request      

POST api/app-version/check

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

osType   string   

Example: ANDROID

Must be one of:
  • IOS
  • ANDROID
release   string   

Example: assumenda

buildNumber   string   

Example: ut

GET api/v1/app-versions

requires authentication

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

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/app-versions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/v1/app-versions

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/app-versions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"os_type\": \"IOS\",
    \"release\": \"occaecati\",
    \"build_number\": \"provident\",
    \"action\": \"OPTIONAL\",
    \"message\": \"tempora\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions"
);

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

let body = {
    "os_type": "IOS",
    "release": "occaecati",
    "build_number": "provident",
    "action": "OPTIONAL",
    "message": "tempora"
};

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

Request      

POST api/v1/app-versions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

os_type   string   

Example: IOS

Must be one of:
  • IOS
  • ANDROID
release   string   

Example: occaecati

build_number   string   

Example: provident

action   string   

Example: OPTIONAL

Must be one of:
  • NORMAL
  • OPTIONAL
  • FORCE
message   string  optional  

Example: tempora

GET api/v1/app-versions/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/app-versions/9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/9"
);

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 9

PUT api/v1/app-versions/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/app-versions/14" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"os_type\": \"IOS\",
    \"release\": \"tenetur\",
    \"build_number\": \"nam\",
    \"action\": \"FORCE\",
    \"message\": \"et\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/14"
);

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

let body = {
    "os_type": "IOS",
    "release": "tenetur",
    "build_number": "nam",
    "action": "FORCE",
    "message": "et"
};

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

Request      

PUT api/v1/app-versions/{id}

PATCH api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 14

Body Parameters

os_type   string  optional  

Example: IOS

Must be one of:
  • IOS
  • ANDROID
release   string  optional  

Example: tenetur

build_number   string  optional  

Example: nam

action   string  optional  

Example: FORCE

Must be one of:
  • NORMAL
  • OPTIONAL
  • FORCE
message   string  optional  

Example: et

DELETE api/v1/app-versions/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/app-versions/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/18"
);

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

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

Request      

DELETE api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 18

Feedbacks

APIs for managing feedbacks

Show all feedbacks

requires authentication

This endpoint lets you show all feedbacks

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/feedbacks?page=20&per_page=20&filter%5Bidentifier%5D=delectus&filter%5Bmessage%5D=dicta&filter%5Btype%5D=5&filter%5Bstatus%5D=14&filter%5Brating%5D=16&sort=qui" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks"
);

const params = {
    "page": "20",
    "per_page": "20",
    "filter[identifier]": "delectus",
    "filter[message]": "dicta",
    "filter[type]": "5",
    "filter[status]": "14",
    "filter[rating]": "16",
    "sort": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "message": "Modi ipsum vel necessitatibus ex minima qui. Aut ex veniam aspernatur. Saepe consequatur vitae voluptate totam commodi consequatur vel occaecati.",
            "status": 1,
            "user_id": 758,
            "type": 2,
            "rating": 2,
            "chat_group_id": "35161"
        },
        {
            "id": 9,
            "message": "Eveniet eius aut minus quo et non dolor. Reiciendis veritatis in hic velit ipsam ducimus et. Voluptates iste non aut cum aliquid nulla quia. Saepe sapiente et velit culpa quas perspiciatis.",
            "status": 1,
            "user_id": 759,
            "type": 2,
            "rating": 5,
            "chat_group_id": "59899"
        },
        {
            "id": 10,
            "message": "Animi ratione veritatis ea consequatur explicabo qui qui. Quia architecto repudiandae fuga ut accusantium.",
            "status": 2,
            "user_id": 760,
            "type": 4,
            "rating": 4,
            "chat_group_id": "36315"
        },
        {
            "id": 11,
            "message": "Debitis voluptatum ab sit facilis quod est dolorum. Molestias rem accusamus eum illo architecto molestias aperiam impedit. Eos qui sed non maxime repudiandae quis nihil.",
            "status": 1,
            "user_id": 761,
            "type": 5,
            "rating": 5,
            "chat_group_id": "24386"
        },
        {
            "id": 12,
            "message": "Quam debitis asperiores dicta quisquam. Laudantium quo aspernatur fugiat non incidunt quia autem. Est veniam illum vero aut.",
            "status": 2,
            "user_id": 762,
            "type": 8,
            "rating": 4,
            "chat_group_id": "19334-8706"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 20

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 20

filter[identifier]   string  optional  

Field to filter items by identifier. Example: delectus

filter[message]   string  optional  

Field to filter items by message. Example: dicta

filter[type]   integer  optional  

Field to filter items by type. Example: 5

filter[status]   integer  optional  

Field to filter items by status. Example: 14

filter[rating]   integer  optional  

Field to filter items by rating. Example: 16

sort   string  optional  

Field to sort items by identifier,name,description,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: qui

Add feedback

requires authentication

This endpoint lets you add feedback

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/feedbacks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"sed\",
    \"type\": \"5\",
    \"rating\": \"3\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks"
);

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

let body = {
    "message": "sed",
    "type": "5",
    "rating": "3"
};

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

Example response (200):


{
    "data": {
        "id": 7,
        "message": "des",
        "status": 1,
        "user_id": 918,
        "type": 2,
        "rating": 1,
        "chat_group_id": "GROUP FEEDBACK(7)_TESTING_DIAL"
    },
    "message": "The feedback added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

message   string   

Example: sed

type   string   

Example: 5

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
rating   string  optional  

Example: 3

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
meta   string  optional  

Show specific feedback

requires authentication

This endpoint lets you show specific feedback

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

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "message": "Sunt dolorem eos aliquid qui eius. Voluptatem et hic fugiat ea non non et. Et aut at necessitatibus nemo quia. Culpa cupiditate beatae officia ut vel iste.",
        "status": 1,
        "user_id": 916,
        "type": 6,
        "rating": 3,
        "chat_group_id": "52394-5187"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 16

Update specific feedback

requires authentication

This endpoint lets you update specific feedback

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/feedbacks/7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks/7"
);

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "message": "des",
        "status": 1,
        "user_id": 925,
        "type": 2,
        "rating": 4,
        "chat_group_id": "67362-7444"
    },
    "message": "Feedback's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/feedbacks/{id}

PATCH api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 7

Body Parameters

message   string  optional  
meta   string  optional  

Delete specific feedback

requires authentication

This endpoint lets you delete specific feedback

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/feedbacks/14" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks/14"
);

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

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

Example response (200):


{
    "message": "The feedback deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 14

Field

APIs for field settings

Show all fields

requires authentication

This endpoint lets you show all fields

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/fields?page=17&per_page=8&filter%5Bid%5D=numquam&filter%5Btype%5D=ut&filter%5Btitle%5D=incidunt&filter%5Bvalidation%5D=cum&filter%5Bmeta%5D=explicabo&sort=molestiae" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields"
);

const params = {
    "page": "17",
    "per_page": "8",
    "filter[id]": "numquam",
    "filter[type]": "ut",
    "filter[title]": "incidunt",
    "filter[validation]": "cum",
    "filter[meta]": "explicabo",
    "sort": "molestiae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "type": 4,
            "title": "Nemo sapiente praesentium amet qui qui voluptatem illo possimus. Aperiam quae accusantium eos et assumenda. Odio modi enim consequatur dolores impedit quisquam necessitatibus.",
            "title_ar": "Ratione est suscipit dolor. Quia fugit modi nihil tempora dolores consectetur. Consequuntur sequi eos enim blanditiis aliquid. Ut deleniti veniam aperiam nobis voluptatem autem.",
            "title_en": "Nemo sapiente praesentium amet qui qui voluptatem illo possimus. Aperiam quae accusantium eos et assumenda. Odio modi enim consequatur dolores impedit quisquam necessitatibus.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 9,
            "type": 2,
            "title": "Vitae rem sed quibusdam eius quam. Et explicabo et sit dolor temporibus molestiae. Sequi distinctio dignissimos ipsa in et.",
            "title_ar": "Voluptatem quos vitae eum fuga natus provident. Occaecati eius omnis autem sapiente eum qui praesentium. Quia nesciunt reiciendis sed minus.",
            "title_en": "Vitae rem sed quibusdam eius quam. Et explicabo et sit dolor temporibus molestiae. Sequi distinctio dignissimos ipsa in et.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 10,
            "type": 2,
            "title": "Ratione laboriosam excepturi rerum atque aut. Quia quaerat aut neque architecto in sit earum. Molestiae facilis deleniti vero laborum doloribus alias.",
            "title_ar": "Necessitatibus perferendis qui eius ut ipsam dolore. Eum omnis facere quo et. Provident modi nobis quo harum.",
            "title_en": "Ratione laboriosam excepturi rerum atque aut. Quia quaerat aut neque architecto in sit earum. Molestiae facilis deleniti vero laborum doloribus alias.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 11,
            "type": 2,
            "title": "Sunt qui voluptas voluptas ad libero eum sit voluptatem. Dolorum placeat quibusdam dolore aliquam. Sint minus dignissimos fuga iure.",
            "title_ar": "Nulla veniam minus fuga hic laudantium ea omnis. Consequatur quia iure facilis adipisci expedita quis ut. Deleniti facere explicabo omnis fugiat. Asperiores fugit ad cupiditate architecto.",
            "title_en": "Sunt qui voluptas voluptas ad libero eum sit voluptatem. Dolorum placeat quibusdam dolore aliquam. Sint minus dignissimos fuga iure.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 12,
            "type": 1,
            "title": "Et dolor eos dolorem voluptatem eligendi delectus. Odit assumenda omnis voluptatem iure. Quia ullam ut omnis rerum a tempora eaque.",
            "title_ar": "Ut consequatur magni quibusdam qui architecto. Repellendus occaecati perferendis error recusandae exercitationem rerum placeat. Voluptatem tempora quo et aut provident consequatur.",
            "title_en": "Et dolor eos dolorem voluptatem eligendi delectus. Odit assumenda omnis voluptatem iure. Quia ullam ut omnis rerum a tempora eaque.",
            "meta": "",
            "validation": ""
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 17

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 8

filter[id]   string  optional  

Field to filter items by id. Example: numquam

filter[type]   string  optional  

Field to filter items by type. Example: ut

filter[title]   string  optional  

Field to filter items by title. Example: incidunt

filter[validation]   string  optional  

Field to filter items by validation. Example: cum

filter[meta]   string  optional  

sting Field to filter items by meta. Example: explicabo

sort   string  optional  

Field to sort items by id,type,title,validation,meta,. Example: molestiae

Add field to field

requires authentication

This endpoint lets you add field to field

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/fields" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"ocjqfkfhicavsdlcoj\",
    \"title\": \"stdznieur\",
    \"title_ar\": \"bijuex\",
    \"validation\": \"tempore\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields"
);

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

let body = {
    "type": "ocjqfkfhicavsdlcoj",
    "title": "stdznieur",
    "title_ar": "bijuex",
    "validation": "tempore"
};

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

Example response (200):


{
    "data": {
        "id": 7,
        "type": 2,
        "title": "field1",
        "title_ar": "field1",
        "title_en": "field1",
        "meta": "true,",
        "validation": "requierd"
    },
    "message": "The field added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string   

Must not be greater than 255 characters. Example: ocjqfkfhicavsdlcoj

title   string   

Must not be greater than 255 characters. Example: stdznieur

title_ar   string   

Must not be greater than 255 characters. Example: bijuex

validation   string   

Example: tempore

meta   string  optional  

Show specific field

requires authentication

This endpoint lets you show specific field

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

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "type": 4,
        "title": "Sed fuga natus aut distinctio. Quo occaecati aliquam odit corrupti architecto amet. Dolorem dolores recusandae unde qui incidunt at repudiandae.",
        "title_ar": "Vel ex aut qui nihil velit. Tenetur voluptate itaque ducimus nostrum nobis occaecati. Sequi ut labore nemo placeat quia et. Consequatur sed ipsa id.",
        "title_en": "Sed fuga natus aut distinctio. Quo occaecati aliquam odit corrupti architecto amet. Dolorem dolores recusandae unde qui incidunt at repudiandae.",
        "meta": "",
        "validation": ""
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Update specific field

requires authentication

This endpoint lets you update specific field.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/fields/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"earqrd\",
    \"title\": \"faaruusajpocrgyfbnr\",
    \"title_ar\": \"c\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields/1"
);

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

let body = {
    "type": "earqrd",
    "title": "faaruusajpocrgyfbnr",
    "title_ar": "c"
};

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

Example response (200):


{
    "data": {
        "id": 2,
        "type": 2,
        "title": "field1",
        "title_ar": "Laborum nam tenetur aut fugiat provident. Maiores quia suscipit soluta est nulla. Quia dolorem modi odit voluptatem qui cupiditate blanditiis.",
        "title_en": "field1",
        "meta": "true,",
        "validation": "required"
    },
    "message": "field's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/fields/{id}

PATCH api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Body Parameters

type   string  optional  

Must not be greater than 255 characters. Example: earqrd

title   string  optional  

Must not be greater than 255 characters. Example: faaruusajpocrgyfbnr

title_ar   string  optional  

Must not be greater than 255 characters. Example: c

validation   string  optional  
meta   string  optional  

Delete specific field

requires authentication

This endpoint lets you delete specific field

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/fields/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields/1"
);

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

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

Example response (200):


{
    "message": "The field deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Home

APIs for home

Home

requires authentication

This endpoint lets you show home

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

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

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

Example response (200):


{
    "data": {
        "services": [
            {
                "id": 34,
                "name": "Translation",
                "name_ar": "الترجمة",
                "name_en": "Translation",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/translation.svg",
                "description": "Professional translation services for various languages",
                "description_ar": "خدمات ترجمة احترافية لمختلف اللغات",
                "description_en": "Professional translation services for various languages",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 42,
                "name": "Content Writing",
                "name_ar": "كتابة المحتوى",
                "name_en": "Content Writing",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/content-writing.svg",
                "description": "Professional content writing services for various platforms.",
                "description_ar": "خدمات كتابة محتوى احترافية لمختلف المنصات.",
                "description_en": "Professional content writing services for various platforms.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 48,
                "name": "Engineering Projects",
                "name_ar": "المشاريع الهندسية",
                "name_en": "Engineering Projects",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects.svg",
                "description": "Comprehensive services for various engineering projects.",
                "description_ar": "خدمات شاملة لمختلف المشاريع الهندسية.",
                "description_en": "Comprehensive services for various engineering projects.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 52,
                "name": "Programming and Websites",
                "name_ar": "البرمجة والمواقع",
                "name_en": "Programming and Websites",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/programming.svg",
                "description": "Comprehensive programming services and website development.",
                "description_ar": "خدمات برمجة شاملة وتطوير مواقع.",
                "description_en": "Comprehensive programming services and website development.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 1,
                "name": "Students Services",
                "name_ar": "خدمات الطلاب",
                "name_en": "Students Services",
                "order": 1,
                "icon": "https://api.dev.menassahur.com/storage/services/students-services.svg",
                "description": "for all student",
                "description_ar": "لجميع الطلاب",
                "description_en": "for all student",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 1,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 26,
                "name": "Graphic Design",
                "name_ar": "التصميم",
                "name_en": "Graphic Design",
                "order": 2,
                "icon": "https://api.dev.menassahur.com/storage/services/design.svg",
                "description": "Graphic design and editing services",
                "description_ar": "التصميم الغرافيكي والمونتاج",
                "description_en": "Graphic design and editing services",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 15,
                "name": "Curriculum Vitae",
                "name_ar": "السيرة الذاتية",
                "name_en": "Curriculum Vitae",
                "order": 3,
                "icon": "https://api.dev.menassahur.com/storage/services/cv.svg",
                "description": "curriculum vitae",
                "description_ar": "السيرة الذاتية",
                "description_en": "curriculum vitae",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 1,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 18,
                "name": "General Services",
                "name_ar": "خدمات عامّة",
                "name_en": "General Services",
                "order": 6,
                "icon": "https://api.dev.menassahur.com/storage/services/general-services.svg",
                "description": "General Services",
                "description_ar": "خدمات عامة",
                "description_en": "General Services",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            }
        ],
        "ads": [
            {
                "id": 2,
                "title": "Dr.",
                "title_ar": "Mr.",
                "description_ar": "Natus eum praesentium repudiandae ipsa exercitationem repellendus aspernatur qui. Rerum rerum nulla cumque quia suscipit eos. Iure accusamus aliquid molestias pariatur. Facilis aperiam ratione reprehenderit. Pariatur voluptates excepturi sunt corrupti.",
                "description": "Neque amet eius magni iure. Dolores quam veritatis eligendi. Deserunt cumque fuga omnis non fugiat magnam qui.",
                "link": "http://www.larkin.com/dicta-dolores-alias-aut-nam-nemo-consequuntur-adipisci",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/003333?text=minus"
            },
            {
                "id": 3,
                "title": "Dr.",
                "title_ar": "Prof.",
                "description_ar": "Magnam aut rerum veniam ut distinctio recusandae facilis. Perferendis minima aut totam ut. Quisquam autem quaerat sunt sit maxime expedita quo. Qui et rem enim assumenda. Dolorem qui fugit porro quos maiores consectetur corrupti.",
                "description": "Atque nam non nihil iusto laborum quam. Blanditiis porro et aperiam assumenda voluptatum maiores dolor. Modi non in rerum voluptas amet omnis.",
                "link": "http://www.oreilly.com/tempore-hic-reprehenderit-exercitationem-harum-in",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00eedd?text=aut"
            },
            {
                "id": 4,
                "title": "Mrs.",
                "title_ar": "Prof.",
                "description_ar": "Non unde enim reprehenderit veritatis quam quibusdam aliquam. Nisi asperiores quia et. Rem ut est ab voluptatem repellat dicta officia. Maiores et beatae quis maxime. Omnis sint officiis expedita aspernatur nesciunt minima.",
                "description": "Autem est corporis tempore exercitationem eveniet aut ut. Quis omnis dolor id. Cupiditate quo animi sint dolorem asperiores. Repudiandae odit sed sapiente dolorem numquam iure.",
                "link": "https://www.nolan.net/aut-quisquam-iusto-ab-doloribus-laudantium-maiores-vel-et",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ff11?text=nihil"
            },
            {
                "id": 5,
                "title": "Mrs.",
                "title_ar": "Mrs.",
                "description_ar": "Laborum nemo quibusdam rerum ut tempora magni impedit eos. Qui labore suscipit voluptas. Expedita similique enim autem et. Itaque et nobis impedit et nihil dicta doloremque. Optio facere possimus ullam minus illum pariatur. Sed est ipsum aut corrupti.",
                "description": "Harum voluptas et sit at vitae impedit. Qui tenetur architecto aut optio. Aut laboriosam officia dolorum est dolorum et rem. Repellat quasi voluptatem nihil nam facilis dolor. Totam quisquam quod eligendi. Tenetur labore suscipit amet provident tempore.",
                "link": "http://www.schmeler.com/minima-sequi-veritatis-eum-illum-voluptatem",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00cc11?text=optio"
            },
            {
                "id": 6,
                "title": "Mr.",
                "title_ar": "Dr.",
                "description_ar": "Voluptatem harum laborum et accusantium et reiciendis. Aut est qui aut cumque excepturi. Explicabo quia provident error sed est ut accusantium.",
                "description": "Necessitatibus perspiciatis repudiandae necessitatibus ipsum est sed debitis. Ipsa eum quia architecto dolorem. Sit natus quibusdam ut odit animi minus. Commodi ab temporibus velit aspernatur enim dignissimos.",
                "link": "http://schoen.info/",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/009999?text=repudiandae"
            }
        ],
        "course_categories": [
            {
                "id": 62,
                "name": "English series courses for children Let's go.",
                "name_ar": "دورات سلاسل انجليزي للأطفال Let's go.",
                "description": "English series courses for children Let's go.",
                "description_ar": "دورات سلاسل انجليزي للأطفال Let's go."
            },
            {
                "id": 63,
                "name": "English series courses for young and old Interchange",
                "name_ar": "دورات سلاسل انجليزي لليافعين والكبار Interchange",
                "description": "English series courses for young and old Interchange",
                "description_ar": "دورات سلاسل انجليزي لليافعين والكبار Interchange"
            },
            {
                "id": 64,
                "name": "Scratch programming courses",
                "name_ar": "دورات برمجة سكراتش",
                "description": "Scratch programming courses",
                "description_ar": "دورات برمجة سكراتش"
            },
            {
                "id": 65,
                "name": "Arabic language proofreading courses",
                "name_ar": "دورات تدقيق لغوي لغة عربية",
                "description": "Arabic language proofreading courses",
                "description_ar": "دورات تدقيق لغوي لغة عربية"
            },
            {
                "id": 66,
                "name": "Remote physiotherapy sessions.",
                "name_ar": "جلسات معالجة فيزيائية عن بعد.",
                "description": "Remote physiotherapy sessions.",
                "description_ar": "جلسات معالجة فيزيائية عن بعد."
            },
            {
                "id": 67,
                "name": "Excel courses from beginner to professional",
                "name_ar": "دورات إكسل من المبتدئ حتى الاحتراف",
                "description": "Excel courses from beginner to professional",
                "description_ar": "دورات إكسل من المبتدئ حتى الاحتراف"
            },
            {
                "id": 68,
                "name": "Photoshop and Illustrator courses from beginner to professional",
                "name_ar": "دورات فوتوشوب والستريتر من المبتدئ حتى الاحتراف",
                "description": "Photoshop and Illustrator courses from beginner to professional",
                "description_ar": "دورات فوتوشوب والستريتر من المبتدئ حتى الاحتراف"
            },
            {
                "id": 69,
                "name": "Follow-up of students in their studies according to their school curricula for all subjects and ages",
                "name_ar": "متابعة الطلاب  في دراستهم وفق مناهجهم المدرسية لكافة المواد والأعمار",
                "description": "Follow-up of students in their studies according to their school curricula for all subjects and ages",
                "description_ar": "متابعة الطلاب  في دراستهم وفق مناهجهم المدرسية لكافة المواد والأعمار"
            },
            {
                "id": 70,
                "name": "Computer courses for children and young people starting from scratch and ending with an introduction to programming languages and their mechanisms",
                "name_ar": "دورات حاســب للأطفال واليافعين تبـدأ مـن الصـفر وتنتهي بالتعرف على لغات البرمجة و آلياتها",
                "description": "Computer courses for children and young people starting from scratch and ending with an introduction to programming languages and their mechanisms",
                "description_ar": "دورات حاســب للأطفال واليافعين تبـدأ مـن الصـفر وتنتهي بالتعرف على لغات البرمجة و آلياتها"
            },
            {
                "id": 71,
                "name": "Giving courses",
                "name_ar": "إعطاء الدورات",
                "description": "Giving courses",
                "description_ar": "إعطاء الدورات"
            },
            {
                "id": 72,
                "name": "Other courses",
                "name_ar": "دورات أخرى",
                "description": "Other courses",
                "description_ar": "دورات أخرى"
            },
            {
                "id": 73,
                "name": "Israel Rice",
                "name_ar": "Hubert Schultz",
                "description": "Provident ut ut sunt provident. Assumenda quam reiciendis ut maxime asperiores quod minima. Aspernatur est veritatis ut eos dolorem nesciunt assumenda. Inventore architecto error consectetur et sit et.",
                "description_ar": "Hic eveniet consectetur cum porro excepturi vel recusandae in. Repellat id ab et dolores magnam repellendus et tempora. Ut eum enim quia est laudantium. Quia quia in dolorem nam placeat maxime quis. Soluta et quod voluptates soluta est saepe."
            },
            {
                "id": 74,
                "name": "Soledad Huel",
                "name_ar": "Coralie Cremin MD",
                "description": "Nostrum consequatur provident similique molestiae. Rerum rerum sequi in et. Eos ut asperiores voluptatibus dolorum. Excepturi vel deserunt atque voluptatem dolorem.",
                "description_ar": "Architecto non iure aut ipsum. Dolor qui consequatur alias odit. Accusamus sed fuga et ullam. Architecto sit repellendus est quidem."
            },
            {
                "id": 75,
                "name": "Danny Parisian",
                "name_ar": "Yadira Walsh MD",
                "description": "Incidunt ullam enim sapiente eveniet. Neque ex aspernatur est aut iure et sint debitis. Saepe vero atque tenetur iure pariatur repellendus hic.",
                "description_ar": "Minima cupiditate officia quos dolorem blanditiis distinctio corporis. Voluptatem velit eveniet tempore et deleniti nam."
            },
            {
                "id": 76,
                "name": "Demetrius McClure",
                "name_ar": "Prof. Shana Flatley V",
                "description": "Impedit harum dolorum ex veniam ut sed sit culpa. Quas aspernatur quia accusamus corrupti accusantium. Voluptas optio corrupti in minima aut. Illum praesentium est molestias sit quos nihil mollitia.",
                "description_ar": "Quia quisquam error a rem. Accusamus dicta at sit ex id qui ipsam. Est incidunt et architecto vero corporis."
            },
            {
                "id": 77,
                "name": "Prof. Abigail Considine Jr.",
                "name_ar": "Shanny Harber",
                "description": "Sit at eveniet vero et earum quaerat. Ab modi nemo rerum explicabo quo aliquid itaque quod. Nemo a iure deleniti illo rerum nihil. Consectetur sint dolorem maxime eligendi.",
                "description_ar": "Molestiae omnis quos impedit temporibus aut expedita. Dolorem quae possimus quisquam qui corrupti et quae nihil. Error est ducimus sit libero."
            }
        ],
        "unread_notifications_count": 10
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/home

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

requires authentication

This endpoint lets you search for orders, courses, categories, products, services, offers, feedbacks, join_us_orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/home/search" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"nihil\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/home/search"
);

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

let body = {
    "q": "nihil"
};

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

Example response (200):


{
    "data": {
        "orders": [
            {
                "id": 6,
                "subject": "Quia tenetur est sed aut ea. Sit enim est omnis reiciendis rerum dolor qui. Ut cumque debitis dolorem ad aut. A maxime et pariatur unde minima ut.",
                "status": 9,
                "description": "lorem test",
                "deadline": "2005-05-11T19:51:25.000000Z",
                "expert_rating": 4,
                "user_rating": 5,
                "payment_type": 1,
                "user": {
                    "id": 1022,
                    "name": "Mrs. Frances Witting",
                    "phone": "+19348827280",
                    "image": null
                },
                "service_id": 6,
                "service_name": "Prof. Angel Beer MD",
                "service_name_ar": "Viva Hermiston",
                "proposed_price": 64862,
                "type": 2,
                "fields": null,
                "accepted_offer": null,
                "expert_offer": null,
                "actual_deadline": null,
                "expert_id": 1024
            }
        ],
        "courses": [
            {
                "id": 11111167,
                "name": "lorem test",
                "name_ar": "Gillian Huels",
                "description": "Repudiandae vel quod explicabo adipisci ea. Dolorem natus asperiores aperiam. Ad doloribus aut commodi velit molestiae voluptatibus cumque. Cum ipsam repellendus laboriosam.",
                "description_ar": "Ullam molestiae dolor dicta praesentium voluptas. Qui qui est sed. Eum voluptas necessitatibus nisi facere. In qui consectetur voluptas delectus reprehenderit et.",
                "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/006677?text=repellendus",
                "price": 484.2,
                "hours": 13645,
                "dates": null,
                "teachers": null,
                "category_id": 87,
                "teacher_id": 1025,
                "category_name": "Dr. Diamond Kshlerin PhD",
                "teacher_name": "Marisa Willms MD"
            }
        ],
        "categories": [
            {
                "id": 88,
                "name": "lorem test",
                "name_ar": "Mathias Nitzsche DVM",
                "description": "Ex possimus eum nulla sit esse aut officiis. Dolore aspernatur accusamus eaque explicabo repudiandae molestiae consequatur. Eos exercitationem vitae quis odio laudantium. Sunt delectus nobis est.",
                "description_ar": "Et non ut dolor fugit distinctio ut aut quas. Quia ex velit perspiciatis est veritatis. Optio in voluptatem consequatur odio a laborum."
            }
        ],
        "products": [
            {
                "id": 1,
                "title": "lorem test",
                "title_ar": "Dr.",
                "user_id": 1027,
                "type": 2,
                "rating": 2,
                "price": 16282,
                "meta": null,
                "city": "Amparoborough",
                "description": "Eum culpa omnis asperiores exercitationem dolorem. Eveniet commodi aut repellat porro. Architecto tenetur et et quidem ratione recusandae et. Quaerat voluptatibus molestiae nam ipsum.",
                "description_ar": "Suscipit et dicta molestias aliquid voluptatem. Quo dolorum fuga ducimus. Fuga temporibus et qui dicta placeat neque. Quia velit cumque sapiente voluptatem et.",
                "image": null
            }
        ],
        "services": [
            {
                "id": 7,
                "name": "lorem test",
                "name_ar": "Daron Johnson",
                "name_en": "lorem test",
                "order": 27,
                "icon": "https://via.placeholder.com/640x480.png/00ff99?text=facere",
                "description": "Consequatur sapiente sapiente nulla saepe. Nihil vitae cumque ab laboriosam. Ut officiis quasi commodi cumque voluptatem corrupti quia ut. Dolor delectus id voluptatem doloribus et qui corrupti eum.",
                "description_ar": "Repellat sunt est dolores eligendi consectetur nisi. Ea temporibus odio esse voluptas quae numquam qui. Maxime quia maiores nisi nulla aliquam est. Placeat dignissimos aut aut ad.",
                "description_en": "Consequatur sapiente sapiente nulla saepe. Nihil vitae cumque ab laboriosam. Ut officiis quasi commodi cumque voluptatem corrupti quia ut. Dolor delectus id voluptatem doloribus et qui corrupti eum.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": true,
                "section": 1,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Join us order

APIs for join us order settings

Show all join us orders

requires authentication

This endpoint lets you show all join us orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/join-us-orders?page=2&per_page=17&filter%5Bid%5D=molestias&filter%5Bdescription%5D=et&filter%5Buser_id%5D=dolore&filter%5Bstatus%5D=13&filter%5Btype%5D=16&sort=libero" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders"
);

const params = {
    "page": "2",
    "per_page": "17",
    "filter[id]": "molestias",
    "filter[description]": "et",
    "filter[user_id]": "dolore",
    "filter[status]": "13",
    "filter[type]": "16",
    "sort": "libero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 3,
            "description": "Eius et nihil qui qui doloremque velit. Quis voluptas maiores enim non. In quam animi rem. Est voluptates natus amet fuga. Libero aut eveniet alias.",
            "status": 2,
            "type": 2,
            "user_id": 1036,
            "user": {
                "id": 1036,
                "name": "Virgil Hermiston",
                "phone": "+14155913256",
                "image": null
            },
            "services": null,
            "certificates": [
                {
                    "id": 4,
                    "name": "cert1.pdf",
                    "url": "https://api.dev.menassahur.com/storage/attachments/cert1.pdf"
                },
                {
                    "id": 5,
                    "name": "cert2.pdf",
                    "url": "https://api.dev.menassahur.com/storage/attachments/cert2.pdf"
                }
            ]
        },
        {
            "id": 4,
            "description": "Non suscipit est illo sit omnis nostrum ea. Est eaque laborum porro et aut. Ea nihil est suscipit debitis quis ullam. Assumenda quisquam consequatur adipisci non totam.",
            "status": 3,
            "type": 1,
            "user_id": 1043,
            "user": {
                "id": 1043,
                "name": "Dr. Christelle Schultz",
                "phone": "+16404522174",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 5,
            "description": "In sed aut et ratione totam. Quia odio quasi fuga dolore qui. Qui autem nisi quia voluptas. Qui facilis quisquam quo reiciendis. Nulla in dolore qui assumenda.",
            "status": 1,
            "type": 2,
            "user_id": 1044,
            "user": {
                "id": 1044,
                "name": "Jaiden Crona",
                "phone": "+18562127104",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 6,
            "description": "At optio praesentium maiores dolor. Dolor suscipit quis aut accusantium ut occaecati. Reprehenderit est ullam amet aut explicabo soluta facilis.",
            "status": 3,
            "type": 3,
            "user_id": 1045,
            "user": {
                "id": 1045,
                "name": "Dr. Pinkie Daniel",
                "phone": "+17136277056",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 7,
            "description": "Nesciunt id et sed porro ipsa. Neque sed error asperiores asperiores aliquam cumque eaque. Quas molestiae enim quis rem aut aut. Necessitatibus fugit qui voluptatem nihil temporibus qui.",
            "status": 3,
            "type": 1,
            "user_id": 1046,
            "user": {
                "id": 1046,
                "name": "Ottilie Thiel",
                "phone": "+16237643799",
                "image": null
            },
            "services": null,
            "certificates": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 2

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 17

filter[id]   string  optional  

Field to filter items by id. Example: molestias

filter[description]   string  optional  

Field to filter items by description. Example: et

filter[user_id]   string  optional  

Field to filter items by user id. Example: dolore

filter[status]   integer  optional  

Field to filter items by status. Example: 13

filter[type]   integer  optional  

Field to filter items by type. Example: 16

sort   string  optional  

Field to sort items by id,description,user_id,status,type. Example: libero

Add join us order to join us order

requires authentication

This endpoint lets you add join us order to join us order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Repellendus dolorem voluptas perspiciatis eum eos."\
    --form "type=2"\
    --form "certificates[]=@/tmp/phpcpJMNd" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders"
);

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

const body = new FormData();
body.append('description', 'Repellendus dolorem voluptas perspiciatis eum eos.');
body.append('type', '2');
body.append('certificates[]', document.querySelector('input[name="certificates[]"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 5,
        "description": "des",
        "status": 1,
        "type": 2,
        "user_id": 948,
        "user": {
            "id": 948,
            "name": "Jerel Hyatt",
            "phone": "+16508690632",
            "image": null
        },
        "services": [
            {
                "id": 1,
                "name": "Ayla Lindgren",
                "name_ar": "Talon Mitchell",
                "name_en": "Ayla Lindgren",
                "order": 7,
                "icon": "https://via.placeholder.com/640x480.png/000011?text=dolorem"
            },
            {
                "id": 2,
                "name": "Kiel Bosco",
                "name_ar": "Aleen Hackett",
                "name_en": "Kiel Bosco",
                "order": 15,
                "icon": "https://via.placeholder.com/640x480.png/0099cc?text=error"
            }
        ],
        "certificates": [
            {
                "id": 11111138,
                "name": "cert1.pdf",
                "url": "/storage/LAnW5i0jpk28TMBrhYb5LpKrGTnSEHZuuiHn6ij7.pdf"
            },
            {
                "id": 11111139,
                "name": "cert2.pdf",
                "url": "/storage/U07MX6NFJi75lDsBSftWIYMkFRwN0UEf0zyvR0Td.pdf"
            }
        ]
    },
    "message": "The join-us order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Repellendus dolorem voluptas perspiciatis eum eos.

type   string   

Example: 2

Must be one of:
  • 1
  • 2
  • 3
services   string[]  optional  

The id of an existing record in the services table.

certificates   file[]  optional  

Must be a file. Must not be greater than 2048 kilobytes.

Show specific join us order

requires authentication

This endpoint lets you show specific join us order

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

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "description": "Iste repudiandae tempora dolor minus. Animi iusto officiis vero in et harum eaque. Rerum suscipit voluptate error exercitationem.",
        "status": 3,
        "type": 2,
        "user_id": 829,
        "user": {
            "id": 829,
            "name": "Alysson Reichert",
            "phone": "+17379244426",
            "image": null
        },
        "services": null,
        "certificates": [
            {
                "id": 13,
                "name": "cert1.pdf",
                "url": "https://api.dev.menassahur.com/storage/attachments/cert1.pdf"
            },
            {
                "id": 14,
                "name": "cert2.pdf",
                "url": "https://api.dev.menassahur.com/storage/attachments/cert2.pdf"
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/join-us-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the join us order. Example: 1

Delete specific join us order

requires authentication

This endpoint lets you delete specific join us order

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/join-us-orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders/1"
);

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

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

Example response (200):


{
    "message": "The join-us order deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/join-us-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the join us order. Example: 1

Make join-us Order accept

requires authentication

This endpoint lets you make join-us order accept

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 11,
        "description": "Quo voluptas impedit quia ea repudiandae optio. Sunt provident perferendis accusamus illo. Culpa nemo dolore quidem.",
        "status": 2,
        "type": 1,
        "user_id": 846,
        "user": {
            "id": 846,
            "name": "Prof. Vergie Leannon II",
            "phone": "+13513859722",
            "image": null
        },
        "services": [
            {
                "id": 26,
                "name": "Frances Kshlerin III",
                "name_ar": "Dexter Waelchi",
                "name_en": "Frances Kshlerin III",
                "order": 43,
                "icon": "https://via.placeholder.com/640x480.png/006699?text=est"
            },
            {
                "id": 27,
                "name": "Laverne Hoppe IV",
                "name_ar": "Loma Hegmann",
                "name_en": "Laverne Hoppe IV",
                "order": 76,
                "icon": "https://via.placeholder.com/640x480.png/003399?text=fuga"
            }
        ],
        "certificates": []
    },
    "message": "The join-us order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-order/{join_us_order_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

join_us_order_id   integer   

The ID of the join us order. Example: 1

Make join-us Order reject

requires authentication

This endpoint lets you make join-us order reject

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 9,
        "description": "Voluptas sunt cum quod adipisci. Et nesciunt et reprehenderit sed animi. Non est doloribus quia suscipit.",
        "status": 3,
        "type": 3,
        "user_id": 955,
        "user": {
            "id": 955,
            "name": "Shany Kilback",
            "phone": "+12839475471",
            "image": null
        },
        "services": null,
        "certificates": []
    },
    "message": "The join-us order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-order/{join_us_order_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

join_us_order_id   integer   

The ID of the join us order. Example: 1

Marketer

APIs for marketer data

Show all marketer users

requires authentication

This endpoint lets you show all marketer users

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/marketer/users?page=4&per_page=19" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/marketer/users"
);

const params = {
    "page": "4",
    "per_page": "19",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [],
    "meta": {
        "pagination": {
            "total": 0,
            "per_page": 1,
            "count": 0,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/marketer/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 4

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 19

Me

APIs for user data

Me

requires authentication

This endpoint lets you show current user details

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

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

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

Example response (200):


{
    "data": {
        "id": 862,
        "name": "Anita Hoppe",
        "phone": "+12282816210",
        "image": null,
        "email": "[email protected]",
        "chat_id": "953205a0-1aaa-3494-aef2-744491ce6ebd",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": 82,
        "profession": "Then the Queen in.",
        "specialty": "VERY turn-up nose.",
        "brief": "I am to see if she.",
        "expert_rating_avg": 0.3,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 1,
        "expert_services": [
            {
                "id": 30,
                "name": "Dr. Breana Runte",
                "name_ar": "Ms. Palma Shields PhD",
                "name_en": "Dr. Breana Runte",
                "order": 92,
                "icon": "https://via.placeholder.com/640x480.png/009999?text=animi"
            },
            {
                "id": 31,
                "name": "Amparo O'Conner",
                "name_ar": "Sarina Turner",
                "name_en": "Amparo O'Conner",
                "order": 8,
                "icon": "https://via.placeholder.com/640x480.png/0055dd?text=ipsum"
            },
            {
                "id": 32,
                "name": "Arno Lind",
                "name_ar": "Cicero Little",
                "name_en": "Arno Lind",
                "order": 90,
                "icon": "https://via.placeholder.com/640x480.png/003344?text=officiis"
            },
            {
                "id": 33,
                "name": "Gene Bosco",
                "name_ar": "Sean Botsford MD",
                "name_en": "Gene Bosco",
                "order": 90,
                "icon": "https://via.placeholder.com/640x480.png/004488?text=dicta"
            },
            {
                "id": 34,
                "name": "Mrs. Leanne Feest Sr.",
                "name_ar": "Ms. Ericka Brekke IV",
                "name_en": "Mrs. Leanne Feest Sr.",
                "order": 79,
                "icon": "https://via.placeholder.com/640x480.png/003344?text=esse"
            },
            {
                "id": 35,
                "name": "Lucile Lindgren",
                "name_ar": "Prof. Camille Gorczany III",
                "name_en": "Lucile Lindgren",
                "order": 35,
                "icon": "https://via.placeholder.com/640x480.png/0066cc?text=qui"
            },
            {
                "id": 36,
                "name": "Bennett Klocko",
                "name_ar": "Crystal Stamm",
                "name_en": "Bennett Klocko",
                "order": 95,
                "icon": "https://via.placeholder.com/640x480.png/00bbcc?text=voluptatum"
            },
            {
                "id": 37,
                "name": "Asa Gibson",
                "name_ar": "Everardo Grimes III",
                "name_en": "Asa Gibson",
                "order": 100,
                "icon": "https://via.placeholder.com/640x480.png/007755?text=maxime"
            },
            {
                "id": 38,
                "name": "Dr. Kasey Nicolas",
                "name_ar": "Cary Reynolds",
                "name_en": "Dr. Kasey Nicolas",
                "order": 57,
                "icon": "https://via.placeholder.com/640x480.png/0000bb?text=assumenda"
            },
            {
                "id": 39,
                "name": "King Harris",
                "name_ar": "Brooklyn Kling",
                "name_en": "King Harris",
                "order": 51,
                "icon": "https://via.placeholder.com/640x480.png/006611?text=nemo"
            }
        ],
        "has_password": true,
        "roles": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show me orders

requires authentication

This endpoint lets you show me orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/orders?page=7&per_page=1&filter%5Bidentifier%5D=culpa&filter%5Bname%5D=nisi&filter%5Bdescription%5D=necessitatibus&filter%5Bsubject%5D=impedit&filter%5Bpayment_type%5D=16&filter%5Btype%5D=19&filter%5Bstatus%5D=20&filter%5Bproposed_price%5D=consequuntur&filter%5Bexpert_rating%5D=18&filter%5Buser_rating%5D=3&filter%5Baccepted_offer%5D=&sort=nostrum" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/orders"
);

const params = {
    "page": "7",
    "per_page": "1",
    "filter[identifier]": "culpa",
    "filter[name]": "nisi",
    "filter[description]": "necessitatibus",
    "filter[subject]": "impedit",
    "filter[payment_type]": "16",
    "filter[type]": "19",
    "filter[status]": "20",
    "filter[proposed_price]": "consequuntur",
    "filter[expert_rating]": "18",
    "filter[user_rating]": "3",
    "filter[accepted_offer]": "0",
    "sort": "nostrum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 29,
            "subject": "Voluptates ut corporis velit eveniet. Soluta fugit consequatur expedita sit saepe. Doloribus corrupti eum aut voluptas.",
            "status": 7,
            "description": "Reprehenderit perferendis molestiae et incidunt omnis saepe. Quo id voluptate odio ea sed quia. Quos velit veritatis sequi quia.",
            "deadline": "1991-08-28 03:20:21",
            "expert_rating": 3,
            "user_rating": 2,
            "payment_type": 1,
            "expert_id": 894,
            "user_id": 882,
            "proposed_price": 57506,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2026-01-10T04:02:16.000000Z",
            "service": {
                "id": 45,
                "name": "Alvena Halvorson",
                "name_ar": "Crystel Miller",
                "name_en": "Alvena Halvorson",
                "order": 17,
                "icon": "https://via.placeholder.com/640x480.png/006677?text=molestiae"
            },
            "accepted_offer": null
        },
        {
            "id": 30,
            "subject": "Eligendi id quas iusto amet qui. Aut occaecati quae tempore labore et laudantium dolor repellendus. Laboriosam doloribus aliquam praesentium placeat.",
            "status": 7,
            "description": "Odit aut nobis culpa. Et laborum voluptatibus aut vero ipsum ipsa. Reiciendis laudantium ab ullam eum sunt voluptate. Sunt suscipit temporibus odio. Sint debitis ratione id et.",
            "deadline": "1991-04-06 09:29:42",
            "expert_rating": 4,
            "user_rating": 5,
            "payment_type": 1,
            "expert_id": 896,
            "user_id": 882,
            "proposed_price": 17304,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2026-01-10T04:02:16.000000Z",
            "service": {
                "id": 46,
                "name": "Wendell Dicki",
                "name_ar": "Mrs. Mariana Zemlak PhD",
                "name_en": "Wendell Dicki",
                "order": 92,
                "icon": "https://via.placeholder.com/640x480.png/0088bb?text=est"
            },
            "accepted_offer": null
        },
        {
            "id": 31,
            "subject": "Ipsum sit quia mollitia eos aliquid molestiae omnis. Dolore officiis suscipit velit minus earum. Ut voluptas animi et nam.",
            "status": 7,
            "description": "Harum nihil aut non aut quia illum quo. Voluptas assumenda facilis quos qui. Atque ut excepturi totam corrupti.",
            "deadline": "2017-03-14 05:09:26",
            "expert_rating": 1,
            "user_rating": 3,
            "payment_type": 1,
            "expert_id": 898,
            "user_id": 882,
            "proposed_price": 5278,
            "type": 2,
            "fields": [],
            "offers_count": 0,
            "created_at": "2026-01-10T04:02:16.000000Z",
            "service": {
                "id": 47,
                "name": "Luella Lubowitz",
                "name_ar": "Miss Julia Cummings Jr.",
                "name_en": "Luella Lubowitz",
                "order": 19,
                "icon": "https://via.placeholder.com/640x480.png/007733?text=libero"
            },
            "accepted_offer": null
        },
        {
            "id": 32,
            "subject": "Iusto eum velit nobis sapiente cum. Suscipit quis sapiente at nostrum distinctio tenetur quisquam eligendi.",
            "status": 7,
            "description": "Repudiandae recusandae qui fuga perspiciatis laborum dicta. Est eos odit quod voluptatibus numquam soluta qui soluta.",
            "deadline": "1988-06-15 13:26:03",
            "expert_rating": 3,
            "user_rating": 2,
            "payment_type": 2,
            "expert_id": 900,
            "user_id": 882,
            "proposed_price": 41767,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2026-01-10T04:02:16.000000Z",
            "service": {
                "id": 48,
                "name": "Cory Towne",
                "name_ar": "Ms. Itzel Ziemann II",
                "name_en": "Cory Towne",
                "order": 18,
                "icon": "https://via.placeholder.com/640x480.png/000066?text=non"
            },
            "accepted_offer": null
        },
        {
            "id": 33,
            "subject": "Quo id ex quia totam quisquam quo. Pariatur accusantium ratione ad architecto quis aut ea. Expedita corrupti eum repellendus harum inventore. Natus voluptatem voluptatem quis qui vel ut illo.",
            "status": 7,
            "description": "Sit in esse omnis. Adipisci deleniti dolores illum commodi delectus. Provident et corrupti est.",
            "deadline": "1973-04-20 18:53:40",
            "expert_rating": 4,
            "user_rating": 4,
            "payment_type": 1,
            "expert_id": 902,
            "user_id": 882,
            "proposed_price": 68960,
            "type": 2,
            "fields": [],
            "offers_count": 0,
            "created_at": "2026-01-10T04:02:16.000000Z",
            "service": {
                "id": 49,
                "name": "Alfonzo Oberbrunner",
                "name_ar": "Edyth Marvin",
                "name_en": "Alfonzo Oberbrunner",
                "order": 78,
                "icon": "https://via.placeholder.com/640x480.png/0055bb?text=consequuntur"
            },
            "accepted_offer": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 7

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 1

filter[identifier]   string  optional  

Field to filter items by identifier. Example: culpa

filter[name]   string  optional  

Field to filter items by name. Example: nisi

filter[description]   string  optional  

Field to filter items by description . Example: necessitatibus

filter[subject]   string  optional  

Field to filter items by subject . Example: impedit

filter[payment_type]   integer  optional  

Field to filter items by payment_type. Example: 16

filter[type]   integer  optional  

Field to filter items by type. Example: 19

filter[status]   integer  optional  

Field to filter items by status. Example: 20

filter[proposed_price]   string  optional  

Field to filter items by proposed_price. Example: consequuntur

filter[expert_rating]   integer  optional  

Field to filter items by expert_rating. Example: 18

filter[user_rating]   integer  optional  

Field to filter items by user_rating. Example: 3

filter[accepted_offer]   boolean  optional  

Field to filter items that have an accepted offer. Example: false

sort   string  optional  

Field to sort items by identifier,name,description,subject, type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: nostrum

Show my feedbacks

requires authentication

This endpoint lets you show my feedbacks

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/feedbacks?page=8&per_page=10&filter%5Bidentifier%5D=sunt&filter%5Bmessage%5D=ut&filter%5Btype%5D=20&filter%5Bstatus%5D=14&filter%5Brating%5D=9&sort=fugit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/feedbacks"
);

const params = {
    "page": "8",
    "per_page": "10",
    "filter[identifier]": "sunt",
    "filter[message]": "ut",
    "filter[type]": "20",
    "filter[status]": "14",
    "filter[rating]": "9",
    "sort": "fugit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "message": "Quae mollitia dolor voluptatum molestias. Quia rerum animi vel occaecati. Debitis aliquid ea et deserunt. Magni inventore saepe consectetur sunt et natus.",
            "status": 1,
            "user_id": 1115,
            "type": 4,
            "rating": 5,
            "chat_group_id": "07747-9580"
        },
        {
            "id": 7,
            "message": "Nulla minus deserunt autem aut quod sed. Quo rerum vero earum eos deleniti hic deleniti. Et excepturi doloribus necessitatibus sint tempora repudiandae dolor. Autem quis accusantium a harum id.",
            "status": 2,
            "user_id": 1115,
            "type": 5,
            "rating": 5,
            "chat_group_id": "18281"
        },
        {
            "id": 8,
            "message": "Itaque omnis corrupti asperiores tempore sapiente. Et dolorem nesciunt non est.",
            "status": 1,
            "user_id": 1115,
            "type": 1,
            "rating": 4,
            "chat_group_id": "40953"
        },
        {
            "id": 9,
            "message": "Placeat nulla illo ipsa. Corrupti ut excepturi esse et. Dolor molestiae inventore doloribus omnis fuga doloribus.",
            "status": 1,
            "user_id": 1115,
            "type": 5,
            "rating": 1,
            "chat_group_id": "53408"
        },
        {
            "id": 10,
            "message": "Fugit vero quisquam alias libero aliquid cupiditate. Temporibus quia quia inventore ut debitis et ut. Sint deleniti quidem fuga ut. Doloremque laborum laudantium soluta maiores asperiores odit.",
            "status": 2,
            "user_id": 1115,
            "type": 4,
            "rating": 4,
            "chat_group_id": "33055-3505"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 8

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 10

filter[identifier]   string  optional  

Field to filter items by identifier. Example: sunt

filter[message]   string  optional  

Field to filter items by message. Example: ut

filter[type]   integer  optional  

Field to filter items by type. Example: 20

filter[status]   integer  optional  

Field to filter items by status. Example: 14

filter[rating]   integer  optional  

Field to filter items by rating. Example: 9

sort   string  optional  

Field to sort items by identifier,name,description,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: fugit

Show my offers

requires authentication

This endpoint lets you show my offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/offers?page=3&per_page=2&filter%5Bid%5D=dolor&filter%5Bprice%5D=nemo&filter%5Bstatus%5D=3&sort=expedita" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/offers"
);

const params = {
    "page": "3",
    "per_page": "2",
    "filter[id]": "dolor",
    "filter[price]": "nemo",
    "filter[status]": "3",
    "sort": "expedita",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "price": 164,
            "deadline": "2025-01-23 02:18:57",
            "status": 1,
            "chat_group_id": "Unde quisquam inventore impedi",
            "user": {
                "id": 1020,
                "name": "Maci Price III",
                "phone": "+17142009368",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "44",
                "profession": "Alice led the way.",
                "specialty": "That he met in the.",
                "brief": "Mock Turtle, and.",
                "type": 2,
                "section": 1,
                "consultation_price": 59
            },
            "order": {
                "id": 69,
                "subject": "Earum rerum consectetur voluptatem voluptatem. Qui labore hic dolor inventore aut quo quia. Deleniti rerum voluptatem neque hic. Blanditiis qui ut exercitationem.",
                "status": 6
            }
        },
        {
            "id": 7,
            "price": 146,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "In omnis quis ut temporibus. H",
            "user": {
                "id": 1020,
                "name": "Maci Price III",
                "phone": "+17142009368",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "44",
                "profession": "Alice led the way.",
                "specialty": "That he met in the.",
                "brief": "Mock Turtle, and.",
                "type": 2,
                "section": 1,
                "consultation_price": 59
            },
            "order": {
                "id": 70,
                "subject": "Vero deleniti ratione similique in iste rerum repellat. Deleniti fugiat quia velit natus omnis. Autem iste veritatis quia provident alias. Ad ut voluptatem aut similique.",
                "status": 1
            }
        },
        {
            "id": 8,
            "price": 30,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Quia nostrum deleniti ullam vo",
            "user": {
                "id": 1020,
                "name": "Maci Price III",
                "phone": "+17142009368",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "44",
                "profession": "Alice led the way.",
                "specialty": "That he met in the.",
                "brief": "Mock Turtle, and.",
                "type": 2,
                "section": 1,
                "consultation_price": 59
            },
            "order": {
                "id": 71,
                "subject": "Ea animi rerum eos tenetur expedita dignissimos quae. Est nisi quam maxime doloribus. Iusto labore quia quisquam odit sed.",
                "status": 5
            }
        },
        {
            "id": 9,
            "price": 153,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Ipsam eum ex nisi. Asperiores ",
            "user": {
                "id": 1020,
                "name": "Maci Price III",
                "phone": "+17142009368",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "44",
                "profession": "Alice led the way.",
                "specialty": "That he met in the.",
                "brief": "Mock Turtle, and.",
                "type": 2,
                "section": 1,
                "consultation_price": 59
            },
            "order": {
                "id": 72,
                "subject": "Nisi consequuntur quasi sint quia reiciendis in quos ullam. Dolores hic nihil ut cum odit repellat. Inventore tempora velit fugiat veniam sint.",
                "status": 6
            }
        },
        {
            "id": 10,
            "price": 77,
            "deadline": "2025-01-23 02:18:57",
            "status": 3,
            "chat_group_id": "Nobis natus harum nihil cumque",
            "user": {
                "id": 1020,
                "name": "Maci Price III",
                "phone": "+17142009368",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "44",
                "profession": "Alice led the way.",
                "specialty": "That he met in the.",
                "brief": "Mock Turtle, and.",
                "type": 2,
                "section": 1,
                "consultation_price": 59
            },
            "order": {
                "id": 73,
                "subject": "Qui architecto dicta recusandae quia. Esse quos iste numquam voluptates corrupti ipsa. Molestiae quisquam aspernatur fugiat adipisci quis quod doloribus. Eum ab reprehenderit id dolorem qui officiis.",
                "status": 3
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 3

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 2

filter[id]   string  optional  

Field to filter items by id. Example: dolor

filter[price]   string  optional  

Field to filter items by price. Example: nemo

filter[status]   integer  optional  

Field to filter items by status. Example: 3

sort   string  optional  

Field to sort items by id,price,status,offerable_type,offerable_id. Example: expedita

Show me join us orders

requires authentication

This endpoint lets you show me join us orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/join-us-orders?page=14&per_page=7&filter%5Bid%5D=voluptas&filter%5Bdescription%5D=quod&filter%5Buser_id%5D=est&filter%5Bstatus%5D=8&filter%5Btype%5D=19&sort=eligendi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/join-us-orders"
);

const params = {
    "page": "14",
    "per_page": "7",
    "filter[id]": "voluptas",
    "filter[description]": "quod",
    "filter[user_id]": "est",
    "filter[status]": "8",
    "filter[type]": "19",
    "sort": "eligendi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 19,
            "description": "Nihil porro voluptatem dolor voluptas aut eveniet consectetur. Magni nostrum quis et dolorem. Officia exercitationem tenetur asperiores qui earum ut optio maiores.",
            "status": 2,
            "type": 2,
            "user_id": 863,
            "user": {
                "id": 863,
                "name": "Eudora Gerlach",
                "phone": "+14798685629",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 20,
            "description": "Architecto vel impedit sed et unde qui et. Quia et officiis quae unde. Voluptatem ullam excepturi soluta.",
            "status": 1,
            "type": 1,
            "user_id": 863,
            "user": {
                "id": 863,
                "name": "Eudora Gerlach",
                "phone": "+14798685629",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 21,
            "description": "Vel incidunt velit cum provident molestias qui. Quidem eius rem commodi. Voluptas minima ut in alias eius quidem aspernatur. Alias dolor est eius alias non praesentium.",
            "status": 1,
            "type": 3,
            "user_id": 863,
            "user": {
                "id": 863,
                "name": "Eudora Gerlach",
                "phone": "+14798685629",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 22,
            "description": "Provident quo rerum consequatur sint quisquam voluptatem. Delectus temporibus ut voluptatibus vero deserunt esse aperiam reiciendis. Asperiores eos labore illo libero aliquam.",
            "status": 1,
            "type": 3,
            "user_id": 863,
            "user": {
                "id": 863,
                "name": "Eudora Gerlach",
                "phone": "+14798685629",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 23,
            "description": "Ullam ut officia dolor. Cum optio et incidunt excepturi officia. Consequatur fugiat a omnis ducimus quasi quo eaque.",
            "status": 2,
            "type": 3,
            "user_id": 863,
            "user": {
                "id": 863,
                "name": "Eudora Gerlach",
                "phone": "+14798685629",
                "image": null
            },
            "services": null,
            "certificates": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 14

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

filter[id]   string  optional  

Field to filter items by id. Example: voluptas

filter[description]   string  optional  

Field to filter items by description. Example: quod

filter[user_id]   string  optional  

Field to filter items by user id. Example: est

filter[status]   integer  optional  

Field to filter items by status. Example: 8

filter[type]   integer  optional  

Field to filter items by type. Example: 19

sort   string  optional  

Field to sort items by id,description,user_id,status,type. Example: eligendi

requires authentication

This endpoint lets you link with marketer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/link-with-marketer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"consequatur\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/link-with-marketer"
);

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

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

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

Example response (200):


{
    "message": "success",
    "status_code": 200
}
 

mark all user's notifications as read

requires authentication

This endpoint lets you mark all user's notification as read

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/mark-all-notifications-as-read" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/mark-all-notifications-as-read"
);

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

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

Example response (200):


{
    "message": "Notifications updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/me/mark-all-notifications-as-read

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show my notifications

requires authentication

This endpoint lets you show user's notifications

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/notifications?page=14&per_page=16" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/notifications"
);

const params = {
    "page": "14",
    "per_page": "16",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": "3a06b72a-4758-3a42-b2a9-9c71dd5bfe67",
            "data": {
                "title": "New order from the same customer",
                "body": "You have a new order from the same customer.",
                "image": "https://via.placeholder.com/200x200.png/00dd88?text=vel",
                "type": 19
            },
            "read": false,
            "created_at": "2011-01-19T22:41:45.000000Z",
            "updated_at": "1996-04-17T03:46:37.000000Z"
        },
        {
            "id": "2295eb44-f543-32b4-a7e7-724a0bd494f5",
            "data": {
                "title": "New Chat Message",
                "body": "You have received a new message.",
                "image": "https://via.placeholder.com/200x200.png/0033ee?text=error",
                "type": 18
            },
            "read": false,
            "created_at": "1994-04-30T09:31:18.000000Z",
            "updated_at": "2019-02-19T09:55:23.000000Z"
        },
        {
            "id": "7234a7a1-8fcc-3703-ae49-7c481f4978ac",
            "data": {
                "title": "General Notification",
                "body": "You have a new notification.",
                "image": "https://via.placeholder.com/200x200.png/005599?text=ut",
                "type": 2
            },
            "read": false,
            "created_at": "1991-02-10T21:53:37.000000Z",
            "updated_at": "1998-05-29T08:08:26.000000Z"
        },
        {
            "id": "5da26660-848c-3041-9dcb-54e88307aace",
            "data": {
                "title": "Offer Accepted",
                "body": "Offer accepted by user.",
                "image": "https://via.placeholder.com/200x200.png/00cc55?text=qui",
                "type": 8
            },
            "read": false,
            "created_at": "1987-12-08T14:34:11.000000Z",
            "updated_at": "1978-10-20T15:53:52.000000Z"
        },
        {
            "id": "5a5c5f0d-ba65-37dc-b5e4-66977777c21b",
            "data": {
                "title": "New Chat Message",
                "body": "You have received a new message.",
                "image": "https://via.placeholder.com/200x200.png/005599?text=porro",
                "type": 18
            },
            "read": false,
            "created_at": "1987-06-21T03:17:12.000000Z",
            "updated_at": "1972-06-24T15:21:46.000000Z"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/notifications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 14

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 16

Show my payments

requires authentication

This endpoint lets you show user's payments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/payments?page=3&per_page=20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/payments"
);

const params = {
    "page": "3",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "status": 2,
            "amount": 176,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 44,
                "subject": "Sequi voluptatem autem voluptatem rem dolorum non odio. Ducimus dicta et saepe rerum qui. Aut et voluptatem optio error.",
                "status": 2
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 2,
            "status": 1,
            "amount": 30,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 45,
                "subject": "Aut nisi iure et voluptas id. Autem consequatur sed autem quae dolorem corporis sit accusamus. Dolore animi veritatis pariatur facilis quas veniam consequatur dolorem. Ut molestiae ab nobis commodi.",
                "status": 9
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 3,
            "status": 4,
            "amount": 20,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 46,
                "subject": "Vel incidunt voluptatem autem repudiandae sapiente iusto. Fugit aut et accusantium consectetur. Excepturi ut molestiae non voluptatibus. Qui et et quae occaecati.",
                "status": 9
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 4,
            "status": 4,
            "amount": 13,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 47,
                "subject": "Assumenda laborum omnis et veniam dolores aut iure eveniet. Omnis magni eum et ut voluptate. Sapiente inventore sunt quam vel nostrum saepe quis.",
                "status": 4
            },
            "type": 3,
            "meta": null,
            "notes": null
        },
        {
            "id": 5,
            "status": 3,
            "amount": 19,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 48,
                "subject": "Mollitia voluptas voluptas at voluptatem quibusdam enim. Nostrum voluptate delectus tempore est. Incidunt optio vel consequatur quaerat repellendus.",
                "status": 2
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 6,
            "status": 4,
            "amount": 167,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 49,
                "subject": "Incidunt a tenetur corporis qui. Et dolores voluptatum placeat ab rerum et id a. Labore molestiae natus quasi autem quaerat.",
                "status": 8
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 7,
            "status": 3,
            "amount": 28,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 50,
                "subject": "Et voluptates unde sequi cumque. Temporibus quia a corrupti et quibusdam inventore qui. Voluptatibus et atque repellat deserunt aut totam.",
                "status": 2
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 8,
            "status": 2,
            "amount": 58,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 51,
                "subject": "Earum nemo voluptatem natus alias dolores. Consequatur ut id quis cumque velit quisquam. Occaecati ab dignissimos ut. Velit suscipit tempora minima voluptatem odio quia.",
                "status": 9
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 9,
            "status": 1,
            "amount": 149,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 52,
                "subject": "Cum quam in commodi culpa ut veritatis. Quos et aut veritatis illo. Non ex fugit at necessitatibus quibusdam ullam. Id nesciunt quia sed ipsa enim voluptatem.",
                "status": 4
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 10,
            "status": 1,
            "amount": 76,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 53,
                "subject": "Qui soluta fugiat fuga sequi aut quaerat error eligendi. Eum consequatur laudantium consequatur voluptatibus iure facilis. Earum nobis et est repellendus. Esse qui repellat iure sit.",
                "status": 7
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 11,
            "status": 4,
            "amount": 21,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 54,
                "subject": "Aut eius est odit est labore et. Nam eum non in assumenda et laboriosam aut. Ipsum voluptatem id voluptates aspernatur. Voluptas odio tempora similique beatae dolorem earum et.",
                "status": 2
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 12,
            "status": 4,
            "amount": 180,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 55,
                "subject": "Dolores quis aut et et qui dolores aut. Autem fugit assumenda fugit hic aut sed sed. Et placeat consequatur consectetur odio aliquid facilis.",
                "status": 5
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 13,
            "status": 2,
            "amount": 157,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 56,
                "subject": "Molestiae corporis rerum qui non. Corporis necessitatibus omnis praesentium quo ipsa adipisci voluptas doloribus. Hic voluptatum illum et est maiores.",
                "status": 1
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 14,
            "status": 4,
            "amount": 48,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 57,
                "subject": "Tempore est vitae quia quas doloribus cum fuga. Doloribus eaque eum aut voluptatem ullam voluptate quos. Mollitia perferendis laborum ea saepe rerum aliquid placeat.",
                "status": 3
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 15,
            "status": 3,
            "amount": 67,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 58,
                "subject": "Est officia aut eum doloribus commodi assumenda. Qui asperiores temporibus deserunt ut a cum consequatur. Natus tenetur quae voluptatem corporis veniam.",
                "status": 3
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 16,
            "status": 4,
            "amount": 58,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 59,
                "subject": "Tempora aut accusantium quo aut illo nam. Enim impedit ipsam excepturi quia occaecati. Molestiae omnis aliquid repudiandae voluptates iure iure accusamus.",
                "status": 7
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 17,
            "status": 4,
            "amount": 172,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 60,
                "subject": "Nobis quae debitis aut delectus illum quo. Omnis voluptates ea fugiat sit repellat. Dolorem reiciendis inventore placeat laboriosam rerum quaerat unde.",
                "status": 3
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 18,
            "status": 3,
            "amount": 121,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 61,
                "subject": "Dolorem recusandae architecto impedit vel. Et ipsam est a est nostrum doloribus. Aspernatur a omnis ea.",
                "status": 8
            },
            "type": 3,
            "meta": null,
            "notes": null
        },
        {
            "id": 19,
            "status": 1,
            "amount": 169,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 62,
                "subject": "Et rem aspernatur distinctio repudiandae laboriosam sit est explicabo. Nam cum accusamus omnis est nihil explicabo sed non. Et facilis perspiciatis qui magnam.",
                "status": 9
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 20,
            "status": 1,
            "amount": 83,
            "user_id": 959,
            "balance": 0,
            "order": {
                "id": 63,
                "subject": "Illo ullam quia molestiae deleniti et. Qui magnam voluptatem minima voluptate quia eos iure voluptates. Nesciunt at incidunt aspernatur.",
                "status": 4
            },
            "type": 1,
            "meta": null,
            "notes": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 20,
            "per_page": 50,
            "count": 20,
            "current_page": 1
        },
        "balance": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 3

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 20

Payment withdrawal request

requires authentication

This endpoint lets you link with marketer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/payment-withdrawal" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 82.3,
    \"type\": \"1\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/payment-withdrawal"
);

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

let body = {
    "amount": 82.3,
    "type": "1"
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "status": 1,
        "amount": -10000,
        "user_id": 1138,
        "balance": -9800,
        "type": 4,
        "meta": {
            "withdrawal_type": 1,
            "iban": "TEST"
        },
        "notes": "122"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/me/payment-withdrawal

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

amount   number   

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

type   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
  • 3
iban   string  optional  
notes   string  optional  

User can delete his account

requires authentication

This endpoint lets you delete your account

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/me/delete-account" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/delete-account"
);

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

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

Example response (200):


{
    "message": "Account deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/me/delete-account

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Notifications

APIs for managing notifications

mark a notification as read

requires authentication

This endpoint lets you mark a notification as read

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/notifications/dolorem/mark-as-read" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/notifications/dolorem/mark-as-read"
);

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

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

Example response (200):


{
    "message": "Notification updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/notifications/{notification_id}/mark-as-read

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: dolorem

Offers

APIs for managing offers

Show all offers

requires authentication

This endpoint lets you show all offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/offers?page=18&per_page=18&filter%5Bid%5D=deleniti&filter%5Bprice%5D=mollitia&filter%5Bdeadline%5D=20&filter%5Bstatus%5D=2&sort=blanditiis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers"
);

const params = {
    "page": "18",
    "per_page": "18",
    "filter[id]": "deleniti",
    "filter[price]": "mollitia",
    "filter[deadline]": "20",
    "filter[status]": "2",
    "sort": "blanditiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 24,
            "price": 59,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Est necessitatibus totam conse",
            "user": {
                "id": 1096,
                "name": "Kendall Hilpert",
                "phone": "+12316544968",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "15",
                "profession": "Alice; 'but a grin.",
                "specialty": "I wonder if I like.",
                "brief": "Knave. The Knave.",
                "type": 2,
                "section": 1,
                "consultation_price": 97
            },
            "order": {
                "id": 87,
                "subject": "Illo quo magnam sed voluptas accusamus beatae dolorum. Maiores omnis repudiandae ut autem id nihil. Aut sit fugit consequatur aut deleniti hic.",
                "status": 9
            }
        },
        {
            "id": 25,
            "price": 35,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Consequuntur quia qui dolor si",
            "user": {
                "id": 1099,
                "name": "Daren Hackett V",
                "phone": "+15678238321",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "8",
                "profession": "Alice, as the game.",
                "specialty": "Gryphon, and the.",
                "brief": "Duchess,' she said.",
                "type": 0,
                "section": 1,
                "consultation_price": 85
            },
            "order": {
                "id": 88,
                "subject": "Sunt a fuga at ut. Voluptate molestiae sit recusandae est. Sed est distinctio quas quam est quae. Iure a voluptatem consequatur consequuntur dolorem cum.",
                "status": 1
            }
        },
        {
            "id": 26,
            "price": 17,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Ut est iusto reiciendis cumque",
            "user": {
                "id": 1102,
                "name": "Dr. Nedra Gulgowski PhD",
                "phone": "+12088276345",
                "image": null,
                "expert_rating_avg": 0.2,
                "age": "19",
                "profession": "I think it was,'.",
                "specialty": "Mock Turtle yawned.",
                "brief": "Alice began to say.",
                "type": 0,
                "section": 1,
                "consultation_price": 78
            },
            "order": {
                "id": 89,
                "subject": "Iure a libero dolor sapiente. Amet cupiditate dolorem ipsa non et cupiditate. Placeat nesciunt deserunt laborum et.",
                "status": 9
            }
        },
        {
            "id": 27,
            "price": 79,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Non minus voluptate aut nihil ",
            "user": {
                "id": 1105,
                "name": "Ward Kuhlman",
                "phone": "+17346721647",
                "image": null,
                "expert_rating_avg": 0.2,
                "age": "18",
                "profession": "The first witness.",
                "specialty": "Alice could think.",
                "brief": "RED rose-tree, and.",
                "type": 0,
                "section": 1,
                "consultation_price": 49
            },
            "order": {
                "id": 90,
                "subject": "Optio sed iste asperiores ut. Laborum accusamus cumque sequi architecto quia excepturi. Quia voluptate dolorum quia.",
                "status": 6
            }
        },
        {
            "id": 28,
            "price": 71,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Ipsam sed totam dolores corpor",
            "user": {
                "id": 1108,
                "name": "Kylie Turner",
                "phone": "+15137862444",
                "image": null,
                "expert_rating_avg": 0.5,
                "age": "15",
                "profession": "THIS size: why, I.",
                "specialty": "For some minutes.",
                "brief": "I think?' he said.",
                "type": 4,
                "section": 1,
                "consultation_price": 25
            },
            "order": {
                "id": 91,
                "subject": "Adipisci sint velit mollitia vitae reiciendis dicta voluptas. Et qui cumque dolores velit. Voluptas eos in aut qui rerum.",
                "status": 3
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 18

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[id]   string  optional  

Field to filter items by id. Example: deleniti

filter[price]   string  optional  

Field to filter items by price. Example: mollitia

filter[deadline]   integer  optional  

Field to filter items by deadline. Example: 20

filter[status]   integer  optional  

Field to filter items by status. Example: 2

sort   string  optional  

Field to sort items by id,price,status,offerable_type,offerable_id. Example: blanditiis

Show specific offer

requires authentication

This endpoint lets you show specific offer

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

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "price": 109,
        "deadline": "2025-01-23 02:18:57",
        "status": 4,
        "chat_group_id": "6226db0abfd2930018b6922b",
        "user": {
            "id": 797,
            "name": "Reinhold McGlynn",
            "phone": "+18439705153",
            "image": null,
            "expert_rating_avg": 0.3,
            "age": "56",
            "profession": "Duchess, 'as pigs.",
            "specialty": "I am, sir,' said.",
            "brief": "Hatter continued.",
            "type": 2,
            "section": 1,
            "consultation_price": 69
        },
        "order": {
            "id": 28,
            "subject": "Praesentium nemo officia dolor et nemo distinctio inventore. Esse ipsa iste nulla non eveniet necessitatibus. A quia vero velit nostrum enim est sed.",
            "status": 6
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the offer. Example: 1

update offer

requires authentication

This endpoint lets you update offer

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/offers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 46846.280562087,
    \"deadline\": \"2026-01-10T04:05:16\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers/1"
);

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

let body = {
    "price": 46846.280562087,
    "deadline": "2026-01-10T04:05:16"
};

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

Example response (200):


{
    "data": {
        "id": 51,
        "price": 5000,
        "deadline": "2026-01-10 04:02:27",
        "status": 1,
        "chat_group_id": null,
        "user": {
            "id": 961,
            "name": "Dr. Bennie Schroeder DVM",
            "phone": "+16315840896",
            "image": null,
            "expert_rating_avg": 0.4,
            "age": "11",
            "profession": "I've offended it.",
            "specialty": "Mock Turtle went.",
            "brief": "Mock Turtle would.",
            "type": 4,
            "section": 1,
            "consultation_price": 22
        },
        "order": {
            "id": 87,
            "subject": "Distinctio non harum magnam saepe. Quidem cupiditate laudantium qui. Harum magni dolores nemo dolores perferendis voluptatem voluptatibus. Magni et nostrum et animi consequatur et.",
            "status": 7
        }
    },
    "message": "Offer's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/offers/{id}

PATCH api/v1/offers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the offer. Example: 1

Body Parameters

price   number  optional  

Example: 46846.280562087

deadline   string  optional  

Must be a valid date. Example: 2026-01-10T04:05:16

Make offer accept This endpoint lets you make offer accept

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/offer/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offer/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 17,
        "price": null,
        "deadline": null,
        "status": 2,
        "chat_group_id": null,
        "user": {
            "id": 971,
            "name": "Florine Cronin",
            "phone": "+18594576199",
            "image": null,
            "expert_rating_avg": 0.5,
            "age": "54",
            "profession": "Alice, very loudly.",
            "specialty": "VERY wide, but she.",
            "brief": "Do you think you.",
            "type": 1,
            "section": 1,
            "consultation_price": 37
        },
        "order": {
            "id": 1111129,
            "subject": "Hic illo veritatis ipsa assumenda ipsa commodi qui. Iusto quibusdam incidunt maiores. Delectus ad dolorem sequi molestiae. Qui itaque sunt a blanditiis molestiae velit ea.",
            "status": 7
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/offer/{offer_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Make offer reject This endpoint lets you make offer reject

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/offer/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offer/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 13,
        "price": null,
        "deadline": null,
        "status": 3,
        "chat_group_id": null,
        "user": {
            "id": 1223,
            "name": "Stephania Mayert II",
            "phone": "+14247070551",
            "image": null,
            "expert_rating_avg": 0.2,
            "age": "49",
            "profession": "Mock Turtle in a.",
            "specialty": "But she waited for.",
            "brief": "Cat, 'a dog's not.",
            "type": 1,
            "section": 1,
            "consultation_price": 33
        },
        "order": {
            "id": 36,
            "subject": "Eaque et vel rem numquam. Molestias aut et voluptas modi eum rerum eveniet molestiae. Iure occaecati aut voluptatem. Quos itaque delectus sapiente officiis quia explicabo quo.",
            "status": 5
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/offer/{offer_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

index offer's attachments

requires authentication

This endpoint lets you show order's attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/offers/1/attachments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers/1/attachments"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "user_id": 1152,
            "status": 2,
            "sort": 10,
            "type": 1,
            "name": "myFile",
            "link": "https://www.kilback.com/modi-corporis-error-fugiat-accusamus-delectus-qui",
            "order": {
                "id": 4,
                "price": 165,
                "deadline": "2025-01-23 02:18:57",
                "status": 2,
                "user_id": 1147,
                "chat_group_id": "Sit eum assumenda eos soluta. "
            }
        },
        {
            "id": 7,
            "user_id": 1155,
            "status": 2,
            "sort": 18,
            "type": 1,
            "name": "myFile",
            "link": "http://www.stokes.com/velit-voluptatem-molestiae-aperiam-eligendi-exercitationem-id",
            "order": {
                "id": 4,
                "price": 165,
                "deadline": "2025-01-23 02:18:57",
                "status": 2,
                "user_id": 1147,
                "chat_group_id": "Sit eum assumenda eos soluta. "
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers/{offer_id}/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Make offer cancelled by expert This endpoint lets you make cancelled by expert

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/expert/offers/1/status/cancel" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/offers/1/status/cancel"
);

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

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

Example response (200):


{
    "data": {
        "id": 15,
        "price": null,
        "deadline": null,
        "status": 4,
        "chat_group_id": null,
        "user": {
            "id": 813,
            "name": "Ms. Jeanie Koepp",
            "phone": "+16162053951",
            "image": null,
            "expert_rating_avg": 0.3,
            "age": "83",
            "profession": "After a minute or.",
            "specialty": "I have to go down.",
            "brief": "Cheshire Cat: now.",
            "type": 1,
            "section": 1,
            "consultation_price": 84
        },
        "order": {
            "id": 33,
            "subject": "Sit voluptas repellendus itaque. Et harum hic qui quia veritatis rerum.",
            "status": 3
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/expert/offers/{offer_id}/status/cancel

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Orders

APIs for managing orders

Show all order's offers

requires authentication

This endpoint lets you show all order's offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders/1/offers?page=17&per_page=7&filter%5Bid%5D=hic&filter%5Bprice%5D=commodi&filter%5Bdeadline%5D=3&filter%5Bstatus%5D=20&sort=necessitatibus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/offers"
);

const params = {
    "page": "17",
    "per_page": "7",
    "filter[id]": "hic",
    "filter[price]": "commodi",
    "filter[deadline]": "3",
    "filter[status]": "20",
    "sort": "necessitatibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111139,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1234,
                "name": "Vito Prosacco",
                "phone": "+19896068516",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "73",
                "profession": "NO mistake about.",
                "specialty": "English!' said the.",
                "brief": "Seven flung down.",
                "type": 2,
                "section": 1,
                "consultation_price": 17
            },
            "order": {
                "id": 130,
                "subject": "Recusandae magni reprehenderit sequi ullam. Culpa voluptatem est distinctio ratione rerum fugiat fuga. Accusamus quam saepe illum saepe nisi qui laborum.",
                "status": 4
            }
        },
        {
            "id": 11111140,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1234,
                "name": "Vito Prosacco",
                "phone": "+19896068516",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "73",
                "profession": "NO mistake about.",
                "specialty": "English!' said the.",
                "brief": "Seven flung down.",
                "type": 2,
                "section": 1,
                "consultation_price": 17
            },
            "order": {
                "id": 130,
                "subject": "Recusandae magni reprehenderit sequi ullam. Culpa voluptatem est distinctio ratione rerum fugiat fuga. Accusamus quam saepe illum saepe nisi qui laborum.",
                "status": 4
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{order_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 17

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

filter[id]   string  optional  

Field to filter items by id. Example: hic

filter[price]   string  optional  

Field to filter items by price. Example: commodi

filter[deadline]   integer  optional  

Field to filter items by deadline. Example: 3

filter[status]   integer  optional  

Field to filter items by status. Example: 20

sort   string  optional  

Field to sort items by id,price,status. Example: necessitatibus

store order's offers

requires authentication

This endpoint lets you store order's offers

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/offers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 35732.9022,
    \"deadline\": \"2026-01-10T04:05:17\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/offers"
);

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

let body = {
    "price": 35732.9022,
    "deadline": "2026-01-10T04:05:17"
};

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

Example response (200):


{
    "data": {
        "id": 20,
        "price": 5800,
        "deadline": "2026-01-10 04:02:26",
        "status": 1,
        "chat_group_id": 5,
        "user": {
            "id": 1062,
            "name": "Travon Schultz",
            "phone": "+15398238895",
            "image": null,
            "expert_rating_avg": 0.3,
            "age": "6",
            "profession": "March Hare will be.",
            "specialty": "Caterpillar. 'Not.",
            "brief": "Duchess sang the.",
            "type": 1,
            "section": 1,
            "consultation_price": 73
        },
        "order": {
            "id": 1111157,
            "subject": "Voluptatem vitae qui harum nam nihil porro cumque. Consectetur maiores adipisci voluptatem voluptatem ratione. Voluptatem minima qui asperiores veritatis. Quae et voluptatem minima ut voluptas.",
            "status": 5
        }
    },
    "message": "The offer added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

price   number   

Example: 35732.9022

deadline   string   

Must be a valid date. Example: 2026-01-10T04:05:17

index order's attachments

requires authentication

This endpoint lets you index order's attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders/1/attachments?page=7&per_page=7&filter%5Bid%5D=voluptas&filter%5Buser_id%5D=10&filter%5Bstatus%5D=19&filter%5Btype%5D=12&sort=maxime" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/attachments"
);

const params = {
    "page": "7",
    "per_page": "7",
    "filter[id]": "voluptas",
    "filter[user_id]": "10",
    "filter[status]": "19",
    "filter[type]": "12",
    "sort": "maxime",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 15,
            "user_id": 997,
            "status": 2,
            "sort": 12,
            "type": 1,
            "name": "myFile",
            "link": "http://hauck.org/recusandae-voluptas-in-fugiat-fugit-ut-commodi.html",
            "order": {
                "id": 1111134,
                "subject": "Magnam atque est dolor qui. Magni minus alias consequatur sed ut dolorum laboriosam. Id excepturi asperiores dicta deleniti et quasi.",
                "status": 1
            }
        },
        {
            "id": 16,
            "user_id": 1000,
            "status": 1,
            "sort": 18,
            "type": 2,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 1111134,
                "subject": "Magnam atque est dolor qui. Magni minus alias consequatur sed ut dolorum laboriosam. Id excepturi asperiores dicta deleniti et quasi.",
                "status": 1
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{order_id}/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 7

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

filter[id]   string  optional  

Field to filter items by id. Example: voluptas

filter[user_id]   integer  optional  

Field to filter items by user_id. Example: 10

filter[status]   integer  optional  

Field to filter items by status. Example: 19

filter[type]   integer  optional  

Field to filter items by type. Example: 12

sort   string  optional  

Field to sort items by id, status, sort. Example: maxime

expert orders

requires authentication

This endpoint lets you show all expert orders

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 42,
            "subject": "Et eum debitis nesciunt voluptates itaque sunt. Ipsa in illum tempora repellendus. Vel amet et ut eveniet maxime. Error quidem quis animi delectus.",
            "status": 7,
            "description": "Minima blanditiis et debitis voluptatibus tenetur ipsum. Modi numquam nulla aut.",
            "deadline": "2020-02-20T09:36:38.000000Z",
            "expert_rating": 5,
            "user_rating": 3,
            "payment_type": 1,
            "user": {
                "id": 847,
                "name": "Mckenzie Robel MD",
                "phone": "+18726241232",
                "image": null
            },
            "service_id": 99,
            "service_name": "Nayeli Fisher",
            "service_name_ar": "Miss Danyka Fritsch DDS",
            "proposed_price": 24615,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 23,
                "price": 100,
                "deadline": "2026-01-15 04:02:22",
                "status": 1,
                "user_id": 836,
                "chat_group_id": null
            },
            "actual_deadline": "2026-01-20T04:02:21.000000Z",
            "expert_id": 848
        },
        {
            "id": 43,
            "subject": "Sequi corrupti vel enim odit. Quia iusto praesentium rerum repellat. Accusantium voluptatibus voluptatem et sed molestias saepe. Vel iste quasi ut inventore.",
            "status": 7,
            "description": "Perferendis facere eius culpa repellendus esse dolor omnis. Ab consequatur ratione sequi facilis qui ullam totam. Rem recusandae autem quam a. Magni explicabo in id dolor amet aliquam.",
            "deadline": "1975-10-03T05:05:50.000000Z",
            "expert_rating": 4,
            "user_rating": 4,
            "payment_type": 1,
            "user": {
                "id": 849,
                "name": "Jaquan Heller",
                "phone": "+13416019707",
                "image": null
            },
            "service_id": 100,
            "service_name": "Ms. Whitney Thiel DDS",
            "service_name_ar": "Gertrude Lowe",
            "proposed_price": 77214,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 24,
                "price": 100,
                "deadline": "2026-01-15 04:02:22",
                "status": 1,
                "user_id": 836,
                "chat_group_id": null
            },
            "actual_deadline": "2026-01-20T04:02:21.000000Z",
            "expert_id": 850
        },
        {
            "id": 44,
            "subject": "Officia molestiae dolore iusto maiores omnis facere laboriosam iusto. Ex asperiores aspernatur nostrum sit. Omnis ut enim autem at voluptatem.",
            "status": 7,
            "description": "Ipsam consequuntur eos distinctio. Ut quia dignissimos aperiam est a molestias et. Vitae amet autem quibusdam vel autem qui id. Voluptatum atque sit architecto quis omnis tenetur.",
            "deadline": "1994-04-10T13:36:15.000000Z",
            "expert_rating": 2,
            "user_rating": 2,
            "payment_type": 2,
            "user": {
                "id": 851,
                "name": "Julio Turner",
                "phone": "+17402814419",
                "image": null
            },
            "service_id": 101,
            "service_name": "Elsa Ankunding",
            "service_name_ar": "Dr. Junius Pagac Jr.",
            "proposed_price": 25983,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 25,
                "price": 100,
                "deadline": "2026-01-15 04:02:22",
                "status": 1,
                "user_id": 836,
                "chat_group_id": null
            },
            "actual_deadline": "2026-01-20T04:02:21.000000Z",
            "expert_id": 852
        },
        {
            "id": 45,
            "subject": "Sit rerum vero nam ratione ipsam. Ut tenetur soluta officia numquam aut. Porro voluptate et deserunt. Iure animi omnis et error omnis voluptatibus. Occaecati distinctio aut voluptatem incidunt.",
            "status": 7,
            "description": "A quaerat corrupti dolor mollitia provident. Qui possimus excepturi nihil temporibus. Autem ut ut et ut ipsa veniam. Vero et modi et.",
            "deadline": "1978-07-07T07:26:35.000000Z",
            "expert_rating": 5,
            "user_rating": 5,
            "payment_type": 2,
            "user": {
                "id": 853,
                "name": "Maude Weber III",
                "phone": "+18312965033",
                "image": null
            },
            "service_id": 102,
            "service_name": "Jovani Langosh",
            "service_name_ar": "Olga Roob",
            "proposed_price": 37657,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 26,
                "price": 100,
                "deadline": "2026-01-15 04:02:22",
                "status": 1,
                "user_id": 836,
                "chat_group_id": null
            },
            "actual_deadline": "2026-01-20T04:02:21.000000Z",
            "expert_id": 854
        },
        {
            "id": 46,
            "subject": "Provident repellat qui delectus. Omnis sint ea doloremque dolores aut excepturi nam. Est totam sed velit sint.",
            "status": 7,
            "description": "Ut neque consequuntur quia doloribus quae atque. Aliquid neque officiis at eveniet. Perferendis dignissimos voluptatem sapiente magni itaque et sit. Ducimus aperiam autem eaque non sint.",
            "deadline": "2023-07-04T23:18:18.000000Z",
            "expert_rating": 4,
            "user_rating": 1,
            "payment_type": 1,
            "user": {
                "id": 855,
                "name": "Osbaldo Runolfsdottir II",
                "phone": "+12763617604",
                "image": null
            },
            "service_id": 103,
            "service_name": "Ms. Letitia Welch I",
            "service_name_ar": "Cortez Hessel PhD",
            "proposed_price": 44490,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 27,
                "price": 100,
                "deadline": "2026-01-15 04:02:22",
                "status": 1,
                "user_id": 836,
                "chat_group_id": null
            },
            "actual_deadline": "2026-01-20T04:02:21.000000Z",
            "expert_id": 856
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/expert/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

pending expert orders

requires authentication

This endpoint lets you show all pending orders

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 136,
            "subject": "Totam numquam quasi dolorem ut. Voluptas sequi qui aliquam perferendis adipisci dolorem. Fuga sed nulla est dolores debitis quos est.",
            "status": 2,
            "description": "Rerum hic totam nobis et minima possimus. Reiciendis eum commodi aliquam ipsa. Eos nulla architecto pariatur id.",
            "deadline": "1999-04-18T21:37:00.000000Z",
            "expert_rating": 4,
            "user_rating": 5,
            "payment_type": 2,
            "user": {
                "id": 1070,
                "name": "Annamarie Monahan",
                "phone": "+14194224364",
                "image": null
            },
            "service_id": 196,
            "service_name": "Violette Lueilwitz",
            "service_name_ar": "Jairo Murphy",
            "proposed_price": 16934,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": null
        },
        {
            "id": 137,
            "subject": "Ut ex animi sunt nesciunt. Magnam quisquam molestiae quod laborum harum perferendis. Autem provident deleniti quos laborum provident alias voluptas.",
            "status": 2,
            "description": "Dolore mollitia aut aut distinctio consequatur. Vero ipsa qui beatae adipisci et excepturi. Quaerat sequi ratione atque impedit reprehenderit magni.",
            "deadline": "1972-10-22T14:00:34.000000Z",
            "expert_rating": 2,
            "user_rating": 5,
            "payment_type": 2,
            "user": {
                "id": 1072,
                "name": "Mr. Gerson Nolan II",
                "phone": "+19518760902",
                "image": null
            },
            "service_id": 196,
            "service_name": "Violette Lueilwitz",
            "service_name_ar": "Jairo Murphy",
            "proposed_price": 16478,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 15,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/expert/pending

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Expert rating order on specific order

requires authentication

This endpoint lets you rating an order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/expert/orders/1/rating" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_rating\": 0,
    \"description\": \"Ipsa error mollitia sapiente dolores nobis.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/orders/1/rating"
);

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

let body = {
    "user_rating": 0,
    "description": "Ipsa error mollitia sapiente dolores nobis."
};

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

Example response (200):


{
    "data": {
        "id": 39,
        "subject": "Omnis possimus est ullam animi veniam voluptate. Aliquam sint numquam quis sed labore. Vel nemo nam magni consequatur quas.",
        "status": 3,
        "description": "Nihil delectus sed ipsa et rem. Unde beatae aliquam eum excepturi. Fugiat architecto doloremque rerum unde. Et reiciendis dolor quos tempora laudantium.",
        "deadline": "2011-05-01T16:11:36.000000Z",
        "expert_rating": 5,
        "user_rating": 5,
        "payment_type": 1,
        "user": {
            "id": 1242,
            "name": "Dudley Feeney",
            "phone": "+15409826393",
            "image": null
        },
        "service_id": 41,
        "service_name": "Santos VonRueden",
        "service_name_ar": "Ernest Cronin",
        "proposed_price": 57391,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1241
    },
    "message": "The expert rating saved successfully",
    "status_code": 200
}
 

Request      

POST api/v1/expert/orders/{order_id}/rating

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

user_rating   integer   

Must be between 0 and 5. Example: 0

description   string  optional  

Must not be greater than 255 characters. Example: Ipsa error mollitia sapiente dolores nobis.

Repeat completed order with the same expert

requires authentication

This endpoint lets a user re-order from the same expert once the original order is completed

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/repeat" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Tempore alias perspiciatis et rerum nobis perspiciatis voluptas quam.\",
    \"subject\": \"ullam\",
    \"deadline\": \"2026-01-10T04:05:18\",
    \"payment_type\": \"2\",
    \"type\": \"2\",
    \"proposed_price\": 23323391.62
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/repeat"
);

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

let body = {
    "description": "Tempore alias perspiciatis et rerum nobis perspiciatis voluptas quam.",
    "subject": "ullam",
    "deadline": "2026-01-10T04:05:18",
    "payment_type": "2",
    "type": "2",
    "proposed_price": 23323391.62
};

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

Example response (200):


{
    "data": {
        "id": 1111172,
        "subject": "des",
        "status": 2,
        "description": "des",
        "deadline": "2026-01-10T04:02:32.000000Z",
        "expert_rating": null,
        "user_rating": null,
        "payment_type": 1,
        "user": {
            "id": 1109,
            "name": "Prof. Yazmin Moen",
            "phone": "+19852188417",
            "image": null
        },
        "service_id": 118,
        "service_name": "Earnest Schiller",
        "service_name_ar": "Miss Demetris Mohr",
        "proposed_price": 5000,
        "type": 1,
        "fields": [
            {
                "id": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Tempore excepturi similique sed consectetur tempore omnis ipsam. Sapiente aliquam a aut eum earum est qui. Eaque non est ab nisi ullam sed.",
                "type": 1,
                "value": "test1_20260110040232000.pdf"
            },
            {
                "id": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Tempore excepturi similique sed consectetur tempore omnis ipsam. Sapiente aliquam a aut eum earum est qui. Eaque non est ab nisi ullam sed.",
                "type": 1,
                "value": "test2_20260110040232000.pdf"
            }
        ],
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": null
    },
    "message": "The order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/repeat

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

description   string  optional  

Example: Tempore alias perspiciatis et rerum nobis perspiciatis voluptas quam.

subject   string  optional  

Example: ullam

deadline   string  optional  

Must be a valid date. Example: 2026-01-10T04:05:18

payment_type   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
type   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
  • 3
proposed_price   number  optional  

Example: 23323391.62

fields   string[]  optional  
field_id   string  optional  

The id of an existing record in the fields table.

Show all orders

requires authentication

This endpoint lets you show all orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders?page=9&per_page=1&filter%5Bidentifier%5D=corporis&filter%5Bname%5D=est&filter%5Bdescription%5D=et&filter%5Bsubject%5D=ut&filter%5Bpayment_type%5D=1&filter%5Btype%5D=18&filter%5Bstatus%5D=7&filter%5Bproposed_price%5D=quisquam&filter%5Bexpert_rating%5D=15&filter%5Buser_rating%5D=16&sort=est" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders"
);

const params = {
    "page": "9",
    "per_page": "1",
    "filter[identifier]": "corporis",
    "filter[name]": "est",
    "filter[description]": "et",
    "filter[subject]": "ut",
    "filter[payment_type]": "1",
    "filter[type]": "18",
    "filter[status]": "7",
    "filter[proposed_price]": "quisquam",
    "filter[expert_rating]": "15",
    "filter[user_rating]": "16",
    "sort": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 54,
            "subject": "Eius ducimus debitis et eos soluta blanditiis officia. Et impedit ipsa rerum dolorem. Laboriosam ab officiis vel temporibus.",
            "status": 3,
            "description": "Facere eum eius maiores maiores cum molestiae ad corporis. Dolor et veritatis sed dolores ipsam doloribus quia. Ad vero aperiam voluptas. Explicabo nihil in accusantium.",
            "deadline": "2008-04-09T06:01:54.000000Z",
            "expert_rating": 1,
            "user_rating": 3,
            "payment_type": 1,
            "user": {
                "id": 1278,
                "name": "Dr. Ewell Nitzsche",
                "phone": "+18082085348",
                "image": null
            },
            "service_id": 56,
            "service_name": "Agustin Hoppe",
            "service_name_ar": "Chester Kihn I",
            "proposed_price": 13648,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1279
        },
        {
            "id": 53,
            "subject": "Debitis consectetur velit omnis maxime quos. Fugiat molestiae alias cumque nobis nihil repellendus. Et dolorum consectetur at quaerat possimus. Est incidunt temporibus ipsa non itaque id deserunt.",
            "status": 9,
            "description": "Et veniam et fugiat atque fugiat vel. Ipsam error numquam aut ducimus. Voluptas aut illum tempora sapiente nihil cupiditate ea.",
            "deadline": "1971-03-20T09:34:27.000000Z",
            "expert_rating": 2,
            "user_rating": 2,
            "payment_type": 1,
            "user": {
                "id": 1276,
                "name": "Mrs. Burnice Zboncak III",
                "phone": "+16467237838",
                "image": null
            },
            "service_id": 55,
            "service_name": "Litzy Miller",
            "service_name_ar": "Tod Franecki",
            "proposed_price": 16549,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1277
        },
        {
            "id": 52,
            "subject": "Vel ea numquam enim rem in laboriosam mollitia. Enim id tenetur illo ipsum. Repellendus asperiores blanditiis qui placeat aliquam. Tenetur quo cumque quidem aut quia omnis.",
            "status": 4,
            "description": "Laudantium perspiciatis et blanditiis ullam commodi porro. Saepe eius consequatur tempore expedita nihil ut. Ut omnis debitis ut et distinctio. Libero dolor qui consequatur repellat cumque.",
            "deadline": "2011-09-29T20:19:40.000000Z",
            "expert_rating": 3,
            "user_rating": 4,
            "payment_type": 2,
            "user": {
                "id": 1274,
                "name": "Heaven Von",
                "phone": "+13645298082",
                "image": null
            },
            "service_id": 54,
            "service_name": "Charity Padberg",
            "service_name_ar": "Emmie Walker",
            "proposed_price": 12216,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1275
        },
        {
            "id": 51,
            "subject": "Qui nisi porro et. Eaque veniam fugit necessitatibus sed cum. Ab occaecati rerum est sapiente est.",
            "status": 9,
            "description": "Explicabo illo eaque aut dolorem iure voluptatem. Ipsa ut quo quas numquam quo. Qui sit at ex. Quam nam in ut aliquam quia ratione quia aut.",
            "deadline": "1978-10-02T16:38:28.000000Z",
            "expert_rating": 5,
            "user_rating": 5,
            "payment_type": 2,
            "user": {
                "id": 1272,
                "name": "Camron Brekke",
                "phone": "+15598013276",
                "image": null
            },
            "service_id": 53,
            "service_name": "Kali Roberts",
            "service_name_ar": "Joshua Cruickshank",
            "proposed_price": 20766,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1273
        },
        {
            "id": 50,
            "subject": "Et temporibus quis quia vero laborum. Fugit sunt ut voluptate rerum quas. Amet beatae facere sit dicta deleniti. Dolores et fugit aspernatur quaerat perspiciatis quia.",
            "status": 9,
            "description": "In tenetur quaerat ut. Voluptas dicta minus iste tempore impedit quia sint voluptate. Repellat dolorem in dolor. Assumenda eligendi in sit molestias voluptatem ducimus odit eos.",
            "deadline": "2011-12-02T13:07:13.000000Z",
            "expert_rating": 5,
            "user_rating": 3,
            "payment_type": 2,
            "user": {
                "id": 1270,
                "name": "Kadin Frami",
                "phone": "+12766605781",
                "image": null
            },
            "service_id": 52,
            "service_name": "Ruben Weimann",
            "service_name_ar": "Dr. Michelle Lynch V",
            "proposed_price": 56829,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1271
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 9

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 1

filter[identifier]   string  optional  

Field to filter items by identifier. Example: corporis

filter[name]   string  optional  

Field to filter items by name. Example: est

filter[description]   string  optional  

Field to filter items by description . Example: et

filter[subject]   string  optional  

Field to filter items by subject . Example: ut

filter[payment_type]   integer  optional  

Field to filter items by payment_type. Example: 1

filter[type]   integer  optional  

Field to filter items by type. Example: 18

filter[status]   integer  optional  

Field to filter items by status. Example: 7

filter[proposed_price]   string  optional  

Field to filter items by proposed_price. Example: quisquam

filter[expert_rating]   integer  optional  

Field to filter items by expert_rating. Example: 15

filter[user_rating]   integer  optional  

Field to filter items by user_rating. Example: 16

sort   string  optional  

Field to sort items by identifier,name,description,subject,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: est

Add order

requires authentication

This endpoint lets you add order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"tempora\",
    \"proposed_price\": 4.537248,
    \"subject\": \"cupiditate\",
    \"deadline\": \"2026-01-10T04:05:18\",
    \"payment_type\": \"2\",
    \"service_id\": \"hic\",
    \"type\": \"3\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders"
);

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

let body = {
    "description": "tempora",
    "proposed_price": 4.537248,
    "subject": "cupiditate",
    "deadline": "2026-01-10T04:05:18",
    "payment_type": "2",
    "service_id": "hic",
    "type": "3"
};

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

Example response (200):


{
    "data": {
        "id": 1111172,
        "subject": "des",
        "status": 2,
        "description": "des",
        "deadline": "2026-01-10T04:02:32.000000Z",
        "expert_rating": null,
        "user_rating": null,
        "payment_type": 1,
        "user": {
            "id": 1109,
            "name": "Prof. Yazmin Moen",
            "phone": "+19852188417",
            "image": null
        },
        "service_id": 118,
        "service_name": "Earnest Schiller",
        "service_name_ar": "Miss Demetris Mohr",
        "proposed_price": 5000,
        "type": 1,
        "fields": [
            {
                "id": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Tempore excepturi similique sed consectetur tempore omnis ipsam. Sapiente aliquam a aut eum earum est qui. Eaque non est ab nisi ullam sed.",
                "type": 1,
                "value": "test1_20260110040232000.pdf"
            },
            {
                "id": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Tempore excepturi similique sed consectetur tempore omnis ipsam. Sapiente aliquam a aut eum earum est qui. Eaque non est ab nisi ullam sed.",
                "type": 1,
                "value": "test2_20260110040232000.pdf"
            }
        ],
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": null
    },
    "message": "The order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

description   string   

Example: tempora

proposed_price   number   

Example: 4.537248

subject   string   

Example: cupiditate

expert_id   string  optional  

The id of an existing record in the users table.

deadline   string   

Must be a valid date. Example: 2026-01-10T04:05:18

payment_type   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
service_id   string   

The id of an existing record in the services table. Example: hic

type   string   

Example: 3

Must be one of:
  • 1
  • 2
  • 3
fields   string[]  optional  
field_id   string  optional  

The id of an existing record in the fields table.

Show specific order

requires authentication

This endpoint lets you show specific order

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

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

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

Example response (200):


{
    "data": {
        "id": 1111169,
        "subject": "Est assumenda molestias molestias perspiciatis. Rerum harum ut et laudantium magni. Dolores ratione labore iste vel aut in dolorem. Quam quisquam autem et fugit.",
        "status": 5,
        "description": "Delectus voluptatem eum nesciunt et neque. Perspiciatis id voluptatem ea iste distinctio architecto dicta. Enim quia minima amet perferendis.",
        "deadline": "2025-08-17T11:02:30.000000Z",
        "expert_rating": 1,
        "user_rating": 3,
        "payment_type": 1,
        "user": {
            "id": 1095,
            "name": "Mr. Solon Conn DDS",
            "phone": "+12233429316",
            "image": null
        },
        "service_id": 115,
        "service_name": "Miss Reyna Gutmann V",
        "service_name_ar": "Mabelle Beahan",
        "proposed_price": 43355,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1096
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the order. Example: 1

Update specific order

requires authentication

This endpoint lets you update specific order

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"proposed_price\": 221435674.06766903,
    \"deadline\": \"2026-01-10T04:05:19\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1"
);

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

let body = {
    "proposed_price": 221435674.06766903,
    "deadline": "2026-01-10T04:05:19"
};

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

Example response (200):


{
    "data": {
        "id": 165,
        "subject": "Similique veritatis aut ut et. Ea tempora temporibus cum architecto consequatur libero consequuntur nam. Quo dolor incidunt et hic sit fuga.",
        "status": 2,
        "description": "des",
        "deadline": "2026-01-10T04:02:32.000000Z",
        "expert_rating": 5,
        "user_rating": 1,
        "payment_type": 2,
        "user": {
            "id": 1336,
            "name": "Angie Stoltenberg DVM",
            "phone": "+12545997976",
            "image": null
        },
        "service_id": 166,
        "service_name": "Esteban Cronin",
        "service_name_ar": "Lavern Reilly",
        "proposed_price": 5000,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1337
    },
    "message": "Order's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/orders/{id}

PATCH api/v1/orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the order. Example: 1

Body Parameters

description   string  optional  
proposed_price   number  optional  

Example: 221435674.06767

subject   string  optional  
deadline   string  optional  

Must be a valid date. Example: 2026-01-10T04:05:19

type   string  optional  

make order status waiting admin approval

requires authentication

This endpoint lets make order status waiting admin approval on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/waiting-admin-approval" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/waiting-admin-approval"
);

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

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

Example response (200):


{
    "data": {
        "id": 147,
        "subject": "Autem ipsam aut amet provident quo omnis est praesentium. Quia et facilis atque optio optio in et. Nobis distinctio voluptatem sed facere nisi quo ut. A alias dolores quibusdam.",
        "status": 1,
        "description": "Nemo incidunt laboriosam nostrum facilis eveniet. Facere aspernatur corrupti minus fuga facilis sed aut. In vel et dolorem nihil fuga tenetur ut iste.",
        "deadline": "2005-02-02T19:36:36.000000Z",
        "expert_rating": 4,
        "user_rating": 4,
        "payment_type": 1,
        "user": {
            "id": 1103,
            "name": "Lew Ritchie",
            "phone": "+13212167928",
            "image": null
        },
        "service_id": 208,
        "service_name": "Garrison Abbott",
        "service_name_ar": "Annamae Halvorson II",
        "proposed_price": 63226,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1104
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/waiting-admin-approval

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status approved by admin

requires authentication

This endpoint lets make order status approved by admin on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/approved" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/approved"
);

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

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

Example response (200):


{
    "data": {
        "id": 142,
        "subject": "Totam suscipit ut est consequuntur iste. Blanditiis laborum adipisci vero quos expedita et sint. Cumque eligendi ratione dolore inventore. Doloremque et corporis corrupti et perspiciatis vel.",
        "status": 2,
        "description": "Velit et et tenetur delectus possimus. Reprehenderit debitis est in ut qui. Voluptatum et voluptatum commodi et. Officiis suscipit blanditiis omnis temporibus.",
        "deadline": "1988-10-09T02:40:29.000000Z",
        "expert_rating": 4,
        "user_rating": 3,
        "payment_type": 2,
        "user": {
            "id": 1086,
            "name": "Alexane Larson",
            "phone": "+13379666388",
            "image": null
        },
        "service_id": 203,
        "service_name": "Nicola Gorczany",
        "service_name_ar": "Myrtie Kutch",
        "proposed_price": 3531,
        "type": 1,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1085
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/approved

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status rejected by admin

requires authentication

This endpoint lets make order status rejected by admin on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/rejected" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/rejected"
);

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

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

Example response (200):


{
    "data": {
        "id": 144,
        "subject": "Sunt quam sunt possimus ut. Iste tempore eum vitae eveniet. Quaerat porro nostrum quos aut molestiae in sunt.",
        "status": 8,
        "description": "Recusandae dolores iusto neque est quia ut quis. Explicabo tenetur placeat repudiandae quaerat voluptas. Ratione voluptatum ipsam repellat nulla aut eos ratione perspiciatis.",
        "deadline": "1993-02-27T05:21:27.000000Z",
        "expert_rating": 2,
        "user_rating": 2,
        "payment_type": 1,
        "user": {
            "id": 1093,
            "name": "Ms. Marjolaine Koelpin",
            "phone": "+15209600442",
            "image": null
        },
        "service_id": 205,
        "service_name": "Rod Wolff",
        "service_name_ar": "Domenico Swaniawski I",
        "proposed_price": 96415,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1092
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/rejected

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status delivered by Expert on specific order

requires authentication

This endpoint lets make order status delivered by Expert on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/expert/delivered" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/expert/delivered"
);

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

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

Example response (200):


{
    "data": {
        "id": 1111176,
        "subject": "Odit corporis non unde quos voluptas. Occaecati sed architecto molestiae vero sint rerum. Est et iusto aperiam iusto ipsa eos qui ut.",
        "status": 3,
        "description": "Veniam ea ex et ad. Corrupti et aut aliquid cumque. Velit provident similique similique dolorum voluptas blanditiis ipsum tempore. Consectetur alias et possimus.",
        "deadline": "2001-06-03T09:12:27.000000Z",
        "expert_rating": 4,
        "user_rating": 1,
        "payment_type": 2,
        "user": {
            "id": 1125,
            "name": "Betty Jast",
            "phone": "+17574050114",
            "image": null
        },
        "service_id": 125,
        "service_name": "Suzanne Fritsch",
        "service_name_ar": "Garnet DuBuque",
        "proposed_price": 11408,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1126
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/expert/delivered

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status delivered to Expert on specific order

requires authentication

This endpoint lets make order status delivered to user on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/user/confirm-delivery" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/user/confirm-delivery"
);

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

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

Example response (200):


{
    "data": {
        "id": 174,
        "subject": "Non excepturi autem qui sed nostrum dolorem. Repellendus similique itaque ipsam est. Soluta alias debitis qui. Quia qui in eius id ut.",
        "status": 4,
        "description": "Laborum ratione omnis repudiandae. Dicta commodi corrupti optio ut tempore dignissimos. Numquam aut expedita illo porro aperiam laboriosam adipisci. Ipsa rerum eveniet nulla dolor et quod magni.",
        "deadline": "2009-08-01T19:36:12.000000Z",
        "expert_rating": 2,
        "user_rating": 2,
        "payment_type": 1,
        "user": {
            "id": 1364,
            "name": "Ms. Heidi Kovacek IV",
            "phone": "+14806158765",
            "image": null
        },
        "service_id": 175,
        "service_name": "Dr. Joannie Nitzsche",
        "service_name_ar": "Florence Kulas",
        "proposed_price": 89045,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1365
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/user/confirm-delivery

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

user rating order for expert on specific order

requires authentication

This endpoint lets you rating an order when status is delivered by expert

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/user-rating" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_rating\": 0,
    \"description\": \"Autem perferendis at eligendi accusamus unde.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/user-rating"
);

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

let body = {
    "user_rating": 0,
    "description": "Autem perferendis at eligendi accusamus unde."
};

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

Example response (200):


{
    "data": {
        "id": 169,
        "subject": "Nam ipsam ut molestias assumenda est fugiat quia. Qui velit placeat est. Architecto adipisci inventore minima distinctio. Minima voluptatem ut nobis ut repudiandae.",
        "status": 3,
        "description": "Magni enim esse natus est ullam iusto eum. Sit aut ut enim aut veritatis sunt delectus. Quod cupiditate ad blanditiis. Doloribus illum qui consectetur incidunt omnis ipsam vel.",
        "deadline": "1981-04-16T23:14:59.000000Z",
        "expert_rating": 2,
        "user_rating": 2,
        "payment_type": 1,
        "user": {
            "id": 1348,
            "name": "Amie Murray",
            "phone": "+14692068228",
            "image": null
        },
        "service_id": 170,
        "service_name": "Mr. Soledad Wiza II",
        "service_name_ar": "Madisen Dicki MD",
        "proposed_price": 66784,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1347
    },
    "message": "The user rating saved successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/user-rating

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

user_rating   integer   

Must be between 0 and 5. Example: 0

description   string  optional  

Must not be greater than 255 characters. Example: Autem perferendis at eligendi accusamus unde.

Payments

APIs for field settings

Hyperpay Webhook

requires authentication

This endpoint is for interacting with hyperpay webhook

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/hyperpay/webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/hyperpay/webhook"
);

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

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

Example response (200):

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

{
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/hyperpay/webhook

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Myfatoora Webhook

requires authentication

This endpoint is for interacting with Myfatoora webhook

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/myfatoorah-webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/myfatoorah-webhook"
);

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

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

Example response (400):

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

{
    "message": "Invalid webhook data: Missing CustomerReference.",
    "status_code": 400
}
 

Request      

GET api/myfatoorah-webhook

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

prepare orders for checkout

requires authentication

This endpoint lets you prepare orders for checkout

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/prepare-checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/prepare-checkout"
);

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

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

Request      

POST api/v1/payments/prepare-checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get HyperPay Payment status

requires authentication

This endpoint lets you get payment status from HyperPay

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

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

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

Request      

POST api/v1/payments/status

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Create a wallet top-up payment link

requires authentication

This endpoint allows the user to fund their wallet through the payment gateway

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/wallet/checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 89,
    \"payment_method\": \"non\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/wallet/checkout"
);

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

let body = {
    "amount": 89,
    "payment_method": "non"
};

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

Request      

POST api/v1/payments/wallet/checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

amount   number   

Must be at least 0.01. Example: 89

payment_method   string  optional  

Example: non

Show all payments

requires authentication

This endpoint lets you show all payments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/payments?page=15&per_page=12&filter%5Bid%5D=ipsa&filter%5Bstatus%5D=et&filter%5Btotal%5D=4.560015&sort=eos" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments"
);

const params = {
    "page": "15",
    "per_page": "12",
    "filter[id]": "ipsa",
    "filter[status]": "et",
    "filter[total]": "4.560015",
    "sort": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 9,
            "status": 4,
            "amount": 3,
            "user_id": 1130,
            "balance": 0,
            "order": {
                "id": 156,
                "subject": "Praesentium praesentium modi ipsam voluptatem accusamus. Nisi provident quidem dolorem culpa. Est ut est neque. Nam error facilis beatae dignissimos.",
                "status": 1
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 10,
            "status": 3,
            "amount": 135,
            "user_id": 1133,
            "balance": 0,
            "order": {
                "id": 157,
                "subject": "Voluptatum doloremque laborum ea ab alias tempora aut. Nostrum aperiam eum a molestiae qui consectetur nihil qui. Est est ut odio dolores. Aut commodi minus error laboriosam voluptas doloribus eum.",
                "status": 7
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 11,
            "status": 4,
            "amount": 131,
            "user_id": 1136,
            "balance": 0,
            "order": {
                "id": 158,
                "subject": "Quidem est saepe veritatis et iure sit labore. Voluptate voluptates ut commodi velit ut. Doloribus et commodi omnis provident corrupti. Distinctio nihil ea est facilis magni.",
                "status": 7
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 12,
            "status": 1,
            "amount": 194,
            "user_id": 1139,
            "balance": 0,
            "order": {
                "id": 159,
                "subject": "Quae pariatur hic dolore repellat vel. Rerum aut consequatur similique. Quae sint placeat itaque quidem nobis. Ipsum sequi culpa amet repellat veritatis tempore illum.",
                "status": 1
            },
            "type": 6,
            "meta": null,
            "notes": null
        },
        {
            "id": 13,
            "status": 2,
            "amount": 66,
            "user_id": 1142,
            "balance": 0,
            "order": {
                "id": 160,
                "subject": "Voluptatem totam in deleniti omnis voluptas. Aut aspernatur dolores sit corporis nesciunt ut. Optio rerum accusamus quia sequi minima non ad.",
                "status": 9
            },
            "type": 2,
            "meta": null,
            "notes": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 12

filter[id]   string  optional  

Field to filter items by id. Example: ipsa

filter[status]   string  optional  

Field to filter items by status. Example: et

filter[total]   number  optional  

Field to filter items by total. Example: 4.560015

sort   string  optional  

Field to sort items by id,status,total. Example: eos

Show specific payment

requires authentication

This endpoint lets you show specific payment

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

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "status": 1,
        "amount": 105,
        "user_id": 1159,
        "balance": 0,
        "order": {
            "id": 1111185,
            "subject": "Exercitationem doloremque deleniti sunt quisquam velit at. Et aut odio assumenda in esse. Voluptas et odit voluptates. Saepe totam sint consequatur. Incidunt autem illo tenetur quidem omnis porro.",
            "status": 7
        },
        "type": 6,
        "meta": null,
        "notes": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/payments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the payment. Example: 1

Make payment paid

requires authentication

This endpoint lets you make payment paid

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/paid" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/paid"
);

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

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

Example response (200):


{
    "data": {
        "id": 45,
        "status": 2,
        "amount": 147,
        "user_id": 1411,
        "balance": 147,
        "order": {
            "id": 185,
            "subject": "Dolorem sunt iure neque quia ratione. Voluptate et velit temporibus laborum earum blanditiis. Aperiam et officiis officiis hic aut sint repellat. Ipsam cum quo quod sunt est.",
            "status": 9
        },
        "type": 6,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/paid

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Make payment rejected

requires authentication

This endpoint lets you make payment rejected

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/rejected" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/rejected"
);

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

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

Example response (200):


{
    "data": {
        "id": 9,
        "status": 3,
        "amount": 39,
        "user_id": 1182,
        "balance": 0,
        "order": {
            "id": 1111191,
            "subject": "Aut dolorum dolorem quia velit fugit tenetur quia quia. Et quidem at fugiat eaque reiciendis.",
            "status": 7
        },
        "type": 6,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/rejected

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Make payment cancelled

requires authentication

This endpoint lets you make payment cancelled

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/cancelled" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/cancelled"
);

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "status": 4,
        "amount": 194,
        "user_id": 1171,
        "balance": 0,
        "order": {
            "id": 1111188,
            "subject": "Sit nihil consequatur odit molestiae quasi. Similique assumenda qui necessitatibus maxime rem perferendis. Aut sint incidunt aperiam quae.",
            "status": 3
        },
        "type": 4,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/cancelled

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Create a payment intent for a specific offer.

requires authentication

This endpoint allows the user to initiate a payment process for a specific offer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout"
);

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

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

Request      

POST api/v1/payments/myfatoorah/checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get MyFatoorah Payment Information Provide the callback method with the paymentId

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout"
);

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

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

Example response (400):

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

{
    "message": "Invalid payment response."
}
 

Request      

GET api/v1/payments/myfatoorah/checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Permissions

APIs for getting permissions

Show All

requires authentication

This endpoint lets you show all permissions

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 96,
            "name": "Raleigh Bradtke",
            "description": "Esse fugit dicta repudiandae ipsum fuga esse doloribus. Natus rem veniam id ut veniam saepe."
        },
        {
            "id": 97,
            "name": "Hardy Mante",
            "description": "Nihil corporis voluptas illo omnis libero iste. Ipsam itaque et non. Voluptatem perspiciatis quia modi doloremque."
        },
        {
            "id": 98,
            "name": "Mrs. Janice Nader Jr.",
            "description": "Beatae necessitatibus vitae ducimus necessitatibus explicabo. Voluptate id tempora esse hic quos."
        },
        {
            "id": 99,
            "name": "Mrs. Alene Weissnat III",
            "description": "Similique voluptas dolorum eum laborum illo ut similique. Id aliquam nulla magnam incidunt laborum at commodi. Eum fugit voluptatem et non voluptate omnis quo."
        },
        {
            "id": 100,
            "name": "Eleonore Ryan V",
            "description": "Explicabo voluptatum assumenda et debitis id. Debitis culpa magnam est fuga nulla qui."
        }
    ],
    "meta": {
        "pagination": {
            "total": 16,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show specific permission

requires authentication

This endpoint lets you show specific permission

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

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

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

Example response (200):


{
    "data": {
        "id": 82,
        "name": "Madaline Cartwright",
        "description": "Ratione ea esse fuga doloremque. Ut reiciendis facilis non fugit nihil aliquam."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/permissions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the permission. Example: 1

Portfolio Works

APIs for managing expert portfolio works

Show portfolio works for current expert

requires authentication

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "user_id": 1433,
            "title": "Occaecati voluptas id.",
            "description": "Eveniet vel in dolor sint in dolorem ut. Deleniti quo et reiciendis atque. Inventore soluta et distinctio ad sed quod.",
            "external_link": "http://sanford.com/esse-culpa-quaerat-nihil.html",
            "attachments": []
        },
        {
            "id": 5,
            "user_id": 1433,
            "title": "Dicta et accusantium.",
            "description": "Commodi nisi omnis odio eum odio. Laboriosam totam temporibus maiores velit quos ex libero. Consequatur aut impedit cum rem nihil non. Ab omnis autem ad fuga ut.",
            "external_link": "http://treutel.com/",
            "attachments": []
        },
        {
            "id": 4,
            "user_id": 1433,
            "title": "Vitae ad fugit aut.",
            "description": "Qui animi velit ut tenetur maiores enim. Id id culpa qui accusamus in. Voluptatem quia odio sed nostrum perferendis dolor.",
            "external_link": "http://www.sauer.biz/nihil-nihil-exercitationem-quia-sit-reiciendis-sed-et",
            "attachments": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 3,
            "per_page": 15,
            "count": 3,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/portfolio-works

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show portfolio works for specific expert

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/1/portfolio-works" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1/portfolio-works"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 4,
            "user_id": 1190,
            "title": "Inventore qui voluptatem accusantium.",
            "description": "Esse nulla eos tempora voluptatibus. Eum porro a magnam iusto veritatis. Porro dolorem provident et atque harum. Ea rerum repellendus quo vitae et aut commodi.",
            "external_link": "http://www.volkman.com/voluptatem-inventore-qui-consequuntur-dolor-autem",
            "attachments": []
        },
        {
            "id": 3,
            "user_id": 1190,
            "title": "Laudantium incidunt tenetur nam illo.",
            "description": "Sed cupiditate et esse vel eius. Voluptas ipsa a voluptatibus voluptatibus tempore. Quibusdam omnis facilis expedita expedita maxime similique. Et debitis recusandae ad omnis quia amet. Dolorem optio dignissimos voluptatem ex.",
            "external_link": "http://stark.biz/",
            "attachments": []
        },
        {
            "id": 2,
            "user_id": 1190,
            "title": "Culpa ut similique.",
            "description": "Praesentium voluptas sed et natus eius reiciendis id. Sit pariatur et aut. Soluta nihil quam culpa. Qui a explicabo et ut dolorem odit.",
            "external_link": "http://www.blick.info/accusamus-aspernatur-voluptates-ipsam-et-aliquid-quibusdam-veritatis.html",
            "attachments": []
        },
        {
            "id": 1,
            "user_id": 1190,
            "title": "Modi excepturi hic est.",
            "description": "Incidunt id laudantium id magni quo ut. Hic veniam odio sed voluptatem sed recusandae. Sint illo quisquam saepe dolorem nulla officia. Libero ut soluta rem ipsam consequatur.",
            "external_link": "https://bartell.info/nisi-ipsam-exercitationem-occaecati-tenetur.html",
            "attachments": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 4,
            "per_page": 15,
            "count": 4,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/{user_id}/portfolio-works

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Show all portfolio works

requires authentication

This endpoint returns paginated list of portfolio works.

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/portfolio-works?page=12&per_page=10&filter%5Bid%5D=sit&filter%5Btitle%5D=et&filter%5Bdescription%5D=ut&filter%5Bexternal_link%5D=veritatis&filter%5Buser_id%5D=nemo&sort=incidunt" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/portfolio-works"
);

const params = {
    "page": "12",
    "per_page": "10",
    "filter[id]": "sit",
    "filter[title]": "et",
    "filter[description]": "ut",
    "filter[external_link]": "veritatis",
    "filter[user_id]": "nemo",
    "sort": "incidunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 12,
            "user_id": 1199,
            "title": "Laborum aut alias.",
            "description": "Vel repudiandae ut aspernatur reiciendis temporibus animi quis. Animi voluptatem velit rerum ad porro distinctio. Nihil quibusdam impedit nisi deserunt dolores nihil ullam. Suscipit quia exercitationem quasi amet qui.",
            "external_link": "http://www.rodriguez.com/magnam-alias-quidem-esse-itaque-corporis-in-ut.html",
            "attachments": []
        },
        {
            "id": 11,
            "user_id": 1198,
            "title": "Accusamus voluptas incidunt.",
            "description": "Harum et est ratione corrupti tempore culpa dolorum sunt. Aut nihil qui in et soluta impedit. Nam nihil exercitationem dolor dolorem.",
            "external_link": "http://www.bauch.com/",
            "attachments": []
        },
        {
            "id": 10,
            "user_id": 1197,
            "title": "Nam ut in.",
            "description": "Repudiandae tempore non quia et sint illo aut. Aut modi autem est ducimus. Magni perspiciatis laborum amet dolores.",
            "external_link": "http://pacocha.com/dolorem-quia-ut-nam-dolores.html",
            "attachments": []
        },
        {
            "id": 9,
            "user_id": 1196,
            "title": "Qui et.",
            "description": "Doloremque minima eligendi et laborum. Impedit quae ut voluptas accusamus. Labore unde nobis in unde.",
            "external_link": "http://reilly.com/recusandae-ut-eum-pariatur-iusto-amet",
            "attachments": []
        },
        {
            "id": 8,
            "user_id": 1195,
            "title": "Vel aut sunt.",
            "description": "Temporibus ut quia officiis officiis sint. Iure corporis facilis quia culpa et ea. Aut et deserunt iusto nihil ab explicabo in.",
            "external_link": "http://yundt.org/eius-dolores-sed-fugit-unde-voluptas-sed",
            "attachments": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 6,
            "per_page": 5,
            "count": 5,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/portfolio-works

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 12

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 10

filter[id]   string  optional  

Field to filter items by id. Example: sit

filter[title]   string  optional  

Field to filter items by title. Example: et

filter[description]   string  optional  

Field to filter items by description. Example: ut

filter[external_link]   string  optional  

Field to filter items by external_link. Example: veritatis

filter[user_id]   string  optional  

Field to filter items by user_id. Example: nemo

sort   string  optional  

Field to sort items by id,title,user_id,created_at. Example: incidunt

Add portfolio work

requires authentication

Create a new portfolio work for the authenticated expert and upload attachments.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/portfolio-works" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=fpxhrvdmqnmprrsljqdeujv"\
    --form "description=Omnis ad eveniet ratione."\
    --form "external_link=https://fay.com/nam-animi-quia-quasi.html"\
    --form "attachments[]=@/tmp/phpPmEILO" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/portfolio-works"
);

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

const body = new FormData();
body.append('title', 'fpxhrvdmqnmprrsljqdeujv');
body.append('description', 'Omnis ad eveniet ratione.');
body.append('external_link', 'https://fay.com/nam-animi-quia-quasi.html');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 9,
        "user_id": 1437,
        "title": "New Work",
        "description": "Work description",
        "external_link": "https://example.com",
        "attachments": [
            {
                "id": 11111141,
                "user_id": 1437,
                "status": 2,
                "sort": 1,
                "type": 2,
                "name": "sample.pdf",
                "link": "/storage/sample_20260110040243000.pdf"
            }
        ],
        "user": {
            "id": 1437,
            "name": "Mollie Goyette",
            "phone": "+17273215373",
            "image": null,
            "expert_rating_avg": 0.5,
            "age": "14",
            "profession": "Dodo, a Lory and.",
            "specialty": "Mouse, in a hurry.",
            "brief": "March Hare and the.",
            "type": 1,
            "section": 1,
            "consultation_price": 58
        }
    },
    "message": "The portfolio work added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/portfolio-works

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Must not be greater than 255 characters. Example: fpxhrvdmqnmprrsljqdeujv

description   string   

Example: Omnis ad eveniet ratione.

external_link   string  optional  

Must be a valid URL. Example: https://fay.com/nam-animi-quia-quasi.html

attachments   file[]  optional  

Must be a file.

Show specific portfolio work

requires authentication

This endpoint returns a single portfolio work with its attachments.

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/portfolio-works/4" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/portfolio-works/4"
);

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

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

Example response (200):


{
    "data": {
        "id": 15,
        "user_id": 1203,
        "title": "Et itaque sunt.",
        "description": "Earum sunt nihil quis aliquid doloribus. Temporibus quia eveniet sunt nam laborum. Et earum eos recusandae deserunt accusantium. Aut et in consequatur est fugiat ratione. Consequatur dignissimos sunt libero autem recusandae non excepturi.",
        "external_link": "http://www.mraz.com/",
        "attachments": [
            {
                "id": 11111122,
                "user_id": 1203,
                "status": 2,
                "sort": 15,
                "type": 1,
                "name": "myFile",
                "link": "https://www.prosacco.net/quasi-ipsam-quos-amet-non-est-quos-delectus-aspernatur"
            }
        ],
        "user": {
            "id": 1203,
            "name": "Dr. Everardo King",
            "phone": "+14238598800",
            "image": null,
            "expert_rating_avg": 0.4,
            "age": "100",
            "profession": "ALL RETURNED FROM.",
            "specialty": "Alice could hardly.",
            "brief": "Mouse, turning to.",
            "type": 0,
            "section": 1,
            "consultation_price": 54
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/portfolio-works/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the portfolio work. Example: 4

Update specific portfolio work

requires authentication

Update portfolio work details, add attachments, or remove selected attachments.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/portfolio-works/15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=dekkriymhmtwgkkkaogmxf"\
    --form "description=Repudiandae repudiandae magni odio maxime debitis repudiandae."\
    --form "external_link=https://harber.info/corrupti-pariatur-earum-quia-ducimus-enim.html"\
    --form "deleted_attachments[]=19"\
    --form "attachments[]=@/tmp/phpnODeNB" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/portfolio-works/15"
);

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

const body = new FormData();
body.append('title', 'dekkriymhmtwgkkkaogmxf');
body.append('description', 'Repudiandae repudiandae magni odio maxime debitis repudiandae.');
body.append('external_link', 'https://harber.info/corrupti-pariatur-earum-quia-ducimus-enim.html');
body.append('deleted_attachments[]', '19');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 12,
        "user_id": 1441,
        "title": "Updated Title",
        "description": "Quis quo eligendi omnis est. Officia numquam aut est provident. Autem molestiae facilis aperiam labore dolores accusantium minus. Quia ipsum modi a tempore.",
        "external_link": "https://www.zieme.net/saepe-impedit-molestiae-voluptate-magnam-iure-qui",
        "attachments": [
            {
                "id": 11111143,
                "user_id": 1441,
                "status": 2,
                "sort": 1,
                "type": 2,
                "name": "new.pdf",
                "link": "/storage/new_20260110040244000.pdf"
            }
        ],
        "user": {
            "id": 1441,
            "name": "Micaela Crooks",
            "phone": "+12487635306",
            "image": null,
            "expert_rating_avg": 0.2,
            "age": "5",
            "profession": "There was a sound.",
            "specialty": "THIS!' (Sounds of.",
            "brief": "Alice dear!' said.",
            "type": 1,
            "section": 1,
            "consultation_price": 10
        }
    },
    "message": "Portfolio work's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/portfolio-works/{id}

PATCH api/v1/portfolio-works/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the portfolio work. Example: 15

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: dekkriymhmtwgkkkaogmxf

description   string  optional  

Example: Repudiandae repudiandae magni odio maxime debitis repudiandae.

external_link   string  optional  

Must be a valid URL. Example: https://harber.info/corrupti-pariatur-earum-quia-ducimus-enim.html

attachments   file[]  optional  

Must be a file.

deleted_attachments   integer[]  optional  

The id of an existing record in the attachments table.

Delete specific portfolio work

requires authentication

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/portfolio-works/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/portfolio-works/1"
);

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

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

Example response (200):


{
    "message": "The portfolio work deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/portfolio-works/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the portfolio work. Example: 1

Product

APIs for managing products

Show all products

requires authentication

This endpoint lets you show all products

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/products?page=15&per_page=2&filter%5Bid%5D=sit&filter%5Btitle%5D=voluptatem&filter%5Btitle_ar%5D=nihil&filter%5Buser_id%5D=ratione&filter%5Btype%5D=iure&filter%5Brating%5D=amet&filter%5Bprice%5D=ab&filter%5Bmeta%5D=modi&filter%5Bcity%5D=quam&filter%5Bdescription%5D=et&filter%5Bdescription_ar%5D=quos&sort=voluptate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products"
);

const params = {
    "page": "15",
    "per_page": "2",
    "filter[id]": "sit",
    "filter[title]": "voluptatem",
    "filter[title_ar]": "nihil",
    "filter[user_id]": "ratione",
    "filter[type]": "iure",
    "filter[rating]": "amet",
    "filter[price]": "ab",
    "filter[meta]": "modi",
    "filter[city]": "quam",
    "filter[description]": "et",
    "filter[description_ar]": "quos",
    "sort": "voluptate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 10,
            "title": "Mr.",
            "title_ar": "Miss",
            "user_id": 1587,
            "type": 2,
            "rating": 3,
            "price": 16307,
            "meta": null,
            "city": "Fredychester",
            "description": "Alias rerum quasi quidem esse autem dolores dolore. Iusto error suscipit facere. Pariatur eum asperiores quasi ipsum error praesentium. Itaque facere nihil commodi tempora.",
            "description_ar": "Sunt aut laudantium ut non explicabo velit voluptas et. Et consequatur quibusdam consequatur ipsam. Voluptates ex tempore eaque aut et excepturi nostrum. Et ut vel ratione quasi voluptas.",
            "image": null
        },
        {
            "id": 11,
            "title": "Ms.",
            "title_ar": "Dr.",
            "user_id": 1588,
            "type": 1,
            "rating": 5,
            "price": 92425,
            "meta": null,
            "city": "North Leliamouth",
            "description": "Nobis corporis reiciendis repellat qui dignissimos esse totam. Earum esse sapiente et harum dolor. Consectetur at temporibus quia et et.",
            "description_ar": "Sint quam esse odio corporis. Vitae error et aut. Totam eaque et facere ut voluptatem laudantium aperiam aut.",
            "image": null
        },
        {
            "id": 12,
            "title": "Mr.",
            "title_ar": "Ms.",
            "user_id": 1589,
            "type": 2,
            "rating": 2,
            "price": 4592,
            "meta": null,
            "city": "Lake Sam",
            "description": "Laudantium ea voluptatem quibusdam ab. Nemo nulla a eveniet soluta modi. Voluptatem atque veritatis excepturi.",
            "description_ar": "Sapiente est dignissimos voluptas ad maxime quae ducimus. Ea voluptas aliquam dolorum inventore omnis quas. Architecto et nam nobis sint sed rerum ipsa. Et rerum ut aut facere eos.",
            "image": null
        },
        {
            "id": 13,
            "title": "Prof.",
            "title_ar": "Mr.",
            "user_id": 1590,
            "type": 1,
            "rating": 4,
            "price": 63323,
            "meta": null,
            "city": "Johannamouth",
            "description": "Omnis non atque sunt minima pariatur voluptatem sit. Voluptas sequi sit rerum voluptatibus velit. Reprehenderit libero nemo debitis ducimus cum.",
            "description_ar": "Rerum atque aliquid rerum quae quibusdam a perferendis. Ipsa ad optio est voluptas non alias optio. Molestiae neque dolores voluptas.",
            "image": null
        },
        {
            "id": 14,
            "title": "Dr.",
            "title_ar": "Ms.",
            "user_id": 1591,
            "type": 2,
            "rating": 5,
            "price": 33833,
            "meta": null,
            "city": "Hauckside",
            "description": "Eveniet tempora aut sit sed voluptate iusto excepturi voluptas. Ut dolorem ea est quo laborum qui aliquam. Quos qui deserunt dolores voluptas quaerat enim non.",
            "description_ar": "Reprehenderit laborum quia animi minima error iure et. Iure itaque ea error voluptatem. Cumque recusandae quibusdam consequatur deleniti quia nam. Alias et libero nihil debitis.",
            "image": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 2

filter[id]   string  optional  

Field to filter items by id. Example: sit

filter[title]   string  optional  

Field to filter items by title. Example: voluptatem

filter[title_ar]   string  optional  

Field to filter items by title_ar. Example: nihil

filter[user_id]   string  optional  

Field to filter items by user_id. Example: ratione

filter[type]   string  optional  

Field to filter items by type. Example: iure

filter[rating]   string  optional  

Field to filter items by rating. Example: amet

filter[price]   string  optional  

Field to filter items by price. Example: ab

filter[meta]   string  optional  

Field to filter items by meta. Example: modi

filter[city]   string  optional  

Field to filter items by city. Example: quam

filter[description]   string  optional  

Field to filter items by description. Example: et

filter[description_ar]   string  optional  

Field to filter items by description_ar. Example: quos

sort   string  optional  

Field to sort items by id,description_ar,title,title_ar,description,city,rating,type,price,user_id. Example: voluptate

Add product

requires authentication

This endpoint lets you add product.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/products" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=inventore"\
    --form "title_ar=perferendis"\
    --form "type=2"\
    --form "rating=1"\
    --form "price=238058397.0747"\
    --form "city=ipsa"\
    --form "description=qui"\
    --form "description_ar=facere"\
    --form "image=@/tmp/phpOAkIcN" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products"
);

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

const body = new FormData();
body.append('title', 'inventore');
body.append('title_ar', 'perferendis');
body.append('type', '2');
body.append('rating', '1');
body.append('price', '238058397.0747');
body.append('city', 'ipsa');
body.append('description', 'qui');
body.append('description_ar', 'facere');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "title": "fffff",
        "title_ar": "fffff",
        "user_id": 1344,
        "type": 1,
        "rating": 3,
        "price": 45,
        "meta": null,
        "city": "Syria",
        "description": "google.com",
        "description_ar": "google.com",
        "image": null
    },
    "message": "The product added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/products

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Example: inventore

title_ar   string   

Example: perferendis

type   string   

Example: 2

Must be one of:
  • 1
  • 2
rating   string   

Example: 1

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
price   number   

Example: 238058397.0747

meta   string  optional  
city   string   

Example: ipsa

description   string   

Example: qui

description_ar   string   

Example: facere

image   file   

Must be an image. Example: /tmp/phpOAkIcN

Show specific product

requires authentication

This endpoint lets you show specific product

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

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "title": "Mr.",
        "title_ar": "Prof.",
        "user_id": 1222,
        "type": 1,
        "rating": 3,
        "price": 65424,
        "meta": null,
        "city": "Lake Sigridchester",
        "description": "Delectus omnis dolor enim voluptatem voluptas explicabo molestiae. Vel neque impedit consectetur. Voluptatibus voluptas laborum modi dolorum itaque sequi.",
        "description_ar": "Quam consequatur dolores facere porro est ea. Consequatur cupiditate earum ipsum voluptas ut et est. Est in enim dolorem et.",
        "image": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 3

Update specific product

requires authentication

This endpoint lets you update specific product.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/products/17" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "type=1"\
    --form "rating=1"\
    --form "price=1772542.894947"\
    --form "image=@/tmp/phplehCcG" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/17"
);

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

const body = new FormData();
body.append('type', '1');
body.append('rating', '1');
body.append('price', '1772542.894947');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 12,
        "title": "title",
        "title_ar": "Dr.",
        "user_id": 1226,
        "type": 2,
        "rating": 4,
        "price": 30656,
        "meta": null,
        "city": "New Warren",
        "description": "description",
        "description_ar": "Ullam ut ut consequatur beatae ducimus quia. Et dolor ea aut dolores vitae adipisci. Animi suscipit voluptatum eum non quam ipsa.",
        "image": null
    },
    "message": "Product's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/products/{id}

PATCH api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 17

Body Parameters

title   string  optional  
title_ar   string  optional  
type   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
rating   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
price   number  optional  

Example: 1772542.894947

meta   string  optional  
city   string  optional  
description   string  optional  
description_ar   string  optional  
image   file  optional  

Must be an image. Example: /tmp/phplehCcG

Delete specific product

requires authentication

This endpoint lets you delete specific product

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/products/14" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/14"
);

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

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

Example response (200):


{
    "message": "The Product deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 14

Show all product's offers

requires authentication

This endpoint lets you show all product's offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/products/17/offers?page=11&per_page=4&filter%5Bid%5D=inventore&filter%5Bprice%5D=aspernatur&filter%5Bstatus%5D=16&sort=adipisci" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/17/offers"
);

const params = {
    "page": "11",
    "per_page": "4",
    "filter[id]": "inventore",
    "filter[price]": "aspernatur",
    "filter[status]": "16",
    "sort": "adipisci",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111164,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1452,
                "name": "Jairo Conn",
                "phone": "+15864975272",
                "image": null,
                "expert_rating_avg": 0.1,
                "age": "65",
                "profession": "When the sands are.",
                "specialty": "Hatter, who turned.",
                "brief": "Cat, 'a dog's not.",
                "type": 2,
                "section": 1,
                "consultation_price": 79
            },
            "order": null
        },
        {
            "id": 11111165,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1452,
                "name": "Jairo Conn",
                "phone": "+15864975272",
                "image": null,
                "expert_rating_avg": 0.1,
                "age": "65",
                "profession": "When the sands are.",
                "specialty": "Hatter, who turned.",
                "brief": "Cat, 'a dog's not.",
                "type": 2,
                "section": 1,
                "consultation_price": 79
            },
            "order": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products/{product_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

product_id   integer   

The ID of the product. Example: 17

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 11

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 4

filter[id]   string  optional  

Field to filter items by id. Example: inventore

filter[price]   string  optional  

Field to filter items by price. Example: aspernatur

filter[status]   integer  optional  

Field to filter items by status. Example: 16

sort   string  optional  

Field to sort items by id,price,status. Example: adipisci

store product's offers

requires authentication

This endpoint lets you store product's offers

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/products/4/offers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 430215408.7104555,
    \"deadline\": \"2026-01-10T04:05:19\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/4/offers"
);

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

let body = {
    "price": 430215408.7104555,
    "deadline": "2026-01-10T04:05:19"
};

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

Example response (200):


{
    "data": {
        "id": 30,
        "price": 58,
        "deadline": "2026-01-10 04:02:45",
        "status": 1,
        "chat_group_id": null,
        "user": {
            "id": 1216,
            "name": "Dr. Sharon Little",
            "phone": "+15207128781",
            "image": null,
            "expert_rating_avg": 0.4,
            "age": "84",
            "profession": "I'm not Ada,' she.",
            "specialty": "Five! Always lay.",
            "brief": "Alice, 'I've often.",
            "type": 0,
            "section": 1,
            "consultation_price": 67
        },
        "order": null
    },
    "message": "The offer added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/products/{product_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

product_id   integer   

The ID of the product. Example: 4

Body Parameters

price   number   

Example: 430215408.71046

deadline   string   

Must be a valid date. Example: 2026-01-10T04:05:19

Roles

APIs for interacting with roles

Show All

requires authentication

This endpoint lets you show all roles

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 10,
            "name": "Mallory Hamill",
            "description": "Perferendis aliquid minima harum placeat ea."
        },
        {
            "id": 11,
            "name": "Dr. Catalina Greenfelder II",
            "description": "Sint omnis ut magni aliquid eos ipsam odit quo."
        },
        {
            "id": 12,
            "name": "Cassie Bins",
            "description": "Consequatur hic ut earum corporis et sunt et."
        },
        {
            "id": 13,
            "name": "Prof. Art Deckow I",
            "description": "Ut repellendus ut nostrum."
        },
        {
            "id": 14,
            "name": "Dr. Jamar Nikolaus",
            "description": "Tempora eaque facilis suscipit quisquam incidunt."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Add role

requires authentication

This endpoint lets you add role

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"fev\",
    \"description\": \"Suscipit sapiente officia et dignissimos sint fugiat.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles"
);

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

let body = {
    "name": "fev",
    "description": "Suscipit sapiente officia et dignissimos sint fugiat."
};

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

Example response (200):


{
    "data": {
        "id": 11,
        "name": "Name role",
        "description": "Description role"
    },
    "message": "The role added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: fev

description   string   

Must not be greater than 255 characters. Example: Suscipit sapiente officia et dignissimos sint fugiat.

Show specific role

requires authentication

This endpoint lets you show specific role

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

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

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "Vallie Davis Jr.",
        "description": "Voluptatem et aut omnis sed aut illum omnis."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Update specific role

requires authentication

This endpoint lets you update specific role

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/roles/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"anrcrxvgweonjfevsamb\",
    \"description\": \"Deleniti aliquid rerum modi quidem omnis rerum debitis.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1"
);

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

let body = {
    "name": "anrcrxvgweonjfevsamb",
    "description": "Deleniti aliquid rerum modi quidem omnis rerum debitis."
};

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

Example response (200):


{
    "message": "The role updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/roles/{id}

PATCH api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: anrcrxvgweonjfevsamb

description   string  optional  

Must not be greater than 255 characters. Example: Deleniti aliquid rerum modi quidem omnis rerum debitis.

Delete specific role

requires authentication

This endpoint lets you delete specific role

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/roles/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1"
);

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

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

Example response (200):


{
    "message": "The role deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Show all permissions to specific rule

requires authentication

This endpoint lets you show all permissions to specific rule

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/roles/1/permissions?page=4&per_page=20&filter=maiores&sort=quos" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions"
);

const params = {
    "page": "4",
    "per_page": "20",
    "filter": "maiores",
    "sort": "quos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 99,
            "name": "Everett Raynor Jr.",
            "description": "Non rerum adipisci maxime modi ea placeat. Quia eos velit sit voluptatum aut aut."
        },
        {
            "id": 100,
            "name": "Dr. Gerhard Kuhic",
            "description": "Et at saepe aut ipsam incidunt dolorum sit quae. Quaerat ipsa veniam quod qui neque voluptatum provident."
        },
        {
            "id": 101,
            "name": "Noemi Considine II",
            "description": "Magni velit inventore iusto ab rerum cum error delectus. Blanditiis recusandae animi dolorem voluptas."
        },
        {
            "id": 102,
            "name": "Gaetano Larkin",
            "description": "Eos non ullam odio nostrum odio. In voluptatibus voluptatem libero."
        },
        {
            "id": 103,
            "name": "Dahlia Muller IV",
            "description": "Quos dolorem et est. Et quo aliquam maiores nihil et."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles/{role_id}/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role_id   integer   

The ID of the role. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 4

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 20

filter   string  optional  

Field to filter by identifier,name,description. Example: maiores

sort   string  optional  

Field to sort items by identifier,name,description. Example: quos

Edit rule's permissions

requires authentication

This endpoint lets you edit rule's permissions (add,update,delete)

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"permissionIds\": [
        10
    ]
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions"
);

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

let body = {
    "permissionIds": [
        10
    ]
};

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

Example response (200):


{
    "message": "The role's permissions updated successfully.",
    "status_code": 200
}
 

Request      

POST api/v1/roles/{role_id}/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role_id   integer   

The ID of the role. Example: 1

Body Parameters

permissionIds   integer[]  optional  

List of the permissions Ids.

Services

APIs for managing Services

Show services tree

requires authentication

This endpoint lets you show services tree

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

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "label": "Students Services",
            "icon": "https://api.dev.menassahur.com/storage/services/students-services.svg",
            "children": [
                {
                    "id": 2,
                    "label": "Business Management",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/business.svg"
                },
                {
                    "id": 3,
                    "label": "Engineering",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/engineering.svg"
                },
                {
                    "id": 4,
                    "label": "Media",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/media.svg"
                },
                {
                    "id": 5,
                    "label": "Accounting",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/accounting.svg"
                },
                {
                    "id": 6,
                    "label": "Medicine",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/medicine.svg"
                },
                {
                    "id": 7,
                    "label": "Law",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/law.svg"
                },
                {
                    "id": 8,
                    "label": "English",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/english.svg"
                },
                {
                    "id": 9,
                    "label": "Arabic",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/arabic.svg"
                },
                {
                    "id": 10,
                    "label": " Chemistry",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/chemistry.svg"
                },
                {
                    "id": 11,
                    "label": " Physics",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/physics.svg"
                },
                {
                    "id": 12,
                    "label": "Programming",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/programming.svg"
                },
                {
                    "id": 13,
                    "label": "Computer",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/computer.svg"
                },
                {
                    "id": 14,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/other.svg"
                }
            ]
        },
        {
            "id": 15,
            "label": "Curriculum Vitae",
            "icon": "https://api.dev.menassahur.com/storage/services/cv.svg",
            "children": [
                {
                    "id": 16,
                    "label": "Writing a CV in Arabic ",
                    "icon": "https://api.dev.menassahur.com/storage/services/curriculum-vitae/cv-arabic.svg"
                },
                {
                    "id": 17,
                    "label": "Writing a CV in Arabic",
                    "icon": "https://api.dev.menassahur.com/storage/services/curriculum-vitae/cv-english.svg"
                }
            ]
        },
        {
            "id": 18,
            "label": "General Services",
            "icon": "https://api.dev.menassahur.com/storage/services/general-services.svg",
            "children": [
                {
                    "id": 19,
                    "label": "Job Placement",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/job.svg"
                },
                {
                    "id": 20,
                    "label": "Hospital Appointment",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/hospital.svg"
                },
                {
                    "id": 21,
                    "label": "Civil Affairs Appointment",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/appointment.svg"
                },
                {
                    "id": 22,
                    "label": "Guarantee Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/guarantee.svg"
                },
                {
                    "id": 23,
                    "label": "Incentive Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/incentive.svg"
                },
                {
                    "id": 24,
                    "label": "Rural Development Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/countryside.svg"
                },
                {
                    "id": 61,
                    "label": "Social Development Bank",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/development-bank.svg"
                },
                {
                    "id": 62,
                    "label": "Citizen Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/citizen-accounts.svg"
                },
                {
                    "id": 63,
                    "label": "Rehabilitation Support",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/rehab.svg"
                },
                {
                    "id": 64,
                    "label": "Housing",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/housing.svg"
                },
                {
                    "id": 65,
                    "label": "Nonprofit Organizations",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/organizations.svg"
                },
                {
                    "id": 66,
                    "label": "Najiz",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/najiz.svg"
                },
                {
                    "id": 67,
                    "label": "Absher",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/absher.svg"
                },
                {
                    "id": 68,
                    "label": "Open Bank Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/bank-account.svg"
                },
                {
                    "id": 69,
                    "label": "Jobs",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/jobs.svg"
                },
                {
                    "id": 70,
                    "label": "Social Security Complaints",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/social-security.svg"
                },
                {
                    "id": 71,
                    "label": "Citizen Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/citizen-account.svg"
                },
                {
                    "id": 72,
                    "label": "Freelancer Platform",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/freelancer.svg"
                },
                {
                    "id": 73,
                    "label": "Sakani",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/sakani.svg"
                },
                {
                    "id": 74,
                    "label": "Saudi Business Center",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/business-center.svg"
                },
                {
                    "id": 75,
                    "label": "Zakat & Income",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/zakat.svg"
                },
                {
                    "id": 76,
                    "label": "Social Insurance",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/social-insurance.svg"
                },
                {
                    "id": 77,
                    "label": "Jadarah",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/jadarah.svg"
                },
                {
                    "id": 78,
                    "label": "Chambers of Commerce",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/chambers.svg"
                },
                {
                    "id": 79,
                    "label": "Ministry of Labor",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/labor.svg"
                },
                {
                    "id": 80,
                    "label": "Balady",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/balady.svg"
                },
                {
                    "id": 81,
                    "label": "Contracts",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/contracts.svg"
                },
                {
                    "id": 82,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/other.svg"
                }
            ]
        },
        {
            "id": 26,
            "label": "Graphic Design",
            "icon": "https://api.dev.menassahur.com/storage/services/design.svg",
            "children": [
                {
                    "id": 27,
                    "label": "Motion Graphics",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/moshin.svg"
                },
                {
                    "id": 28,
                    "label": "Posters",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/posters.svg"
                },
                {
                    "id": 29,
                    "label": "Business Cards",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/work-jobs.svg"
                },
                {
                    "id": 30,
                    "label": "Visual Identity",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/vision.svg"
                },
                {
                    "id": 31,
                    "label": "Logo",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/logo.svg"
                },
                {
                    "id": 32,
                    "label": "Event Invitation Cards",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/invitation.svg"
                },
                {
                    "id": 33,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/other.svg"
                }
            ]
        },
        {
            "id": 34,
            "label": "Translation",
            "icon": "https://api.dev.menassahur.com/storage/services/translation.svg",
            "children": [
                {
                    "id": 35,
                    "label": "Legal Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/legal.svg"
                },
                {
                    "id": 36,
                    "label": "Medical Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/medical.svg"
                },
                {
                    "id": 37,
                    "label": "Engineering Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/geometric.svg"
                },
                {
                    "id": 38,
                    "label": "Literary Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/literary.svg"
                },
                {
                    "id": 39,
                    "label": "Scientific Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/scientific.svg"
                },
                {
                    "id": 40,
                    "label": "Audio Lecture Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/lectures.svg"
                },
                {
                    "id": 41,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/other.svg"
                }
            ]
        },
        {
            "id": 42,
            "label": "Content Writing",
            "icon": "https://api.dev.menassahur.com/storage/services/content-writing.svg",
            "children": [
                {
                    "id": 43,
                    "label": "Feasibility Study",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/feasibility.svg"
                },
                {
                    "id": 44,
                    "label": "Investment Proposal Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/show.svg"
                },
                {
                    "id": 45,
                    "label": "Motion Graphic Content Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/moshin.svg"
                },
                {
                    "id": 46,
                    "label": "Website Content Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/sites.svg"
                },
                {
                    "id": 47,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/other.svg"
                }
            ]
        },
        {
            "id": 48,
            "label": "Engineering Projects",
            "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects.svg",
            "children": [
                {
                    "id": 49,
                    "label": "Revit Architectural Designs",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/revet.svg"
                },
                {
                    "id": 50,
                    "label": "3D Designs",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/3d.svg"
                },
                {
                    "id": 51,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/other.svg"
                }
            ]
        },
        {
            "id": 52,
            "label": "Programming and Websites",
            "icon": "https://api.dev.menassahur.com/storage/services/programming.svg",
            "children": [
                {
                    "id": 53,
                    "label": "iOS App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/ios.svg"
                },
                {
                    "id": 54,
                    "label": "Android App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/android.svg"
                },
                {
                    "id": 55,
                    "label": "Web and App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/design.svg"
                },
                {
                    "id": 56,
                    "label": "UI Design for Websites and Apps",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/ui.svg"
                },
                {
                    "id": 57,
                    "label": "Code Modification for Websites and Apps",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/code.svg"
                },
                {
                    "id": 58,
                    "label": "Salla Store Setup",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/salla.svg"
                },
                {
                    "id": 59,
                    "label": "Zid Store Setup",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/zd.svg"
                },
                {
                    "id": 60,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/other.svg"
                }
            ]
        }
    ],
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/tree

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show all services

requires authentication

This endpoint lets you show all services

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services?page=12&per_page=18&filter%5Bname%5D=at&filter%5Bdescription%5D=quibusdam&filter%5Borderable%5D=4&filter%5Bauto_accept_attachments%5D=14&filter%5Bsection%5D=19&filter%5Brecurrent%5D=20&filter%5Bparent_id%5D=1&sort=non" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services"
);

const params = {
    "page": "12",
    "per_page": "18",
    "filter[name]": "at",
    "filter[description]": "quibusdam",
    "filter[orderable]": "4",
    "filter[auto_accept_attachments]": "14",
    "filter[section]": "19",
    "filter[recurrent]": "20",
    "filter[parent_id]": "1",
    "sort": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 225,
            "name": "Ms. Noemi Runolfsson",
            "name_ar": "Raymond Koelpin",
            "name_en": "Ms. Noemi Runolfsson",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/00ccdd?text=et",
            "description": "Unde ex dolorum et minima et. Beatae in voluptatem et dicta dolor. Mollitia provident omnis esse dolores quibusdam facilis quia. Quia et non et quo pariatur soluta.",
            "description_ar": "Quo rerum nihil quia. Non veniam atque magnam tempora sunt. Atque placeat vero impedit necessitatibus aliquam eaque. Eos in repudiandae debitis ducimus.",
            "description_en": "Unde ex dolorum et minima et. Beatae in voluptatem et dicta dolor. Mollitia provident omnis esse dolores quibusdam facilis quia. Quia et non et quo pariatur soluta.",
            "orderable": true,
            "auto_accept_attachments": true,
            "recurrent": false,
            "section": 1,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 222,
            "name": "Alexis Hill",
            "name_ar": "Ole Langworth",
            "name_en": "Alexis Hill",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/00aa88?text=odio",
            "description": "Repudiandae non vel rerum nihil officia velit fugit. Alias nobis id est magnam quia. Qui omnis hic vel consequatur expedita corrupti.",
            "description_ar": "Doloribus et ut saepe excepturi. Et officiis eaque impedit iure asperiores. Laboriosam id et inventore illo. Dolor nemo veritatis tenetur deleniti qui. Velit autem temporibus qui in maiores corrupti.",
            "description_en": "Repudiandae non vel rerum nihil officia velit fugit. Alias nobis id est magnam quia. Qui omnis hic vel consequatur expedita corrupti.",
            "orderable": true,
            "auto_accept_attachments": false,
            "recurrent": false,
            "section": 2,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 223,
            "name": "Lilliana Medhurst",
            "name_ar": "Prof. Aaron Ratke DDS",
            "name_en": "Lilliana Medhurst",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/00dd55?text=et",
            "description": "Voluptate voluptate ut voluptatibus. Iure facere harum quidem consectetur. Placeat occaecati possimus molestias dolorem totam quidem. Nemo molestiae et suscipit quam.",
            "description_ar": "Sunt quis quia quas aperiam non qui. Aut quis sunt ut beatae deserunt iure sit. Explicabo neque ipsam molestiae blanditiis vitae suscipit id. Dolorem temporibus quos beatae.",
            "description_en": "Voluptate voluptate ut voluptatibus. Iure facere harum quidem consectetur. Placeat occaecati possimus molestias dolorem totam quidem. Nemo molestiae et suscipit quam.",
            "orderable": false,
            "auto_accept_attachments": false,
            "recurrent": true,
            "section": 2,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 224,
            "name": "Antonietta Monahan",
            "name_ar": "Myron Prosacco",
            "name_en": "Antonietta Monahan",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/0044dd?text=culpa",
            "description": "Fugiat aut voluptatem nemo aliquam recusandae unde ducimus quos. Et voluptates qui rerum officia vel ut ipsam. Ut quos culpa qui rerum.",
            "description_ar": "Hic accusantium soluta doloremque eaque provident fuga dolor. Quae tempora asperiores veniam tempore sed sit repudiandae. Asperiores recusandae recusandae aut.",
            "description_en": "Fugiat aut voluptatem nemo aliquam recusandae unde ducimus quos. Et voluptates qui rerum officia vel ut ipsam. Ut quos culpa qui rerum.",
            "orderable": true,
            "auto_accept_attachments": true,
            "recurrent": false,
            "section": 0,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 227,
            "name": "Lisa Abshire",
            "name_ar": "Scot Schuppe",
            "name_en": "Lisa Abshire",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/0000cc?text=earum",
            "description": "Tempore quaerat non natus harum consequatur ut qui. Illo sed a et eveniet nihil voluptas qui. Est ea est asperiores rerum ea possimus dolor.",
            "description_ar": "Omnis hic autem et voluptas reiciendis. Et at provident quia possimus vero quas ab. Sed expedita dolor sed quibusdam. Assumenda consequatur et fuga quos omnis.",
            "description_en": "Tempore quaerat non natus harum consequatur ut qui. Illo sed a et eveniet nihil voluptas qui. Est ea est asperiores rerum ea possimus dolor.",
            "orderable": false,
            "auto_accept_attachments": true,
            "recurrent": true,
            "section": 2,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 12

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[name]   string  optional  

Field to filter items by id. Example: at

filter[description]   string  optional  

Field to filter items by description. Example: quibusdam

filter[orderable]   integer  optional  

Field to filter items by orderable. Example: 4

filter[auto_accept_attachments]   integer  optional  

Field to filter items by auto_accept_attachments. Example: 14

filter[section]   integer  optional  

Field to filter items by section. Example: 19

filter[recurrent]   integer  optional  

Field to filter items by recurrent. Example: 20

filter[parent_id]   integer  optional  

Field to filter items by parent_id. Example: 1

sort   string  optional  

Field to sort items by id,name,description,auto_accept_attachments, section, recurrent. Example: non

Add service

requires authentication

This endpoint lets you add service

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/services" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=aut"\
    --form "name_ar=minus"\
    --form "description=accusantium"\
    --form "description_ar=est"\
    --form "orderable="\
    --form "order=2"\
    --form "auto_accept_attachments=1"\
    --form "section=0"\
    --form "recurrent=1"\
    --form "icon=@/tmp/phpAdJOil" \
    --form "icon_ar=@/tmp/phphlEcLN" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services"
);

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

const body = new FormData();
body.append('name', 'aut');
body.append('name_ar', 'minus');
body.append('description', 'accusantium');
body.append('description_ar', 'est');
body.append('orderable', '');
body.append('order', '2');
body.append('auto_accept_attachments', '1');
body.append('section', '0');
body.append('recurrent', '1');
body.append('icon', document.querySelector('input[name="icon"]').files[0]);
body.append('icon_ar', document.querySelector('input[name="icon_ar"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 287,
        "name": "service1",
        "name_ar": "service1",
        "name_en": "service1",
        "order": 15,
        "icon": "https://api.dev.menassahur.com/storage/services/Delbert_20260110040253000.png",
        "description": "this is my service",
        "description_ar": "this is my service",
        "description_en": "this is my service",
        "orderable": true,
        "auto_accept_attachments": false,
        "recurrent": true,
        "section": 2,
        "parent_id": null,
        "parent_name": null,
        "parent_name_ar": null,
        "fields": []
    },
    "message": "The service added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/services

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string   

Example: aut

name_ar   string   

Example: minus

description   string   

Example: accusantium

description_ar   string   

Example: est

orderable   boolean   

Example: false

order   integer   

Example: 2

auto_accept_attachments   boolean   

Example: true

section   string   

Example: 0

Must be one of:
  • 1
  • 2
  • 0
recurrent   boolean   

Example: true

parent_id   string  optional  

The id of an existing record in the services table.

icon   file   

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpAdJOil

icon_ar   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phphlEcLN

Show specific service

requires authentication

This endpoint lets you show specific service

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

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

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

Example response (200):


{
    "data": {
        "id": 144,
        "name": "Keara Senger",
        "name_ar": "Dr. Jerrell Shields DVM",
        "name_en": "Keara Senger",
        "order": 85,
        "icon": null,
        "description": "Consequuntur veritatis quo saepe magni mollitia non. Atque cumque omnis magnam laborum quasi omnis. Repudiandae a sequi enim veniam consequatur sit voluptatum assumenda. Sit et ea nulla quia vel.",
        "description_ar": "Aspernatur eum hic quod. Est delectus eligendi quia eum. Officiis laborum sit labore rem dolor sequi. Exercitationem perferendis odio mollitia sed consequatur accusantium.",
        "description_en": "Consequuntur veritatis quo saepe magni mollitia non. Atque cumque omnis magnam laborum quasi omnis. Repudiandae a sequi enim veniam consequatur sit voluptatum assumenda. Sit et ea nulla quia vel.",
        "orderable": false,
        "auto_accept_attachments": false,
        "recurrent": true,
        "section": 2,
        "parent_id": 143,
        "parent_name": "Alfonso Halvorson",
        "parent_name_ar": "Mr. Lexus Kling",
        "fields": [
            {
                "id": 3,
                "type": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Quo sunt enim dolorem error sint rem architecto. Voluptates rerum possimus enim dicta. Eos ducimus impedit dolores.",
                "title_en": "Driving Licence Issuer",
                "meta": "",
                "validation": "required|max:255"
            },
            {
                "id": 4,
                "type": 2,
                "title": "Driving Licence File",
                "title_ar": "Odit tenetur illo ab a ullam deserunt. Autem qui autem itaque necessitatibus.",
                "title_en": "Driving Licence File",
                "meta": "",
                "validation": "required|file|mimes:pdf"
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Update specific service

requires authentication

This endpoint lets you update specific service

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/services/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "orderable="\
    --form "auto_accept_attachments=1"\
    --form "section=1"\
    --form "order=1"\
    --form "recurrent="\
    --form "icon=@/tmp/phpaakFDM" \
    --form "icon_ar=@/tmp/phpBlaLOH" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1"
);

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

const body = new FormData();
body.append('orderable', '');
body.append('auto_accept_attachments', '1');
body.append('section', '1');
body.append('order', '1');
body.append('recurrent', '');
body.append('icon', document.querySelector('input[name="icon"]').files[0]);
body.append('icon_ar', document.querySelector('input[name="icon_ar"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 146,
        "name": "service1",
        "name_ar": "الخدمة",
        "name_en": "service1",
        "order": 54,
        "icon": "https://via.placeholder.com/640x480.png/00aaff?text=voluptatum",
        "description": "this is my service",
        "description_ar": "Est voluptas atque cumque explicabo. Saepe consequatur aliquid architecto in est qui. Mollitia explicabo sapiente commodi nihil provident voluptatem.",
        "description_en": "this is my service",
        "orderable": true,
        "auto_accept_attachments": false,
        "recurrent": true,
        "section": 2,
        "parent_id": null,
        "parent_name": null,
        "parent_name_ar": null,
        "fields": []
    },
    "message": "Service's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/services/{id}

PATCH api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Body Parameters

name   string  optional  
name_ar   string  optional  
description   string  optional  
description_ar   string  optional  
orderable   boolean  optional  

Example: false

auto_accept_attachments   boolean  optional  

Example: true

section   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
  • 0
order   integer  optional  

Example: 1

recurrent   boolean  optional  

Example: false

parent_id   string  optional  

The id of an existing record in the services table.

icon   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpaakFDM

icon_ar   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpBlaLOH

Delete specific service

requires authentication

This endpoint lets you delete specific service

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

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

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

Example response (200):


{
    "message": "The service deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Show all service's fields

requires authentication

This endpoint lets you show all service's fields

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/1/fields?page=14&per_page=6&filter%5Bid%5D=libero&filter%5Btype%5D=repellendus&filter%5Btitle%5D=voluptatem&filter%5Btitle_ar%5D=exercitationem&filter%5Bmeta%5D=ratione&filter%5Bvalidation%5D=12&sort=blanditiis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1/fields"
);

const params = {
    "page": "14",
    "per_page": "6",
    "filter[id]": "libero",
    "filter[type]": "repellendus",
    "filter[title]": "voluptatem",
    "filter[title_ar]": "exercitationem",
    "filter[meta]": "ratione",
    "filter[validation]": "12",
    "sort": "blanditiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/services/{service_id}/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

service_id   integer   

The ID of the service. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 14

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 6

filter[id]   string  optional  

Field to filter items by id. Example: libero

filter[type]   string  optional  

Field to filter items by type. Example: repellendus

filter[title]   string  optional  

Field to filter items by title. Example: voluptatem

filter[title_ar]   string  optional  

Field to filter items by title_ar. Example: exercitationem

filter[meta]   string  optional  

Field to filter items by meta. Example: ratione

filter[validation]   integer  optional  

Field to filter items by validation. Example: 12

sort   string  optional  

Field to sort items by id,type,title,title_ar,meta,validation. Example: blanditiis

Show all service's experts

requires authentication

This endpoint lets you show all service's experts

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/1/experts?page=1&per_page=7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1/experts"
);

const params = {
    "page": "1",
    "per_page": "7",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1360,
            "name": "Charlotte Oberbrunner",
            "phone": "+15515060860",
            "image": null,
            "expert_rating_avg": 0.4,
            "age": "92",
            "profession": "Queen said--' 'Get.",
            "specialty": "Queen's hedgehog.",
            "brief": "Alice looked down.",
            "type": 0,
            "section": 1,
            "consultation_price": 69
        },
        {
            "id": 1361,
            "name": "Vincent Bartell",
            "phone": "+12673624073",
            "image": null,
            "expert_rating_avg": 0.2,
            "age": "38",
            "profession": "I've got back to.",
            "specialty": "Gryphon. 'How the.",
            "brief": "Alice sharply, for.",
            "type": 4,
            "section": 1,
            "consultation_price": 41
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/{service_id}/experts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

service_id   integer   

The ID of the service. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 1

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

Settings

APIs for managing Settings

Show all Settings

requires authentication

This endpoint lets you show all settings

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/settings?page=19&per_page=9&filter%5Bid%5D=occaecati&filter%5Bkey%5D=velit&filter%5Bvalue%5D=eligendi&sort=optio" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/settings"
);

const params = {
    "page": "19",
    "per_page": "9",
    "filter[id]": "occaecati",
    "filter[key]": "velit",
    "filter[value]": "eligendi",
    "sort": "optio",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 12,
            "key": "c907a31f-2216-38b2-adaa-943d5d48a771",
            "value": "99"
        },
        {
            "id": 13,
            "key": "921989e7-c056-3db8-9c1b-bea7cd33e1c0",
            "value": "42"
        },
        {
            "id": 14,
            "key": "8b537f05-2db8-35ae-bfbb-3dd4cad7ed50",
            "value": "68"
        },
        {
            "id": 15,
            "key": "a60b6a3e-0a32-39b6-b678-ba268889b9e9",
            "value": "97"
        },
        {
            "id": 16,
            "key": "846c13b6-4d0e-37fb-93d2-b9fb3ef7d2b9",
            "value": "20"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/settings

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 19

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 9

filter[id]   string  optional  

Field to filter items by id. Example: occaecati

filter[key]   string  optional  

Field to filter items by key. Example: velit

filter[value]   string  optional  

Field to filter items by value. Example: eligendi

sort   string  optional  

Field to sort items by id,key,value. Example: optio

Show specific setting

requires authentication

This endpoint lets you show specific setting

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

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

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

Example response (200):


{
    "data": {
        "id": 11111124,
        "key": "5972fd2a-73c5-3306-acf7-c863959bdb2b",
        "value": "15"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the setting. Example: 1

Update specific setting

requires authentication

This endpoint lets you update specific setting

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/settings/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/settings/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 5,
        "key": "setting1",
        "value": "55"
    },
    "message": "Setting's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/settings/{id}

PATCH api/v1/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the setting. Example: 1

Body Parameters

key   string  optional  
value   string  optional  

Static Information

APIs for interacting with static information

Show Terms

This endpoint lets you to show Terms

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

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/terms

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store Terms

requires authentication

This endpoint lets you to add Terms

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/terms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"ut\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/terms"
);

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

let body = {
    "content": "ut"
};

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

Request      

POST api/v1/static-info/terms

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   text   

the terms content. Example: ut

content_ar   string  optional  

Show About

This endpoint lets you to show About

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

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/about

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store About

requires authentication

This endpoint lets you to add About

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/about" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"vitae\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/about"
);

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

let body = {
    "content": "vitae"
};

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

Request      

POST api/v1/static-info/about

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   string   

Example: vitae

content_ar   string  optional  

Show Privacy

This endpoint lets you to show Privacy

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

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

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

Example response (401):

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

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/privacy

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store Terms

requires authentication

This endpoint lets you to add Privacy

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/privacy" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"corporis\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/privacy"
);

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

let body = {
    "content": "corporis"
};

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

Request      

POST api/v1/static-info/privacy

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   text   

the terms content. Example: corporis

content_ar   string  optional  

Users

APIs for user settings

Verify

requires authentication

This endpoint lets you verify user

It is mainly used for Remote Identity Provider

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/chat-verify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/chat-verify"
);

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

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

Example response (200):


{
    "data": {
        "uid": 1572,
        "full_name": "Dr. Mozelle Batz",
        "email": "[email protected]",
        "login": "user_1572",
        "external_user_id": 1572
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/chat-verify

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show all users

requires authentication

This endpoint lets you show all users

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users?page=11&per_page=1&filter%5Bidentifier%5D=eveniet&filter%5Bname%5D=impedit&filter%5Bemail%5D=voluptas&filter%5Btype%5D=et&filter%5BcityName%5D=nulla&filter%5BstreetName%5D=quod&filter%5Bphone%5D=at&filter%5BpostalNumber%5D=unde&sort=omnis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users"
);

const params = {
    "page": "11",
    "per_page": "1",
    "filter[identifier]": "eveniet",
    "filter[name]": "impedit",
    "filter[email]": "voluptas",
    "filter[type]": "et",
    "filter[cityName]": "nulla",
    "filter[streetName]": "quod",
    "filter[phone]": "at",
    "filter[postalNumber]": "unde",
    "sort": "omnis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1260,
            "name": "Kody Hahn",
            "phone": "+17265829027",
            "image": null,
            "email": "[email protected]",
            "chat_id": "fb6fbe4f-9b99-3152-bc1a-49352c06e26f",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "98",
            "profession": "Down, down, down.",
            "specialty": "It was, no doubt.",
            "brief": "Dormouse sulkily.",
            "expert_rating_avg": 0.2,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1261,
            "name": "Prof. Donnie McDermott IV",
            "phone": "+12317345210",
            "image": null,
            "email": "[email protected]",
            "chat_id": "f3430380-e982-37bb-a283-be7ee91fce71",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "77",
            "profession": "Alice called out.",
            "specialty": "Lobster Quadrille.",
            "brief": "There ought to be.",
            "expert_rating_avg": 0.2,
            "marketing_link": null,
            "permissions": null,
            "type": 8,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1262,
            "name": "Mr. Ralph Breitenberg",
            "phone": "+15412089318",
            "image": null,
            "email": "[email protected]",
            "chat_id": "6ccce9ed-006f-30ff-8408-b1f8a5728889",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "28",
            "profession": "Tortoise--' 'Why.",
            "specialty": "The Mouse looked.",
            "brief": "Alice looked very.",
            "expert_rating_avg": 0.1,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1263,
            "name": "Tara Bartell",
            "phone": "+14437720290",
            "image": null,
            "email": "[email protected]",
            "chat_id": "9e2cb76a-a9ea-36dc-9c16-98402b79dad0",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "87",
            "profession": "RED rose-tree, and.",
            "specialty": "Cat. 'I don't even.",
            "brief": "Dinah stop in the.",
            "expert_rating_avg": 0.5,
            "marketing_link": null,
            "permissions": null,
            "type": 8,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1264,
            "name": "Edmond Swift",
            "phone": "+15344609400",
            "image": null,
            "email": "[email protected]",
            "chat_id": "fe52fbdb-dd3c-388b-8bf8-7007fe3a48af",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "89",
            "profession": "She generally gave.",
            "specialty": "Latin Grammar, 'A.",
            "brief": "Caterpillar. Alice.",
            "expert_rating_avg": 0.3,
            "marketing_link": null,
            "permissions": null,
            "type": 8,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 16,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 11

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 1

filter[identifier]   string  optional  

Field to filter items by identifier. Example: eveniet

filter[name]   string  optional  

Field to filter items by name. Example: impedit

filter[email]   string  optional  

Field to filter items by email. Example: voluptas

filter[type]   string  optional  

Field to filter items by type. Example: et

filter[cityName]   string  optional  

Field to filter items by cityName. Example: nulla

filter[streetName]   string  optional  

Field to filter items by streetName. Example: quod

filter[phone]   string  optional  

Field to filter items by phone. Example: at

filter[postalNumber]   string  optional  

Field to filter items by postalNumber. Example: unde

sort   string  optional  

Field to sort items by identifier,name,email,type, cityName, streetName, phone, postalNumber. Example: omnis

Add user

requires authentication

This endpoint lets you add user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/users" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=qqrbqatjunbkrtonekvwuisn"\
    --form "age=creqfnjaojhq"\
    --form "brief=itotfugcd"\
    --form "specialty=iviidxhqondzaabpwzvunhtd"\
    --form "profession=pwmxxkau"\
    --form "[email protected]"\
    --form "phone=fugit"\
    --form "password=y?3I7e_eOZ"\
    --form "section=2"\
    --form "type=16"\
    --form "language=1"\
    --form "image=@/tmp/phplAInkn" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users"
);

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

const body = new FormData();
body.append('name', 'qqrbqatjunbkrtonekvwuisn');
body.append('age', 'creqfnjaojhq');
body.append('brief', 'itotfugcd');
body.append('specialty', 'iviidxhqondzaabpwzvunhtd');
body.append('profession', 'pwmxxkau');
body.append('email', '[email protected]');
body.append('phone', 'fugit');
body.append('password', 'y?3I7e_eOZ');
body.append('section', '2');
body.append('type', '16');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1571,
        "name": "Eman",
        "phone": "+963994622344",
        "image": "https://api.dev.menassahur.com/storage/users/Newavatar_image_20260110040300000.png",
        "email": "[email protected]",
        "chat_id": null,
        "has_verified_email": false,
        "has_verified_phone": false,
        "age": "25",
        "profession": "eng",
        "specialty": "eng",
        "brief": "I am wonderfull",
        "expert_rating_avg": null,
        "marketing_link": null,
        "permissions": null,
        "type": 8,
        "section": 2,
        "language": 1,
        "expert_services": null,
        "has_password": true,
        "roles": null
    },
    "message": "The user added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: qqrbqatjunbkrtonekvwuisn

age   string  optional  

Must not be greater than 255 characters. Example: creqfnjaojhq

brief   string  optional  

Must not be greater than 255 characters. Example: itotfugcd

specialty   string  optional  

Must not be greater than 255 characters. Example: iviidxhqondzaabpwzvunhtd

profession   string  optional  

Must not be greater than 255 characters. Example: pwmxxkau

email   string  optional  

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

phone   string   

Example: fugit

password   string   

Must be at least 6 characters. Example: y?3I7e_eOZ

section   string   

Example: 2

Must be one of:
  • 1
  • 2
  • 0
type   string   

Example: 16

Must be one of:
  • 0
  • 1
  • 2
  • 4
  • 8
  • 16
  • 0
  • 0
language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phplAInkn

Show specific user

requires authentication

This endpoint lets you show specific user

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

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

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

Example response (200):


{
    "data": {
        "id": 1394,
        "name": "Mrs. Helene Prosacco MD",
        "phone": "+15759269203",
        "image": null,
        "email": "[email protected]",
        "chat_id": "647a5b49-28d9-3477-9b7a-759cea297c5a",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": "60",
        "profession": "King hastily said.",
        "specialty": "I hadn't gone down.",
        "brief": "Mock Turtle, and.",
        "expert_rating_avg": 0.4,
        "marketing_link": null,
        "permissions": null,
        "type": 0,
        "section": 1,
        "language": 1,
        "expert_services": null,
        "has_password": true,
        "roles": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

Update specific user

requires authentication

This endpoint lets you update specific user

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/users/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=dneatmjrajchfnj"\
    --form "age=ehzyjkultcawiolgtdbjr"\
    --form "brief=iyzmexbbtfpkxnnxguvi"\
    --form "specialty=rayfzhxambdqodnwkcu"\
    --form "profession=tp"\
    --form "chat_id=avj"\
    --form "[email protected]"\
    --form "password=4"&8|J;A"\
    --form "language=1"\
    --form "image=@/tmp/phpHcAjJO" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1"
);

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

const body = new FormData();
body.append('name', 'dneatmjrajchfnj');
body.append('age', 'ehzyjkultcawiolgtdbjr');
body.append('brief', 'iyzmexbbtfpkxnnxguvi');
body.append('specialty', 'rayfzhxambdqodnwkcu');
body.append('profession', 'tp');
body.append('chat_id', 'avj');
body.append('email', '[email protected]');
body.append('password', '4"&8|J;A');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1400,
        "name": "Eman",
        "phone": "+963994622344",
        "image": "https://api.dev.menassahur.com/storage/users/Ottilie_20260110040300000.png",
        "email": "[email protected]",
        "chat_id": "b5aba320-5fba-34d1-bfcb-e07c65320c69",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": "25",
        "profession": "eng",
        "specialty": "eng",
        "brief": "I am wonderfull",
        "expert_rating_avg": 0.2,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 2,
        "expert_services": [
            {
                "id": 288,
                "name": "Icie Ferry",
                "name_ar": "Dr. Letitia Lowe",
                "name_en": "Icie Ferry",
                "order": 26,
                "icon": "https://via.placeholder.com/640x480.png/009955?text=quo"
            },
            {
                "id": 289,
                "name": "Bettye Legros",
                "name_ar": "Miss Joelle Greenholt IV",
                "name_en": "Bettye Legros",
                "order": 76,
                "icon": "https://via.placeholder.com/640x480.png/000088?text=impedit"
            }
        ],
        "has_password": true,
        "roles": null
    },
    "message": "User's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/users/{id}

PATCH api/v1/users/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: dneatmjrajchfnj

age   string  optional  

Must not be greater than 255 characters. Example: ehzyjkultcawiolgtdbjr

brief   string  optional  

Must not be greater than 255 characters. Example: iyzmexbbtfpkxnnxguvi

specialty   string  optional  

Must not be greater than 255 characters. Example: rayfzhxambdqodnwkcu

profession   string  optional  

Must not be greater than 255 characters. Example: tp

chat_id   string  optional  

Must not be greater than 255 characters. Example: avj

email   string  optional  

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

phone   string  optional  
password   string  optional  

Must be at least 6 characters. Example: 4"&8|J;A

language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpHcAjJO

services   string[]  optional  

The id of an existing record in the services table.

Show all roles to specific user

requires authentication

This endpoint lets you show all roles to specific user

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/1/roles?page=13&per_page=13&filter=perferendis&sort=voluptatem" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1/roles"
);

const params = {
    "page": "13",
    "per_page": "13",
    "filter": "perferendis",
    "sort": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 789654411,
            "name": "Lily Kohler",
            "description": "Dolorem deleniti illo non occaecati velit."
        },
        {
            "id": 789654412,
            "name": "Benny Erdman",
            "description": "Voluptas reprehenderit eum et quo."
        },
        {
            "id": 789654413,
            "name": "Wilbert Donnelly",
            "description": "Sint voluptatem sed earum velit non."
        },
        {
            "id": 789654414,
            "name": "Irving Ankunding",
            "description": "Voluptatem nostrum facere et qui totam."
        },
        {
            "id": 789654415,
            "name": "Steve Weissnat DVM",
            "description": "Qui dolorum est enim commodi vero."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/{user_id}/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 13

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 13

filter   string  optional  

Field to filter items by identifier,name,description. Example: perferendis

sort   string  optional  

Field to sort items by identifier,name,description. Example: voluptatem

Edit user's roles

requires authentication

This endpoint lets you edit user's roles (add,update,delete)

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/users/1/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"roleIds\": [
        3
    ]
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1/roles"
);

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

let body = {
    "roleIds": [
        3
    ]
};

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

Example response (200):


{
    "message": "The user's roles updated successfully.",
    "status_code": 200
}
 

Request      

POST api/v1/users/{user_id}/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

roleIds   integer[]  optional  

List of the roles Ids.

Enums

App Labels

JOIN_EXPERTS_TEAM: JOIN_EXPERTS_TEAM

JOIN_MARKETERS_TEAM: JOIN_MARKETERS_TEAM

App Version Action

NORMAL: NORMAL

OPTIONAL: OPTIONAL

FORCE: FORCE

Attachment Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Attachment Type

VOICE: 1

FILE: 2

LINK: 3

Cache Enum

CB_TOKEN: cb_token

IP: ip_

Message Status

READ: 1

UNREAD: 2

Message Type

TEXT: 1

FILE: 2

SYSTEM: 3

ACTION: 4

Course Order Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Feedback Status

OPEN: 1

DONE: 2

Feedback Type

SUGGESTION: 1

ORDER_APPROVAL: 2

LINK_APPROVAL: 3

TECHNICAL_ISSUE: 4

PAYMENT_ISSUE: 5

ORDER_EDIT: 6

MISSING_COURSE: 7

OTHER: 8

Field Type

TEXT: 1

FILE: 2

NUMBER: 3

SELECT: 4

Join Us Order Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Join Us Order Type

EXPERT_EARNEST: 1

EXPERT_HEPTA: 2

MARKETER: 3

Language

EN: 1

AR: 2

Local Translations Type

JOIN_EXPERTS_TEAM: JOIN_EXPERTS_TEAM

JOIN_MARKETERS_TEAM: JOIN_MARKETERS_TEAM

Notification Type

MESSAGE_FROM_ADMIN: 1

GENERAL: 2

ADD_JOIN_US_ORDER: 4

ACCEPT_JOIN_US_ORDER: 3

ADD_FEEDBACK: 5

ADD_ORDER_OFFER: 6

UPDATE_ORDER_OFFER: 7

ACCEPT_ORDER_OFFER: 8

ADD_ORDER: 9

REJECT_ORDER_OFFER: 10

CONFIRMED_ORDER_DELIVERY_BY_USER: 11

ORDER_DELIVERED_BY_EXPERT: 12

ORDER_REJECTED_BY_ADMIN: 13

ORDER_APPROVED: 14

PAYMENT_PAID: 15

PAYMENT_REJECTED: 16

NEW_ORDER_TO_EXPERT: 17

NEW_CHAT_MESSAGE: 18

REPEAT_ORDER_TO_EXPERT: 19

Offer Status

PENDING: 1

ACCEPTED: 2

REJECTED: 3

CANCELLED: 4

Order Status

WAITING_ADMIN_APPROVAL: 1

APPROVED: 2

DELIVERED_BY_EXPERT: 3

DELIVERY_CONFIRMED_BY_USER: 4

ARCHIVED: 5

CANCELLED_BY_USER: 6

BOOKED: 7

REJECTED_BY_ADMIN: 8

PENDING: 9

Order Type

URGENT: 1

NORMAL: 2

NOT_RESTRICTED: 3

Payment Brands

VISA: visa

MASTER: master

MADA: mada

Payment Frequency

ONCE: 1

MONTHLY: 2

Payment Status

WAITING_ADMIN_APPROVAL: 1

PAID: 2

REJECTED: 3

CANCELLED: 4

Payment Type

EXPERT_DEPOSIT: 1

MARKETER_DEPOSIT: 2

EARNEST_SHARE: 3

WITHDRAWAL: 4

BY_USER: 5

WALLET_TOP_UP: 6

Permission Type

INDEX_USER: INDEX_USER

SHOW_USER: SHOW_USER

STORE_USER: STORE_USER

UPDATE_USER: UPDATE_USER

INDEX_ROLE: INDEX_ROLE

SHOW_ROLE: SHOW_ROLE

UPDATE_ROLE: UPDATE_ROLE

STORE_ROLE: STORE_ROLE

DELETE_ROLE: DELETE_ROLE

EDIT_ROLE_PERMISSION: EDIT_ROLE_PERMISSION

SHOW_ROLE_PERMISSION: SHOW_ROLE_PERMISSION

SHOW_USER_ROLE: SHOW_USER_ROLE

EDIT_USER_ROLE: EDIT_USER_ROLE

SHOW_PERMISSIONS: SHOW_PERMISSIONS

INDEX_ORDER: INDEX_ORDER

SHOW_ORDER: SHOW_ORDER

UPDATE_ORDER: UPDATE_ORDER

CHANGE_ORDER_STATUS: CHANGE_ORDER_STATUS

INDEX_FEEDBACK: INDEX_FEEDBACK

SHOW_FEEDBACK: SHOW_FEEDBACK

STORE_FEEDBACK: STORE_FEEDBACK

UPDATE_FEEDBACK: UPDATE_FEEDBACK

DELETE_FEEDBACK: DELETE_FEEDBACK

INDEX_JOIN_US_ORDER: INDEX_JOIN_US_ORDER

SHOW_JOIN_US_ORDER: SHOW_JOIN_US_ORDER

STORE_JOIN_US_ORDER: STORE_JOIN_US_ORDER

DELETE_JOIN_US_ORDER: DELETE_JOIN_US_ORDER

ACCEPT_JOIN_US_ORDER: ACCEPT_JOIN_US_ORDER

REJECT_JOIN_US_ORDER: REJECT_JOIN_US_ORDER

INDEX_ATTACHMENT: INDEX_ATTACHMENT

SHOW_ATTACHMENT: SHOW_ATTACHMENT

STORE_ATTACHMENT: STORE_ATTACHMENT

DELETE_ATTACHMENT: DELETE_ATTACHMENT

ACCEPT_ATTACHMENT: ACCEPT_ATTACHMENT

UPDATE_ATTACHMENT: UPDATE_ATTACHMENT

REJECT_ATTACHMENT: REJECT_ATTACHMENT

INDEX_OFFER: INDEX_OFFER

SHOW_OFFER: SHOW_OFFER

ACCEPT_OFFER: ACCEPT_OFFER

REJECT_OFFER: REJECT_OFFER

STORE_OFFER: STORE_OFFER

UPDATE_OFFER: UPDATE_OFFER

INDEX_SERVICE: INDEX_SERVICE

SHOW_SERVICE: SHOW_SERVICE

STORE_SERVICE: STORE_SERVICE

UPDATE_SERVICE: UPDATE_SERVICE

DELETE_SERVICE: DELETE_SERVICE

INDEX_APP_VERSION: INDEX_APP_VERSION

SHOW_APP_VERSION: SHOW_APP_VERSION

STORE_APP_VERSION: STORE_APP_VERSION

UPDATE_APP_VERSION: UPDATE_APP_VERSION

DELETE_APP_VERSION: DELETE_APP_VERSION

INDEX_AD: INDEX_AD

SHOW_AD: SHOW_AD

STORE_AD: STORE_AD

UPDATE_AD: UPDATE_AD

DELETE_AD: DELETE_AD

INDEX_COURSE: INDEX_COURSE

SHOW_COURSE: SHOW_COURSE

STORE_COURSE: STORE_COURSE

UPDATE_COURSE: UPDATE_COURSE

DELETE_COURSE: DELETE_COURSE

INDEX_CATEGORY: INDEX_CATEGORY

SHOW_CATEGORY: SHOW_CATEGORY

STORE_CATEGORY: STORE_CATEGORY

UPDATE_CATEGORY: UPDATE_CATEGORY

DELETE_CATEGORY: DELETE_CATEGORY

INDEX_COURSE_ORDER: INDEX_COURSE_ORDER

SHOW_COURSE_ORDER: SHOW_COURSE_ORDER

STORE_COURSE_ORDER: STORE_COURSE_ORDER

ACCEPT_COURSE_ORDER: ACCEPT_COURSE_ORDER

REJECT_COURSE_ORDER: REJECT_COURSE_ORDER

INDEX_FIELD: INDEX_FIELD

SHOW_FIELD: SHOW_FIELD

STORE_FIELD: STORE_FIELD

UPDATE_FIELD: UPDATE_FIELD

DELETE_FIELD: DELETE_FIELD

INDEX_PRODUCT: INDEX_PRODUCT

SHOW_PRODUCT: SHOW_PRODUCT

STORE_PRODUCT: STORE_PRODUCT

UPDATE_PRODUCT: UPDATE_PRODUCT

DELETE_PRODUCT: DELETE_PRODUCT

INDEX_PORTFOLIO_WORK: INDEX_PORTFOLIO_WORK

SHOW_PORTFOLIO_WORK: SHOW_PORTFOLIO_WORK

STORE_PORTFOLIO_WORK: STORE_PORTFOLIO_WORK

UPDATE_PORTFOLIO_WORK: UPDATE_PORTFOLIO_WORK

DELETE_PORTFOLIO_WORK: DELETE_PORTFOLIO_WORK

INDEX_PAYMENT: INDEX_PAYMENT

SHOW_PAYMENT: SHOW_PAYMENT

MAKE_PAYMENT_PAID: MAKE_PAYMENT_PAID

MAKE_PAYMENT_UNPAID: MAKE_PAYMENT_UNPAID

STORE_ABOUT: STORE_ABOUT

STORE_TERMS: STORE_TERMS

STORE_PRIVACY: STORE_PRIVACY

SHOW_PRIVACY: SHOW_PRIVACY

STORE_CONTACT_US: STORE_CONTACT_US

STORE_HOW_TO_USE: STORE_HOW_TO_USE

UPDATE_SETTING: UPDATE_SETTING

MAKE_OFFER_CANCELLED: MAKE_OFFER_CANCELLED

Product Type

BOOK: 1

PAINTING: 2

Rating Type

ONE: 1

TWO: 2

THREE: 3

FOUR: 4

FIVE: 5

Role Type

SYSTEM_ADMINISTRATOR: SYSTEM_ADMINISTRATOR

ADMIN: ADMIN

SUPERVISOR: SUPERVISOR

ACCOUNTANT: ACCOUNTANT

Search Type

ORDERS: 1

COURSES: 2

CATEGORIES: 4

PRODUCTS: 8

SERVICES: 16

None: 0

Section

ERNEST_FEABER: 1

HEPTA_TRANS: 2

None: 0

Service Type

SERVICE: 1

COURSE: 2

STORE: 3

CONSULTATION: 4

Translation File Name

ABOUT: about.html

TERMS: terms.html

PRIVACY: privacy.html

HOW_TO_USE: how_to_use.json

CONTACT_US: contact_us.json

APP_LABELS: translations.json

WHY_WE: why_we.json

User Type

NORMAL: 0

EXPERT: 1

MARKETER: 2

SPECIAL: 4

TEACHER: 8

DISABLED: 16

NORMAL: 0

NORMAL: 0

Withdrawal Type

BANK: 1

CASH: 2

OTHER: 3