MENU navbar-image

Introduction

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

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

Authenticating requests

This API is not authenticated.

Endpoints

POST api/login

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/login"
);

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


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

Request      

POST api/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/register

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"b\",
    \"last_name\": \"n\",
    \"email\": \"ashly64@example.com\",
    \"country_code\": \"vdljni\",
    \"phone\": \"k\",
    \"password\": \"wmi\\/#iw\\/k\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/register"
);

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

let body = {
    "first_name": "b",
    "last_name": "n",
    "email": "ashly64@example.com",
    "country_code": "vdljni",
    "phone": "k",
    "password": "wmi\/#iw\/k"
};

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

Request      

POST api/register

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

first_name   string     

Must be at least 3 characters. Must not be greater than 255 characters. Example: b

last_name   string     

Must be at least 3 characters. Must not be greater than 255 characters. Example: n

email   string     

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

country_code   string     

Must not be greater than 10 characters. Example: vdljni

phone   string     

Must not be greater than 30 characters. Example: k

password   string     

Must be at least 8 characters. Example: wmi/#iw/k

POST api/logout

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/logout"
);

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


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

Request      

POST api/logout

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PATCH api/update_user

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/update_user" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "first_name=b"\
    --form "last_name=n"\
    --form "email=ashly64@example.com"\
    --form "country_code=vdljni"\
    --form "phone=k"\
    --form "avatar=@/tmp/php3kkdsmqgb8eoe3tS7QS" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/update_user"
);

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

const body = new FormData();
body.append('first_name', 'b');
body.append('last_name', 'n');
body.append('email', 'ashly64@example.com');
body.append('country_code', 'vdljni');
body.append('phone', 'k');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

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

Request      

PATCH api/update_user

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

first_name   string  optional    

Must be at least 2 characters. Must not be greater than 255 characters. Example: b

last_name   string  optional    

Must be at least 2 characters. Must not be greater than 255 characters. Example: n

email   string  optional    

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

country_code   string  optional    

Must not be greater than 10 characters. Example: vdljni

phone   string  optional    

Must not be greater than 30 characters. Example: k

avatar   file  optional    

Must be a file. Must not be greater than 2048 kilobytes. Example: /tmp/php3kkdsmqgb8eoe3tS7QS

DELETE api/delete_account

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/delete_account" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"architecto\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/delete_account"
);

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

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

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

Request      

DELETE api/delete_account

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

password   string     

Example: architecto

GET api/all_users

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/all_users" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/all_users"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/all_users

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/users/{id}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/users/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/users/{id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   string     

The ID of the user. Example: architecto

PATCH api/users/{user}/make_admin

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/users/architecto/make_admin" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/architecto/make_admin"
);

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


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

Request      

PATCH api/users/{user}/make_admin

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user   string     

The user. Example: architecto

PATCH api/users/{user}/make_vendor

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/users/architecto/make_vendor" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/architecto/make_vendor"
);

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


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

Request      

PATCH api/users/{user}/make_vendor

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user   string     

The user. Example: architecto

PATCH api/users/{user}/make_user

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/users/architecto/make_user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/architecto/make_user"
);

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


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

Request      

PATCH api/users/{user}/make_user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user   string     

The user. Example: architecto

PATCH api/users/{user}/make_listing_agent

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/users/architecto/make_listing_agent" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/architecto/make_listing_agent"
);

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


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

Request      

PATCH api/users/{user}/make_listing_agent

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user   string     

The user. Example: architecto

GET api/user

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/user"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PUT api/change_password

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/change_password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/change_password"
);

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


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

Request      

PUT api/change_password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/reset_mail

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/reset_mail" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/reset_mail"
);

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


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

Request      

POST api/reset_mail

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/reset_password

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/reset_password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/reset_password"
);

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


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

Request      

POST api/reset_password

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/verify_user

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/verify_user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/verify_user"
);

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


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

Request      

POST api/verify_user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/verify_email

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/verify_email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/verify_email"
);

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


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

Request      

POST api/verify_email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/resend_otp

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/resend_otp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/resend_otp"
);

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


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

Request      

POST api/resend_otp

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Suspend a user

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/users/1/suspend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reason\": \"b\",
    \"duration\": \"permanent\",
    \"custom_date\": \"2052-08-13\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/1/suspend"
);

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

let body = {
    "reason": "b",
    "duration": "permanent",
    "custom_date": "2052-08-13"
};

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

Request      

POST api/users/{user_id}/suspend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

Body Parameters

reason   string     

Must not be greater than 500 characters. Example: b

duration   string  optional    

Example: permanent

Must be one of:
  • 1_day
  • 7_days
  • 30_days
  • permanent
custom_date   string  optional    

Must be a valid date. Must be a date after now. Example: 2052-08-13

Unsuspend a user

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/users/1/unsuspend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/users/1/unsuspend"
);

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


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

Request      

POST api/users/{user_id}/unsuspend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 1

GET api/listing/{listing}/opening_hours

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/architecto/opening_hours" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/architecto/opening_hours"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing}/opening_hours

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: architecto

POST api/listing/{listing}/opening_hours

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/architecto/opening_hours" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/architecto/opening_hours"
);

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


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

Request      

POST api/listing/{listing}/opening_hours

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: architecto

PUT api/opening_hours/{opening_hour_slug}

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/opening_hours/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"day_of_week\": \"Saturday\",
    \"open_time\": \"18:03\",
    \"close_time\": \"2052-08-12\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/opening_hours/architecto"
);

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

let body = {
    "day_of_week": "Saturday",
    "open_time": "18:03",
    "close_time": "2052-08-12"
};

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

Request      

PUT api/opening_hours/{opening_hour_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

opening_hour_slug   string     

The slug of the opening hour. Example: architecto

Body Parameters

day_of_week   string  optional    

Example: Saturday

Must be one of:
  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
open_time   string  optional    

Must be a valid date in the format H:i. Example: 18:03

close_time   string  optional    

Must be a valid date in the format H:i. Must be a date after open_time. Example: 2052-08-12

DELETE api/opening_hours/{opening_hour_slug}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/opening_hours/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/opening_hours/architecto"
);

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


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

Request      

