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/php3bh4dhvgck8a3ch83wU" 
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/php3bh4dhvgck8a3ch83wU

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/auth/google/redirect

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

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/auth/google/redirect

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/auth/google/callback

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

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/auth/google/callback

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

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

POST api/users/{user}/remove_listing_agent

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

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


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

Request      

POST api/users/{user}/remove_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\": \"1_day\",
    \"custom_date\": \"2052-10-08\"
}"
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": "1_day",
    "custom_date": "2052-10-08"
};

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: 1_day

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-10-08

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\": \"Tuesday\",
    \"open_time\": \"19:39\",
    \"close_time\": \"19:39\"
}"
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": "Tuesday",
    "open_time": "19:39",
    "close_time": "19:39"
};

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: Tuesday

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: 19:39

close_time   string  optional    

Must be a valid date in the format H:i. Example: 19:39

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

Public taxonomy — active main/sub categories only (legacy tags excluded per PRD §14), cached.

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

Admin taxonomy — active and archived main/sub categories, with live impact counts and permitted actions. Legacy tags are not shown as editable categories here (PRD §18.2). Never cached.

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/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/admin/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=subCategory"\
    --form "parent_slug=architecto"\
    --form "description=Eius et animi quos velit et."\
    --form "is_top_category="\
    --form "featured_image=@/tmp/php9v5a1l9vp0816ndLFGc" 
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', 'subCategory');
body.append('parent_slug', '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: "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

type   string     

Example: subCategory

Must be one of:
  • mainCategory
  • subCategory
parent_slug   string  optional    

The slug of an existing record in the categories table. Example: architecto

description   string  optional    

Example: Eius et animi quos velit et.

is_top_category   boolean  optional    

Example: false

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/php9v5a1l9vp0816ndLFGc

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 "description=Eius et animi quos velit et."\
    --form "is_top_category=1"\
    --form "featured_image=@/tmp/php2u9le60crdqn3bxbQPw" 
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('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: "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

description   string  optional    

Example: Eius et animi quos velit et.

is_top_category   boolean  optional    

Example: true

featured_image   file  optional    

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

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

PATCH api/categories/{category_slug}/archive

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

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


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

Request      

PATCH api/categories/{category_slug}/archive

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_slug   string     

The slug of the category. Example: active-life

POST api/categories/{category_slug}/merge

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

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

let body = {
    "replacement_category_id": 16
};

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

Request      

POST api/categories/{category_slug}/merge

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

category_slug   string     

The slug of the category. Example: active-life

Body Parameters

replacement_category_id   integer     

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

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/country_context

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

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/country_context

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

Lightweight public metadata for social sharing previews (Open Graph / Twitter cards) — deliberately separate from show() so building a social preview never inflates the listing's view count and crawlers don't need to fetch the full listing payload (media, categories, ratings, events, etc.) just to build four strings.

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

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}/social-preview

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\",
    \"registration_country\": \"ng\",
    \"registration_authority\": \"z\",
    \"type\": \"event\",
    \"business_hours_mode\": \"contact_for_hours\",
    \"community_location_scope\": \"physical\",
    \"duplicate_assessment_id\": 16,
    \"duplicate_explanation\": \"n\"
}"
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",
    "registration_country": "ng",
    "registration_authority": "z",
    "type": "event",
    "business_hours_mode": "contact_for_hours",
    "community_location_scope": "physical",
    "duplicate_assessment_id": 16,
    "duplicate_explanation": "n"
};

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

registration_country   string  optional    

This field is required when registration_authority is present. Must be 2 characters. Example: ng

registration_authority   string  optional    

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

type   string     

Example: event

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

Example: contact_for_hours

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

Example: physical

Must be one of:
  • physical
  • online
  • hybrid
  • global
duplicate_assessment_id   integer  optional    

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

duplicate_explanation   string  optional    

Must not be greater than 2000 characters. Example: n

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\",
    \"registration_country\": \"ng\",
    \"registration_authority\": \"z\",
    \"business_hours_mode\": \"contact_for_hours\",
    \"community_location_scope\": \"online\"
}"
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",
    "registration_country": "ng",
    "registration_authority": "z",
    "business_hours_mode": "contact_for_hours",
    "community_location_scope": "online"
};

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

registration_country   string  optional    

This field is required when registration_authority is present. Must be 2 characters. Example: ng

registration_authority   string  optional    

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

business_hours_mode   string  optional    

Example: contact_for_hours

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

Example: online

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}/discard_draft

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

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


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

Request      

POST api/listing/{listing}/discard_draft

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/revisions

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

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


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