DELETE api/opening_hours/{opening_hour_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

opening_hour_slug   string     

The slug of the opening hour. Example: architecto

GET api/categories

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/categories"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/categories

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/categories" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "type=architecto"\
    --form "description=Eius et animi quos velit et."\
    --form "is_top_category=1"\
    --form "featured_image=@/tmp/phpbujaq4mvi8nb7314AlY" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/categories"
);

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

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

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

Request      

POST api/categories

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

parent_slug   string  optional    

The slug of an existing record in the categories table.

type   string     

Example: architecto

description   string  optional    

Example: Eius et animi quos velit et.

is_top_category   boolean  optional    

Example: true

featured_image   file  optional    

This field is required when is_top_category is true. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpbujaq4mvi8nb7314AlY

PUT api/categories/{category_slug}

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/categories/active-life" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "type=architecto"\
    --form "description=Eius et animi quos velit et."\
    --form "is_top_category="\
    --form "featured_image=@/tmp/php7i3njgdup1tgb3SOeG2" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/categories/active-life"
);

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

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

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

Request      

PUT api/categories/{category_slug}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

category_slug   string     

The slug of the category. Example: active-life

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

parent_slug   string  optional    

The slug of an existing record in the categories table.

type   string  optional    

Example: architecto

description   string  optional    

Example: Eius et animi quos velit et.

is_top_category   boolean  optional    

Example: false

featured_image   file  optional    

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/php7i3njgdup1tgb3SOeG2

DELETE api/categories/{category_slug}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/categories/active-life" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/categories/active-life"
);

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


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

Request      

DELETE api/categories/{category_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_slug   string     

The slug of the category. Example: active-life

GET api/categories_with_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/categories_with_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/categories_with_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/categories_with_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/countries_dropdown

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/countries_dropdown" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/countries_dropdown"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/countries_dropdown

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/business_categories

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/business_categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/business_categories"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/business_categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/community_categories

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/community_categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/community_categories"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/community_categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/event_categories

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/event_categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/event_categories"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/event_categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/approved_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/approved_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/approved_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/approved_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/listing/{listing_slug}/show

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/gina-s/show" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/show"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing_slug}/show

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

POST api/listing/profile

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"bio\": \"n\",
    \"primary_country_code\": \"gzmiyvdljnikhway\",
    \"primary_phone\": \"architecto\",
    \"secondary_country_code\": \"ngzmiyvdljnikhwa\",
    \"secondary_phone\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"website\": \"architecto\",
    \"business_reg_num\": \"architecto\",
    \"type\": \"event\",
    \"business_hours_mode\": \"always_open\",
    \"community_location_scope\": \"global\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/profile"
);

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

let body = {
    "name": "b",
    "bio": "n",
    "primary_country_code": "gzmiyvdljnikhway",
    "primary_phone": "architecto",
    "secondary_country_code": "ngzmiyvdljnikhwa",
    "secondary_phone": "architecto",
    "email": "zbailey@example.net",
    "website": "architecto",
    "business_reg_num": "architecto",
    "type": "event",
    "business_hours_mode": "always_open",
    "community_location_scope": "global"
};

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

Request      

POST api/listing/profile

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

bio   string  optional    

Must not be greater than 65535 characters. Example: n

primary_country_code   string  optional    

This field is required when primary_phone is present. Must be at least 1 character. Example: gzmiyvdljnikhway

primary_phone   string  optional    

Example: architecto

secondary_country_code   string  optional    

This field is required when secondary_phone is present. Must be at least 1 character. Example: ngzmiyvdljnikhwa

secondary_phone   string  optional    

Example: architecto

email   string  optional    

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

category_ids   string[]  optional    

The id of an existing record in the categories table.

website   string  optional    

Example: architecto

business_reg_num   string  optional    

Example: architecto

type   string     

Example: event

Must be one of:
  • business
  • event
  • community
business_hours_mode   string  optional    

Example: always_open

Must be one of:
  • scheduled
  • always_open
  • appointment_only
  • contact_for_hours
community_location_scope   string  optional    

Example: global

Must be one of:
  • physical
  • online
  • hybrid
  • global

PUT api/listing/{listing_slug}/address

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/listing/gina-s/address" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"address\": \"architecto\",
    \"country\": \"architecto\",
    \"city\": \"architecto\",
    \"google_plus_code\": \"architecto\",
    \"latitude\": -89,
    \"longitude\": -180
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/address"
);

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

let body = {
    "address": "architecto",
    "country": "architecto",
    "city": "architecto",
    "google_plus_code": "architecto",
    "latitude": -89,
    "longitude": -180
};

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

Request      

PUT api/listing/{listing_slug}/address

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

address   string     

Example: architecto

country   string     

Example: architecto

city   string  optional    

Example: architecto

google_plus_code   string  optional    

Example: architecto

latitude   number  optional    

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

longitude   number  optional    

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

Return paginated listings owned by the authenticated user.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/my_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/my_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/my_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PATCH api/listing/{listing_slug}/update

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/listing/gina-s/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"bio\": \"n\",
    \"primary_country_code\": \"gzmiyvdljnikhway\",
    \"primary_phone\": \"architecto\",
    \"secondary_country_code\": \"ngzmiyvdljnikhwa\",
    \"secondary_phone\": \"architecto\",
    \"email\": \"zbailey@example.net\",
    \"website\": \"architecto\",
    \"business_reg_num\": \"architecto\",
    \"business_hours_mode\": \"always_open\",
    \"community_location_scope\": \"hybrid\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/update"
);

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

let body = {
    "name": "b",
    "bio": "n",
    "primary_country_code": "gzmiyvdljnikhway",
    "primary_phone": "architecto",
    "secondary_country_code": "ngzmiyvdljnikhwa",
    "secondary_phone": "architecto",
    "email": "zbailey@example.net",
    "website": "architecto",
    "business_reg_num": "architecto",
    "business_hours_mode": "always_open",
    "community_location_scope": "hybrid"
};

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

Request      

PATCH api/listing/{listing_slug}/update

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

bio   string  optional    

Must not be greater than 65535 characters. Example: n

primary_country_code   string  optional    

This field is required when primary_phone is present. Must be at least 1 character. Example: gzmiyvdljnikhway

primary_phone   string  optional    

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

secondary_country_code   string  optional    

Must be at least 1 character. Example: ngzmiyvdljnikhwa

secondary_phone   string  optional    

Example: architecto

email   string  optional    

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

category_ids   string[]  optional    

The id of an existing record in the categories table.

website   string  optional    

Example: architecto

business_reg_num   string  optional    

Example: architecto

business_hours_mode   string  optional    

Example: always_open

Must be one of:
  • scheduled
  • always_open
  • appointment_only
  • contact_for_hours
community_location_scope   string  optional    

Example: hybrid

Must be one of:
  • physical
  • online
  • hybrid
  • global

DELETE api/listing/{listing_slug}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/listing/gina-s" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reason\": \"b\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s"
);

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

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

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

Request      

DELETE api/listing/{listing_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

reason   string  optional    

Must not be greater than 1000 characters. Example: b

POST api/listing/{listing_slug}/media

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/media" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "sort_orders[]=1"\
    --form "sort_order[]=1"\
    --form "media[]=@/tmp/phpdc5tatc9leon1Bqronw" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/media"
);

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

const body = new FormData();
body.append('sort_orders[]', '1');
body.append('sort_order[]', '1');
body.append('media[]', document.querySelector('input[name="media[]"]').files[0]);

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

Request      

POST api/listing/{listing_slug}/media

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

media   file[]     

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

sort_orders   integer[]  optional    

Must be at least 0. Must not be greater than 3.

sort_order   integer[]  optional    

Must be at least 0. Must not be greater than 3.

POST api/listing/{listing_slug}/media_update

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/media_update" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "media_id=16"\
    --form "sort_order=1"\
    --form "media=@/tmp/phpc2odo6mkmf5tbenFZjK" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/media_update"
);

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

const body = new FormData();
body.append('media_id', '16');
body.append('sort_order', '1');
body.append('media', document.querySelector('input[name="media"]').files[0]);

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

Request      

POST api/listing/{listing_slug}/media_update

PATCH api/listing/{listing_slug}/media_update

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

media_id   integer     

Example: 16

media   file     

Must be a file. Must not be greater than 5120 kilobytes. Example: /tmp/phpc2odo6mkmf5tbenFZjK

sort_order   integer  optional    

Must be at least 0. Must not be greater than 3. Example: 1

POST api/listing/{listing}/media_revisions

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/media_revisions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/media_revisions"
);

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


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

Request      

POST api/listing/{listing}/media_revisions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/media_revisions/{revision}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/media_revisions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/media_revisions/{revision}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

POST api/media_revisions/{revision}/items

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items"
);

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


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

Request      

POST api/media_revisions/{revision}/items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

POST api/media_revisions/{revision}/items/{item}/upload

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items/architecto/upload" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items/architecto/upload"
);

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


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

Request      

POST api/media_revisions/{revision}/items/{item}/upload

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

item   string     

The item. Example: architecto

POST api/media_revisions/{revision}/items/{item}/confirm

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items/architecto/confirm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/items/architecto/confirm"
);

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


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

Request      

POST api/media_revisions/{revision}/items/{item}/confirm

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

item   string     

The item. Example: architecto

PATCH api/media_revisions/{revision}/desired_state

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/desired_state" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/desired_state"
);

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


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

Request      

PATCH api/media_revisions/{revision}/desired_state

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

POST api/media_revisions/{revision}/commit

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/commit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/commit"
);

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


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

Request      

POST api/media_revisions/{revision}/commit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

POST api/media_revisions/{revision}/cancel

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/cancel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/media_revisions/architecto/cancel"
);

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


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

Request      

POST api/media_revisions/{revision}/cancel

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

Example: architecto

POST api/listing/{listing}/eventDetails

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/eventDetails" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"event_start_date\": \"2026-07-20T18:03:05\",
    \"event_end_date\": \"2052-08-12\",
    \"event_start_time\": \"18:03\",
    \"event_end_time\": \"18:03\",
    \"event_venue\": \"n\",
    \"event_venue_address\": \"g\",
    \"event_city\": \"z\",
    \"event_country\": \"m\",
    \"event_type\": \"2_days\",
    \"event_location\": \"hybrid\",
    \"event_price\": 8,
    \"event_currency\": \"yvd\",
    \"event_ticket_url\": \"https:\\/\\/gaylord.com\\/modi-deserunt-aut-ab-provident-perspiciatis.html\",
    \"event_online_url\": \"http:\\/\\/www.cruickshank.com\\/adipisci-quidem-nostrum-qui-commodi-incidunt-iure\",
    \"summary\": \"r\",
    \"timezone\": \"Indian\\/Mahe\",
    \"is_all_day\": false,
    \"online_access_policy\": \"shared_later\",
    \"online_access_instructions\": \"i\",
    \"attendance_type\": \"free_no_registration\",
    \"registration_url\": \"http:\\/\\/fritsch.com\\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora\",
    \"pricing_mode\": \"range\",
    \"ticket_provider\": \"t\",
    \"ticket_release_at\": \"2026-07-20T18:03:05\",
    \"ticket_availability_message\": \"u\",
    \"latitude\": -89,
    \"longitude\": -180
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/eventDetails"
);

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

let body = {
    "event_start_date": "2026-07-20T18:03:05",
    "event_end_date": "2052-08-12",
    "event_start_time": "18:03",
    "event_end_time": "18:03",
    "event_venue": "n",
    "event_venue_address": "g",
    "event_city": "z",
    "event_country": "m",
    "event_type": "2_days",
    "event_location": "hybrid",
    "event_price": 8,
    "event_currency": "yvd",
    "event_ticket_url": "https:\/\/gaylord.com\/modi-deserunt-aut-ab-provident-perspiciatis.html",
    "event_online_url": "http:\/\/www.cruickshank.com\/adipisci-quidem-nostrum-qui-commodi-incidunt-iure",
    "summary": "r",
    "timezone": "Indian\/Mahe",
    "is_all_day": false,
    "online_access_policy": "shared_later",
    "online_access_instructions": "i",
    "attendance_type": "free_no_registration",
    "registration_url": "http:\/\/fritsch.com\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora",
    "pricing_mode": "range",
    "ticket_provider": "t",
    "ticket_release_at": "2026-07-20T18:03:05",
    "ticket_availability_message": "u",
    "latitude": -89,
    "longitude": -180
};

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

Request      