Request      

POST api/listing/{listing}/revisions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/listing/{listing}/open_revision

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

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}/open_revision

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/opening_hours/immediate_change

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

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/immediate_change

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/revisions/{revision}

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/revisions/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/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/revisions/{revision}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

The revision. Example: architecto

PATCH api/revisions/{revision}

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

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


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

Request      

PATCH api/revisions/{revision}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

The revision. Example: architecto

POST api/revisions/{revision}/submit

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

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


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

Request      

POST api/revisions/{revision}/submit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

The revision. Example: architecto

POST api/revisions/{revision}/resubmit

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

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


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

Request      

POST api/revisions/{revision}/resubmit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

The revision. Example: architecto

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/php70pkug0c72276xEueEo" 
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/phpfib3g5n28p7u6HW3FDr" 
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/phpfib3g5n28p7u6HW3FDr

sort_order   integer  optional    

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

GET api/notifications

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

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/notifications

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

POST api/notifications/mark-all-read

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

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


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

Request      

POST api/notifications/mark-all-read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PATCH api/notifications/{notification}/read

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

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


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

Request      

PATCH api/notifications/{notification}/read

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

notification   string     

The notification. Example: architecto

POST api/listing/{listing}/submit

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

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


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

Request      

POST api/listing/{listing}/submit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

PATCH api/listing/{listing}/experience

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

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


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

Request      

PATCH api/listing/{listing}/experience

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

PATCH api/listing/{listing}/form_progress

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

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


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

Request      

PATCH api/listing/{listing}/form_progress

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

POST api/listing/{listing}/resubmit

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

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


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

Request      

POST api/listing/{listing}/resubmit

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

GET api/listing/{listing}/status_history

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

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}/status_history

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

PATCH api/listing/{listing}/update_status

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

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


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

Request      

PATCH api/listing/{listing}/update_status

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

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-09-14T19:39:29\",
    \"event_end_date\": \"2052-10-07\",
    \"event_start_time\": \"19:39\",
    \"event_end_time\": \"19:39\",
    \"event_venue\": \"n\",
    \"event_venue_address\": \"g\",
    \"event_city\": \"z\",
    \"event_country\": \"m\",
    \"event_type\": \"1_day\",
    \"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\": \"public_link\",
    \"online_access_instructions\": \"i\",
    \"attendance_type\": \"free_registration_required\",
    \"registration_url\": \"http:\\/\\/fritsch.com\\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora\",
    \"admission_availability\": \"closed\",
    \"pricing_mode\": \"multiple\",
    \"purchase_method\": \"contact_organizer\",
    \"purchase_instructions\": \"t\",
    \"ticket_provider\": \"u\",
    \"ticket_release_at\": \"2026-09-14T19:39:29\",
    \"ticket_availability_message\": \"j\",
    \"latitude\": -90,
    \"longitude\": -179
}"
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-09-14T19:39:29",
    "event_end_date": "2052-10-07",
    "event_start_time": "19:39",
    "event_end_time": "19:39",
    "event_venue": "n",
    "event_venue_address": "g",
    "event_city": "z",
    "event_country": "m",
    "event_type": "1_day",
    "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": "public_link",
    "online_access_instructions": "i",
    "attendance_type": "free_registration_required",
    "registration_url": "http:\/\/fritsch.com\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora",
    "admission_availability": "closed",
    "pricing_mode": "multiple",
    "purchase_method": "contact_organizer",
    "purchase_instructions": "t",
    "ticket_provider": "u",
    "ticket_release_at": "2026-09-14T19:39:29",
    "ticket_availability_message": "j",
    "latitude": -90,
    "longitude": -179
};

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-09-14T19:39:29

event_end_date   string     

Must be a valid date. Must be a date after or equal to event_start_date. Example: 2052-10-07

event_start_time   string     

Must be a valid date in the format H:i. Example: 19:39

event_end_time   string     

Must be a valid date in the format H:i. Example: 19:39

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: 1_day

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     

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_registration_required

Must be one of:
  • free_no_registration
  • free_registration_required
  • paid
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

admission_availability   string  optional    

Example: closed

Must be one of:
  • available
  • coming_soon
  • closed
  • sold_out
pricing_mode   string  optional    

Example: multiple

Must be one of:
  • fixed
  • multiple
  • varies
purchase_method   string  optional    

Example: contact_organizer

Must be one of:
  • external_url
  • pay_at_venue
  • contact_organizer
purchase_instructions   string  optional    

Must not be greater than 1000 characters. Example: t

ticket_provider   string  optional    

Must not be greater than 255 characters. Example: u

ticket_release_at   string  optional    

Must be a valid date. Example: 2026-09-14T19:39:29

ticket_availability_message   string  optional    

Must not be greater than 1000 characters. Example: j

latitude   number  optional    

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

longitude   number  optional    

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

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-09-14T19:39:29\",
    \"event_end_date\": \"2052-10-07\",
    \"event_start_time\": \"19:39\",
    \"event_end_time\": \"19:39\",
    \"event_venue\": \"n\",
    \"event_venue_address\": \"g\",
    \"event_city\": \"z\",
    \"event_country\": \"m\",
    \"event_type\": \"1_day\",
    \"event_location\": \"online\",
    \"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\": \"sent_after_registration\",
    \"online_access_instructions\": \"i\",
    \"attendance_type\": \"free_registration_required\",
    \"registration_url\": \"http:\\/\\/fritsch.com\\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora\",
    \"admission_availability\": \"coming_soon\",
    \"pricing_mode\": \"fixed\",
    \"purchase_method\": \"external_url\",
    \"purchase_instructions\": \"t\",
    \"ticket_provider\": \"u\",
    \"ticket_release_at\": \"2026-09-14T19:39:29\",
    \"ticket_availability_message\": \"j\",
    \"latitude\": -90,
    \"longitude\": -179
}"
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-09-14T19:39:29",
    "event_end_date": "2052-10-07",
    "event_start_time": "19:39",
    "event_end_time": "19:39",
    "event_venue": "n",
    "event_venue_address": "g",
    "event_city": "z",
    "event_country": "m",
    "event_type": "1_day",
    "event_location": "online",
    "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": "sent_after_registration",
    "online_access_instructions": "i",
    "attendance_type": "free_registration_required",
    "registration_url": "http:\/\/fritsch.com\/autem-et-consequatur-aut-dolores-enim-non-facere-tempora",
    "admission_availability": "coming_soon",
    "pricing_mode": "fixed",
    "purchase_method": "external_url",
    "purchase_instructions": "t",
    "ticket_provider": "u",
    "ticket_release_at": "2026-09-14T19:39:29",
    "ticket_availability_message": "j",
    "latitude": -90,
    "longitude": -179
};

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-09-14T19:39:29

event_end_date   string  optional    

Must be a valid date. Must be a date after or equal to event_start_date. Example: 2052-10-07

event_start_time   string  optional    

Must be a valid date in the format H:i. Example: 19:39

event_end_time   string  optional    

Must be a valid date in the format H:i. Example: 19:39

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: 1_day

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

Example: online

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: sent_after_registration

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_registration_required

Must be one of:
  • free_no_registration
  • free_registration_required
  • paid
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

admission_availability   string  optional    

Example: coming_soon

Must be one of:
  • available
  • coming_soon
  • closed
  • sold_out
pricing_mode   string  optional    

Example: fixed

Must be one of:
  • fixed
  • multiple
  • varies
purchase_method   string  optional    

Example: external_url

Must be one of:
  • external_url
  • pay_at_venue
  • contact_organizer
purchase_instructions   string  optional    

Must not be greater than 1000 characters. Example: t

ticket_provider   string  optional    

Must not be greater than 255 characters. Example: u

ticket_release_at   string  optional    

Must be a valid date. Example: 2026-09-14T19:39:29

ticket_availability_message   string  optional    

Must not be greater than 1000 characters. Example: j

latitude   number  optional    

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

longitude   number  optional    

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

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

List all ticket types (including inactive ones) for the owner's editor.

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

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}/event/{event_slug}/ticket-types

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

POST api/listing/{listing_slug}/event/{event_slug}/ticket-types

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/event/5F04D4Aq/ticket-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Et animi quos velit et fugiat.\",
    \"price\": 42
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/event/5F04D4Aq/ticket-types"
);

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

let body = {
    "name": "b",
    "description": "Et animi quos velit et fugiat.",
    "price": 42
};

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

Request      

POST api/listing/{listing_slug}/event/{event_slug}/ticket-types

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

name   string     

Must not be greater than 100 characters. Example: b

description   string  optional    

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

price   number     

Must be at least 0. Example: 42

PUT api/ticket-types/{ticketType_slug}

Example request:
curl --request PUT \
    "https://staging.me-fie.co.uk/api/ticket-types/architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"b\",
    \"description\": \"Et animi quos velit et fugiat.\",
    \"price\": 42,
    \"sort_order\": 37,
    \"is_active\": false
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/ticket-types/architecto"
);

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