POST api/listing/{listing}/eventDetails

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Body Parameters

event_start_date   string     

Must be a valid date. Example: 2026-07-20T18:03:05

event_end_date   string     

Must be a valid date. Must be a date after or equal to event_start_date. Example: 2052-08-12

event_start_time   string     

Must be a valid date in the format H:i. Example: 18:03

event_end_time   string     

Must be a valid date in the format H:i. Example: 18:03

event_venue   string  optional    

Must not be greater than 255 characters. Example: n

event_venue_address   string  optional    

Must not be greater than 500 characters. Example: g

event_city   string  optional    

Must not be greater than 255 characters. Example: z

event_country   string  optional    

Must not be greater than 255 characters. Example: m

event_type   string  optional    

Example: 2_days

Must be one of:
  • 1_day
  • 2_days
  • multi_days
event_location   string  optional    

Example: hybrid

Must be one of:
  • in_person
  • online
  • hybrid
event_price   number  optional    

Must be at least 0. Example: 8

event_currency   string  optional    

Must be 3 characters. Example: yvd

event_ticket_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: https://gaylord.com/modi-deserunt-aut-ab-provident-perspiciatis.html

event_online_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure

summary   string  optional    

Must not be greater than 1000 characters. Example: r

timezone   string  optional    

Must be a valid time zone, such as Africa/Accra. Example: Indian/Mahe

is_all_day   boolean  optional    

Example: false

online_access_policy   string  optional    

Example: shared_later

Must be one of:
  • public_link
  • sent_after_registration
  • shared_later
online_access_instructions   string  optional    

Must not be greater than 2000 characters. Example: i

attendance_type   string  optional    

Example: free_no_registration

Must be one of:
  • free_no_registration
  • free_registration_required
  • paid
  • tickets_coming_soon
registration_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: http://fritsch.com/autem-et-consequatur-aut-dolores-enim-non-facere-tempora

pricing_mode   string  optional    

Example: range

Must be one of:
  • free
  • fixed
  • range
  • varies
ticket_provider   string  optional    

Must not be greater than 255 characters. Example: t

ticket_release_at   string  optional    

Must be a valid date. Example: 2026-07-20T18:03:05

ticket_availability_message   string  optional    

Must not be greater than 1000 characters. Example: u

latitude   number  optional    

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

longitude   number  optional    

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

Update the specified event details.

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/listing/gina-s/event/5F04D4Aq/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"event_start_date\": \"2026-07-20T18:03:05\",
    \"event_end_date\": \"2052-08-12\",
    \"event_start_time\": \"18:03\",
    \"event_end_time\": \"18:03\",
    \"event_venue\": \"n\",
    \"event_venue_address\": \"g\",
    \"event_city\": \"z\",
    \"event_country\": \"m\",
    \"event_type\": \"multi_days\",
    \"event_location\": \"in_person\",
    \"event_price\": 8,
    \"event_currency\": \"yvd\",
    \"event_ticket_url\": \"https:\\/\\/gaylord.com\\/modi-deserunt-aut-ab-provident-perspiciatis.html\",
    \"event_online_url\": \"http:\\/\\/www.cruickshank.com\\/adipisci-quidem-nostrum-qui-commodi-incidunt-iure\",
    \"summary\": \"r\",
    \"timezone\": \"Indian\\/Mahe\",
    \"is_all_day\": false,
    \"online_access_policy\": \"public_link\",
    \"online_access_instructions\": \"i\",
    \"attendance_type\": \"free_no_registration\",
    \"registration_url\": \"http:\\/\\/fritsch.com\\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora\",
    \"pricing_mode\": \"range\",
    \"ticket_provider\": \"t\",
    \"ticket_release_at\": \"2026-07-20T18:03:05\",
    \"ticket_availability_message\": \"u\",
    \"latitude\": -89,
    \"longitude\": -180
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/event/5F04D4Aq/update"
);

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

let body = {
    "event_start_date": "2026-07-20T18:03:05",
    "event_end_date": "2052-08-12",
    "event_start_time": "18:03",
    "event_end_time": "18:03",
    "event_venue": "n",
    "event_venue_address": "g",
    "event_city": "z",
    "event_country": "m",
    "event_type": "multi_days",
    "event_location": "in_person",
    "event_price": 8,
    "event_currency": "yvd",
    "event_ticket_url": "https:\/\/gaylord.com\/modi-deserunt-aut-ab-provident-perspiciatis.html",
    "event_online_url": "http:\/\/www.cruickshank.com\/adipisci-quidem-nostrum-qui-commodi-incidunt-iure",
    "summary": "r",
    "timezone": "Indian\/Mahe",
    "is_all_day": false,
    "online_access_policy": "public_link",
    "online_access_instructions": "i",
    "attendance_type": "free_no_registration",
    "registration_url": "http:\/\/fritsch.com\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora",
    "pricing_mode": "range",
    "ticket_provider": "t",
    "ticket_release_at": "2026-07-20T18:03:05",
    "ticket_availability_message": "u",
    "latitude": -89,
    "longitude": -180
};

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

Request      

PATCH api/listing/{listing_slug}/event/{event_slug}/update

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

event_slug   string     

The slug of the event. Example: 5F04D4Aq

Body Parameters

event_start_date   string  optional    

Must be a valid date. Example: 2026-07-20T18:03:05

event_end_date   string  optional    

Must be a valid date. Must be a date after or equal to event_start_date. Example: 2052-08-12

event_start_time   string  optional    

Must be a valid date in the format H:i. Example: 18:03

event_end_time   string  optional    

Must be a valid date in the format H:i. Example: 18:03

event_venue   string  optional    

Must not be greater than 255 characters. Example: n

event_venue_address   string  optional    

Must not be greater than 500 characters. Example: g

event_city   string  optional    

Must not be greater than 255 characters. Example: z

event_country   string  optional    

Must not be greater than 255 characters. Example: m

event_type   string  optional    

Example: multi_days

Must be one of:
  • 1_day
  • 2_days
  • multi_days
event_location   string  optional    

Example: in_person

Must be one of:
  • in_person
  • online
  • hybrid
event_price   number  optional    

Must be at least 0. Example: 8

event_currency   string  optional    

Must be 3 characters. Example: yvd