let body = {
    "name": "b",
    "description": "Et animi quos velit et fugiat.",
    "price": 42,
    "sort_order": 37,
    "is_active": false
};

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

Request      

PUT api/ticket-types/{ticketType_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticketType_slug   string     

The slug of the ticketType. Example: architecto

Body Parameters

name   string  optional    

Must not be greater than 100 characters. Example: b

description   string  optional    

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

price   number  optional    

Must be at least 0. Example: 42

sort_order   integer  optional    

Must be at least 0. Example: 37

is_active   boolean  optional    

Example: false

Soft-deactivate — ticket types are never hard-deleted so a listing that has already been reviewed/approved doesn't silently lose ticket-type history when an organizer edits it.

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

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


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

Request      

DELETE api/ticket-types/{ticketType_slug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

ticketType_slug   string     

The slug of the ticketType. Example: architecto

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

GET api/admin/archived_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/archived_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/archived_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/archived_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/listings/{listingSlug}

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

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/listings/{listingSlug}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listingSlug   string     

Example: gina-s

PATCH api/admin/listings/{listingSlug}/restore

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

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


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

Request      

PATCH api/admin/listings/{listingSlug}/restore

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listingSlug   string     

Example: gina-s

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

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

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/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/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/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

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/admin/listings/{listing_slug}/stewardship/assign

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/admin/listings/gina-s/stewardship/assign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"agent_id\": 16
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/listings/gina-s/stewardship/assign"
);

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

let body = {
    "agent_id": 16
};

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

Request      

POST api/admin/listings/{listing_slug}/stewardship/assign

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

agent_id   integer     

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

POST api/admin/listings/{listing_slug}/stewardship/reassign

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/admin/listings/gina-s/stewardship/reassign" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"agent_id\": 16
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/listings/gina-s/stewardship/reassign"
);

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

let body = {
    "agent_id": 16
};

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

Request      

POST api/admin/listings/{listing_slug}/stewardship/reassign

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

agent_id   integer     

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

POST api/admin/listings/{listing_slug}/stewardship/end

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

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


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

Request      

POST api/admin/listings/{listing_slug}/stewardship/end

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

GET api/admin/stewardship/unassigned_queue

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/stewardship/unassigned_queue" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"b\",
    \"page\": 22,
    \"per_page\": 7
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/stewardship/unassigned_queue"
);

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

let body = {
    "q": "b",
    "page": 22,
    "per_page": 7
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).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/stewardship/unassigned_queue

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

q   string  optional    

Must not be greater than 100 characters. Example: b

page   integer  optional    

Must be at least 1. Example: 22

per_page   integer  optional    

Must be at least 1. Must not be greater than 50. Example: 7

GET api/admin/stewardship/eligible_agents

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

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/stewardship/eligible_agents

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/admin/revisions

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/revisions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"b\",
    \"page\": 22,
    \"per_page\": 7
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/revisions"
);

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

let body = {
    "q": "b",
    "page": 22,
    "per_page": 7
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).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/revisions

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

q   string  optional    

Must not be greater than 100 characters. Example: b

page   integer  optional    

Must be at least 1. Example: 22

per_page   integer  optional    

Must be at least 1. Must not be greater than 50. Example: 7

PATCH api/admin/revisions/{revision}/decision

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

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


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

Request      

PATCH api/admin/revisions/{revision}/decision

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

revision   string     

The revision. Example: architecto

GET api/admin/diagnostics/user_id_invariant

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

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/diagnostics/user_id_invariant

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

PATCH api/admin/duplicate_assessments/{assessment}/resolve

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

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


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

Request      

PATCH api/admin/duplicate_assessments/{assessment}/resolve

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

assessment   string     

Example: architecto

GET api/admin/duplicate_assessments

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/admin/duplicate_assessments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"b\",
    \"page\": 22,
    \"per_page\": 7
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/duplicate_assessments"
);

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

let body = {
    "q": "b",
    "page": 22,
    "per_page": 7
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).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/duplicate_assessments

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

q   string  optional    

Must not be greater than 100 characters. Example: b

page   integer  optional    

Must be at least 1. Example: 22

per_page   integer  optional    

Must be at least 1. Must not be greater than 50. Example: 7

POST api/agent/listings/duplicate_preflight

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

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


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

Request      

POST api/agent/listings/duplicate_preflight

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/agent/listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/agent/listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/agent/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/agent/listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/agent/metrics

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

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/agent/metrics

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/agent/owned_listings

Example request:
curl --request GET \
    --get "https://staging.me-fie.co.uk/api/agent/owned_listings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://staging.me-fie.co.uk/api/agent/owned_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/agent/owned_listings

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