event_ticket_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: https://gaylord.com/modi-deserunt-aut-ab-provident-perspiciatis.html

event_online_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: http://www.cruickshank.com/adipisci-quidem-nostrum-qui-commodi-incidunt-iure

summary   string  optional    

Must not be greater than 1000 characters. Example: r

timezone   string  optional    

Must be a valid time zone, such as Africa/Accra. Example: Indian/Mahe

is_all_day   boolean  optional    

Example: false

online_access_policy   string  optional    

Example: public_link

Must be one of:
  • public_link
  • sent_after_registration
  • shared_later
online_access_instructions   string  optional    

Must not be greater than 2000 characters. Example: i

attendance_type   string  optional    

Example: free_no_registration

Must be one of:
  • free_no_registration
  • free_registration_required
  • paid
  • tickets_coming_soon
registration_url   string  optional    

Must be a valid URL. Must not be greater than 2048 characters. Example: http://fritsch.com/autem-et-consequatur-aut-dolores-enim-non-facere-tempora

pricing_mode   string  optional    

Example: range

Must be one of:
  • free
  • fixed
  • range
  • varies
ticket_provider   string  optional    

Must not be greater than 255 characters. Example: t

ticket_release_at   string  optional    

Must be a valid date. Example: 2026-07-20T18:03:05

ticket_availability_message   string  optional    

Must not be greater than 1000 characters. Example: u

latitude   number  optional    

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

longitude   number  optional    

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

Remove the specified event details.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/event/5F04D4Aq" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/event/5F04D4Aq"
);

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


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

Request      

DELETE api/event/{event_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

event_slug   string     

The slug of the event. Example: 5F04D4Aq

GET api/businesses

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/businesses" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/businesses"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/businesses

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/communities

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/communities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/communities"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/communities

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/events

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/events" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/events"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/events

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/discover_events

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/discover_events" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/discover_events"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/discover_events

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/all_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/all_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/all_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/all_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/approved_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/approved_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/approved_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/approved_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/drafted_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/drafted_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/drafted_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/drafted_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/rejected_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/rejected_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/rejected_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/rejected_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/pending_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/pending_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/pending_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/pending_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/suspended_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/suspended_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/suspended_listings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/suspended_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/search"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

GET api/listings_by_geolocation

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listings_by_geolocation" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listings_by_geolocation"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listings_by_geolocation

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/category_landing

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/category_landing" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/category_landing"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/category_landing

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/top_listings_by_category_and_geolocation

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/top_listings_by_category_and_geolocation" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/top_listings_by_category_and_geolocation"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/top_listings_by_category_and_geolocation

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/all_listings_by_category_and_geolocation

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/all_listings_by_category_and_geolocation" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/all_listings_by_category_and_geolocation"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/all_listings_by_category_and_geolocation

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/top_listings_by_country_and_category

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/top_listings_by_country_and_category" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/top_listings_by_country_and_category"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/top_listings_by_country_and_category

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/all_listings_by_country_and_category

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/all_listings_by_country_and_category" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/all_listings_by_country_and_category"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/all_listings_by_country_and_category

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/search"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

GET api/listing/{listing}/claim_eligibility

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/gina-s/claim_eligibility" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claim_eligibility"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing}/claim_eligibility

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/my_claims

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/my_claims" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/my_claims"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/my_claims

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/claims/{claimCase}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/claims/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/claims/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/claims/{claimCase}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

POST api/listing/{listing}/claims/email

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email"
);

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


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

Request      

POST api/listing/{listing}/claims/email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/claims/email/resend

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email/resend" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email/resend"
);

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


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

Request      

POST api/listing/{listing}/claims/email/resend

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/claims/email/verify

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/email/verify"
);

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


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

Request      

POST api/listing/{listing}/claims/email/verify

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/claims/document

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/document" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claims/document"
);

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


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

Request      

POST api/listing/{listing}/claims/document

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/claims/{claimCase}/evidence

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/claims/architecto/evidence" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/claims/architecto/evidence"
);

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


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

Request      

POST api/claims/{claimCase}/evidence

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

POST api/claims/{claimCase}/withdraw

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/claims/architecto/withdraw" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/claims/architecto/withdraw"
);

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


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

Request      

POST api/claims/{claimCase}/withdraw

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

POST api/listing/{listing}/claim_by_email

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claim_by_email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claim_by_email"
);

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


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

Request      

POST api/listing/{listing}/claim_by_email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/verify_claim_by_email

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_claim_by_email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_claim_by_email"
);

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


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

Request      

POST api/listing/{listing}/verify_claim_by_email

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/claim

deprecated:Use SubmitDocumentClaim via /listing/{listing}/claims/document.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/claim" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/claim"
);

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


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

Request      

POST api/listing/{listing}/claim

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Compatibility alias for the V1 submission URL.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/new_listing_mail" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"admin_past_event_override\": false
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/new_listing_mail"
);

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

let body = {
    "admin_past_event_override": false
};

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

Request      

POST api/listing/{listing_slug}/new_listing_mail

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

admin_past_event_override   boolean  optional    

Example: false

GET api/admin/claims

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/claims" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/claims

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/claims/{claimCase}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/claims/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/claims/{claimCase}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

PATCH api/admin/claims/{claimCase}/approve

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/approve" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/approve"
);

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


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

Request      

PATCH api/admin/claims/{claimCase}/approve

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

PATCH api/admin/claims/{claimCase}/reject

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/reject" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/reject"
);

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


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

Request      

PATCH api/admin/claims/{claimCase}/reject

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

PATCH api/admin/claims/{claimCase}/request_evidence

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/request_evidence" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/request_evidence"
);

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


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

Request      

PATCH api/admin/claims/{claimCase}/request_evidence

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

GET api/admin/claims/{claimCase}/evidence/{evidence}/signed_url

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/claims/architecto/evidence/architecto/signed_url" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/claims/architecto/evidence/architecto/signed_url"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/claims/{claimCase}/evidence/{evidence}/signed_url

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

claimCase   string     

Example: architecto

evidence   string     

The evidence. Example: architecto

GET api/claims

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/claims" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/claims"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/claims

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/listing/{listing}/verify_listing

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_listing" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_listing"
);

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


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

Request      

POST api/listing/{listing}/verify_listing

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/resend_otp

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/resend_otp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/resend_otp"
);

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


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

Request      

POST api/listing/{listing}/resend_otp

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

PUT api/listing/{listing}/verify_listing

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_listing" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/verify_listing"
);

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


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

Request      

PUT api/listing/{listing}/verify_listing

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/listing/{listing}/socials

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/gina-s/socials" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/socials"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing}/socials

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/socials

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/socials" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"facebook\": \"b\",
    \"twitter\": \"n\",
    \"whatsapp\": \"g\",
    \"instagram\": \"z\",
    \"tiktok\": \"m\",
    \"youtube\": \"i\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/socials"
);

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

let body = {
    "facebook": "b",
    "twitter": "n",
    "whatsapp": "g",
    "instagram": "z",
    "tiktok": "m",
    "youtube": "i"
};

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

Request      

POST api/listing/{listing}/socials

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Body Parameters

facebook   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: b

twitter   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: n

whatsapp   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: g

instagram   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: z

tiktok   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: m

youtube   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: i

PUT api/listing/{listing_slug}/socials/{social_slug}

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/listing/gina-s/socials/aM7kz5gK" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"facebook\": \"b\",
    \"twitter\": \"n\",
    \"instagram\": \"g\",
    \"whatsapp\": \"z\",
    \"tiktok\": \"m\",
    \"youtube\": \"i\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/socials/aM7kz5gK"
);

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

let body = {
    "facebook": "b",
    "twitter": "n",
    "instagram": "g",
    "whatsapp": "z",
    "tiktok": "m",
    "youtube": "i"
};

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

Request      

PUT api/listing/{listing_slug}/socials/{social_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

social_slug   string     

The slug of the social. Example: aM7kz5gK

Body Parameters

facebook   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: b

twitter   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: n

instagram   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: g

whatsapp   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: z

tiktok   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: m

youtube   string  optional    

Must be a valid URL. Must not be greater than 255 characters. Example: i

DELETE api/listing/socials/{social_slug}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/listing/socials/aM7kz5gK" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/socials/aM7kz5gK"
);

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


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

Request      

DELETE api/listing/socials/{social_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

social_slug   string     

The slug of the social. Example: aM7kz5gK

List services belonging to a specific listing.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listings/gina-s/services" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listings/gina-s/services"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listings/{listing}/services

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Generate a presigned S3 URL for direct client-side upload.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listings/gina-s/services/presign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filename\": \"architecto\",
    \"mime_type\": \"image\\/png\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listings/gina-s/services/presign"
);

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

let body = {
    "filename": "architecto",
    "mime_type": "image\/png"
};

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

Request      

POST api/listings/{listing}/services/presign

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Body Parameters

filename   string     

Example: architecto

mime_type   string     

Example: image/png

Must be one of:
  • image/jpeg
  • image/png
  • image/gif
  • image/webp
size   string  optional    

Create a service, attaching an already-uploaded S3 image by key.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listings/gina-s/services" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"image_key\": \"architecto\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listings/gina-s/services"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "image_key": "architecto"
};

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

Request      

POST api/listings/{listing}/services

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

image_key   string  optional    

Example: architecto

Update a service, optionally swapping its image via an already-uploaded S3 key.

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/services/personal-shopper" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Eius et animi quos velit et.\",
    \"image_key\": \"architecto\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/services/personal-shopper"
);

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

let body = {
    "name": "b",
    "description": "Eius et animi quos velit et.",
    "image_key": "architecto"
};

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

Request      

PUT api/services/{service_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_slug   string     

The slug of the service. Example: personal-shopper

Body Parameters

name   string  optional    

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

image_key   string  optional    

Example: architecto

DELETE api/services/{service_slug}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/services/personal-shopper" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/services/personal-shopper"
);

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


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

Request      

DELETE api/services/{service_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

service_slug   string     

The slug of the service. Example: personal-shopper

Visible ratings for a single listing — public listing page.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/gina-s/ratings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/ratings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing_slug}/ratings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

All ratings for admin moderation dashboard — visible and hidden.

Route is guarded by admin middleware so only admins reach this.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/ratings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/ratings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/ratings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

The authenticated user's own ratings.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/my_ratings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/my_ratings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/my_ratings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

A single rating by slug — admin detail page.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/rating/jIApEeRZ" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/rating/{rating_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

rating_slug   string     

The slug of the rating. Example: jIApEeRZ

Submit a new rating.

Rules: authenticated, not own listing, max 3 active per listing, max 3 per day globally.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/rating" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 1,
    \"comment\": \"n\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/rating"
);

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

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

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

Request      

POST api/listing/{listing_slug}/rating

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Body Parameters

rating   integer     

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

comment   string     

Must be at least 20 characters. Must not be greater than 500 characters. Example: n

Delete a rating — owner or admin only.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ"
);

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


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

Request      

DELETE api/rating/{rating_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

rating_slug   string     

The slug of the rating. Example: jIApEeRZ

Vendor posts a single reply to a review on their listing.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/reply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vendor_reply\": \"b\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/reply"
);

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

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

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

Request      

POST api/rating/{rating_slug}/reply

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

rating_slug   string     

The slug of the rating. Example: jIApEeRZ

Body Parameters

vendor_reply   string     

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

All ratings across every listing owned by the authenticated vendor.

Includes soft-deleted reviews for historical/performance record.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/vendor/reviews" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/vendor/reviews"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/vendor/reviews

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Admin hides a review and its reply from the public.

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/hide" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"moderation_reason\": \"b\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/hide"
);

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

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

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

Request      

PATCH api/rating/{rating_slug}/hide

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

rating_slug   string     

The slug of the rating. Example: jIApEeRZ

Body Parameters

moderation_reason   string  optional    

Must not be greater than 500 characters. Example: b

Admin restores a previously hidden review.

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/unhide" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/rating/jIApEeRZ/unhide"
);

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


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

Request      

PATCH api/rating/{rating_slug}/unhide

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

rating_slug   string     

The slug of the rating. Example: jIApEeRZ

GET api/vendor_ratings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/vendor_ratings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/vendor_ratings"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/vendor_ratings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Toggle bookmark for a listing.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listings/gina-s/bookmark/toggle" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listings/gina-s/bookmark/toggle"
);

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


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

Request      