GET api/listing/{listing}/management

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

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}/management

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing   string     

The listing. Example: gina-s

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

GET api/listing/{listing_slug}/sources

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

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}/sources

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/{listing_slug}/sources

Example request:
curl --request POST \
    "https://staging.me-fie.co.uk/api/listing/gina-s/sources" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"source_type\": \"news_source\",
    \"is_primary\": true,
    \"position\": 5
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/sources"
);

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

let body = {
    "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
    "source_type": "news_source",
    "is_primary": true,
    "position": 5
};

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

Request      

POST api/listing/{listing_slug}/sources

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

url   string     

Must not be greater than 4096 characters. Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

source_type   string     

Example: news_source

Must be one of:
  • official_website
  • official_social
  • government_registry
  • reputable_directory
  • ticket_platform
  • news_source
  • other
is_primary   boolean     

Example: true

position   integer  optional    

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

PATCH api/listing/{listing_slug}/sources/{source_id}

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/listing/gina-s/sources/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
    \"source_type\": \"news_source\",
    \"position\": 5
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/listing/gina-s/sources/1"
);

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

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

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

Request      

PATCH api/listing/{listing_slug}/sources/{source_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

source_id   integer     

The ID of the source. Example: 1

Body Parameters

url   string  optional    

Must not be greater than 4096 characters. Example: http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html

source_type   string  optional    

Example: news_source

Must be one of:
  • official_website
  • official_social
  • government_registry
  • reputable_directory
  • ticket_platform
  • news_source
  • other
position   integer  optional    

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

DELETE api/listing/{listing_slug}/sources/{source_id}

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

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


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

Request      

DELETE api/listing/{listing_slug}/sources/{source_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

source_id   integer     

The ID of the source. Example: 1

GET api/listing/{listing_slug}/internal_notes

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

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}/internal_notes

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/{listing_slug}/internal_notes

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

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

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

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

Request      

POST api/listing/{listing_slug}/internal_notes

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

body   string     

Must not be greater than 10000 characters. Example: b

PATCH api/listing/{listing_slug}/internal_notes/{note_id}

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

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

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

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

Request      

PATCH api/listing/{listing_slug}/internal_notes/{note_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

note_id   integer     

The ID of the note. Example: 1

Body Parameters

body   string     

Must not be greater than 10000 characters. Example: b

DELETE api/listing/{listing_slug}/internal_notes/{note_id}

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

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


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

Request      

DELETE api/listing/{listing_slug}/internal_notes/{note_id}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

listing_slug   string     

The slug of the listing. Example: gina-s

note_id   integer     

The ID of the note. Example: 1

Example request:
curl --request PATCH \
    "https://staging.me-fie.co.uk/api/admin/internal_notes/1/legal_hold" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"legal_hold\": false
}"
const url = new URL(
    "https://staging.me-fie.co.uk/api/admin/internal_notes/1/legal_hold"
);

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

let body = {
    "legal_hold": false
};

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

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\\/gif\"
}"
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\/gif"
};

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/gif

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-10-08\"
}"
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-10-08"
};

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-10-08

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-09-14T19:39:30\"
}"
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-09-14T19:39:30"
};

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-09-14T19:39:30

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=1"\
    --form "allow_comments="\
    --form "featured_image=@/tmp/phpgo4slm2uk75m1b0PK0o" \
    --form "images[]=@/tmp/php33uuna8qomovfgZEEH3" 
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', '1');
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/phpgo4slm2uk75m1b0PK0o

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: true

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="\
    --form "featured_image=@/tmp/php0c1mcdisdo89fLFD4Hb" \
    --form "images[]=@/tmp/php0s5k83vki0am1EEL73x" 
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', '');
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/php0c1mcdisdo89fLFD4Hb

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: false

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="\
    --form "sort_order=16"\
    --form "featured_image=@/tmp/phphj4g9129qs0te0E9iQk" 
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', '');
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/phphj4g9129qs0te0E9iQk

is_active   boolean  optional    

Example: false

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="\
    --form "sort_order=16"\
    --form "featured_image=@/tmp/php1dl3skhllu340BxL3qJ" 
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', '');
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/php1dl3skhllu340BxL3qJ

is_active   boolean  optional    

Example: false

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-the-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-the-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-the-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-the-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-the-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-the-mefie-directory

Permanently Delete an FAQ

Example request:
curl --request DELETE \
    "https://staging.me-fie.co.uk/api/admin/faqs/what-is-the-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-the-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-the-mefie-directory