POST api/listings/{listing_slug}/bookmark/toggle

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Get user's bookmarked listings.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/my_bookmarks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/my_bookmarks"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/my_bookmarks

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Remove a bookmark.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/bookmark/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/bookmark/architecto"
);

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


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

Request      

DELETE api/bookmark/{bookmark}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

bookmark   string     

The bookmark. Example: architecto

Get view statistics for a listing (shows both authenticated and guest views)

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/listing/gina-s/views" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/views"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/listing/{listing_slug}/views

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

Public index — returns published, non-expired collections, optionally filtered by country.

Caches per-country for 30 minutes.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/curated_collections" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/curated_collections

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/curated_collections/listing-search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/listing-search"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

POST api/curated_collections

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/curated_collections" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"subtitle\": \"architecto\",
    \"country\": \"n\",
    \"sort_order\": 84,
    \"is_published\": false,
    \"expires_at\": \"2052-08-13\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections"
);

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

let body = {
    "title": "b",
    "subtitle": "architecto",
    "country": "n",
    "sort_order": 84,
    "is_published": false,
    "expires_at": "2052-08-13"
};

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

Request      

POST api/curated_collections

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: b

subtitle   string  optional    

Example: architecto

country   string  optional    

Must not be greater than 100 characters. Example: n

sort_order   integer     

Must be at least 0. Example: 84

is_published   boolean  optional    

Example: false

expires_at   string  optional    

Must be a valid date. Must be a date after now. Example: 2052-08-13

GET api/curated_collections/{collection_id}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/curated_collections/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/curated_collections/{collection_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

PUT api/curated_collections/{collection_id}

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/curated_collections/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"b\",
    \"subtitle\": \"architecto\",
    \"country\": \"n\",
    \"sort_order\": 84,
    \"is_published\": false,
    \"expires_at\": \"2026-07-20T18:03:05\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16"
);

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

let body = {
    "title": "b",
    "subtitle": "architecto",
    "country": "n",
    "sort_order": 84,
    "is_published": false,
    "expires_at": "2026-07-20T18:03:05"
};

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

Request      

PUT api/curated_collections/{collection_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: b

subtitle   string  optional    

Example: architecto

country   string  optional    

Must not be greater than 100 characters. Example: n

sort_order   integer  optional    

Must be at least 0. Example: 84

is_published   boolean  optional    

Example: false

expires_at   string  optional    

Must be a valid date. Example: 2026-07-20T18:03:05

DELETE api/curated_collections/{collection_id}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/curated_collections/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16"
);

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


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

Request      

DELETE api/curated_collections/{collection_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

POST api/curated_collections/{collection_id}/items

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/curated_collections/16/items" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"listing_id\": 16
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16/items"
);

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

let body = {
    "listing_id": 16
};

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

Request      

POST api/curated_collections/{collection_id}/items

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

Body Parameters

listing_id   integer     

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

DELETE api/curated_collections/{collection_id}/items/{item_id}

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/curated_collections/16/items/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16/items/16"
);

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


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

Request      

DELETE api/curated_collections/{collection_id}/items/{item_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

item_id   integer     

The ID of the item. Example: 16

PATCH api/curated_collections/{collection_id}/items/reorder

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/curated_collections/16/items/reorder" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"items\": [
        {
            \"id\": 16,
            \"sort_order\": 39
        }
    ]
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/curated_collections/16/items/reorder"
);

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

let body = {
    "items": [
        {
            "id": 16,
            "sort_order": 39
        }
    ]
};

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

Request      

PATCH api/curated_collections/{collection_id}/items/reorder

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

collection_id   integer     

The ID of the collection. Example: 16

Body Parameters

items   object[]     

Must have at least 1 items.

id   integer     

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

sort_order   integer     

Must be at least 0. Example: 39

Admin index — returns all collections regardless of published state.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/curated_collections" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/curated_collections"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/curated_collections

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display a listing of blogs.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blogs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blogs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blogs/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/search"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Get blog statistics.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blogs/stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/stats"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blogs/stats

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display the specified blog.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blogs/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blogs/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the blog. Example: architecto

Display all categories.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blog-categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-categories"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blog-categories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Display category with its blogs.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blog-categories/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-categories/architecto"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blog-categories/{slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

slug   string     

The slug of the blog category. Example: architecto

Get comments for a blog.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/blogs/16/comments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/16/comments"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/blogs/{blog_id}/comments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blog_id   integer     

The ID of the blog. Example: 16

Store a new comment.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blogs/16/comments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"comment\": \"b\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/16/comments"
);

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

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

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

Request      

POST api/blogs/{blog_id}/comments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blog_id   integer     

The ID of the blog. Example: 16

Body Parameters

comment   string     

Must not be greater than 2000 characters. Example: b

parent_id   string  optional    

The id of an existing record in the blog_comments table.

Store a newly created blog.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blogs" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "content=architecto"\
    --form "excerpt=n"\
    --form "tags[]=g"\
    --form "status=draft"\
    --form "is_featured="\
    --form "allow_comments="\
    --form "featured_image=@/tmp/php7n2s60a37nmgeuB5pFL" \
    --form "images[]=@/tmp/phpdus0gjvp2j5seoAE8K4" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('content', 'architecto');
body.append('excerpt', 'n');
body.append('tags[]', 'g');
body.append('status', 'draft');
body.append('is_featured', '');
body.append('allow_comments', '');
body.append('featured_image', document.querySelector('input[name="featured_image"]').files[0]);
body.append('images[]', document.querySelector('input[name="images[]"]').files[0]);

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

Request      

POST api/blogs

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

title   string     

Must not be greater than 255 characters. Example: b

content   string     

Example: architecto

excerpt   string  optional    

Must not be greater than 500 characters. Example: n

featured_image   file  optional    

Must be an image. Must not be greater than 5120 kilobytes. Example: /tmp/php7n2s60a37nmgeuB5pFL

category_id   string  optional    

The id of an existing record in the blog_categories table.

tags   string[]  optional    

Must not be greater than 50 characters.

status   string     

Example: draft

Must be one of:
  • draft
  • published
meta_data   object  optional    
is_featured   boolean  optional    

Example: false

allow_comments   boolean  optional    

Example: false

images   file[]  optional    

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

Update the specified blog.

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/blogs/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=b"\
    --form "content=architecto"\
    --form "excerpt=n"\
    --form "tags[]=g"\
    --form "status=published"\
    --form "is_featured=1"\
    --form "allow_comments=1"\
    --form "featured_image=@/tmp/phpl9i38i4cnf2sd15eNEi" \
    --form "images[]=@/tmp/phpto3gq3qpi43debO9A6o" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/16"
);

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

const body = new FormData();
body.append('title', 'b');
body.append('content', 'architecto');
body.append('excerpt', 'n');
body.append('tags[]', 'g');
body.append('status', 'published');
body.append('is_featured', '1');
body.append('allow_comments', '1');
body.append('featured_image', document.querySelector('input[name="featured_image"]').files[0]);
body.append('images[]', document.querySelector('input[name="images[]"]').files[0]);

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

Request      

PUT api/blogs/{blog_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

blog_id   integer     

The ID of the blog. Example: 16

Body Parameters

title   string  optional    

Must not be greater than 255 characters. Example: b

content   string  optional    

Example: architecto

excerpt   string  optional    

Must not be greater than 500 characters. Example: n

featured_image   file  optional    

Must be an image. Must not be greater than 5120 kilobytes. Example: /tmp/phpl9i38i4cnf2sd15eNEi

category_id   string  optional    

The id of an existing record in the blog_categories table.

tags   string[]  optional    

Must not be greater than 50 characters.

status   string  optional    

Example: published

Must be one of:
  • draft
  • published
  • archived
meta_data   object  optional    
is_featured   boolean  optional    

Example: true

allow_comments   boolean  optional    

Example: true

images   file[]  optional    

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

Remove the specified blog.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/blogs/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/16"
);

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


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

Request      

DELETE api/blogs/{blog_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blog_id   integer     

The ID of the blog. Example: 16

Like/unlike a blog.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blogs/16/like" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blogs/16/like"
);

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


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

Request      

POST api/blogs/{blog_id}/like

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

blog_id   integer     

The ID of the blog. Example: 16

Store a new category.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blog-categories" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=b"\
    --form "description=Eius et animi quos velit et."\
    --form "is_active=1"\
    --form "sort_order=16"\
    --form "featured_image=@/tmp/phpnok6hskd4vihceE1ooJ" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-categories"
);

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

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

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

Request      

POST api/blog-categories

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

name   string     

Must not be greater than 255 characters. Example: b

description   string  optional    

Example: Eius et animi quos velit et.

featured_image   file  optional    

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpnok6hskd4vihceE1ooJ

is_active   boolean  optional    

Example: true

sort_order   integer  optional    

Example: 16

meta_data   object  optional    

Update category.

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/blog-categories/16" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Eius et animi quos velit et."\
    --form "is_active=1"\
    --form "sort_order=16"\
    --form "featured_image=@/tmp/phpkvl58fr1s7g12Tdh4HW" 
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-categories/16"
);

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

const body = new FormData();
body.append('description', 'Eius et animi quos velit et.');
body.append('is_active', '1');
body.append('sort_order', '16');
body.append('featured_image', document.querySelector('input[name="featured_image"]').files[0]);

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

Request      

PUT api/blog-categories/{category_id}

Headers

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

URL Parameters

category_id   integer     

The ID of the category. Example: 16

Body Parameters

name   string  optional    
description   string  optional    

Example: Eius et animi quos velit et.

featured_image   file  optional    

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpkvl58fr1s7g12Tdh4HW

is_active   boolean  optional    

Example: true

sort_order   integer  optional    

Example: 16

meta_data   object  optional    

Delete category.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/blog-categories/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-categories/16"
);

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


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

Request      

DELETE api/blog-categories/{category_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_id   integer     

The ID of the category. Example: 16

Update a comment.

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/blog-comments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"comment\": \"b\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-comments/16"
);

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

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

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

Request      

PUT api/blog-comments/{comment_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

comment_id   integer     

The ID of the comment. Example: 16

Body Parameters

comment   string     

Must not be greater than 2000 characters. Example: b

Delete a comment.

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/blog-comments/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-comments/16"
);

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


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

Request      

DELETE api/blog-comments/{comment_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

comment_id   integer     

The ID of the comment. Example: 16

Like a comment.

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blog-comments/16/like" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-comments/16/like"
);

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


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

Request      

POST api/blog-comments/{comment_id}/like

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

comment_id   integer     

The ID of the comment. Example: 16

Moderate comment (admin only).

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/blog-comments/16/moderate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"approved\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/blog-comments/16/moderate"
);

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

let body = {
    "status": "approved"
};

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

Request      

POST api/blog-comments/{comment_id}/moderate

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

comment_id   integer     

The ID of the comment. Example: 16

Body Parameters

status   string     

Example: approved

Must be one of:
  • approved
  • spam

Public Page: List only visible FAQs

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/faqs"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/faqs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Admin Dashboard: List all FAQs (visible and hidden)

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/faqs"
);

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


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

Example response (503):

Show headers
refresh: 5
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Service Unavailable"
}
 

Request      

GET api/admin/faqs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Create a new FAQ

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/admin/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"b\",
    \"answer\": \"architecto\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/faqs"
);

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

let body = {
    "question": "b",
    "answer": "architecto"
};

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

Request      

POST api/admin/faqs

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

question   string     

Must not be greater than 255 characters. Example: b

answer   string     

Example: architecto

Update an existing FAQ

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"question\": \"b\",
    \"answer\": \"architecto\"
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory"
);

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

let body = {
    "question": "b",
    "answer": "architecto"
};

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

Request      

PUT api/admin/faqs/{faq_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

faq_slug   string     

The slug of the faq. Example: what-is-mefie-directory

Body Parameters

question   string  optional    

Must not be greater than 255 characters. Example: b

answer   string  optional    

Example: architecto

Toggle Visibility (Hide / Show)

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory/toggle-status" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory/toggle-status"
);

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


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

Request      

PATCH api/admin/faqs/{faq_slug}/toggle-status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

faq_slug   string     

The slug of the faq. Example: what-is-mefie-directory

Permanently Delete an FAQ

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-mefie-directory"
);

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


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

Request      

DELETE api/admin/faqs/{faq_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

faq_slug   string     

The slug of the faq. Example: what-is-mefie-directory