MENU navbar-image

Introduction

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

Authenticating requests

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

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

Login as a user, get a token and use it to make your requests. The responses you see from the requests where made with the token of a user of role admin.

Analytics

Capture a page Interaction

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/analytics/pages/9762db71-f5a6-41c4-913e-90b8aebad733/interact?interaction_type=read_more_about" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/analytics/pages/9762db71-f5a6-41c4-913e-90b8aebad733/interact"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The page was not found!",
    "errors": null
}
 

Request      

GET api/v1/analytics/pages/{page_ref}/interact

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

page_ref   string   

The ref attribute of the page. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Query Parameters

interaction_type   string   

The type of interaction being captured on the frontend. Example: read_more_about

Capture an event Interaction

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/analytics/events/9762db71-f5a6-41c4-913e-90b8aebad733/interact?interaction_type=read_more_about" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/analytics/events/9762db71-f5a6-41c4-913e-90b8aebad733/interact"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The event was not found!",
    "errors": null
}
 

Request      

GET api/v1/analytics/events/{event_ref}/interact

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

event_ref   string   

The ref attribute of the event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Query Parameters

interaction_type   string   

The type of interaction being captured on the frontend. Example: read_more_about

Capture a page view

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/analytics/pages/9762db71-f5a6-41c4-913e-90b8aebad733/view" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/analytics/pages/9762db71-f5a6-41c4-913e-90b8aebad733/view"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The page was not found!",
    "errors": null
}
 

Request      

GET api/v1/analytics/pages/{page_ref}/view

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

page_ref   string   

The ref attribute of the page. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Capture an Event view

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/analytics/events/9762db71-f5a6-41c4-913e-90b8aebad733/view" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/analytics/events/9762db71-f5a6-41c4-913e-90b8aebad733/view"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The event was not found!",
    "errors": null
}
 

Request      

GET api/v1/analytics/events/{event_ref}/view

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

event_ref   string   

The ref attribute of the event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Audience

Get Audience

Get paginated list of audiences.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/audiences?deleted=with&term=audience+name&source=emails&author=administrator&per_page=20&order_by=name%3Adesc%2Ccreated_at%3Adesc" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"nyhttwje\",
    \"per_page\": 2,
    \"drafted\": \"only\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"sunt\"
    ],
    \"source\": \"emails\",
    \"role\": \"charity\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences"
);

const params = {
    "deleted": "with",
    "term": "audience name",
    "source": "emails",
    "author": "administrator",
    "per_page": "20",
    "order_by": "name:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "nyhttwje",
    "per_page": 2,
    "drafted": "only",
    "deleted": "with",
    "order_by": [
        "sunt"
    ],
    "source": "emails",
    "role": "charity"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/audiences

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Specifying a keyword similar to audience name, or description. Example: audience name

source   string  optional  

Specifying the source attribute of the audience entity. Example: emails

author   string  optional  

Specifying the author role. Example: administrator

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

Body Parameters

term   string  optional  

Must not be greater than 50 characters. Example: nyhttwje

per_page   number  optional  

Must be at least 1. Example: 2

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
source   string  optional  

Must be one of emails or mailing list. Example: emails

role   string  optional  

Must be one of administrator, account_manager, charity, developer, charity_user, partner, participant, event_manager, corporate, runthrough_data, or content_manager. Example: charity

Fetch Audience Options

requires authentication

Retrieve audience creation options data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/audiences/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/audiences/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Fetch Audience Options - portal

requires authentication

Retrieve audience creation options data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/audiences/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/audiences/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Delete Audiences

requires authentication

Delete multiple audiences data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/audiences/delete?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"audiences_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/delete"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "audiences_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/audiences/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

audiences_ids   string[]   

The list of ids associated with pages.

Restore Many Audiences

requires authentication

Restore multiple audiences data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/audiences/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"audiences_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "audiences_ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/audiences/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

audiences_ids   string[]   

The list of ids associated with audiences.

Delete Audiences' Mailing List Items

requires authentication

Delete audiences' mailing list data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/audiences/qui/mailing-list/delete?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"mailing_lists_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/qui/mailing-list/delete"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "mailing_lists_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/audiences/{audience_ref}/mailing-list/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

audience_ref   string   

Example: qui

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

mailing_lists_ids   string[]   

The list of ids associated with mailing_lists.

Restore Audiences' Mailing List Items

requires authentication

Restore audiences' mailing list data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/audiences/aut/mailing-list/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"mailing_lists_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/aut/mailing-list/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "mailing_lists_ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/audiences/{audience_ref}/mailing-list/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

audience_ref   string   

Example: aut

Body Parameters

mailing_lists_ids   string[]   

The list of ids associated with mailing_lists.

Audience Stats

requires authentication

Get Audience Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/audiences/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/audiences/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Audiences

Create a new Audience

requires authentication

New audiences can be created with optional.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/audiences/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"enim\",
    \"description\": \"Et aut ut optio ut.\",
    \"source\": \"mailing list\",
    \"data\": \"necessitatibus\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "enim",
    "description": "Et aut ut optio ut.",
    "source": "mailing list",
    "data": "necessitatibus"
};

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

Request      

POST api/v1/portal/audiences/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Example: enim

description   string  optional  

Example: Et aut ut optio ut.

source   string   

Must be one of emails or mailing list. Example: mailing list

data   string   

Example: necessitatibus

emails   object  optional  

Must have at least 1 items. Must not have more than 100 items.

mailing_list   string  optional  

Update an Audience

requires authentication

An existing audience can be updated.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/audiences/cumque/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"reiciendis\",
    \"description\": \"Veniam autem magnam asperiores inventore rerum accusamus itaque omnis.\",
    \"source\": \"emails\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/cumque/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "reiciendis",
    "description": "Veniam autem magnam asperiores inventore rerum accusamus itaque omnis.",
    "source": "emails"
};

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

Request      

PATCH api/v1/portal/audiences/{audience_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

audience_ref   string   

Example: cumque

Body Parameters

name   string  optional  

Example: reiciendis

description   string  optional  

Example: Veniam autem magnam asperiores inventore rerum accusamus itaque omnis.

source   string  optional  

Must be one of emails or mailing list. Example: emails

data   string  optional  
emails   object  optional  

Must have at least 1 items. Must not have more than 100 items.

mailing_list   string  optional  

Update Audience's Mailing List

requires authentication

An existing audience's mailing list can be updated.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/audiences/sunt/mailing-list/velit/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"enim\",
    \"last_name\": \"exercitationem\",
    \"email\": \"jocelyn.thompson@example.com\",
    \"phone\": \"temporibus\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/audiences/sunt/mailing-list/velit/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "enim",
    "last_name": "exercitationem",
    "email": "jocelyn.thompson@example.com",
    "phone": "temporibus"
};

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

Request      

PATCH api/v1/portal/audiences/{audience_ref}/mailing-list/{mailing_list_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

audience_ref   string   

Example: sunt

mailing_list_ref   string   

Example: velit

Body Parameters

first_name   string  optional  

Example: enim

last_name   string  optional  

Example: exercitationem

email   string  optional  

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

phone   string  optional  

Example: temporibus

Authentication

Login

Handle a login request to the application. Below are the logins of users with different roles. PS: All the users have a common password which is "password".

Administrator: Mark@runforcharity.com

Developer: developer@wearedamage.com

Account Manager: marc@runforcharity.com

Account Manager: freddie@runforcharity.com [WWF]

Charity: teampanda@wwf.org.uk [WWF]

Charity User: Joemcdermott@macmillan.org.uk [Macmillan Cancer Support]

Event Manager: matt@runthrough.co.uk

Participant: norberth.t@gmail.com

Participant: fharle_88@hotmail.co.uk

Example request:
curl --request POST \
    "https://api.test/api/v1/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"Mark@runforcharity.com\",
    \"password\": \"Password.0!\",
    \"totp_code\": \"pariatur\",
    \"social_auth\": [
        \"dignissimos\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/auth/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "Mark@runforcharity.com",
    "password": "Password.0!",
    "totp_code": "pariatur",
    "social_auth": [
        "dignissimos"
    ]
};

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

Request      

POST api/v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

The email of the User. Example: Mark@runforcharity.com

password   string   

The password of the User. Example: Password.0!

totp_code   string  optional  

optional The totp code is required only if the user has enabled a 2fa method. Example: pariatur

social_auth   string[]  optional  

optional The social_auth is required only if the user is trying to login with a social account.

source   string  optional  

required_with:social_auth The social_auth.source is required only if the user is trying to login with a social account. Example: facebook

token   string  optional  

required_with:social_auth The social_auth.token is required only if the user is trying to login with a social account. Example: 123456 or ZADFGVDS(recovery code) Example: 123456 or ZADFGVDS(recovery code)

Create a user

Handle a registration request for the application.

Example request:
curl --request POST \
    "https://api.test/api/v1/auth/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"Wendy\",
    \"last_name\": \"Mike\",
    \"email\": \"user@email.com\",
    \"phone\": \"+12333333333\",
    \"password\": \"123@!PASSWORD\",
    \"social_auth\": [
        \"qui\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/auth/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "Wendy",
    "last_name": "Mike",
    "email": "user@email.com",
    "phone": "+12333333333",
    "password": "123@!PASSWORD",
    "social_auth": [
        "qui"
    ]
};

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

Request      

POST api/v1/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

first_name   string   

The first name of the user. Example: Wendy

last_name   string   

The last name of the user. Example: Mike

email   string   

The email of the User. Example: user@email.com

phone   string   

The phone number of the User. Example: +12333333333

password   string   

The password of the User. Example: 123@!PASSWORD

social_auth   string[]  optional  

optional The social_auth is required only if the user is trying to register with a social account.

source   string  optional  

required_with:social_auth The social_auth.source is required only if the user is trying to register with a social account. Example: facebook

token   string  optional  

required_with:social_auth The social_auth.token is required only if the user is trying to register with a social account. Example: 123456 or ZADFGVDS(recovery code)

Account Password Set up

Allow user set up a password for thier account.

Example request:
curl --request POST \
    "https://api.test/api/v1/account/password/create" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"user@email.com\",
    \"code\": \"176814\",
    \"password\": \"123&kPASSWORD\"
}"
const url = new URL(
    "https://api.test/api/v1/account/password/create"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "user@email.com",
    "code": "176814",
    "password": "123&kPASSWORD"
};

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

Request      

POST api/v1/account/password/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

The user email. Example: user@email.com

code   string   

The verification code received by User. Example: 176814

password   string   

The password of the User. Example: 123&kPASSWORD

Resend Password Set up Code

Resend code to user.

Example request:
curl --request POST \
    "https://api.test/api/v1/account/password/resend-setup-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"user@email.com\"
}"
const url = new URL(
    "https://api.test/api/v1/account/password/resend-setup-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "user@email.com"
};

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

Request      

POST api/v1/account/password/resend-setup-code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

The user email. Example: user@email.com

Request reset code

Send a reset code to the given user who forgot their password.

Example request:
curl --request POST \
    "https://api.test/api/v1/password/email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"sdk@email.com\"
}"
const url = new URL(
    "https://api.test/api/v1/password/email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "sdk@email.com"
};

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

Request      

POST api/v1/password/email

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

Specifies user's email attribute. Example: sdk@email.com

Reset Password

Complete the password reset request initiated by the user.

Example request:
curl --request POST \
    "https://api.test/api/v1/password/reset" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"user@email.com\",
    \"token\": \"357742ecb53be20ad70e4b0c233a2bcee289d8f5aa3e2f844c527019f5d7496\",
    \"code\": \"759210\",
    \"password\": \"newPASSword123@\"
}"
const url = new URL(
    "https://api.test/api/v1/password/reset"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "user@email.com",
    "token": "357742ecb53be20ad70e4b0c233a2bcee289d8f5aa3e2f844c527019f5d7496",
    "code": "759210",
    "password": "newPASSword123@"
};

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

Request      

POST api/v1/password/reset

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

The email of the User. Example: user@email.com

token   string   

Token sent in response from requesting a reset code. Example: 357742ecb53be20ad70e4b0c233a2bcee289d8f5aa3e2f844c527019f5d7496

code   string   

Code received in mail after requesting reset code. Example: 759210

password   string   

Specifies user's proposed password. Example: newPASSword123@

Logout

requires authentication

Log the user out of the application.

Example request:
curl --request POST \
    "https://api.test/api/v1/auth/logout?all=true%0A%3Caside+class%3D%22notice%22%3E%3Fall%3Dtrue+param+essentially+logs+out+all+currently+logged-in+devices%3C%2Faside%3E" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/auth/logout"
);

const params = {
    "all": "true
<aside class="notice">?all=true param essentially logs out all currently logged-in devices</aside>",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/auth/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

all   string  optional   ?all=true param essentially logs out all currently logged-in devices" data-component="query">

If the User wants to revoke all their active access tokens. Example: `true

`

Remove Devices

requires authentication

Disconnect multiple devices from accessing user account.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/users/975dcf22-21a8-406a-9a83-6b943cea0508/remove-devices" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"devices\": [
        \"ipsa\"
    ],
    \"devices[]\": \"[1, 2, 3]\"
}"
const url = new URL(
    "https://api.test/api/v1/users/975dcf22-21a8-406a-9a83-6b943cea0508/remove-devices"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "devices": [
        "ipsa"
    ],
    "devices[]": "[1, 2, 3]"
};

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

Request      

DELETE api/v1/users/{user_ref}/remove-devices

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

devices   string[]   
devices[]   string   

The array of valid ids belonging to devices to be disconnected. Example: [1, 2, 3]

Account Verification

requires authentication

Mark the authenticated user's email address as verified.

Example request:
curl --request POST \
    "https://api.test/api/v1/account/verify?type=email" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"code\": \"17681\"
}"
const url = new URL(
    "https://api.test/api/v1/account/verify"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

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

Request      

POST api/v1/account/verify

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

The verification code received by User. Example: email

Body Parameters

code   string   

The verification code received by User. Example: 17681

Redo Verification

requires authentication

Resend verification code to user.

Example request:
curl --request POST \
    "https://api.test/api/v1/account/verification/resend" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/account/verification/resend"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/account/verification/resend

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Blog

Store Post

requires authentication

Store new blog post.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/articles/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"title\": \"Amazing Spider-man\",
    \"body\": \"Some story goes here...\",
    \"is_published\": true,
    \"tags\": [
        \"running\",
        \"charity\"
    ],
    \"cover_image\": \"quae\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/articles/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "title": "Amazing Spider-man",
    "body": "Some story goes here...",
    "is_published": true,
    "tags": [
        "running",
        "charity"
    ],
    "cover_image": "quae"
};

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

Request      

POST api/v1/portal/articles/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

title   string   

The name of the blog post. Example: Amazing Spider-man

body   string   

The body of the blog post. Example: Some story goes here...

is_published   boolean   

Specify whether to publish or not. Example: true

tags   string[]   

Specify up to 5 tags for the post (1 minimum).

cover_image   string   

The cover image Example: quae

Upload Post

requires authentication

Update blog post.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/articles/explicabo/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"title\": \"Amazing Spider-man\",
    \"body\": \"Some story goes here...\",
    \"is_published\": true,
    \"tags\": [
        \"running\",
        \"charity\"
    ],
    \"cover_image\": \"voluptatem\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/articles/explicabo/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "title": "Amazing Spider-man",
    "body": "Some story goes here...",
    "is_published": true,
    "tags": [
        "running",
        "charity"
    ],
    "cover_image": "voluptatem"
};

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

Request      

PATCH api/v1/portal/articles/{article_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

article_ref   string   

Example: explicabo

article   string   

The ref attribute of the blog post. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

title   string   

The name of the blog post. Example: Amazing Spider-man

body   string   

The body of the blog post. Example: Some story goes here...

is_published   boolean   

Specify whether to publish or not. Example: true

tags   string[]   

Specify up to 5 tags for the post (1 minimum).

name   string   

Example: adipisci

cover_image   string   

The cover image Example: voluptatem

Delete Post

requires authentication

Delete blog post.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/articles/quibusdam/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/articles/quibusdam/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/articles/{article_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

article_ref   string   

Example: quibusdam

article   string   

The ref attribute of the blog post. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Blog Posts

Get paginated blog posts.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/articles?published=1&search=The+Lake&per_page=20&order_by=popular%2Coldest%2Clatest&tag=sports" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/articles"
);

const params = {
    "published": "1",
    "search": "The Lake",
    "per_page": "20",
    "order_by": "popular,oldest,latest",
    "tag": "sports",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (500):

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

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tags.taggable_id' in 'where clause' (SQL: select count(*) as aggregate from `articles` where (`title` LIKE %The Lake% or `body` LIKE %The Lake% and exists (select * from `tags` where `articles`.`id` = `tags`.`taggable_id` and `tags`.`taggable_type` = App\\Models\\Article and `name` = sports)) and `api_client_id` = 25)",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2844,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2803,
            "function": "runPaginationCountQuery",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 891,
            "function": "getCountForPagination",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/ArticleController.php",
            "line": 62,
            "function": "paginate",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Conditionable/Traits/Conditionable.php",
            "line": 34,
            "function": "App\\Http\\Controllers\\{closure}",
            "class": "App\\Http\\Controllers\\ArticleController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/ArticleController.php",
            "line": 62,
            "function": "when",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\Http\\Controllers\\ArticleController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/HandleRedirectMiddleware.php",
            "line": 40,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HandleRedirectMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Services/ApiClient/ApiClientSettings.php",
            "line": 77,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureApiRequestHostIsValidClient.php",
            "line": 31,
            "function": "clientRequestAuthorizationHandshake",
            "class": "App\\Services\\ApiClient\\ApiClientSettings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureApiRequestHostIsValidClient",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/ClientAuthenticationMiddleware.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\ClientAuthenticationMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/articles

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

published   string  optional  

Specifying the inclusion of only published posts. Example: 1

search   string  optional  

Specifying a keyword similar to title, or body of post. Example: The Lake

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

order_by   string  optional  

Specifying method of ordering query. Example: popular,oldest,latest

tag   string  optional  

Specifying posts with specific tag association. Example: sports

Fetch Post

Retrieve a specific blog post.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/articles/sunt/show" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/articles/sunt/show"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The article was not found!",
    "errors": null
}
 

Request      

GET api/v1/client/articles/{article_ref}/show

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

article_ref   string   

Example: sunt

article   string   

The ref attribute of the blog post. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Book Events

Manages booked events on the application

Register for an event (participant) Participants register for events through this endpoint.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/book-events/participants/a/register" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/book-events/participants/a/register"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/book-events/participants/{event}/register

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

Example: a

event_ref   string   

The ref of the event. Example: 97a3ca24-0447-4b49-aa25-a8cddb0e064d

Store the registered participant.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/book-events/participants/temporibus/register" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"eaque\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/book-events/participants/temporibus/register"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "eaque"
};

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

Request      

POST api/v1/portal/book-events/participants/{event}/register

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

Example: temporibus

Body Parameters

eec   string   

Example: eaque

ref   string   

The ref of the event event category. Must be one of . Example: quis

quantity   integer   

Example: 10

charity   string   

The ref of the charity. Must be one of . Example: tempora

Careers

Careers

Get Careers Listing.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/careers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/careers"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (500):

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

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'api_client_careers.site_id' in 'where clause' (SQL: select * from `api_client_careers` where `api_client_careers`.`site_id` is null order by `created_at` desc)",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 710,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 694,
            "function": "getModels",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Models/ApiClientCareer.php",
            "line": 71,
            "function": "get",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Cache/Repository.php",
            "line": 438,
            "function": "App\\Models\\{closure}",
            "class": "App\\Models\\ApiClientCareer",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php",
            "line": 419,
            "function": "rememberForever",
            "class": "Illuminate\\Cache\\Repository",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php",
            "line": 338,
            "function": "__call",
            "class": "Illuminate\\Cache\\CacheManager",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Models/ApiClientCareer.php",
            "line": 71,
            "function": "__callStatic",
            "class": "Illuminate\\Support\\Facades\\Facade",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/ApiClientCareerController.php",
            "line": 26,
            "function": "getCachedCareersCollection",
            "class": "App\\Models\\ApiClientCareer",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\Http\\Controllers\\ApiClientCareerController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/HandleRedirectMiddleware.php",
            "line": 40,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HandleRedirectMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Services/ApiClient/ApiClientSettings.php",
            "line": 77,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureApiRequestHostIsValidClient.php",
            "line": 31,
            "function": "clientRequestAuthorizationHandshake",
            "class": "App\\Services\\ApiClient\\ApiClientSettings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureApiRequestHostIsValidClient",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/ClientAuthenticationMiddleware.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\ClientAuthenticationMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/careers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Specific Career

Get Specific Career.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/careers/ullam" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/careers/ullam"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (500):

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

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'api_client_careers.site_id' in 'where clause' (SQL: select * from `api_client_careers` where `ref` = ullam and `api_client_careers`.`site_id` is null limit 1)",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 710,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 694,
            "function": "getModels",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php",
            "line": 296,
            "function": "get",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
            "line": 2042,
            "function": "first",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php",
            "line": 61,
            "function": "resolveRouteBinding",
            "class": "Illuminate\\Database\\Eloquent\\Model",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 947,
            "function": "resolveForRoute",
            "class": "Illuminate\\Routing\\ImplicitRouteBinding",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 41,
            "function": "substituteImplicitBindings",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/careers/{career_ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

career_ref   string   

Example: ullam

career   string   

The ref attribute of specific career. Example: 975dcafb-78da-4e28-99f4-c69f636494be

Charities

Manages charities on the application

Paginated charities for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/all?active_membership=1&membership_type=premium&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"quo\",
    \"active_membership\": false,
    \"page\": 36,
    \"per_page\": 74
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/all"
);

const params = {
    "active_membership": "1",
    "membership_type": "premium",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "quo",
    "active_membership": false,
    "page": 36,
    "per_page": 74
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

active_membership   boolean  optional  

Filter by active membership. Example: true

membership_type   string  optional  

Filter by membership type. Example: premium

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: quo

active_membership   boolean  optional  

Example: false

page   integer  optional  

Must be at least 1. Example: 36

per_page   integer  optional  

Must be at least 1. Example: 74

category   string  optional  
membership_type   string  optional  

The list of charities

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities?membership_type=premium&status=&category=cancer-children-youth&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"illo\",
    \"status\": true,
    \"page\": 24,
    \"per_page\": 65
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities"
);

const params = {
    "membership_type": "premium",
    "status": "0",
    "category": "cancer-children-youth",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "illo",
    "status": true,
    "page": 24,
    "per_page": 65
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

membership_type   string  optional  

Filter by membership type. Must be one of premium, classic, partner, two_year. Example: premium

status   boolean  optional  

Filter by status. Example 1 Example: false

category   string  optional  

Filter by charity category slug. Example: cancer-children-youth

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: illo

status   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 24

per_page   integer  optional  

Must be at least 1. Example: 65

category   string  optional  
membership_type   string  optional  

Create a charity

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get a charity's details.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/335/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/charities/{id}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update charity profile.

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/profile/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"WWF\",
    \"email\": \"teampanda@wwf.org.uk\",
    \"category\": \"environment-conservation\",
    \"support_email\": \"johndoe237@gmail.com\",
    \"address\": \"Fourth Floor, Maya House, 134-138 Borough High St\",
    \"postcode\": \"SE1 1LB\",
    \"city\": \"Swansea\",
    \"country\": \"United Kingdom\",
    \"phone\": \"+447815176034\",
    \"finance_contact_name\": \"porro\",
    \"finance_contact_email\": \"xchristiansen@example.com\",
    \"show_in_external_feeds\": true,
    \"show_in_vmm_external_feeds\": true,
    \"external_strapline\": false,
    \"password\": \"Sts@2022\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/profile/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "WWF",
    "email": "teampanda@wwf.org.uk",
    "category": "environment-conservation",
    "support_email": "johndoe237@gmail.com",
    "address": "Fourth Floor, Maya House, 134-138 Borough High St",
    "postcode": "SE1 1LB",
    "city": "Swansea",
    "country": "United Kingdom",
    "phone": "+447815176034",
    "finance_contact_name": "porro",
    "finance_contact_email": "xchristiansen@example.com",
    "show_in_external_feeds": true,
    "show_in_vmm_external_feeds": true,
    "external_strapline": false,
    "password": "Sts@2022"
};

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

Request      

PUT api/v1/portal/charities/{id}/profile/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

name   string   

The charity name. Example: WWF

email   string   

The charity owner email address. Must be a valid email address. Example: teampanda@wwf.org.uk

category   string   

The charity category (slug). Example: environment-conservation

support_email   string   

The charity email address (support email). Must be a valid email address. Example: johndoe237@gmail.com

address   string   

The charity address. Must not be greater than 150 characters. Example: Fourth Floor, Maya House, 134-138 Borough High St

postcode   string   

Must not be greater than 20 characters. Example: SE1 1LB

city   string   

Example: Swansea

country   string   

Example: United Kingdom

phone   string   

Example: +447815176034

finance_contact_name   string  optional  

Example: porro

finance_contact_email   string  optional  

Must be a valid email address. Example: xchristiansen@example.com

finance_contact_phone   string  optional  
show_in_external_feeds   boolean   

Example: true

show_in_vmm_external_feeds   boolean   

Example: true

external_strapline   boolean   

Example: false

password   string   

Example: Sts@2022

Delete a charity (Soft deletes)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charities/336/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/336/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charities/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 336

Delete a charity (Permanently)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charities/336/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/336/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charities/{id}/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 336

Get branding

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/branding" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/branding"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/branding

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update branding

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/branding" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"primary_color\": \"#3DFF1F\",
    \"secondary_color\": \"#FF4A1C\",
    \"logo\": \"reprehenderit\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/branding"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "primary_color": "#3DFF1F",
    "secondary_color": "#FF4A1C",
    "logo": "reprehenderit"
};

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

Request      

PUT api/v1/portal/charities/{id}/branding

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

primary_color   string   

Primary header colour. Example: #3DFF1F

secondary_color   string   

Secondary header colour. Example: #FF4A1C

logo   string   

Example: reprehenderit

Get content

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/content" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/content"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/content

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update content

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/content" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"mission_values\": \"Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud.\\n                    Enim amet labore pariatur est dolore qui. Occaecat ipsum aliquip ipsum sit ipsum est nostrud tempor tempor. Pariatur pariatur veniam velit aute ex do laborum sint est deserunt consectetur do exercitation.\",
    \"description\": \"<p>In dolor in ad cillum aliquip nostrud. Fugiat exercitation in pariatur commodo id. Quis ullamco nisi non reprehenderit non nisi. Sunt Lorem irure esse sunt velit ut quis elit deserunt consectetur excepteur. Duis nisi fugiat aliquip magna reprehenderit magna. Aliquip magna ad velit sit elit incididunt cupidatat ea commodo elit commodo. Dolor proident amet et duis occaecat irure nulla cillum et tempor.<\\/p>\\n                    <p>Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud.<\\/p>\",
    \"video\": \"https:\\/\\/www.youtube.com\\/watch?v=qRidinG3PAw\",
    \"donation_link\": \"http:\\/\\/nader.com\\/illum-necessitatibus-voluptas-enim-amet\",
    \"website\": \"http:\\/\\/www.wwf.org.uk\\/\",
    \"meta\": {
        \"title\": \"The meta title\",
        \"description\": \"The meta description\",
        \"keywords\": \"dolores\"
    }
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/content"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "mission_values": "Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud.\n                    Enim amet labore pariatur est dolore qui. Occaecat ipsum aliquip ipsum sit ipsum est nostrud tempor tempor. Pariatur pariatur veniam velit aute ex do laborum sint est deserunt consectetur do exercitation.",
    "description": "<p>In dolor in ad cillum aliquip nostrud. Fugiat exercitation in pariatur commodo id. Quis ullamco nisi non reprehenderit non nisi. Sunt Lorem irure esse sunt velit ut quis elit deserunt consectetur excepteur. Duis nisi fugiat aliquip magna reprehenderit magna. Aliquip magna ad velit sit elit incididunt cupidatat ea commodo elit commodo. Dolor proident amet et duis occaecat irure nulla cillum et tempor.<\/p>\n                    <p>Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud.<\/p>",
    "video": "https:\/\/www.youtube.com\/watch?v=qRidinG3PAw",
    "donation_link": "http:\/\/nader.com\/illum-necessitatibus-voluptas-enim-amet",
    "website": "http:\/\/www.wwf.org.uk\/",
    "meta": {
        "title": "The meta title",
        "description": "The meta description",
        "keywords": "dolores"
    }
};

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

Request      

PUT api/v1/portal/charities/{id}/content

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

mission_values   string   

The charity mission values. Example: Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud. Enim amet labore pariatur est dolore qui. Occaecat ipsum aliquip ipsum sit ipsum est nostrud tempor tempor. Pariatur pariatur veniam velit aute ex do laborum sint est deserunt consectetur do exercitation.

description   string   

The charity description. Example: `

In dolor in ad cillum aliquip nostrud. Fugiat exercitation in pariatur commodo id. Quis ullamco nisi non reprehenderit non nisi. Sunt Lorem irure esse sunt velit ut quis elit deserunt consectetur excepteur. Duis nisi fugiat aliquip magna reprehenderit magna. Aliquip magna ad velit sit elit incididunt cupidatat ea commodo elit commodo. Dolor proident amet et duis occaecat irure nulla cillum et tempor.

Qui magna et do dolor cillum fugiat nisi sint ullamco eiusmod est. Sint elit dolore ea officia aute ipsum qui officia. Dolor nisi cillum reprehenderit elit eu ut commodo laboris Lorem aliquip. Excepteur exercitation elit Lorem culpa sit. Consequat consectetur cillum in aute incididunt magna dolor irure reprehenderit ex aute est veniam velit. Reprehenderit non culpa eiusmod duis ad pariatur non qui in incididunt in voluptate est nostrud.

`
video   string  optional  

The charity video. Must be a valid URL. Example: https://www.youtube.com/watch?v=qRidinG3PAw

donation_link   string  optional  

The link to the charity donation page. Example: http://nader.com/illum-necessitatibus-voluptas-enim-amet

website   string  optional  

The charity website url. Example: http://www.wwf.org.uk/

socials   string  optional  
platform   string  optional  

Must be one of google, facebook, twitter, instagram, tiktok, linkedin, youtube, vimeo, or github. Example: youtube

url   string  optional  
images   string[]  optional  
meta   object   
title   string  optional  

The charity meta title. Example: The meta title

description   string  optional  

The charity meta description. Example: The meta description

keywords   string  optional  

Example: dolores

Remove the logo or an image from the charity's images.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charities/335/images/8/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/images/8/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charities/{id}/images/{upload_id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

upload_id   integer   

The id of the image. Example: 8

Get memberships

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/memberships" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/memberships"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/memberships

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Get fundraising platform

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/fundraising/platform" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/fundraising/platform"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/fundraising/platform

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update fundraising platform

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/fundraising/platform/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"fundraising_platform\": \"custom\",
    \"fundraising_platform_url\": \"https:\\/\\/www.justgiving.com\\/wwf\",
    \"fundraising_ideas_url\": \"https:\\/\\/www.justgiving.com\\/wwf\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/fundraising/platform/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "fundraising_platform": "custom",
    "fundraising_platform_url": "https:\/\/www.justgiving.com\/wwf",
    "fundraising_ideas_url": "https:\/\/www.justgiving.com\/wwf"
};

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

Request      

PUT api/v1/portal/charities/{id}/fundraising/platform/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

fundraising_platform   string   

Must be one of just_giving, virgin_money_giving, custom. TODO: Update this after discussing with lead. It has been noticed that only the custom option is used (from the portal) and database records only have the custom or null options as values. Must be one of just_giving, virgin_money_giving, or custom. Example: custom

fundraising_platform_url   string   

Must be a valid URL. Example: https://www.justgiving.com/wwf

fundraising_ideas_url   string  optional  

Must be a valid URL. Example: https://www.justgiving.com/wwf

Get eventsIncluded (the only_included_charities events the charity is allowed to run).

requires authentication

That is, the events that can only be run by some charities (only_included_charities) for which the charity is among).

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/events/included" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/events/included"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/events/included

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update eventsIncluded (the only_included_charities events the charity is allowed to run).

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/335/events/included/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"event_ids\": [
        11
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/events/included/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "event_ids": [
        11
    ]
};

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

Request      

POST api/v1/portal/charities/{id}/events/included/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

event_ids   integer[]  optional  

Toggle external enquiries notification frequency (settings)

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/external/enquiry/notifications/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"external_enquiry_notification_settings\": \"weekly\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/external/enquiry/notifications/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "external_enquiry_notification_settings": "weekly"
};

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

Request      

PUT api/v1/portal/charities/{id}/external/enquiry/notifications/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

external_enquiry_notification_settings   string   

Must be one of each, daily, weekly, or monthly. Example: weekly

Toggle complete registration notification frequency (settings)

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/complete/registration/notifications/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"complete_notifications\": \"monthly\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/complete/registration/notifications/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "complete_notifications": "monthly"
};

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

Request      

PUT api/v1/portal/charities/{id}/complete/registration/notifications/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

complete_notifications   string   

Must be one of always, weekly, or monthly. Example: monthly

Toggle fundraising emails integration settings

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/fundraising-email/integration/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"fundraising_emails_active\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/fundraising-email/integration/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "fundraising_emails_active": false
};

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

Request      

PUT api/v1/portal/charities/{id}/fundraising-email/integration/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

fundraising_emails_active   boolean   

Example: false

toggle charity checkout integration settings

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/charity-checkout/integration/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"charity_checkout_integration\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/charity-checkout/integration/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "charity_checkout_integration": true
};

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

Request      

PUT api/v1/portal/charities/{id}/charity-checkout/integration/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

charity_checkout_integration   boolean   

Example: true

Get call notes

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/call-notes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/call-notes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/call-notes

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Update manager call note.

requires authentication

These are a charity call notes highlights often set by account managers.

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/call-notes/manager/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"manager_call_notes\": \"26\\/07 - Spoke to Fru and he is chasing the invoice payment. 08\\/09 - Good Meeting with Jodie. Went through what to promote and also booked in meeting for bespoke virtual Santa Dash\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/call-notes/manager/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "manager_call_notes": "26\/07 - Spoke to Fru and he is chasing the invoice payment. 08\/09 - Good Meeting with Jodie. Went through what to promote and also booked in meeting for bespoke virtual Santa Dash"
};

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

Request      

PUT api/v1/portal/charities/{id}/call-notes/manager/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

manager_call_notes   string   

Example: 26/07 - Spoke to Fru and he is chasing the invoice payment. 08/09 - Good Meeting with Jodie. Went through what to promote and also booked in meeting for bespoke virtual Santa Dash

Create/update a call note.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/335/call-notes/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"note\": \"26\\/07 - Spoke to Fru and he is chasing the invoice payment\",
    \"call\": \"23_months\",
    \"status\": \"no_answer\",
    \"year\": 2022
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/call-notes/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "note": "26\/07 - Spoke to Fru and he is chasing the invoice payment",
    "call": "23_months",
    "status": "no_answer",
    "year": 2022
};

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

Request      

POST api/v1/portal/charities/{id}/call-notes/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

note   string  optional  

The message. Example: 26/07 - Spoke to Fru and he is chasing the invoice payment

call   string   

Must be one of 23_months, 21_months, 18_months, 15_months, 12_months, 11_months, 8_months, 5_months, 2_months, 1_month, or all. Example: 23_months

status   string   

Must be one of made_contact or no_answer. Example: no_answer

year   string   

The year the call note was created. Must be 4 digits. Must be a valid date in the format Y. Must be a date after or equal to 2024. Example: 2022

Update a call note

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/335/call-notes/8/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"note\": \"26\\/07 - Spoke to Fru and he is chasing the invoice payment\",
    \"call\": \"23_months\",
    \"status\": \"no_answer\",
    \"year\": 2022
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/call-notes/8/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "note": "26\/07 - Spoke to Fru and he is chasing the invoice payment",
    "call": "23_months",
    "status": "no_answer",
    "year": 2022
};

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

Request      

PUT api/v1/portal/charities/{id}/call-notes/{call_note_id}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

call_note_id   integer   

The id of the call note. Example: 8

Body Parameters

note   string  optional  

The message. Example: 26/07 - Spoke to Fru and he is chasing the invoice payment

call   string   

Must be one of 23_months, 21_months, 18_months, 15_months, 12_months, 11_months, 8_months, 5_months, 2_months, 1_month, or all. Example: 23_months

status   string   

Must be one of made_contact or no_answer. Example: no_answer

year   string   

The year the call note was created. Must be 4 digits. Must be a valid date in the format Y. Must be a date after or equal to 2024. Example: 2022

Delete a call note

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charities/335/call-notes/8/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/call-notes/8/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charities/{id}/call-notes/{call_note_id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

call_note_id   integer   

The id of the call note. Example: 8

Export Charities.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/export?membership_type=premium&status=&category=cancer-children-youth" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/export"
);

const params = {
    "membership_type": "premium",
    "status": "0",
    "category": "cancer-children-youth",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

membership_type   string  optional  

Filter by membership type. Example: premium

status   boolean  optional  

Filter by status. Example 1 Example: false

category   string  optional  

Filter by charity category slug. Example: cancer-children-youth

term   string  optional  

Filter by string.

Get the invoices of the charity.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/invoices" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/invoices"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/invoices

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Create an invoice.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/335/invoices/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/invoices/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/{id}/invoices/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Store the invoice.

requires authentication

Replaces postCreateInvoice method

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/335/invoices/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"charge_id\": \"ch_1CUXhaKhPhk80DoJYypTBUf9\",
    \"issue_date\": \"28-05-2024\",
    \"due_date\": \"11-06-2024\",
    \"price\": 98879.97,
    \"pdf\": \"provident\",
    \"held\": false,
    \"send_on\": \"03-06-2024\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/invoices/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "charge_id": "ch_1CUXhaKhPhk80DoJYypTBUf9",
    "issue_date": "28-05-2024",
    "due_date": "11-06-2024",
    "price": 98879.97,
    "pdf": "provident",
    "held": false,
    "send_on": "03-06-2024"
};

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

Request      

POST api/v1/portal/charities/{id}/invoices/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

Body Parameters

description   string  optional  

The description. Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

charge_id   string  optional  

The charge_id. Example: ch_1CUXhaKhPhk80DoJYypTBUf9

issue_date   string   

The date the invoice was created/issued. Must be a valid date in the format d-m-Y. Must be a date after today. Example: 28-05-2024

due_date   string   

The due date of the invoice. Must be a valid date in the format d-m-Y. Must be a date after or equal to issue_date. Example: 11-06-2024

price   number   

The invoice cost. Must be between 0 and 999999.99. Example: 98879.97

pdf   string   

Example: provident

held   boolean  optional  

Example: false

send_on   string  optional  

The date at which the invoice should be sent. Must be a valid date in the format d-m-Y. Must be a date after today. Example: 03-06-2024

Delete an invoice and refund the charity.

requires authentication

TODO: Review this implementation after the Participant Model would have been created and while working on the invoice controller.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/335/invoices/1/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/335/invoices/1/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/charities/{id}/invoices/{invoice_id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity. Example: 335

invoice_id   integer   

The id of the charity. Example: 1

Paginated charities for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/charities/all?active_membership=1&membership_type=premium&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"et\",
    \"active_membership\": true,
    \"page\": 16,
    \"per_page\": 27
}"
const url = new URL(
    "https://api.test/api/v1/client/charities/all"
);

const params = {
    "active_membership": "1",
    "membership_type": "premium",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "et",
    "active_membership": true,
    "page": 16,
    "per_page": 27
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/charities/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

active_membership   boolean  optional  

Filter by active membership. Example: true

membership_type   string  optional  

Filter by membership type. Example: premium

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: et

active_membership   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 16

per_page   integer  optional  

Must be at least 1. Example: 27

category   string  optional  
membership_type   string  optional  

Charity - Client

The list of charities

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/charities?status=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"status\": true,
    \"page\": 42,
    \"per_page\": 29
}"
const url = new URL(
    "https://api.test/api/v1/client/charities"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "status": true,
    "page": 42,
    "per_page": 29
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of charities",
    "data": {
        "charities": {
            "current_page": 42,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/charities?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/charities?page=1",
            "links": [
                {
                    "url": "https://api.test/api/v1/client/charities?page=41",
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/charities?page=1",
                    "label": "1",
                    "active": false
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/charities",
            "per_page": 29,
            "prev_page_url": "https://api.test/api/v1/client/charities?page=41",
            "to": null,
            "total": 0,
            "query_params": {
                "status": true,
                "page": 1
            }
        }
    }
}
 

Request      

GET api/v1/client/charities

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

status   boolean  optional  

Filter by status. Example 1 Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

status   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 42

per_page   integer  optional  

Must be at least 1. Example: 29

Charity Categories

Manages charity categories on the application

Paginated charity categories for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/categories/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/categories/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

The list of charity categories

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/categories?status=1&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ut\",
    \"status\": true,
    \"page\": 72,
    \"per_page\": 16
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ut",
    "status": true,
    "page": 72,
    "per_page": 16
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

status   boolean  optional  

Filter by status. Example 1 Example: true

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: ut

status   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 72

per_page   integer  optional  

Must be at least 1. Example: 16

Create a new charity category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/categories/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/categories/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store the new charity category

requires authentication

TODO: Scribe considers/submits true & false (boolean values) as strings whenever a file upload is part of the request. Please look deeper into this later and fix the issue on this request.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charities/categories/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Cancer - Children & Youth 237\",
    \"status\": false,
    \"color\": \"#f0ad00\",
    \"meta\": {
        \"title\": \"sunt\",
        \"description\": \"Aut minus et suscipit.\",
        \"keywords\": \"iusto\"
    }
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Cancer - Children & Youth 237",
    "status": false,
    "color": "#f0ad00",
    "meta": {
        "title": "sunt",
        "description": "Aut minus et suscipit.",
        "keywords": "iusto"
    }
};

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

Request      

POST api/v1/portal/charities/categories/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The name of the charity category. Example: Cancer - Children & Youth 237

status   boolean   

The status of the charity category. Example: false

color   string   

The color. Must not be greater than 16 characters. Example: #f0ad00

meta   object   
title   string  optional  

Example: sunt

description   string  optional  

Example: Aut minus et suscipit.

keywords   string  optional  

Example: iusto

Get a charity category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/categories/73/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/73/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/categories/{id}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity category. Example: 73

Edit a charity category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charities/categories/73/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/73/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charities/categories/{id}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity category. Example: 73

Update a charity category

requires authentication

TODO: Scribe considers/submits true & false (boolean values) as strings whenever a file upload is part of the request. Please look deeper into this later and fix the issue on this request.

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/charities/categories/73/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Cancer - Children & Youth 237\",
    \"status\": false,
    \"color\": \"#f0ad00\",
    \"meta\": {
        \"title\": \"id\",
        \"description\": \"Fugit quo est qui neque.\",
        \"keywords\": \"et\"
    }
}"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/73/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Cancer - Children & Youth 237",
    "status": false,
    "color": "#f0ad00",
    "meta": {
        "title": "id",
        "description": "Fugit quo est qui neque.",
        "keywords": "et"
    }
};

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

Request      

PUT api/v1/portal/charities/categories/{id}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity category. Example: 73

Body Parameters

name   string   

The name of the charity category. Example: Cancer - Children & Youth 237

status   boolean   

status bool required The status of the charity category. Example: false

color   string   

The color. Must not be greater than 16 characters. Example: #f0ad00

meta   object   
title   string  optional  

Example: id

description   string  optional  

Example: Fugit quo est qui neque.

keywords   string  optional  

Example: et

Delete a charity category

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charities/categories/73/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charities/categories/73/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charities/categories/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity category. Example: 73

Paginated charity categories for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/charities/categories/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/charities/categories/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/charities/categories/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Charity Categories - Client

The list of charity categories

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/charities/categories?status=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"status\": true,
    \"page\": 23,
    \"per_page\": 2
}"
const url = new URL(
    "https://api.test/api/v1/client/charities/categories"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "status": true,
    "page": 23,
    "per_page": 2
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of categories",
    "data": {
        "current_page": 23,
        "data": [],
        "first_page_url": "https://api.test/api/v1/client/charities/categories?page=1",
        "from": null,
        "last_page": 1,
        "last_page_url": "https://api.test/api/v1/client/charities/categories?page=1",
        "links": [
            {
                "url": "https://api.test/api/v1/client/charities/categories?page=22",
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "https://api.test/api/v1/client/charities/categories?page=1",
                "label": "1",
                "active": false
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "https://api.test/api/v1/client/charities/categories",
        "per_page": 2,
        "prev_page_url": "https://api.test/api/v1/client/charities/categories?page=22",
        "to": null,
        "total": 0,
        "query_params": {
            "status": true,
            "page": 1
        }
    }
}
 

Request      

GET api/v1/client/charities/categories

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

status   boolean  optional  

Filter by status. Example 1 Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

status   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 23

per_page   integer  optional  

Must be at least 1. Example: 2

Get the charities under a category

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/charities/categories/cancer-children-youth" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/charities/categories/cancer-children-youth"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The charity category was not found!",
    "errors": null
}
 

Request      

GET api/v1/client/charities/categories/{category_slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_slug   string   

The slug of the charity category. Example: cancer-children-youth

Charity Signups (Enquiries)

Manages charity signups (enquiries) on the application

The list of charity signups

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charity-signups?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charity-signups"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charity-signups

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string  optional  

Filter by category.

term   string  optional  

Filter by term.

page   integer  optional  

The page data to return Example: 1

Create a charity signup (enquiry)

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charity-signups/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Lindsey Lodge Hospice and Healthcare\",
    \"number\": 3837340,
    \"sector\": \"Cancer - General\",
    \"website\": \"https:\\/\\/www.againstbreastcancer.org.uk\\/\",
    \"address_1\": \"Sir John Mills House, 12 Whitehorse Mews\",
    \"address_2\": \"37 Westminster Bridge Road\",
    \"city\": \"London\",
    \"postcode\": \"SE1 7QD\",
    \"contact_name\": \"Paul Kelleman\",
    \"contact_email\": \"bernard38@example.com\",
    \"contact_phone\": \"+447743780217\",
    \"terms_conditions\": true,
    \"privacy_policy\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/charity-signups/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Lindsey Lodge Hospice and Healthcare",
    "number": 3837340,
    "sector": "Cancer - General",
    "website": "https:\/\/www.againstbreastcancer.org.uk\/",
    "address_1": "Sir John Mills House, 12 Whitehorse Mews",
    "address_2": "37 Westminster Bridge Road",
    "city": "London",
    "postcode": "SE1 7QD",
    "contact_name": "Paul Kelleman",
    "contact_email": "bernard38@example.com",
    "contact_phone": "+447743780217",
    "terms_conditions": true,
    "privacy_policy": true
};

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

Request      

POST api/v1/portal/charity-signups/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The charity name. Must not be greater than 255 characters. Example: Lindsey Lodge Hospice and Healthcare

number   integer   

The registered charity number. Example: 3837340

sector   string   

The charity category (name). Must not be greater than 255 characters. Example: Cancer - General

website   string   

The charity website. Example: https://www.againstbreastcancer.org.uk/

address_1   string   

Must not be greater than 255 characters. Example: Sir John Mills House, 12 Whitehorse Mews

address_2   string  optional  

Must not be greater than 255 characters. Example: 37 Westminster Bridge Road

city   string   

Must not be greater than 255 characters. Example: London

postcode   string   

Must not be greater than 255 characters. Example: SE1 7QD

contact_name   string   

Must not be greater than 255 characters. Example: Paul Kelleman

contact_email   string   

Must be a valid email address. Example: bernard38@example.com

contact_phone   string   

Example: +447743780217

terms_conditions   boolean   

Must be accepted. Example: true

privacy_policy   boolean   

Must be accepted. Example: true

Update a charity signup (enquiry)

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/charity-signups/1/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Lindsey Lodge Hospice and Healthcare\",
    \"number\": 3837340,
    \"sector\": \"Cancer - General\",
    \"website\": \"https:\\/\\/www.againstbreastcancer.org.uk\\/\",
    \"address_1\": \"Sir John Mills House, 12 Whitehorse Mews\",
    \"address_2\": \"37 Westminster Bridge Road\",
    \"city\": \"London\",
    \"postcode\": \"SE1 7QD\",
    \"contact_name\": \"Paul Kelleman\",
    \"contact_email\": \"cruickshank.rolando@example.net\",
    \"contact_phone\": \"+447743780217\",
    \"terms_conditions\": true,
    \"privacy_policy\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/charity-signups/1/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Lindsey Lodge Hospice and Healthcare",
    "number": 3837340,
    "sector": "Cancer - General",
    "website": "https:\/\/www.againstbreastcancer.org.uk\/",
    "address_1": "Sir John Mills House, 12 Whitehorse Mews",
    "address_2": "37 Westminster Bridge Road",
    "city": "London",
    "postcode": "SE1 7QD",
    "contact_name": "Paul Kelleman",
    "contact_email": "cruickshank.rolando@example.net",
    "contact_phone": "+447743780217",
    "terms_conditions": true,
    "privacy_policy": true
};

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

Request      

POST api/v1/portal/charity-signups/{id}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity signup. Example: 1

Body Parameters

name   string   

The charity name. Must not be greater than 255 characters. Example: Lindsey Lodge Hospice and Healthcare

number   integer   

The registered charity number. Example: 3837340

sector   string   

The charity category (name). Must not be greater than 255 characters. Example: Cancer - General

website   string   

The charity website. Example: https://www.againstbreastcancer.org.uk/

address_1   string   

Must not be greater than 255 characters. Example: Sir John Mills House, 12 Whitehorse Mews

address_2   string  optional  

Must not be greater than 255 characters. Example: 37 Westminster Bridge Road

city   string   

Must not be greater than 255 characters. Example: London

postcode   string   

Must not be greater than 255 characters. Example: SE1 7QD

contact_name   string   

Must not be greater than 255 characters. Example: Paul Kelleman

contact_email   string   

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

contact_phone   string   

Example: +447743780217

terms_conditions   boolean   

Must be accepted. Example: true

privacy_policy   boolean   

Must be accepted. Example: true

Delete a charity signup (enquiry)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/charity-signups/1/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charity-signups/1/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/charity-signups/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the charity signup. Example: 1

Export charity signups (enquiry)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/charity-signups/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/charity-signups/export"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/charity-signups/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string  optional  

Filter by category.

term   string  optional  

Filter by term.

Cities

Manages cities on the application

Paginated cities for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/all?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ullam\",
    \"country\": \"accusantium\",
    \"page\": 86,
    \"per_page\": 1
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/all"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ullam",
    "country": "accusantium",
    "page": 86,
    "per_page": 1
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: ullam

region   string  optional  
country   string  optional  

Example: accusantium

page   integer  optional  

Must be at least 1. Example: 86

per_page   integer  optional  

Must be at least 1. Example: 1

The list of cities

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&faqs=with&order_by=name%3Adesc%2Ccreated_at%3Adesc&drafted=with&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"nisi\",
    \"country\": \"aut\",
    \"faqs\": \"with\",
    \"page\": 60,
    \"per_page\": 8,
    \"drafted\": \"without\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"nesciunt\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "faqs": "with",
    "order_by": "name:desc,created_at:desc",
    "drafted": "with",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "nisi",
    "country": "aut",
    "faqs": "with",
    "page": 60,
    "per_page": 8,
    "drafted": "without",
    "deleted": "with",
    "order_by": [
        "nesciunt"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: nisi

region   string  optional  
country   string  optional  

Example: aut

faqs   string  optional  

Must be one of with or without. Example: with

page   integer  optional  

Must be at least 1. Example: 60

per_page   integer  optional  

Must be at least 1. Example: 8

drafted   string  optional  

Must be one of with, without, or only. Example: without

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  

Create a city

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a city

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/cities/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"city name\",
    \"site_id\": 1,
    \"region_id\": 1,
    \"description\": \"city description\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"nofollow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"accusamus\"
            ]
        }
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"et\"
    ],
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "city name",
    "site_id": 1,
    "region_id": 1,
    "description": "city description",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "nofollow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "accusamus"
            ]
        }
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "et"
    ],
    "is_draft": false
};

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

Request      

POST api/v1/portal/cities/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the city. This field is required when site_id is present. Example: city name

site_id   integer   

The site id of the city. Example: 1

region_id   integer   

The region id of the city. Example: 1

description   string  optional  

The description of the city. Example: city description

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Get a city's details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987b93b3-d31c-4530-809b-156e1e7ad80e

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a city

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987b93b3-d31c-4530-809b-156e1e7ad80e

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export cities

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/export?order_by=name%3Adesc%2Ccreated_at%3Adesc&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"iste\",
    \"country\": \"cupiditate\",
    \"faqs\": \"without\",
    \"page\": 34,
    \"per_page\": 71,
    \"drafted\": \"with\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"enim\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/export"
);

const params = {
    "order_by": "name:desc,created_at:desc",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "iste",
    "country": "cupiditate",
    "faqs": "without",
    "page": 34,
    "per_page": 71,
    "drafted": "with",
    "deleted": "without",
    "order_by": [
        "enim"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: iste

region   string  optional  
country   string  optional  

Example: cupiditate

faqs   string  optional  

Must be one of with or without. Example: without

page   integer  optional  

Must be at least 1. Example: 34

per_page   integer  optional  

Must be at least 1. Example: 71

drafted   string  optional  

Must be one of with, without, or only. Example: with

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  

Update a city

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_id\": 1,
    \"name\": \"city name\",
    \"region_id\": 1,
    \"description\": \"city description\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"nofollow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"sunt\"
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"maiores\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_id": 1,
    "name": "city name",
    "region_id": 1,
    "description": "city description",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "nofollow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "sunt"
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "maiores"
    ]
};

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

Request      

PUT api/v1/portal/cities/{city_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

site_id   integer  optional  

The site id of the city. This field is required when name or region_id is present. Example: 1

name   string  optional  

The name of the city. This field is required when site_id is present. Example: city name

region_id   integer  optional  

the region id of the city. This field is required when site_id is present. Example: 1

description   string  optional  

The description of the city. Example: city description

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 60

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 73

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   

Mark as draft one or many cities

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/cities/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/cities/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with cities.

Mark as published one or many cities

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/cities/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/cities/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with cities.

Delete one or many cities

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/cities/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with cities.

Restore one or many cities

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/cities/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/cities/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with cities.

Delete one or many cities (Permanently) Only the administrator can delete a city permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/cities/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with cities.

Delete the city's image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/cities/{city_ref}/image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

upload_ref   string   

The ref of the upload. Example: 97ad9df6-d927-4a44-8fec-3daacee89678

Delete One/Many FAQs

requires authentication

Delete multiple City FAQs by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/cities/{city_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific city FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple City FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/cities/{city_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

city_ref   string   

The ref of the city. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

faq_ref   string   

The ref of the faq. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific city faq_details ids.

Remove faq details image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/expedita/faq-details-image/ut/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/expedita/faq-details-image/ut/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/cities/{city_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

city_ref   string   

Example: 987b93b3-d31c-4530-809b-156e1e7ad80e

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: expedita

upload_ref   string   

Example: ut

City Stats

requires authentication

Get City Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/cities/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cities/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/cities/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Paginated cities for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/cities/all?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"qui\",
    \"country\": \"modi\",
    \"page\": 26,
    \"per_page\": 19
}"
const url = new URL(
    "https://api.test/api/v1/client/cities/all"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "qui",
    "country": "modi",
    "page": 26,
    "per_page": 19
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/cities/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: qui

region   string  optional  
country   string  optional  

Example: modi

page   integer  optional  

Must be at least 1. Example: 26

per_page   integer  optional  

Must be at least 1. Example: 19

Cities - Client

The list of cities

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/cities?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&popular=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"est\",
    \"popular\": false,
    \"country\": \"ut\",
    \"page\": 40,
    \"per_page\": 57
}"
const url = new URL(
    "https://api.test/api/v1/client/cities"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "popular": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "est",
    "popular": false,
    "country": "ut",
    "page": 40,
    "per_page": 57
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "region": [
            "The region is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/cities

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

popular   boolean  optional  

Filter by most popular. Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: est

popular   boolean  optional  

Example: false

country   string  optional  

Example: ut

region   string  optional  
page   integer  optional  

Must be at least 1. Example: 40

per_page   integer  optional  

Must be at least 1. Example: 57

Get the events under a city

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/cities/987b93b3-d31c-4530-809b-156e1e7ad80e?category=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&start_date=%2222-02-2018%22&end_date=%2222-02-2023%22&price[]=12&price[]=80&virtual_events=include&skip=6&take=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"nesciunt\",
    \"start_date\": \"27-05-2024\",
    \"end_date\": \"2083-09-16\",
    \"price\": [
        5
    ],
    \"region\": \"sint\",
    \"address\": \"et\",
    \"virtual_events\": \"only\",
    \"date\": \"et\",
    \"page\": 70,
    \"per_page\": 24
}"
const url = new URL(
    "https://api.test/api/v1/client/cities/987b93b3-d31c-4530-809b-156e1e7ad80e"
);

const params = {
    "category": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "start_date": ""22-02-2018"",
    "end_date": ""22-02-2023"",
    "price[0]": "12",
    "price[1]": "80",
    "virtual_events": "include",
    "skip": "6",
    "take": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "nesciunt",
    "start_date": "27-05-2024",
    "end_date": "2083-09-16",
    "price": [
        5
    ],
    "region": "sint",
    "address": "et",
    "virtual_events": "only",
    "date": "et",
    "page": 70,
    "per_page": 24
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "end_date": [
            "The end date does not match the format d-m-Y."
        ],
        "price": [
            "The price must contain 2 items."
        ],
        "region": [
            "The region is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/cities/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

slug   string   

The slug of the city. Example: 987b93b3-d31c-4530-809b-156e1e7ad80e

city_slug   string   

The slug of the city. Example: midlands

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

start_date   string  optional  

Filter by start_date. Must be a valid date in the format d-m-Y. Example: "22-02-2018"

end_date   string  optional  

Filter by end_date. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region ref.

address   string  optional  

Filter by address.

virtual_events   string  optional  

Filter by virtual_events. Must be one of include, exclude, only. Example: include

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

skip   integer  optional  

The number of items to skip before taking the number of items specified by the take query param Example: 6

take   integer  optional  

Number of items to return. Example 6 Example: 1

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

name   string  optional  

Example: nesciunt

category   string  optional  
start_date   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

end_date   string  optional  

Must be a valid date in the format d-m-Y. Must be a date after or equal to start_date. Example: 2083-09-16

price   integer[]  optional  
region   string  optional  

Example: sint

address   string  optional  

Example: et

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: only

date   string  optional  

Example: et

faqs   string  optional  
page   integer  optional  

Must be at least 1. Example: 70

per_page   integer  optional  

Must be at least 1. Example: 24

Combination

Get Combinations

requires authentication

Get paginated list of combinations.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/combinations?drafted=with&deleted=with&term=some+combination+name&per_page=20&meta_keywords=keyword-1&faqs=with&period=1h%2C6h%2C12h%2C24h%2C7d%2C30d%2C90d%2C180d%2C1y%2CAll&year=2022&order_by=name%3Adesc%2Curl%3Aasc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"region\": \"inventore\",
    \"city\": \"soluta\",
    \"venue\": \"recusandae\",
    \"deleted\": \"only\",
    \"drafted\": \"without\",
    \"order_by\": [
        \"qui\"
    ],
    \"term\": \"ctdxsntbjrxwgfomdq\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations"
);

const params = {
    "drafted": "with",
    "deleted": "with",
    "term": "some combination name",
    "per_page": "20",
    "meta_keywords": "keyword-1",
    "faqs": "with",
    "period": "1h,6h,12h,24h,7d,30d,90d,180d,1y,All",
    "year": "2022",
    "order_by": "name:desc,url:asc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "region": "inventore",
    "city": "soluta",
    "venue": "recusandae",
    "deleted": "only",
    "drafted": "without",
    "order_by": [
        "qui"
    ],
    "term": "ctdxsntbjrxwgfomdq"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/combinations

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Specifying a keyword similar to combination name, meta title, meta description, event category name, region name/description, city name/description, venue name/description. Example: some combination name

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

meta_keywords   string  optional  

Specifying comma seperated values matching items in combination's meta keywords attribute array. Example: keyword-1

faqs   string  optional  

Specifying the inclusion of ONLY models with associated FAQs. Example: with

period   string  optional  

Filter by specifying a period. Example: 1h,6h,12h,24h,7d,30d,90d,180d,1y,All

year   string  optional  

Filter by specifying a year. Example: 2022

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,url:asc,created_at:desc

category   string  optional  

Filter by event category, using a valid ref.

region   string  optional  

Filter by region, using a valid ref.

city   string  optional  

Filter by city, using a valid ref.

venue   string  optional  

Filter by venue, using a valid ref.

Body Parameters

category   string  optional  
region   string  optional  

Example: inventore

city   string  optional  

Example: soluta

venue   string  optional  

Example: recusandae

deleted   string  optional  

Must be one of with, without, or only. Example: only

drafted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
term   string  optional  

Must not be greater than 50 characters. Example: ctdxsntbjrxwgfomdq

Fetch Combination Options

requires authentication

Retrieve combination creation options data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/combinations/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/combinations/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Fetch Combination

requires authentication

Retrieve combination data matching specified ref attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/combinations/dicta/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/dicta/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/combinations/{combination}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination   string   

The combination. Example: dicta

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Create a new Combination

requires authentication

A new combination can be created with optional FAQs properties for combinations that requires FAQs.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/combinations/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"FAQs Combination\",
    \"description\": \"Some details\",
    \"event_category_id\": 1,
    \"region_id\": 2,
    \"city_id\": 3,
    \"venue_id\": 4,
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"velit\"
    ],
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"nofollow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"excepturi\"
            ]
        }
    ],
    \"is_draft\": false,
    \"path\": \"\\/path\\/to\\/combination\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "FAQs Combination",
    "description": "Some details",
    "event_category_id": 1,
    "region_id": 2,
    "city_id": 3,
    "venue_id": 4,
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "velit"
    ],
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "nofollow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "excepturi"
            ]
        }
    ],
    "is_draft": false,
    "path": "\/path\/to\/combination"
};

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

Request      

POST api/v1/portal/combinations/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Specifies combination name attribute. Example: FAQs Combination

description   string  optional  

Specifies combination description attribute. Example: Some details

event_category_id   integer   

Specifies an event category id. Example: 1

region_id   integer   

Specifies a region id. Example: 2

city_id   integer   

Specifies a city id. Example: 3

venue_id   integer   

Specifies a venue id. Example: 4

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

path   string  optional  

Specifies combination path attribute. Must start with one of /. Example: /path/to/combination

Update a Combination

requires authentication

An existing combination can be modified, alongside their FAQs properties when necessary.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/combinations/qui/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"FAQs Combination\",
    \"description\": \"Some details\",
    \"event_category_id\": 1,
    \"region_id\": \"2\",
    \"city_id\": 3,
    \"venue_id\": 4,
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"voluptatem\"
    ],
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"noindex\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"nihil\"
    ],
    \"path\": \"\\/path\\/to\\/combination\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/qui/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "FAQs Combination",
    "description": "Some details",
    "event_category_id": 1,
    "region_id": "2",
    "city_id": 3,
    "venue_id": 4,
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "voluptatem"
    ],
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "noindex"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "nihil"
    ],
    "path": "\/path\/to\/combination"
};

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

Request      

PATCH api/v1/portal/combinations/{combination_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination_ref   string   

Example: qui

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Body Parameters

name   string  optional  

Specifies combination name attribute. Example: FAQs Combination

description   string  optional  

Specifies combination description attribute. Example: Some details

event_category_id   integer  optional  

Specifies an event category id. Example: 1

region_id   string  optional  

Specifies a region id. Example: 2

city_id   integer  optional  

Specifies a city id. Example: 3

venue_id   integer  optional  

Specifies a venue id. Example: 4

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 36

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 69

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

path   string  optional  

Specifies combination path attribute. Must start with one of /. Example: /path/to/combination

Mark as published one or many combinations

requires authentication

Publish multiple combinations data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/combinations/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/combinations/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with combinations.

Mark as draft one or many combinations

requires authentication

Draft multiple combinations data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/combinations/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/combinations/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with combinations.

Delete Many Combinations

requires authentication

Delete multiple combinations data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/combinations/delete-many?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"combinations_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/delete-many"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "combinations_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/combinations/delete-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

combinations_ids   string[]   

The list of ids associated with combinations.

Restore Many Combinations

requires authentication

Restore multiple combinations data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/combinations/restore-many" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"combinations_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/restore-many"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "combinations_ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/combinations/restore-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

combinations_ids   string[]   

The list of ids associated with combinations.

Delete One/Many FAQs

requires authentication

Delete multiple Combination FAQs by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/combinations/assumenda/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/assumenda/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/combinations/{combination_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination_ref   string   

Example: assumenda

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific combination FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple Combination FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/combinations/sit/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/sit/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/combinations/{combination_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination_ref   string   

Example: sit

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific page faq_details ids.

Delete Meta

requires authentication

Delete Combination Meta.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/combinations/neque/delete-meta" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/neque/delete-meta"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/combinations/{combination_ref}/delete-meta

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination_ref   string   

Example: neque

Combination Stats

requires authentication

Get Combination Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/combinations/stats/summary?year=2022&period=24h&type=cities" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
    "type": "cities",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/combinations/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

type   string  optional  

Specifying method of filtering query by related entity types. Example: cities

Get Client Combinations

Get paginated list of combinations on Client page.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/combinations?term=some+combination+name&per_page=20&popular=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"fuga\",
    \"popular\": \"dolore\",
    \"per_page\": 25
}"
const url = new URL(
    "https://api.test/api/v1/client/combinations"
);

const params = {
    "term": "some combination name",
    "per_page": "20",
    "popular": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "fuga",
    "popular": "dolore",
    "per_page": 25
};

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

Example response (200):

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

{
    "status": true,
    "message": "Combinations List",
    "data": {
        "combinations": {
            "current_page": 1,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/combinations?term=some%20combination%20name&per_page=20&popular=1&page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/combinations?term=some%20combination%20name&per_page=20&popular=1&page=1",
            "links": [
                {
                    "url": null,
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/combinations?term=some%20combination%20name&per_page=20&popular=1&page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/combinations",
            "per_page": 25,
            "prev_page_url": null,
            "to": null,
            "total": 0,
            "query_params": {
                "term": "some combination name",
                "per_page": "20",
                "popular": true
            }
        }
    }
}
 

Request      

GET api/v1/client/combinations

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Specifying a keyword similar to combination name, meta title, meta description, event category name, region name/description, city name/description, venue name/description. Example: some combination name

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

popular   boolean  optional  

Filter by most popular. Example: true

Body Parameters

term   string  optional  

Example: fuga

popular   string  optional  

Example: dolore

per_page   integer  optional  

Must be at least 1. Example: 25

Fetch Client Combination

Retrieve combination data matching specified slug attribute on client page.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/combinations/esse?category=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&dates[]=22-02-2018&dates[]=22-10-2023&price[]=12&price[]=80&per_page=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"voluptatem\",
    \"region\": \"praesentium\",
    \"city\": \"voluptate\",
    \"venue\": \"minima\",
    \"dates\": [
        \"27-05-2024\"
    ],
    \"price\": [
        12
    ],
    \"address\": \"corporis\",
    \"virtual_events\": \"exclude\",
    \"date\": \"rerum\",
    \"page\": 63,
    \"per_page\": 57
}"
const url = new URL(
    "https://api.test/api/v1/client/combinations/esse"
);

const params = {
    "category": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "dates[0]": "22-02-2018",
    "dates[1]": "22-10-2023",
    "price[0]": "12",
    "price[1]": "80",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "voluptatem",
    "region": "praesentium",
    "city": "voluptate",
    "venue": "minima",
    "dates": [
        "27-05-2024"
    ],
    "price": [
        12
    ],
    "address": "corporis",
    "virtual_events": "exclude",
    "date": "rerum",
    "page": 63,
    "per_page": 57
};

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

Example response (422):

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

{
    "message": "The category is invalid. (and 5 more errors)",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "region": [
            "The region is invalid."
        ],
        "city": [
            "The city is invalid."
        ],
        "venue": [
            "The venue is invalid."
        ],
        "dates": [
            "The dates must contain 2 items."
        ],
        "price": [
            "The price must contain 2 items."
        ]
    }
}
 

Request      

GET api/v1/client/combinations/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The ID of the combination. Example: esse

slug   string   

The slug attribute of the page. Example: some-combination-name

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

dates   string[]  optional  

Filter by a range of dates. Must be a valid date in the format d-m-Y.

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region id.

address   string  optional  

Filter by address.

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

per_page   integer  optional  

Items per page. Example: 10

Body Parameters

name   string  optional  

Example: voluptatem

category   string  optional  
region   string  optional  

Example: praesentium

city   string  optional  

Example: voluptate

venue   string  optional  

Example: minima

dates   string[]  optional  

Must be a valid date in the format d-m-Y.

price   integer[]  optional  
address   string  optional  

Example: corporis

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: exclude

date   string  optional  

Example: rerum

page   integer  optional  

Must be at least 1. Example: 63

per_page   integer  optional  

Must be at least 1. Example: 57

Fetch Client Combination by path

Retrieve combination data matching specified path attribute.

Example request:
curl --request POST \
    "https://api.test/api/v1/client/combinations/fetch-by-path" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"quo\",
    \"region\": \"voluptate\",
    \"city\": \"voluptates\",
    \"venue\": \"nemo\",
    \"dates\": [
        \"27-05-2024\"
    ],
    \"price\": [
        17
    ],
    \"address\": \"quis\",
    \"virtual_events\": \"only\",
    \"date\": \"doloribus\",
    \"page\": 67,
    \"per_page\": 52,
    \"path\": \"\\/some-region\\/some-city\"
}"
const url = new URL(
    "https://api.test/api/v1/client/combinations/fetch-by-path"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "quo",
    "region": "voluptate",
    "city": "voluptates",
    "venue": "nemo",
    "dates": [
        "27-05-2024"
    ],
    "price": [
        17
    ],
    "address": "quis",
    "virtual_events": "only",
    "date": "doloribus",
    "page": 67,
    "per_page": 52,
    "path": "\/some-region\/some-city"
};

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

Request      

POST api/v1/client/combinations/fetch-by-path

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

Example: quo

category   string  optional  
region   string  optional  

Example: voluptate

city   string  optional  

Example: voluptates

venue   string  optional  

Example: nemo

dates   string[]  optional  

Must be a valid date in the format d-m-Y.

price   integer[]  optional  
address   string  optional  

Example: quis

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: only

date   string  optional  

Example: doloribus

page   integer  optional  

Must be at least 1. Example: 67

per_page   integer  optional  

Must be at least 1. Example: 52

path   string   

The path attribute of the combination. Example: /some-region/some-city

Fetch Client Combination by path - GET

Retrieve combination data matching specified path attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/combinations//some-region/some-city/fetch-by-path" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"qui\",
    \"region\": \"beatae\",
    \"city\": \"molestiae\",
    \"venue\": \"laborum\",
    \"dates\": [
        \"27-05-2024\"
    ],
    \"price\": [
        8
    ],
    \"address\": \"sit\",
    \"virtual_events\": \"only\",
    \"date\": \"et\",
    \"page\": 36,
    \"per_page\": 19
}"
const url = new URL(
    "https://api.test/api/v1/client/combinations//some-region/some-city/fetch-by-path"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "qui",
    "region": "beatae",
    "city": "molestiae",
    "venue": "laborum",
    "dates": [
        "27-05-2024"
    ],
    "price": [
        8
    ],
    "address": "sit",
    "virtual_events": "only",
    "date": "et",
    "page": 36,
    "per_page": 19
};

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

Example response (422):

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

{
    "message": "The region is invalid. (and 4 more errors)",
    "errors": {
        "region": [
            "The region is invalid."
        ],
        "city": [
            "The city is invalid."
        ],
        "venue": [
            "The venue is invalid."
        ],
        "dates": [
            "The dates must contain 2 items."
        ],
        "price": [
            "The price must contain 2 items."
        ]
    }
}
 

Request      

GET api/v1/client/combinations/{path}/fetch-by-path

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

path   string   

The path attribute of the combination. Example: /some-region/some-city

Body Parameters

name   string  optional  

Example: qui

category   string  optional  
region   string  optional  

Example: beatae

city   string  optional  

Example: molestiae

venue   string  optional  

Example: laborum

dates   string[]  optional  

Must be a valid date in the format d-m-Y.

price   integer[]  optional  
address   string  optional  

Example: sit

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: only

date   string  optional  

Example: et

page   integer  optional  

Must be at least 1. Example: 36

per_page   integer  optional  

Must be at least 1. Example: 19

Dashboard

Dashboard Stats

requires authentication

Get Dashboard Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/dashboard/stats/summary?year=2022&status=eos&category=98677146-d86a-4b10-a694-d79eb66e8220&type=invoices&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/dashboard/stats/summary"
);

const params = {
    "year": "2022",
    "status": "eos",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "type": "invoices",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/dashboard/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: eos

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

type   string  optional  

Specifying method of filtering query by type. Example: invoices

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Dashboard Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/dashboard/stats/chart?type=invoices&year=2022&status=ipsa&category=98677146-d86a-4b10-a694-d79eb66e8220&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/dashboard/stats/chart"
);

const params = {
    "type": "invoices",
    "year": "2022",
    "status": "ipsa",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/dashboard/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: invoices

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: ipsa

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Dashboard Latest Participants

requires authentication

Get Latest 4 participants

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/dashboard/stats/latest-participants?limit=4" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/dashboard/stats/latest-participants"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/dashboard/stats/latest-participants

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

limit   string  optional  

Specifying method of filtering query by number of items to return. Example: 4

Endpoints

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/notifications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/notifications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/notifications

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/notifications/est/read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/notifications/est/read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/notifications/{id}/read

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The ID of the notification. Example: est

GET api/v1/profile/{profile_ref}/view

Example request:
curl --request GET \
    --get "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/view" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/view"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/profile/{profile_ref}/view

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile_ref   string   

Example: 975dcf22-eda3-4437-8c96-6df4e790d077

PATCH api/v1/profile/{profile_ref}/update

Example request:
curl --request PATCH \
    "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

PATCH api/v1/profile/{profile_ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile_ref   string   

Example: 975dcf22-eda3-4437-8c96-6df4e790d077

check is user has passphrase matching provided passphrase

Example request:
curl --request POST \
    "https://api.test/api/v1/passphrase/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/passphrase/verify"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/passphrase/verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

allow user create a passphrase

Example request:
curl --request POST \
    "https://api.test/api/v1/passphrase/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"question\": \"exercitationem\",
    \"response\": \"akaanjeddpsxwymricubueyecgfihydktpmlyxbsmet\"
}"
const url = new URL(
    "https://api.test/api/v1/passphrase/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "question": "exercitationem",
    "response": "akaanjeddpsxwymricubueyecgfihydktpmlyxbsmet"
};

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

Request      

POST api/v1/passphrase/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

question   string  optional  

Example: exercitationem

response   string   

Must be at least 15 characters. Example: akaanjeddpsxwymricubueyecgfihydktpmlyxbsmet

allow user update passphrase

Example request:
curl --request PATCH \
    "https://api.test/api/v1/passphrase/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"question\": \"iste\",
    \"response\": \"adwoyxgfbzxgcmlrhtinwoyfvtfmleoekqctzmnfvbvvqcuflymlrxmgwgrgwdualhgxtorrjpp\"
}"
const url = new URL(
    "https://api.test/api/v1/passphrase/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "question": "iste",
    "response": "adwoyxgfbzxgcmlrhtinwoyfvtfmleoekqctzmnfvbvvqcuflymlrxmgwgrgwdualhgxtorrjpp"
};

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

Request      

PATCH api/v1/passphrase/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

question   string  optional  

Example: iste

response   string   

Must be at least 15 characters. Example: adwoyxgfbzxgcmlrhtinwoyfvtfmleoekqctzmnfvbvvqcuflymlrxmgwgrgwdualhgxtorrjpp

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/enquiries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/enquiries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/enquiries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display the specified resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/enquiries/quia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/enquiries/quia"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/enquiries/{enquiry_ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

enquiry_ref   string   

Example: quia

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/faq-categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/faq-categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/faq-categories

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Show the form for creating a new resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/faq-categories/types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/faq-categories/types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/faq-categories/types

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display the specified resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/faq-categories/et" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/faq-categories/et"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/faq-categories/{category_ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

Example: et

Store a newly created resource in storage.

Example request:
curl --request POST \
    "https://api.test/api/v1/faq-categories/voluptatem/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"type\": \"events\",
    \"description\": \"Voluptatem nostrum velit quibusdam illo consequuntur.\"
}"
const url = new URL(
    "https://api.test/api/v1/faq-categories/voluptatem/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "type": "events",
    "description": "Voluptatem nostrum velit quibusdam illo consequuntur."
};

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

Request      

POST api/v1/faq-categories/{category_ref}/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

Example: voluptatem

Body Parameters

type   string   

Must be one of general, events, payments, or orders. Example: events

description   string  optional  

Must not be greater than 300 characters. Example: Voluptatem nostrum velit quibusdam illo consequuntur.

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/faq-categories/sint/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"urvn\",
    \"type\": \"general\",
    \"description\": \"Id labore cupiditate possimus aperiam rerum aut.\"
}"
const url = new URL(
    "https://api.test/api/v1/faq-categories/sint/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "urvn",
    "type": "general",
    "description": "Id labore cupiditate possimus aperiam rerum aut."
};

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

Request      

PATCH api/v1/faq-categories/{category_ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

Example: sint

Body Parameters

name   string   

Must be one of general, events, payments, or orders Must not be greater than 100 characters. Example: urvn

type   string   

Must be one of general, events, payments, or orders. Example: general

description   string  optional  

Must not be greater than 300 characters. Example: Id labore cupiditate possimus aperiam rerum aut.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/faq-categories/minima/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/faq-categories/minima/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/faq-categories/{category_ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

Example: minima

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/media-libraries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-libraries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/media-libraries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display the specified resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/media-libraries/est" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-libraries/est"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: XSRF-TOKEN=eyJpdiI6IlNpYWZFa09waEhEckloWVhsSDFESnc9PSIsInZhbHVlIjoicEdHcjNDU291Rk5zQ241djViUHkwSzFOTGkwTlc2WFhITDJvMzVVZVNJZzZyaFJXd1RVdkZrQmUxM0xjSlR6ZW9jTmZDWFpMeFkzWnd0d1dSbDNuSnJ5aEthakZXWEhnQ09JdlR5T2hpTkVXa0tKakNIK2l4UlJ2Z0ZWNnU0UnQiLCJtYWMiOiJmOWU2ZjhlOTZiY2I4YmRlODQ3NzU5ZjhmZDBlZTIxYTg3YzIzOWFjMzkyYzE2ZGIxMDNjYzBiMjE1ZmY5OGZmIiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:07 GMT; Max-Age=7200; path=/; samesite=lax; runthrough_session=eyJpdiI6IlJKcXhiNFdUbVhtYUNFOHhESkRyTHc9PSIsInZhbHVlIjoiakZlZU4vbytYa0FrbFJkTngxbUdHUWhBOGdRU2FFem9BM1pxbnRBelorRVc0SjFjaUpPTkN5US92MTNCU3BZdUVzcDhReVc4WER3elF0RTU5cmNJbzZQMnZQNWVNMVhiYUJTbkZEYTc2Sy94Wk5KRnl1aVU5OUl5UjkrMFJHeGMiLCJtYWMiOiIyMTM1ZWZkNGI2MDgxODg4ZWQ0NmFkNDk1OWM3NTNmNjg4M2VjMDliNjk1NTExZWE1NzkyMGExNDBjOTNkYjcyIiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:07 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "status": false,
    "message": "The resource was not found!",
    "errors": null
}
 

Request      

GET api/v1/media-libraries/{media-library:ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-library:ref   string   

Example: est

Store a newly created resource in storage.

Example request:
curl --request POST \
    "https://api.test/api/v1/media-libraries/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"cvwulpohchzbfblkaxbosq\",
    \"description\": \"Minus reprehenderit qui ut et error.\"
}"
const url = new URL(
    "https://api.test/api/v1/media-libraries/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "cvwulpohchzbfblkaxbosq",
    "description": "Minus reprehenderit qui ut et error."
};

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

Request      

POST api/v1/media-libraries/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Must not be greater than 200 characters. Example: cvwulpohchzbfblkaxbosq

description   string  optional  

Must not be greater than 500 characters. Example: Minus reprehenderit qui ut et error.

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/media-libraries/quo/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"pyztprfqvp\",
    \"description\": \"Quia tempora totam velit nihil error.\"
}"
const url = new URL(
    "https://api.test/api/v1/media-libraries/quo/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "pyztprfqvp",
    "description": "Quia tempora totam velit nihil error."
};

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

Request      

PATCH api/v1/media-libraries/{media-library:ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-library:ref   string   

Example: quo

Body Parameters

name   string   

Must not be greater than 200 characters. Example: pyztprfqvp

description   string  optional  

Must not be greater than 500 characters. Example: Quia tempora totam velit nihil error.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/media-libraries/aut/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-libraries/aut/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/media-libraries/{media-library:ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-library:ref   string   

Example: aut

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/media-collections" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-collections"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/media-collections

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display the specified resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/media-collections/totam" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-collections/totam"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: XSRF-TOKEN=eyJpdiI6Ikpta1l2bTB3QzlOSWxWSnp1U1BqU2c9PSIsInZhbHVlIjoiakpONDNxU3BaWDN0enhNdXQ0Q0twa3liWmFxYXJ0aHJaOVFpQkR5b1FySkhMRXk2K1R1aW5EQitkT254alU0ZDgzZHNFM3pnRC9TaGgxcDlSWHNvZnkvRHdYdTVIMTgrWm40MWV6MUlzVmVTMGxRNTF3T3pLdytlaHU4U3NPRzIiLCJtYWMiOiJhY2FhZmY0ZTMzOTY3YTZiYTMwMjhkM2JkZjdmODg0MTNiMzRhMjJkZDg2NTViYzY5ZGEzNzg1YmE3NDkzZTIwIiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:07 GMT; Max-Age=7200; path=/; samesite=lax; runthrough_session=eyJpdiI6InByZGNicTRXQW03eWQwYW9TTFJzaUE9PSIsInZhbHVlIjoiMzZwQXpQWlJmUHJtYWYwME96OXVtTXk3Wi95UG45K0tlcVhwR29ZNDEzSmt6L0tiR3VKdEpLNDlOU2Z3d29WYVdEaldYOXVGVUYyeVlmRXNXSW5pTGszaHVjdVFjNFdRZ1h6cWRtclhCbHdQNnhQWmlHZ0dveGJMOGtBRzhXKzQiLCJtYWMiOiI1M2ViMjQxNzcyMTg5ZjgxODlmZmU1MzkyMGJiMjA1NTVjZjFjOWRlNTljMzE1MTk5MjUwOTc5NGZjNmUxOGE0IiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:07 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "status": false,
    "message": "The resource was not found!",
    "errors": null
}
 

Request      

GET api/v1/media-collections/{media-collection:ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-collection:ref   string   

Example: totam

Store a newly created resource in storage.

Example request:
curl --request POST \
    "https://api.test/api/v1/media-collections/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"dyerbevocspmiwjohdf\",
    \"description\": \"Hic tempore dolor iste sunt voluptatem.\"
}"
const url = new URL(
    "https://api.test/api/v1/media-collections/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "dyerbevocspmiwjohdf",
    "description": "Hic tempore dolor iste sunt voluptatem."
};

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

Request      

POST api/v1/media-collections/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Must not be greater than 200 characters. Example: dyerbevocspmiwjohdf

description   string  optional  

Must not be greater than 500 characters. Example: Hic tempore dolor iste sunt voluptatem.

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/media-collections/laboriosam/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"ovhdanivjvzynbsn\",
    \"description\": \"Rerum aperiam nihil ad quo debitis numquam omnis.\"
}"
const url = new URL(
    "https://api.test/api/v1/media-collections/laboriosam/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "ovhdanivjvzynbsn",
    "description": "Rerum aperiam nihil ad quo debitis numquam omnis."
};

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

Request      

PATCH api/v1/media-collections/{media-collection:ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-collection:ref   string   

Example: laboriosam

Body Parameters

name   string   

Must not be greater than 200 characters. Example: ovhdanivjvzynbsn

description   string  optional  

Must not be greater than 500 characters. Example: Rerum aperiam nihil ad quo debitis numquam omnis.

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/media-collections/error/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/media-collections/error/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/media-collections/{media-collection:ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

media-collection:ref   string   

Example: error

Display a listing of the resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/api-clients" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/api-clients"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/api-clients

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Display the specified resource.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/api-clients/975dc707-8f8b-4cd7-b00a-0bfa60cadb11" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/api-clients/975dc707-8f8b-4cd7-b00a-0bfa60cadb11"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: XSRF-TOKEN=eyJpdiI6Im9sUjBWK0wzeGZMcHhKTGh4cTRva2c9PSIsInZhbHVlIjoiQyt5akJrL1BOOUNxNFl2SGFYOGluMUdxWVFsUFFOQmQzaGdSSTRKaGcxWk5wbDV4NzlYL0VmZnEvcFpVeGI3ZUppR3QyYks2OUgxbWtLRzNLNmd1MS9xVmdGaW9URkFqL0dlTVNsNDRUdlpuU3dTTzB2RGh0T3JEU1lUL2xpQm4iLCJtYWMiOiJiMDYzYjQ5ZWMyNmMyMjk4ZGRjN2MzOTIxMWVjZGNiOGNhNTc1YjBlNjZhNjYyMjkwMjVkY2EyY2MxYTQxNTcxIiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:08 GMT; Max-Age=7200; path=/; samesite=lax; runthrough_session=eyJpdiI6ImNFUC9KcEtjdExzTWU4YURqY0twckE9PSIsInZhbHVlIjoiQUY5OHhNK0IybHlJdW5naENRREx6WldvdzZ6UDJSTFVjVng5aGVOVWI5OVJsUTIxdXZ2UUlnWm1BMkFxMkZnZ3Q4VDJndUtxZkhNSTMzUHBZaWVVUnNqK3R1UGIwdUlrS2NUWmdLVVpXUytRWmFUZExjT0VEY1V2TW5SbEl0c1giLCJtYWMiOiJhYjM0YzY0ZjdmY2FjMDg5MzEzYWQxNjg4OGZhNmE0YTlkZmUzNmVkNzIxZTc1ZDlmN2Y4MTdmYTU3MDJiNTMxIiwidGFnIjoiIn0%3D; expires=Mon, 27 May 2024 12:55:08 GMT; Max-Age=7200; path=/; httponly; samesite=lax
 

{
    "status": false,
    "message": "The resource was not found!",
    "errors": null
}
 

Request      

GET api/v1/api-clients/{api-client:ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

api-client:ref   string   

Example: 975dc707-8f8b-4cd7-b00a-0bfa60cadb11

Store a newly created resource in storage.

Example request:
curl --request POST \
    "https://api.test/api/v1/api-clients/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"quia\",
    \"host\": \"voluptas\",
    \"ip\": \"31.143.207.13\",
    \"is_active\": true,
    \"site_id\": 14
}"
const url = new URL(
    "https://api.test/api/v1/api-clients/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "quia",
    "host": "voluptas",
    "ip": "31.143.207.13",
    "is_active": true,
    "site_id": 14
};

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

Request      

POST api/v1/api-clients/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Example: quia

host   string   

Example: voluptas

ip   string  optional  

Must be a valid IP address. Example: 31.143.207.13

is_active   boolean   

Example: true

site_id   integer  optional  

Example: 14

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/api-clients/975dc707-8f8b-4cd7-b00a-0bfa60cadb11/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/api-clients/975dc707-8f8b-4cd7-b00a-0bfa60cadb11/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/api-clients/{enquiry_ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

enquiry_ref   string   

Example: 975dc707-8f8b-4cd7-b00a-0bfa60cadb11

GET api/v1/testing

Example request:
curl --request GET \
    --get "https://api.test/api/v1/testing" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/testing"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (200):

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

[]
 

Request      

GET api/v1/testing

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Remove faq details image

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/temporibus/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/aliquam/faq-details-image/impedit/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/temporibus/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/aliquam/faq-details-image/impedit/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/pages/{page_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: temporibus

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: aliquam

upload_ref   string   

Example: impedit

Remove faq details image

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/combinations/asperiores/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/voluptatem/faq-details-image/rerum/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/asperiores/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/voluptatem/faq-details-image/rerum/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/combinations/{combination_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

combination_ref   string   

Example: asperiores

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: voluptatem

upload_ref   string   

Example: rerum

Store a newly created resource in storage.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/careers/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"title\": \"lakjq\",
    \"description\": \"Sit ea vero sit maxime.\",
    \"link\": \"cc\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/careers/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "title": "lakjq",
    "description": "Sit ea vero sit maxime.",
    "link": "cc"
};

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

Request      

POST api/v1/portal/careers/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

title   string   

Must not be greater than 200 characters. Example: lakjq

description   string   

Must not be greater than 1000 characters. Example: Sit ea vero sit maxime.

link   string  optional  

Must not be greater than 200 characters. Example: cc

Update the specified resource in storage.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/careers/minus/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"title\": \"gouyhzusujsni\",
    \"description\": \"Quibusdam enim et earum et tenetur.\",
    \"link\": \"x\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/careers/minus/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "title": "gouyhzusujsni",
    "description": "Quibusdam enim et earum et tenetur.",
    "link": "x"
};

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

Request      

PATCH api/v1/portal/careers/{career_ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

career_ref   string   

Example: minus

Body Parameters

title   string   

Must not be greater than 200 characters. Example: gouyhzusujsni

description   string   

Must not be greater than 1000 characters. Example: Quibusdam enim et earum et tenetur.

link   string  optional  

Must not be greater than 200 characters. Example: x

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/careers/enim/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/careers/enim/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/careers/{career_ref}/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

career_ref   string   

Example: enim

GET api/v1/client/user

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/user"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/client/user

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Enquiries

Manages website enquiries on the application

The list of enquiries

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries?year=2023&status=processed&action=tempore&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"modi\",
    \"status\": \"pending\",
    \"action\": \"registration_failed_charity_places_exhausted\",
    \"year\": \"2024\",
    \"month\": 11,
    \"converted\": false,
    \"contacted\": false,
    \"period\": \"30d\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"minus\"
    ],
    \"page\": 19,
    \"per_page\": 25
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries"
);

const params = {
    "year": "2023",
    "status": "processed",
    "action": "tempore",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "modi",
    "status": "pending",
    "action": "registration_failed_charity_places_exhausted",
    "year": "2024",
    "month": 11,
    "converted": false,
    "contacted": false,
    "period": "30d",
    "deleted": "with",
    "order_by": [
        "minus"
    ],
    "page": 19,
    "per_page": 25
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity ref.

event   string  optional  

Filter by event ref.

corporate   string  optional  

Filter by corporate ref.

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   string  optional  

Filter by status. Must be one of processed, pending. Example: processed

action   string  optional  

Filter by action. Must be one of register_failed_eec_exhausted_places, registration_failed_charity_places_exhausted Example: tempore

converted   boolean  optional  

Filter by converted.

contacted   boolean  optional  

Filter by contacted.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: modi

status   string  optional  

Must be one of pending or processed. Example: pending

action   string  optional  

Must be one of registration_failed_event_places_exhausted, registration_failed_charity_places_exhausted, or registration_failed_estimated_event. Example: registration_failed_charity_places_exhausted

site   string  optional  
year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

charity   string  optional  
event   string  optional  
converted   boolean  optional  

Example: false

contacted   boolean  optional  

Example: false

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 30d

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 19

per_page   integer  optional  

Must be at least 1. Example: 25

Create an enquiry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Edit an enquiry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/qui/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/qui/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: qui

enquiry_ref   string   

The ref of the enquiry. Example: 97c0304a-a320-4320-a37a-40f7ab32b525

Export enquiries

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/export?year=2023&status=processed&action=quisquam&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"possimus\",
    \"status\": \"pending\",
    \"action\": \"registration_failed_event_places_exhausted\",
    \"year\": \"2024\",
    \"month\": 5,
    \"converted\": false,
    \"contacted\": true,
    \"period\": \"24h\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"dolore\"
    ],
    \"page\": 39,
    \"per_page\": 38
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/export"
);

const params = {
    "year": "2023",
    "status": "processed",
    "action": "quisquam",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "possimus",
    "status": "pending",
    "action": "registration_failed_event_places_exhausted",
    "year": "2024",
    "month": 5,
    "converted": false,
    "contacted": true,
    "period": "24h",
    "deleted": "only",
    "order_by": [
        "dolore"
    ],
    "page": 39,
    "per_page": 38
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity ref.

event   string  optional  

Filter by event ref.

corporate   string  optional  

Filter by corporate ref.

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   string  optional  

Filter by status. Must be one of processed, pending. Example: processed

action   string  optional  

Filter by action. Must be one of register_failed_eec_exhausted_places, registration_failed_charity_places_exhausted Example: quisquam

converted   boolean  optional  

Filter by converted.

contacted   boolean  optional  

Filter by contacted.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: possimus

status   string  optional  

Must be one of pending or processed. Example: pending

action   string  optional  

Must be one of registration_failed_event_places_exhausted, registration_failed_charity_places_exhausted, or registration_failed_estimated_event. Example: registration_failed_event_places_exhausted

site   string  optional  
year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

charity   string  optional  
event   string  optional  
converted   boolean  optional  

Example: false

contacted   boolean  optional  

Example: true

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 24h

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 39

per_page   integer  optional  

Must be at least 1. Example: 38

Offer the event place to the enquirer.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/enquiries/quisquam/place/offer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"fgdhdfgdfhghfafwrrgrete345yh\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"fee_type\": \"local\",
    \"make_default\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/quisquam/place/offer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "fgdhdfgdfhghfafwrrgrete345yh",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "fee_type": "local",
    "make_default": true
};

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

Request      

POST api/v1/portal/enquiries/{ref}/place/offer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: quisquam

Body Parameters

eec   string   

The ref of the event event category. Must be one of gasghvjhavasvgjhvghvggjyyhvx, fhggjkalsugfujhvajvjhvaabjkvw, fgdhdfgdfhghfafwrrgrete345yh. Example: fgdhdfgdfhghfafwrrgrete345yh

charity   string  optional  

The ref of the charity. Must be one of .

payment_status   string   

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

fee_type   string  optional  

Must be one of local or international. Example: local

make_default   boolean   

Example: true

Enquiries Stats

requires authentication

Get Enquiries Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/stats/summary?year=2022&status=rerum&category=marathons&type=enquiries&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/stats/summary"
);

const params = {
    "year": "2022",
    "status": "rerum",
    "category": "marathons",
    "type": "enquiries",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: rerum

category   string  optional  

Specifying method of filtering query by category. Example: marathons

type   string  optional  

Specifying method of filtering query by type. Example: enquiries

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Enquiries Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/stats/chart?type=enquiries&year=2022&status=quia&category=marathons&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/stats/chart"
);

const params = {
    "type": "enquiries",
    "year": "2022",
    "status": "quia",
    "category": "marathons",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: enquiries

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: quia

category   string  optional  

Specifying method of filtering query by category. Example: marathons

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Enquiry Options

Fetch Enquiry Options.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/enquiries/options" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/enquiries/options"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (200):

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

{
    "status": true,
    "message": "Create an enquiry",
    "data": {
        "enquiry_types": [
            {
                "label": "General",
                "value": "General"
            },
            {
                "label": "Press",
                "value": "Press"
            },
            {
                "label": "Race Entries in the North",
                "value": "Race Entries in the North"
            },
            {
                "label": "Race Entries in the Midlands",
                "value": "Race Entries in the Midlands"
            },
            {
                "label": "Partnership & Sponsorship Opportunities",
                "value": "Partnership & Sponsorship Opportunities"
            },
            {
                "label": "Volunteer Opportunities",
                "value": "Volunteer Opportunities"
            }
        ]
    }
}
 

Request      

GET api/v1/client/enquiries/options

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Contact Us

Handle an enquiry posting from the API client.

Example request:
curl --request POST \
    "https://api.test/api/v1/client/enquiries/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"enquiry_type\": \"race_entries_north\",
    \"full_name\": \"Wendy Bird\",
    \"email\": \"user@email.com\",
    \"message\": \"I need to make an enquiry...\"
}"
const url = new URL(
    "https://api.test/api/v1/client/enquiries/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "enquiry_type": "race_entries_north",
    "full_name": "Wendy Bird",
    "email": "user@email.com",
    "message": "I need to make an enquiry..."
};

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

Request      

POST api/v1/client/enquiries/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

enquiry_type   string   

The type/category of enquiry selected. Example: race_entries_north

full_name   string   

The full name of the user. Example: Wendy Bird

email   string   

The email of the User. Example: user@email.com

message   string   

The message of the enquiry. Example: I need to make an enquiry...

Entries

Manages participants entries (registrations) on the application

Get the events of the user (having the participant role)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/entries?order_by=charity%3Adesc%2Cevent%3Aasc%2Cstatus%3Adesc%2Ccreated_at%3Adesc&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"consequatur\",
    \"status\": \"incomplete\",
    \"year\": \"2024\",
    \"month\": 3,
    \"page\": 83,
    \"per_page\": 19,
    \"period\": \"180d\",
    \"order_by\": [
        \"ab\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/entries"
);

const params = {
    "order_by": "charity:desc,event:asc,status:desc,created_at:desc",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "consequatur",
    "status": "incomplete",
    "year": "2024",
    "month": 3,
    "page": 83,
    "per_page": 19,
    "period": "180d",
    "order_by": [
        "ab"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/entries

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

category   string  optional  

Filter by event category slug.

status   string  optional  

Filter by participant status.

year   integer  optional  

Filter by year.

month   integer  optional  

Filter by month.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: charity:desc,event:asc,status:desc,created_at:desc

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: consequatur

category   string  optional  
status   string  optional  

Must be one of complete, notified, clearance, incomplete, or transferred. Example: incomplete

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

page   integer  optional  

Must be at least 1. Example: 83

per_page   integer  optional  

Must be at least 1. Example: 19

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 180d

order_by   string[]  optional  

Edit an entry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/entries/voluptatem/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/entries/voluptatem/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/entries/{participant}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

Example: voluptatem

participant_ref   string   

The ref of the participant. Example: 97d40d8e-9d33-4f80-9f07-78aea6a59039

Update an entry

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/entries/97d40d8e-9d33-4f80-9f07-78aea6a59039/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"Marc\",
    \"last_name\": \"Roby AM\",
    \"phone\": \"447834418119\",
    \"profile\": {
        \"gender\": \"male\",
        \"dob\": \"18-02-1980\",
        \"city\": \"London\",
        \"state\": \"England\",
        \"address\": \"Chelsea Studios 410-412 Fulham Road., London SW6 1EB, UK\",
        \"country\": \"United Kingdom\",
        \"postcode\": \"SW6 1EB\",
        \"nationality\": \"British\",
        \"occupation\": \"Stock Broker\",
        \"passport_number\": \"P5508000A\",
        \"ethnicity\": \"white_british\"
    },
    \"weekly_physical_activity\": \"1 - 2 days\",
    \"slogan\": \"quod\",
    \"club\": \"reprehenderit\",
    \"emergency_contact_name\": \"John Doe\",
    \"emergency_contact_phone\": \"07851081623\",
    \"tshirt_size\": \"xl\",
    \"preferred_heat_time\": \"tenetur\",
    \"raced_before\": false,
    \"speak_with_coach\": false,
    \"hear_from_partner_charity\": true,
    \"reason_for_participating\": \"sed\",
    \"estimated_finish_time\": \"odio\",
    \"enable_family_registration\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/entries/97d40d8e-9d33-4f80-9f07-78aea6a59039/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "Marc",
    "last_name": "Roby AM",
    "phone": "447834418119",
    "profile": {
        "gender": "male",
        "dob": "18-02-1980",
        "city": "London",
        "state": "England",
        "address": "Chelsea Studios 410-412 Fulham Road., London SW6 1EB, UK",
        "country": "United Kingdom",
        "postcode": "SW6 1EB",
        "nationality": "British",
        "occupation": "Stock Broker",
        "passport_number": "P5508000A",
        "ethnicity": "white_british"
    },
    "weekly_physical_activity": "1 - 2 days",
    "slogan": "quod",
    "club": "reprehenderit",
    "emergency_contact_name": "John Doe",
    "emergency_contact_phone": "07851081623",
    "tshirt_size": "xl",
    "preferred_heat_time": "tenetur",
    "raced_before": false,
    "speak_with_coach": false,
    "hear_from_partner_charity": true,
    "reason_for_participating": "sed",
    "estimated_finish_time": "odio",
    "enable_family_registration": false
};

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

Request      

PUT api/v1/portal/entries/{participant_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant_ref   string   

The ref of the participant. Example: 97d40d8e-9d33-4f80-9f07-78aea6a59039

Body Parameters

first_name   string   

Example: Marc

last_name   string   

Example: Roby AM

phone   string  optional  

Example: 447834418119

profile   object  optional  
gender   string  optional  

Must be one of male, female, or other. Example: male

dob   string  optional  

The dob. Must be a valid date in the format d-m-Y. Example: 18-02-1980

city   string  optional  

Example: London

state   string  optional  

The state they reside in. Example: England

address   string   

Example: Chelsea Studios 410-412 Fulham Road., London SW6 1EB, UK

country   string  optional  

Example: United Kingdom

postcode   string  optional  

Example: SW6 1EB

nationality   string  optional  

Example: British

occupation   string  optional  

Example: Stock Broker

passport_number   string  optional  

Example: P5508000A

ethnicity   string  optional  

Must be one of white_british, white_other, asian_or_asian_british, prefer_not_to_say, mixed_or_multiple_ethnic_groups, black_or_black_british, or other_ethnic_group. Example: white_british

weekly_physical_activity   string  optional  

Must be one of 1 - 2 days, 3 - 5 days, or 6+ days. Example: 1 - 2 days

slogan   string  optional  

Example: quod

club   string  optional  

Example: reprehenderit

emergency_contact_name   string  optional  

Example: John Doe

emergency_contact_phone   string  optional  

Example: 07851081623

tshirt_size   string  optional  

Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, or xxxl. Example: xl

preferred_heat_time   string  optional  

Example: tenetur

raced_before   boolean   

Example: false

speak_with_coach   boolean   

Example: false

hear_from_partner_charity   boolean   

Example: true

reason_for_participating   string  optional  

Example: sed

estimated_finish_time   string  optional  

Example: odio

enable_family_registration   boolean   

Example: false

custom_fields   string  optional  

Check if the participant can be transferred to another event

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/entries/ut/verify-transfer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"975df0ab-6954-4636-8792-fd242aeb7ee9\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/entries/ut/verify-transfer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "975df0ab-6954-4636-8792-fd242aeb7ee9"
};

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

Request      

POST api/v1/portal/entries/{participant}/verify-transfer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

Example: ut

participant_ref   string   

The ref of the participant. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

Body Parameters

eec   string   

The event event category ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Transfer the participant to another event

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/entries/quibusdam/transfer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"975df0ab-6954-4636-8792-fd242aeb7ee9\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/entries/quibusdam/transfer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "975df0ab-6954-4636-8792-fd242aeb7ee9"
};

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

Request      

POST api/v1/portal/entries/{participant}/transfer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

Example: quibusdam

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9 // * @queryParam eec string required The eec ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9 // For emails - Transfer initiated by admin

Body Parameters

eec   string   

The event event category ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Download an entry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/entries/eos/download" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/entries/eos/download"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/entries/{participant}/download

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

Example: eos

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Delete one or many participants (Soft delete)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/entries/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"veritatis\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/entries/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "veritatis"
    ]
};

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

Request      

DELETE api/v1/portal/entries/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Entries Stats

requires authentication

Get Entries Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/entries/stats/summary?year=2022&category=marathons&type=entries&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/entries/stats/summary"
);

const params = {
    "year": "2022",
    "category": "marathons",
    "type": "entries",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/entries/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

category   string  optional  

Specifying method of filtering query by category. Example: marathons

type   string  optional  

Specifying method of filtering query by type. Example: entries

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Entries Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/entries/stats/chart?type=entries&year=2022&category=marathons&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/entries/stats/chart"
);

const params = {
    "type": "entries",
    "year": "2022",
    "category": "marathons",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/entries/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: entries

year   string  optional  

Specifying method of filtering query by year. Example: 2022

category   string  optional  

Specifying method of filtering query by category. Example: marathons

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Event Categories

Manages event categories on the application

Paginated event categories for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"illo\",
    \"with_setting_custom_fields\": false,
    \"for\": \"entries\",
    \"page\": 55,
    \"per_page\": 43
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "illo",
    "with_setting_custom_fields": false,
    "for": "entries",
    "page": 55,
    "per_page": 43
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

with_setting_custom_fields   boolean  optional  

Add the site settings custom fields to the data.

for   string  optional  

Only return the ones that are associated with the participants entries. Should be one of entries.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: illo

with_setting_custom_fields   boolean  optional  

Example: false

for   string  optional  

Must be one of entries. Example: entries

page   integer  optional  

Must be at least 1. Example: 55

per_page   integer  optional  

Must be at least 1. Example: 43

The list of event categories

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories?faqs=with&medals=with&order_by=name%3Adesc%2Cvisibility%3Aasc%2Ccreated_at%3Adesc&drafted=with&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"explicabo\",
    \"visibility\": \"public\",
    \"faqs\": \"with\",
    \"medals\": \"without\",
    \"page\": 4,
    \"per_page\": 6,
    \"drafted\": \"only\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"inventore\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories"
);

const params = {
    "faqs": "with",
    "medals": "with",
    "order_by": "name:desc,visibility:asc,created_at:desc",
    "drafted": "with",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "explicabo",
    "visibility": "public",
    "faqs": "with",
    "medals": "without",
    "page": 4,
    "per_page": 6,
    "drafted": "only",
    "deleted": "only",
    "order_by": [
        "inventore"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

visibility   string  optional  

Filter by visibility. Must be one of public, private.

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

medals   string  optional  

Specifying the inclusion of ONLY pages with associated medals. Should be one of with, without. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,visibility:asc,created_at:desc

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: explicabo

visibility   string   

Must be one of public or private. Example: public

faqs   string  optional  

Must be one of with or without. Example: with

medals   string  optional  

Must be one of with or without. Example: without

page   integer  optional  

Must be at least 1. Example: 4

per_page   integer  optional  

Must be at least 1. Example: 6

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Create a new event category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store the new event category

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Marathons\",
    \"site_ref\": \"97715e8d-ab6e-4e14-8eb3-c667d2d1e38b\",
    \"description\": \"Ut sint nulla modi magni deserunt est.\",
    \"color\": \"#f0ad00\",
    \"distance_in_km\": 42.195,
    \"visibility\": \"public\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"nofollow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"ducimus\"
            ]
        }
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"qui\"
    ],
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Marathons",
    "site_ref": "97715e8d-ab6e-4e14-8eb3-c667d2d1e38b",
    "description": "Ut sint nulla modi magni deserunt est.",
    "color": "#f0ad00",
    "distance_in_km": 42.195,
    "visibility": "public",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "nofollow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "ducimus"
            ]
        }
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "qui"
    ],
    "is_draft": false
};

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

Request      

POST api/v1/portal/events/categories/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the event category. This field is required when site_ref is present. Example: Marathons

site_ref   string   

site ref. Example: 97715e8d-ab6e-4e14-8eb3-c667d2d1e38b

description   string  optional  

Example: Ut sint nulla modi magni deserunt est.

color   string   

Event Category color. Must not be greater than 16 characters. Example: #f0ad00

distance_in_km   number  optional  

Event Category distance. Must be between 0 and 999999.9999. Example: 42.195

visibility   string   

Must be one of public or private. Example: public

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Get an event category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category_ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit an event category

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category_ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Update an event category

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_ref\": \"97715e8d-ab6e-4e14-8eb3-c667d2d1e38b\",
    \"name\": \"Marathons\",
    \"description\": \"Description of the event category\",
    \"color\": \"#f0ad00\",
    \"distance_in_km\": 42.195,
    \"visibility\": \"public\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"follow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"modi\"
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"cupiditate\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_ref": "97715e8d-ab6e-4e14-8eb3-c667d2d1e38b",
    "name": "Marathons",
    "description": "Description of the event category",
    "color": "#f0ad00",
    "distance_in_km": 42.195,
    "visibility": "public",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "follow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "modi"
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "cupiditate"
    ]
};

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

Request      

PUT api/v1/portal/events/categories/{category_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

site_ref   string  optional  

site ref. This field is required when name is present. Example: 97715e8d-ab6e-4e14-8eb3-c667d2d1e38b

name   string  optional  

The name of the event category. Example: Marathons

description   string  optional  

The description of the event category. Example: Description of the event category

color   string   

Event Category color. Must not be greater than 16 characters. Example: #f0ad00

distance_in_km   number  optional  

Event Category distance. Must be between 0 and 999999.9999. Example: 42.195

visibility   string   

Must be one of public or private. Example: public

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 12

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 21

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   

Mark one or more event categories as draft

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/events/categories/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with event categories.

Mark one or more event categories as published

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/events/categories/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with categories.

Delete one or many event categories

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"facere\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "facere"
    ]
};

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

Request      

DELETE api/v1/portal/events/categories/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Restore one or many event categories

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"autem\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "autem"
    ]
};

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

Request      

POST api/v1/portal/events/categories/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Delete one or many event categories (Permanently) Only the administrator can delete an event category permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"aut\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "aut"
    ]
};

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

Request      

DELETE api/v1/portal/events/categories/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Export event categories

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/export?order_by=name%3Adesc%2Cvisibility%3Aasc%2Ccreated_at%3Adesc&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"rem\",
    \"visibility\": \"public\",
    \"faqs\": \"without\",
    \"medals\": \"with\",
    \"page\": 19,
    \"per_page\": 21,
    \"drafted\": \"without\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"et\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/export"
);

const params = {
    "order_by": "name:desc,visibility:asc,created_at:desc",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "rem",
    "visibility": "public",
    "faqs": "without",
    "medals": "with",
    "page": 19,
    "per_page": 21,
    "drafted": "without",
    "deleted": "without",
    "order_by": [
        "et"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,visibility:asc,created_at:desc

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: rem

visibility   string   

Must be one of public or private. Example: public

faqs   string  optional  

Must be one of with or without. Example: without

medals   string  optional  

Must be one of with or without. Example: with

page   integer  optional  

Must be at least 1. Example: 19

per_page   integer  optional  

Must be at least 1. Example: 21

drafted   string  optional  

Must be one of with, without, or only. Example: without

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  

Remove the event category's image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/earum/image/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/earum/image/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/events/categories/{category}/image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: earum

upload_ref   string   

The ref of the upload. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Create an event category's national average

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/numquam/national/average/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/numquam/national/average/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category}/national/average/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: numquam

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Store the new event category national average

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/est/national/average/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"gender\": \"male\",
    \"year\": \"2022\",
    \"time\": \"02:32:15\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/est/national/average/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "gender": "male",
    "year": "2022",
    "time": "02:32:15"
};

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

Request      

POST api/v1/portal/events/categories/{category}/national/average/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: est

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

gender   string   

The gender. Must be one of male, female. Example: male

year   string   

The year. Must be 4 digits. Must be a valid date in the format Y. Example: 2022

time   string   

The time. Must be a valid date in the format H:i:s. Example: 02:32:15

Get an event category national average

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/consequuntur/national/average/mollitia/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/consequuntur/national/average/mollitia/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category}/national/average/{nationalAverage}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: consequuntur

nationalAverage   string   

Example: mollitia

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

nationalAverage_ref   string   

The ref of the national average. Example: 97b026f5-94a1-4e59-8ebe-12a26e2c76ae

Edit an event category national average

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/aut/national/average/adipisci/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/aut/national/average/adipisci/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category}/national/average/{nationalAverage}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: aut

nationalAverage   string   

Example: adipisci

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

nationalAverage_ref   string   

The ref of the national average. Example: 97b026f5-94a1-4e59-8ebe-12a26e2c76ae

Update an event category national average

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/categories/eum/national/average/nulla/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"gender\": \"male\",
    \"year\": \"2022\",
    \"time\": \"02:32:15\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/eum/national/average/nulla/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "gender": "male",
    "year": "2022",
    "time": "02:32:15"
};

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

Request      

PUT api/v1/portal/events/categories/{category}/national/average/{nationalAverage}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: eum

nationalAverage   string   

Example: nulla

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

nationalAverage_ref   string   

The ref of the national average. Example: 97b026f5-94a1-4e59-8ebe-12a26e2c76ae

Body Parameters

gender   string   

The gender. Must be one of male, female. Example: male

year   string   

The year. Must be 4 digits. Must be a valid date in the format Y. Example: 2022

time   string   

The time. Must be a valid date in the format H:i:s. Example: 02:32:15

Get the event category medals.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/debitis/medals" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"sit\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/debitis/medals"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "sit"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/{category}/medals

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category   string   

The category. Example: debitis

category_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

Body Parameters

term   string  optional  

Example: sit

Delete One/Many Faqs

requires authentication

Delete multiple event category FAQS by specifying their ids

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/events/categories/{category_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific Event Category FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple Page FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/events/categories/{category_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

The ref of the event category. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

faq_ref   string   

The ref of the faq. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific event category faq_details ids.

Remove faq details image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/categories/yyuguysavydkbioabionanjkbjboubabibbu/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/voluptas/faq-details-image/minima/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/yyuguysavydkbioabionanjkbjboubabibbu/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/voluptas/faq-details-image/minima/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/events/categories/{category_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

category_ref   string   

Example: yyuguysavydkbioabionanjkbjboubabibbu

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: voluptas

upload_ref   string   

Example: minima

Event Category Stats

requires authentication

Get Event Category Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/categories/stats/summary?year=2022&status=voluptas&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/stats/summary"
);

const params = {
    "year": "2022",
    "status": "voluptas",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/categories/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: voluptas

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Paginated event categories for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/categories/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"id\",
    \"with_setting_custom_fields\": true,
    \"for\": \"entries\",
    \"page\": 47,
    \"per_page\": 15
}"
const url = new URL(
    "https://api.test/api/v1/client/events/categories/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "id",
    "with_setting_custom_fields": true,
    "for": "entries",
    "page": 47,
    "per_page": 15
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/events/categories/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

with_setting_custom_fields   boolean  optional  

Add the site settings custom fields to the data.

for   string  optional  

Only return the ones that are associated with the participants entries. Should be one of entries.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: id

with_setting_custom_fields   boolean  optional  

Example: true

for   string  optional  

Must be one of entries. Example: entries

page   integer  optional  

Must be at least 1. Example: 47

per_page   integer  optional  

Must be at least 1. Example: 15

Event Categories - Client

The list of event categories

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/categories?popular=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"harum\",
    \"popular\": false,
    \"page\": 28,
    \"per_page\": 34
}"
const url = new URL(
    "https://api.test/api/v1/client/events/categories"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "harum",
    "popular": false,
    "page": 28,
    "per_page": 34
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of categories",
    "data": {
        "event_categories": {
            "current_page": 28,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/events/categories?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/events/categories?page=1",
            "links": [
                {
                    "url": "https://api.test/api/v1/client/events/categories?page=27",
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/events/categories?page=1",
                    "label": "1",
                    "active": false
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/events/categories",
            "per_page": 34,
            "prev_page_url": "https://api.test/api/v1/client/events/categories?page=27",
            "to": null,
            "total": 0,
            "query_params": {
                "popular": true,
                "page": 1
            }
        }
    }
}
 

Request      

GET api/v1/client/events/categories

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

popular   boolean  optional  

Filter by most popular. Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: harum

popular   boolean  optional  

Example: false

page   integer  optional  

Must be at least 1. Example: 28

per_page   integer  optional  

Must be at least 1. Example: 34

Get the events under a category

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/categories/marathons?category=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&start_date=%2222-02-2018%22&end_date=%2222-02-2023%22&price[]=12&price[]=80&virtual_events=include&skip=6&take=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"quia\",
    \"start_date\": \"27-05-2024\",
    \"end_date\": \"2089-11-06\",
    \"price\": [
        10
    ],
    \"category\": \"non\",
    \"region\": \"saepe\",
    \"address\": \"autem\",
    \"virtual_events\": \"include\",
    \"date\": \"dolorum\",
    \"page\": 63,
    \"per_page\": 90
}"
const url = new URL(
    "https://api.test/api/v1/client/events/categories/marathons"
);

const params = {
    "category": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "start_date": ""22-02-2018"",
    "end_date": ""22-02-2023"",
    "price[0]": "12",
    "price[1]": "80",
    "virtual_events": "include",
    "skip": "6",
    "take": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "quia",
    "start_date": "27-05-2024",
    "end_date": "2089-11-06",
    "price": [
        10
    ],
    "category": "non",
    "region": "saepe",
    "address": "autem",
    "virtual_events": "include",
    "date": "dolorum",
    "page": 63,
    "per_page": 90
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "end_date": [
            "The end date does not match the format d-m-Y."
        ],
        "price": [
            "The price must contain 2 items."
        ],
        "category": [
            "The category is invalid."
        ],
        "region": [
            "The region is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/events/categories/{_category}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

_category   string   

The slug of the event category. Example: marathons

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

start_date   string  optional  

Filter by start_date. Must be a valid date in the format d-m-Y. Example: "22-02-2018"

end_date   string  optional  

Filter by end_date. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region ref.

address   string  optional  

Filter by address.

virtual_events   string  optional  

Filter by virtual_events. Must be one of include, exclude, only. Example: include

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

skip   integer  optional  

The number of items to skip before taking the number of items specified by the take query param Example: 6

take   integer  optional  

Number of items to return. Example 6 Example: 1

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

name   string  optional  

Example: quia

start_date   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

end_date   string  optional  

Must be a valid date in the format d-m-Y. Must be a date after or equal to start_date. Example: 2089-11-06

price   integer[]  optional  
category   string  optional  

Example: non

region   string  optional  

Example: saepe

address   string  optional  

Example: autem

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: include

date   string  optional  

Example: dolorum

page   integer  optional  

Must be at least 1. Example: 63

per_page   integer  optional  

Must be at least 1. Example: 90

EventFAQs

Event FAQs

requires authentication

FAQs associated with specified event.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event_ref}/faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

Example: qwertyuiopfdssdfghj

event   string   

The ref attribute of the Event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Add new FAQs

requires authentication

Create new FAQs associated with specified event.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/store-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n                \\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n                \\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n                \\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n                \\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"nulla\"
            ]
        }
    ],
    \"faqs[]\": \"[[\\\"section\\\": \\\"some section 1\\\", \\\"description\\\": \\\"some description 1\\\", \\\"details\\\": [\\\"question\\\": \\\"some question 1\\\", \\\"answer\\\": \\\"some answer 1\\\"], \\\"images\\\": [\\\"data:image\\/png;base64,iVBORw0...\\\"]]]\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/store-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n                \n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n                \n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n                \n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n                \n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "nulla"
            ]
        }
    ],
    "faqs[]": "[[\"section\": \"some section 1\", \"description\": \"some description 1\", \"details\": [\"question\": \"some question 1\", \"answer\": \"some answer 1\"], \"images\": [\"data:image\/png;base64,iVBORw0...\"]]]"
};

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

Request      

POST api/v1/portal/events/{event_ref}/store-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

Example: qwertyuiopfdssdfghj

event   string   

The ref attribute of the Event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

faqs   object[]   
section   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]   
answer   string   

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

images   string[]  optional  
faqs[]   string   

The FAQs collection being created for specified event. Example: [["section": "some section 1", "description": "some description 1", "details": ["question": "some question 1", "answer": "some answer 1"], "images": ["data:image/png;base64,iVBORw0..."]]]

Update existing FAQs

requires authentication

Update FAQs associated with specified event.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/update-faq" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": [
        {
            \"faq_id\": 26,
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"ut\"
            ]
        }
    ],
    \"faqs[]\": \"[[\\\"faq_id\\\": 1, \\\"section\\\": \\\"some section 1\\\", \\\"description\\\": \\\"some description 1\\\", \\\"details\\\": [\\\"question\\\": \\\"some question 1\\\", \\\"answer\\\": \\\"some answer 1\\\"], \\\"images\\\": [\\\"data:image\\/png;base64,iVBORw0...\\\"]]]\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/update-faq"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": [
        {
            "faq_id": 26,
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "ut"
            ]
        }
    ],
    "faqs[]": "[[\"faq_id\": 1, \"section\": \"some section 1\", \"description\": \"some description 1\", \"details\": [\"question\": \"some question 1\", \"answer\": \"some answer 1\"], \"images\": [\"data:image\/png;base64,iVBORw0...\"]]]"
};

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

Request      

PATCH api/v1/portal/events/{event_ref}/update-faq

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

Example: qwertyuiopfdssdfghj

event   string   

The ref attribute of the Event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

faqs   object[]   
faq_id   integer   

The FAQ id. Example: 26

section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]   
details_id   integer  optional  

Example: 14

question   string  optional  

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  
faqs[]   string   

The FAQs collection being created for specified event. (The array items should include a key value pair of faq_id - id). Example: [["faq_id": 1, "section": "some section 1", "description": "some description 1", "details": ["question": "some question 1", "answer": "some answer 1"], "images": ["data:image/png;base64,iVBORw0..."]]]

Events

Manages events on the application

Paginated events for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/all?with[value]=categories&with[visibility]=public&active=1&state=live&extra_attributes=%27country%2Cestimated%2Cpartner_event%27&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"quibusdam\",
    \"with\": {
        \"value\": \"minima\",
        \"visibility\": \"public\"
    },
    \"active\": false,
    \"state\": \"live\",
    \"extra_attributes\": [
        \"enim\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/all"
);

const params = {
    "with[value]": "categories",
    "with[visibility]": "public",
    "active": "1",
    "state": "live",
    "extra_attributes": "'country,estimated,partner_event'",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "quibusdam",
    "with": {
        "value": "minima",
        "visibility": "public"
    },
    "active": false,
    "state": "live",
    "extra_attributes": [
        "enim"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

with   object  optional  

Fields to filter by.

with.value   string  optional  

Get events with categories or with third parties. Must be one of categories, third_parties. Example: categories

with.visibility   string  optional  

Filter the event categories of the events returned above. Must be one of public, private. Example: public

active   boolean  optional  

Filter by active events. Example: true

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

extra_attributes   string  optional  

Filter by extra properties. Example: 'country,estimated,partner_event'

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page ,

Body Parameters

term   string  optional  

Example: quibusdam

with   object   
value   string  optional  

Must be one of categories or third_parties. Example: minima

visibility   string   

Must be one of public or private. Example: public

active   boolean  optional  

Example: false

state   string  optional  

Must be one of live, expired, or archived. Example: live

extra_attributes   string[]  optional  

The list of events

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events?state=live&year=2023&status=1&type=standalone&partner_event=1&country=1&faqs=with&medals=with&ids[]=148&ids[]=153&deleted=with&drafted=with&order_by=name%3Aasc%2Cstart_date%3Aasc%2Cend_date%3Adesc&has_third_party_set_up=1&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"et\",
    \"status\": true,
    \"partner_event\": true,
    \"year\": \"2024\",
    \"month\": 4,
    \"state\": \"expired\",
    \"country\": \"sit\",
    \"region\": \"amet\",
    \"city\": \"aut\",
    \"venue\": \"debitis\",
    \"type\": \"standalone\",
    \"faqs\": \"with\",
    \"medals\": \"without\",
    \"deleted\": \"without\",
    \"drafted\": \"without\",
    \"order_by\": [
        \"aut\"
    ],
    \"has_third_party_set_up\": false,
    \"page\": 65,
    \"per_page\": 80
}"
const url = new URL(
    "https://api.test/api/v1/portal/events"
);

const params = {
    "state": "live",
    "year": "2023",
    "status": "1",
    "type": "standalone",
    "partner_event": "1",
    "country": "1",
    "faqs": "with",
    "medals": "with",
    "ids[0]": "148",
    "ids[1]": "153",
    "deleted": "with",
    "drafted": "with",
    "order_by": "name:asc,start_date:asc,end_date:desc",
    "has_third_party_set_up": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "et",
    "status": true,
    "partner_event": true,
    "year": "2024",
    "month": 4,
    "state": "expired",
    "country": "sit",
    "region": "amet",
    "city": "aut",
    "venue": "debitis",
    "type": "standalone",
    "faqs": "with",
    "medals": "without",
    "deleted": "without",
    "drafted": "without",
    "order_by": [
        "aut"
    ],
    "has_third_party_set_up": false,
    "page": 65,
    "per_page": 80
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

category   string  optional  

Filter by event category ref.

region   string  optional  

Filter by region ref.

city   string  optional  

Filter by city ref.

venue   string  optional  

Filter by venue ref.

event_experience   string  optional  

Filter by event_experience ref.

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   boolean  optional  

Filter by status. Example: true

type   string  optional  

Filter by type. Should be one of rolling, standalone. Example: standalone

partner_event   boolean  optional  

Filter by partner_event. Example: true

country   boolean  optional  

Filter by country. Example: true

term   string  optional  

Filter by term. The term to search for.

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

medals   string  optional  

Specifying the inclusion of ONLY pages with associated medals. Should be one of with, without. Example: with

ids   integer[]  optional  

Filter by ids. Must be an array of ids.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:asc,start_date:asc,end_date:desc

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

has_third_party_set_up   boolean  optional  

Filter by events having third party setup or not. Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: et

status   boolean  optional  

Example: true

partner_event   boolean  optional  

Example: true

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

state   string  optional  

Must be one of live, expired, or archived. Example: expired

site   string  optional  
category   string  optional  
country   string  optional  

Example: sit

region   string  optional  

Example: amet

city   string  optional  

Example: aut

venue   string  optional  

Example: debitis

experience   string  optional  
type   string  optional  

Must be one of standalone or rolling. Example: standalone

faqs   string  optional  

Must be one of with or without. Example: with

medals   string  optional  

Must be one of with or without. Example: without

ids   object  optional  
deleted   string  optional  

Must be one of with, without, or only. Example: without

drafted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
has_third_party_set_up   boolean  optional  

Example: false

page   integer  optional  

Must be at least 1. Example: 65

per_page   integer  optional  

Must be at least 1. Example: 80

The upcoming events.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/upcoming?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 43,
    \"per_page\": 9
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/upcoming"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 43,
    "per_page": 9
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/upcoming

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 43

per_page   integer  optional  

Must be at least 1. Example: 9

Create an event

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Edit an event

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/ut/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/ut/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: ut

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Update the registration fields (mandatory & optional) of an event

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/qui/reg-fields/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"reg_first_name\": false,
    \"reg_last_name\": false,
    \"reg_email\": true,
    \"reg_gender\": false,
    \"reg_dob\": false,
    \"reg_phone\": false,
    \"reg_preferred_heat_time\": false,
    \"reg_raced_before\": true,
    \"reg_estimated_finish_time\": true,
    \"reg_tshirt_size\": true,
    \"reg_age_on_race_day\": true,
    \"reg_month_born_in\": false,
    \"reg_nationality\": true,
    \"reg_occupation\": true,
    \"reg_address\": true,
    \"reg_city\": true,
    \"reg_state\": false,
    \"reg_postcode\": true,
    \"reg_country\": true,
    \"reg_emergency_contact_name\": false,
    \"reg_emergency_contact_phone\": true,
    \"reg_passport_number\": true,
    \"reg_family_registrations\": false,
    \"reg_minimum_age\": 11,
    \"born_before\": \"2013-05-27\",
    \"reg_ethnicity\": false,
    \"reg_weekly_physical_activity\": false,
    \"reg_speak_with_coach\": false,
    \"reg_hear_from_partner_charity\": true,
    \"reg_reason_for_participating\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/qui/reg-fields/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "reg_first_name": false,
    "reg_last_name": false,
    "reg_email": true,
    "reg_gender": false,
    "reg_dob": false,
    "reg_phone": false,
    "reg_preferred_heat_time": false,
    "reg_raced_before": true,
    "reg_estimated_finish_time": true,
    "reg_tshirt_size": true,
    "reg_age_on_race_day": true,
    "reg_month_born_in": false,
    "reg_nationality": true,
    "reg_occupation": true,
    "reg_address": true,
    "reg_city": true,
    "reg_state": false,
    "reg_postcode": true,
    "reg_country": true,
    "reg_emergency_contact_name": false,
    "reg_emergency_contact_phone": true,
    "reg_passport_number": true,
    "reg_family_registrations": false,
    "reg_minimum_age": 11,
    "born_before": "2013-05-27",
    "reg_ethnicity": false,
    "reg_weekly_physical_activity": false,
    "reg_speak_with_coach": false,
    "reg_hear_from_partner_charity": true,
    "reg_reason_for_participating": true
};

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

Request      

PUT api/v1/portal/events/{event}/reg-fields/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: qui

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

reg_first_name   boolean   

Example: false

reg_last_name   boolean   

Example: false

reg_email   boolean   

Example: true

reg_gender   boolean   

Example: false

reg_dob   boolean   

Example: false

reg_phone   boolean   

Example: false

reg_preferred_heat_time   boolean   

Example: false

custom_preferred_heat_time   string  optional  
custom_preferred_heat_time_start   string  optional  

Example: 08:30 - 09:00

custom_preferred_heat_time_end   string  optional  

Example: 09:30 - 10:00

reg_raced_before   boolean   

Example: true

reg_estimated_finish_time   boolean   

Example: true

reg_tshirt_size   boolean   

Example: true

reg_age_on_race_day   boolean   

Example: true

reg_month_born_in   boolean   

Example: false

reg_nationality   boolean   

Example: true

reg_occupation   boolean   

Example: true

reg_address   boolean   

Example: true

reg_city   boolean   

Example: true

reg_state   boolean   

Example: false

reg_postcode   boolean   

Example: true

reg_country   boolean   

Example: true

reg_emergency_contact_name   boolean   

Example: false

reg_emergency_contact_phone   boolean   

Example: true

reg_passport_number   boolean   

Example: true

reg_family_registrations   boolean   

Example: false

reg_minimum_age   integer   

Example: 11

born_before   string   

The participant must be born before this year to be able to register. Must be a valid date in the format Y-m-d. Example: 2013-05-27

reg_ethnicity   boolean   

Example: false

reg_weekly_physical_activity   boolean   

Example: false

reg_speak_with_coach   boolean   

Example: false

reg_hear_from_partner_charity   boolean   

Example: true

reg_reason_for_participating   boolean   

Example: true

Mark an event as published

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2,
        3
    ]
};

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

Request      

POST api/v1/portal/events/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The ids of the events to be marked as published.

Mark an event as draft

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2,
        3
    ]
};

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

Request      

POST api/v1/portal/events/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The ids of the events to be marked as draft.

Delete one or many events (Soft delete)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"quia\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "quia"
    ]
};

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

Request      

DELETE api/v1/portal/events/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Restore one or many events

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"iusto\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "iusto"
    ]
};

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

Request      

POST api/v1/portal/events/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Delete one or many events (Permanently) Only the administrator can delete an event permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"similique\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "similique"
    ]
};

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

Request      

DELETE api/v1/portal/events/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Remove the event image or an image from the event's gallery.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/ut/images/97ad9df6-d927-4a44-8fec-3daacee89678/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/ut/images/97ad9df6-d927-4a44-8fec-3daacee89678/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/events/{event}/images/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: ut

upload_ref   string   

The ref of the upload. Example: 97ad9df6-d927-4a44-8fec-3daacee89678

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Duplicate an event

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/cupiditate/duplicate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/cupiditate/duplicate"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/events/{event}/duplicate

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: cupiditate

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Archive an event

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/voluptatem/archive" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/voluptatem/archive"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/events/{event}/archive

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: voluptatem

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Archive multiple events

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/archive" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"event_refs\": [
        \"dolorem\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/archive"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "event_refs": [
        "dolorem"
    ]
};

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

Request      

POST api/v1/portal/events/archive

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

event_refs   string[]  optional  

Export events

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/export?state=live&year=2023&status=1&type=rolling%2C+standalone&partner_event=1&ids[]=148&ids[]=153&deleted=with&order_by=name%3Aasc%2Cstart_date%3Aasc%2Cend_date%3Adesc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"qui\",
    \"status\": false,
    \"partner_event\": true,
    \"year\": \"2024\",
    \"month\": 7,
    \"state\": \"live\",
    \"country\": \"quia\",
    \"region\": \"sint\",
    \"city\": \"autem\",
    \"venue\": \"omnis\",
    \"type\": \"rolling\",
    \"faqs\": \"without\",
    \"medals\": \"with\",
    \"deleted\": \"only\",
    \"drafted\": \"with\",
    \"order_by\": [
        \"doloremque\"
    ],
    \"has_third_party_set_up\": true,
    \"page\": 84,
    \"per_page\": 86
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/export"
);

const params = {
    "state": "live",
    "year": "2023",
    "status": "1",
    "type": "rolling, standalone",
    "partner_event": "1",
    "ids[0]": "148",
    "ids[1]": "153",
    "deleted": "with",
    "order_by": "name:asc,start_date:asc,end_date:desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "qui",
    "status": false,
    "partner_event": true,
    "year": "2024",
    "month": 7,
    "state": "live",
    "country": "quia",
    "region": "sint",
    "city": "autem",
    "venue": "omnis",
    "type": "rolling",
    "faqs": "without",
    "medals": "with",
    "deleted": "only",
    "drafted": "with",
    "order_by": [
        "doloremque"
    ],
    "has_third_party_set_up": true,
    "page": 84,
    "per_page": 86
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

category   string  optional  

Filter by event category ref.

region   string  optional  

Filter by region ref.

city   string  optional  

Filter by city ref.

venue   string  optional  

Filter by venue ref.

event_experience   string  optional  

Filter by event_experience ref.

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   boolean  optional  

Filter by status. Example: true

type   string  optional  

Filter by type. Example: rolling, standalone

partner_event   boolean  optional  

Filter by partner_event. Example: true

term   string  optional  

Filter by term. The term to search for.

ids   integer[]  optional  

Filter by ids. Must be an array of ids.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:asc,start_date:asc,end_date:desc

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: qui

status   boolean  optional  

Example: false

partner_event   boolean  optional  

Example: true

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

state   string  optional  

Must be one of live, expired, or archived. Example: live

site   string  optional  
category   string  optional  
country   string  optional  

Example: quia

region   string  optional  

Example: sint

city   string  optional  

Example: autem

venue   string  optional  

Example: omnis

experience   string  optional  
type   string  optional  

Must be one of standalone or rolling. Example: rolling

faqs   string  optional  

Must be one of with or without. Example: without

medals   string  optional  

Must be one of with or without. Example: with

ids   object  optional  
deleted   string  optional  

Must be one of with, without, or only. Example: only

drafted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
has_third_party_set_up   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 84

per_page   integer  optional  

Must be at least 1. Example: 86

The charities summary for an event (grouped by it's event categories)

requires authentication

TODO: @tsaffi - Revise this logic based on the similar revision made on SFC

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/asperiores/charity/summary" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/asperiores/charity/summary"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/charity/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: asperiores

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Toggle charity total places notifications Whether or not to notify a charity when it's availble places reduces to certain threshold values.

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/qui/charity/97ad9df6-bc08-4729-b95e-3671dc6192c2/totalPlacesNotifications/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"notify\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/qui/charity/97ad9df6-bc08-4729-b95e-3671dc6192c2/totalPlacesNotifications/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "notify": true
};

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

Request      

PUT api/v1/portal/events/{event}/charity/{charity_ref}/totalPlacesNotifications/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: qui

charity_ref   string   

The ref of the charity. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

notify   boolean   

Example: true

Add an event to promotional pages

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/vel/promotionalPages/add" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/vel/promotionalPages/add"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/promotionalPages/add

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: vel

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Get the event's custom fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/earum/custom-fields" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/earum/custom-fields"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/custom-fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: earum

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

Create an event custom field for registration

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/cum/custom-field/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/cum/custom-field/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/custom-field/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: cum

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Store an event custom field for registration

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/quaerat/custom-field/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Marital Status\",
    \"type\": \"select\",
    \"status\": false,
    \"rule\": \"required\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/quaerat/custom-field/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Marital Status",
    "type": "select",
    "status": false,
    "rule": "required"
};

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

Request      

POST api/v1/portal/events/{event}/custom-field/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: quaerat

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

name   string   

The custom field name. Must not be greater than 255 characters. Example: Marital Status

type   string   

Must be one of text, textarea, select, radio, or checkbox. Example: select

caption   string  optional  

The custom field caption.

possibilities   string  optional  
options   string[]  optional  
values   string[]  optional  
status   boolean   

Example: false

rule   string   

Must be one of required or optional. Example: required

Edit an event custom field for registration

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/odit/custom-field/voluptas/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/odit/custom-field/voluptas/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/custom-field/{event_custom_field}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: odit

event_custom_field   string   

Example: voluptas

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

event_custom_field_ref   string   

The ref of the event custom field. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Update an event custom field for registration

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/nulla/custom-field/sit/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Marital Status\",
    \"type\": \"select\",
    \"status\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/nulla/custom-field/sit/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Marital Status",
    "type": "select",
    "status": false
};

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

Request      

PUT api/v1/portal/events/{event}/custom-field/{event_custom_field}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: nulla

event_custom_field   string   

Example: sit

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

event_custom_field_ref   string   

The ref of the event custom field. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

name   string   

The custom field name. Must not be greater than 255 characters. Example: Marital Status

type   string   

Must be one of text, textarea, select, radio, or checkbox. Example: select

caption   string  optional  

The custom field caption.

possibilities   string  optional  
options   string[]  optional  
values   string[]  optional  
status   boolean  optional  

Example: false

Toggle the status of a custom field for registration

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/events/ea/custom-field/est/status/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"status\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/ea/custom-field/est/status/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "status": true
};

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

Request      

PUT api/v1/portal/events/{event}/custom-field/{event_custom_field}/status/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: ea

event_custom_field   string   

Example: est

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

event_custom_field_ref   string   

The ref of the event custom field. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

status   boolean   

Example: true

Get the event's partners (third party integration).

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/laborum/partners" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"nesciunt\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/laborum/partners"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "nesciunt"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/partners

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: laborum

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

Body Parameters

term   string  optional  

Example: nesciunt

Create an event's partner (third party integration)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/enim/partners/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/enim/partners/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/partners/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: enim

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit an event's partner (third party integration)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/a/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/a/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/partners/{event_third_party_ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: a

event_third_party_ref   string   

The ref of the event third party. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Delete one or many event partners (third party integration)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/illum/partners/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"vero\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/illum/partners/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "vero"
    ]
};

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

Request      

DELETE api/v1/portal/events/{event}/partners/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: illum

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

refs   string[]  optional  

Get the event's medals.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/numquam/medals" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"aut\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/numquam/medals"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "aut"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/medals

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: numquam

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

Body Parameters

term   string  optional  

Example: aut

Delete One/Many FAQs

requires authentication

Delete multiple FAQs from an event.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2,
        3
    ]
};

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

Request      

DELETE api/v1/portal/events/{event_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faqs_ids   string[]   

The ids of the FAQs to be deleted.

Delete One/Many FAQ Details

requires authentication

Delete multiple Event FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/events/{event_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

faq_ref   string   

The ref of the faq. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific event faq_details ids.

Remove faq details image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/aliquid/faq-details-image/ea/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/qwertyuiopfdssdfghj/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/aliquid/faq-details-image/ea/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/events/{event_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

Example: qwertyuiopfdssdfghj

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: aliquid

upload_ref   string   

Example: ea

Event Stats

requires authentication

Get Event Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/stats/summary?year=2022&status=a&category=98677146-d86a-4b10-a694-d79eb66e8220&type=invoices&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/stats/summary"
);

const params = {
    "year": "2022",
    "status": "a",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "type": "invoices",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: a

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

type   string  optional  

Specifying method of filtering query by type. Example: invoices

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Event Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/stats/chart?type=invoices&year=2022&status=eius&category=98677146-d86a-4b10-a694-d79eb66e8220&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/stats/chart"
);

const params = {
    "type": "invoices",
    "year": "2022",
    "status": "eius",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: invoices

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: eius

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Paginated events for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/all?with[value]=categories&with[visibility]=public&active=1&state=live&extra_attributes=%27country%2Cestimated%2Cpartner_event%27&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"officia\",
    \"with\": {
        \"value\": \"porro\",
        \"visibility\": \"public\"
    },
    \"active\": true,
    \"state\": \"expired\",
    \"extra_attributes\": [
        \"enim\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/events/all"
);

const params = {
    "with[value]": "categories",
    "with[visibility]": "public",
    "active": "1",
    "state": "live",
    "extra_attributes": "'country,estimated,partner_event'",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "officia",
    "with": {
        "value": "porro",
        "visibility": "public"
    },
    "active": true,
    "state": "expired",
    "extra_attributes": [
        "enim"
    ]
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/events/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

with   object  optional  

Fields to filter by.

with.value   string  optional  

Get events with categories or with third parties. Must be one of categories, third_parties. Example: categories

with.visibility   string  optional  

Filter the event categories of the events returned above. Must be one of public, private. Example: public

active   boolean  optional  

Filter by active events. Example: true

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

extra_attributes   string  optional  

Filter by extra properties. Example: 'country,estimated,partner_event'

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page ,

Body Parameters

term   string  optional  

Example: officia

with   object   
value   string  optional  

Must be one of categories or third_parties. Example: porro

visibility   string   

Must be one of public or private. Example: public

active   boolean  optional  

Example: true

state   string  optional  

Must be one of live, expired, or archived. Example: expired

extra_attributes   string[]  optional  

Events - Client

The events on the application

The list of events

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events?category=marathons&start_date=%2222-02-2018%22&end_date=%2222-02-2023%22&price[]=12&price[]=80&radius[]=12&radius[]=80&virtual_events=include&skip=6&take=3&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"excepturi\",
    \"start_date\": \"27-05-2024\",
    \"end_date\": \"2047-01-15\",
    \"price\": [
        5
    ],
    \"region\": \"dolorem\",
    \"location\": {
        \"latitude\": 6560513.010890206,
        \"longitude\": 247161
    },
    \"radius\": [
        10
    ],
    \"virtual_events\": \"exclude\",
    \"date\": \"et\",
    \"skip\": 9,
    \"take\": 1,
    \"page\": 82,
    \"per_page\": 32,
    \"image_versions\": [
        \"mobile\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/events"
);

const params = {
    "category": "marathons",
    "start_date": ""22-02-2018"",
    "end_date": ""22-02-2023"",
    "price[0]": "12",
    "price[1]": "80",
    "radius[0]": "12",
    "radius[1]": "80",
    "virtual_events": "include",
    "skip": "6",
    "take": "3",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "excepturi",
    "start_date": "27-05-2024",
    "end_date": "2047-01-15",
    "price": [
        5
    ],
    "region": "dolorem",
    "location": {
        "latitude": 6560513.010890206,
        "longitude": 247161
    },
    "radius": [
        10
    ],
    "virtual_events": "exclude",
    "date": "et",
    "skip": 9,
    "take": 1,
    "page": 82,
    "per_page": 32,
    "image_versions": [
        "mobile"
    ]
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "end_date": [
            "The end date does not match the format d-m-Y."
        ],
        "price": [
            "The price must contain 2 items."
        ],
        "region": [
            "The region is invalid."
        ],
        "radius": [
            "The radius must contain 2 items."
        ]
    }
}
 

Request      

GET api/v1/client/events

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category slug. Example: marathons

start_date   string  optional  

Filter by start_date. Must be a valid date in the format d-m-Y. Example: "22-02-2018"

end_date   string  optional  

Filter by end_date. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region ref.

city   string  optional  

Filter by city ref.

venue   string  optional  

Filter by venue ref.

address   string  optional  

Filter by address.

radius   integer[]  optional  

Filter by a location (address) radius (the area that spans the given location by the radius value provided).

virtual_events   string  optional  

Filter by virtual_events. Must be one of include, exclude, only. Example: include

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

skip   integer  optional  

The number of items to skip before taking the number of items specified by the take query param Example: 6

take   integer  optional  

Number of items to return. Example 6 Example: 3

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

name   string  optional  

Example: excepturi

category   string  optional  
start_date   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

end_date   string  optional  

Must be a valid date in the format d-m-Y. Must be a date after or equal to start_date. Example: 2047-01-15

price   integer[]  optional  
city   string  optional  
venue   string  optional  
region   string  optional  

Example: dolorem

location   object  optional  
latitude   number  optional  

Example: 6560513.0108902

longitude   number  optional  

Example: 247161

radius   integer[]  optional  
virtual_events   string  optional  

Must be one of include, exclude, or only. Example: exclude

date   string  optional  

Example: et

skip   integer  optional  

Example: 9

take   integer  optional  

Example: 1

page   integer  optional  

Must be at least 1. Example: 82

per_page   integer  optional  

Must be at least 1. Example: 32

image_versions   string[]   

Must be one of mobile, tablet, desktop, or card.

The events calendar.

Gets events for the requested month alongside those for the previous and the next month.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/calendar?month_year=11-2022&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"month_year\": \"05-2024\",
    \"name\": \"eum\",
    \"category\": \"doloremque\",
    \"region\": \"odio\",
    \"city\": \"adipisci\",
    \"venue\": \"veritatis\",
    \"experience\": \"est\",
    \"page\": 19,
    \"per_page\": 26
}"
const url = new URL(
    "https://api.test/api/v1/client/events/calendar"
);

const params = {
    "month_year": "11-2022",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "month_year": "05-2024",
    "name": "eum",
    "category": "doloremque",
    "region": "odio",
    "city": "adipisci",
    "venue": "veritatis",
    "experience": "est",
    "page": 19,
    "per_page": 26
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "region": [
            "The region is invalid."
        ],
        "city": [
            "The city is invalid."
        ],
        "venue": [
            "The venue is invalid."
        ],
        "experience": [
            "The experience is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/events/calendar

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

month_year   string  optional  

Filter by month_year. Example: 11-2022

name   string  optional  

Filter by name. The name to search for.

category   string  optional  

Filter by event category ref.

region   string  optional  

Filter by region ref.

city   string  optional  

Filter by city ref.

venue   string  optional  

Filter by venue ref.

experience   string  optional  

Filter by experience ref.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

month_year   string   

Must be a valid date in the format m-Y. Example: 05-2024

name   string  optional  

Example: eum

category   string  optional  

Example: doloremque

region   string  optional  

Example: odio

city   string  optional  

Example: adipisci

venue   string  optional  

Example: veritatis

experience   string  optional  

Example: est

page   integer  optional  

Must be at least 1. Example: 19

per_page   integer  optional  

Must be at least 1. Example: 26

The upcoming events.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/upcoming?page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"date\": \"velit\",
    \"page\": 19,
    \"per_page\": 27
}"
const url = new URL(
    "https://api.test/api/v1/client/events/upcoming"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "date": "velit",
    "page": 19,
    "per_page": 27
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of upcoming events",
    "data": {
        "events": {
            "current_page": 19,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/events/upcoming?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/events/upcoming?page=1",
            "links": [
                {
                    "url": "https://api.test/api/v1/client/events/upcoming?page=18",
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/events/upcoming?page=1",
                    "label": "1",
                    "active": false
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/events/upcoming",
            "per_page": 27,
            "prev_page_url": "https://api.test/api/v1/client/events/upcoming?page=18",
            "to": null,
            "total": 0,
            "query_params": {
                "page": 1
            }
        }
    }
}
 

Request      

GET api/v1/client/events/upcoming

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

date   string  optional  

Example: velit

page   integer  optional  

Must be at least 1. Example: 19

per_page   integer  optional  

Must be at least 1. Example: 27

The next events.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/next?page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 1,
    \"per_page\": 10,
    \"image_versions\": [
        \"mobile\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/events/next"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 1,
    "per_page": 10,
    "image_versions": [
        "mobile"
    ]
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of next events",
    "data": {
        "events": {
            "current_page": 1,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/events/next?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/events/next?page=1",
            "links": [
                {
                    "url": null,
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/events/next?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/events/next",
            "per_page": 10,
            "prev_page_url": null,
            "to": null,
            "total": 0,
            "query_params": {
                "page": 1
            }
        }
    }
}
 

Request      

GET api/v1/client/events/next

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 1

per_page   integer  optional  

Must be at least 1. Example: 10

image_versions   string[]   

Must be one of mobile, tablet, desktop, or card.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/popular?page=1&image_versions[]=consequatur" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 1,
    \"per_page\": 10,
    \"image_versions\": [
        \"card\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/events/popular"
);

const params = {
    "page": "1",
    "image_versions[0]": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 1,
    "per_page": 10,
    "image_versions": [
        "card"
    ]
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of popular events",
    "data": {
        "current_page": 1,
        "data": [],
        "first_page_url": "https://api.test/api/v1/client/events/popular?image_versions%5B0%5D=consequatur&page=1",
        "from": null,
        "last_page": 1,
        "last_page_url": "https://api.test/api/v1/client/events/popular?image_versions%5B0%5D=consequatur&page=1",
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "https://api.test/api/v1/client/events/popular?image_versions%5B0%5D=consequatur&page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "https://api.test/api/v1/client/events/popular",
        "per_page": 10,
        "prev_page_url": null,
        "to": null,
        "total": 0,
        "query_params": {
            "page": 1,
            "image_versions": [
                "consequatur"
            ]
        }
    }
}
 

Get an event's details.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/events/quas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/client/events/quas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "No result(s) found.",
    "errors": null
}
 

Request      

GET api/v1/client/events/{event}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

event   string   

The event. Example: quas

event_slug   string   

The slug of the event. Example: lee-valley-velopark-10-mile-september

Checkout on Lets Do This

Example request:
curl --request POST \
    "https://api.test/api/v1/client/events/ldt/checkout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ecetps\": \"a\",
    \"email\": \"jameswhite@gmail.com\"
}"
const url = new URL(
    "https://api.test/api/v1/client/events/ldt/checkout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ecetps": "a",
    "email": "jameswhite@gmail.com"
};

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

Request      

POST api/v1/client/events/ldt/checkout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ecetps   string   

Example: a

ref   string   

(required). Example: dicta

quantity   integer   

Must be at least 1. Example: 9

email   string   

The participant's email address. Required with user is not authenticated. Only the email property is required for the RunThrough site. Must be a valid email address. Example: jameswhite@gmail.com

Experience

Get Experiences

requires authentication

Endpoint lists available experiences.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/experiences?order_by=name%3Aasc%2Ccreated_at%3Aasc&drafted=with&deleted=with&per_page=20&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"animi\",
    \"page\": 50,
    \"per_page\": 45,
    \"drafted\": \"without\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"impedit\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences"
);

const params = {
    "order_by": "name:asc,created_at:asc",
    "drafted": "with",
    "deleted": "with",
    "per_page": "20",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "animi",
    "page": 50,
    "per_page": 45,
    "drafted": "without",
    "deleted": "only",
    "order_by": [
        "impedit"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/experiences

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:asc,created_at:asc

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

page   string  optional  

Pagination page to be fetched. Example: 1

Body Parameters

term   string  optional  

Example: animi

page   integer  optional  

Must be at least 1. Example: 50

per_page   integer  optional  

Must be at least 1. Example: 45

drafted   string  optional  

Must be one of with, without, or only. Example: without

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Show Experience

requires authentication

Retrieve info about specified experience.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/experiences/{experience_ref}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

experience_ref   string   

The ref attribute of the experience. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Add Experience

requires authentication

Add a new experience to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/experiences/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Atmosphere\",
    \"values\": [
        \"Amazing\",
        \"Unbelievable\",
        \"Exciting\"
    ],
    \"icon\": \"dolorum\",
    \"is_draft\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Atmosphere",
    "values": [
        "Amazing",
        "Unbelievable",
        "Exciting"
    ],
    "icon": "dolorum",
    "is_draft": true
};

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

Request      

POST api/v1/portal/experiences/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The name of the new experience. Example: Atmosphere

values   string[]   

Specify values for experiences.

icon   string   

The icon associated to experience Example: dolorum

is_draft   boolean  optional  

Example: true

Update Experience

requires authentication

Update existing experience.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Atmosphere\",
    \"values\": [
        \"Amazing\",
        \"Unbelievable\",
        \"Exciting\"
    ],
    \"icon\": \"alias\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Atmosphere",
    "values": [
        "Amazing",
        "Unbelievable",
        "Exciting"
    ],
    "icon": "alias"
};

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

Request      

PATCH api/v1/portal/experiences/{experience_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

experience_ref   string   

The ref attribute of the experience. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

name   string   

The name of the new experience. Example: Atmosphere

values   string[]   

Specify values for experiences.

icon   string   

The icon associated to experience Example: alias

Delete Experience

requires authentication

Deleting experience.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/9762db71-f5a6-41c4-913e-90b8aebad733/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/experiences/{experience_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

experience_ref   string   

The ref attribute of the experience. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Mark one or more experiences as draft

requires authentication

Drafting experience.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/experiences/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2,
        3
    ]
};

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

Request      

POST api/v1/portal/experiences/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The array of valid ids belonging to experiences to be drafted.

Mark one or more experiences as published

requires authentication

Publishing experience.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/experiences/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2,
        3
    ]
};

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

Request      

POST api/v1/portal/experiences/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The array of valid ids belonging to experiences to be published.

Experiences Multi-deletion

requires authentication

Deleting Multiple Experiences

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/experiences/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"experiences\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "experiences": [
        1,
        2,
        3
    ]
};

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

Request      

DELETE api/v1/portal/experiences/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

experiences   string[]   

The array of valid ids belonging to experiences to be deleted.

Restore Experience

requires authentication

restoring experience.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/experiences/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"experiences\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "experiences": [
        1,
        2,
        3
    ]
};

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

Request      

POST api/v1/portal/experiences/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

experiences   string[]   

The array of valid ids belonging to experiences to be deleted.

Experiences Permanent Multi-deletion

Deleting Multiple Experiences Permanently

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/experiences/delete/force" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"experiences\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/delete/force"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "experiences": [
        1,
        2,
        3
    ]
};

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

Request      

DELETE api/v1/portal/experiences/delete/force

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

experiences   string[]   

The array of valid ids belonging to experiences to be deleted permanently.

Experience Stats

requires authentication

Get Experience Stats Summary. s

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/experiences/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/experiences/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/experiences/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Get Event Experiences

requires authentication

Endpoint lists available experiences for a specified event.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/experiences" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/experiences"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event_ref}/experiences

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

The ref attribute of the event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Add/Update Event Experience

requires authentication

Create a new event experience.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/add-experience" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"experience\": \"Atmosphere\",
    \"value\": \"Amazing\",
    \"description\": \"In impedit non odio.\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/add-experience"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "experience": "Atmosphere",
    "value": "Amazing",
    "description": "In impedit non odio."
};

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

Request      

POST api/v1/portal/events/{event_ref}/add-experience

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

The ref attribute of the event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

experience   string   

Specify name attribute of experience being associated to event. Example: Atmosphere

value   string   

Specify an experience value (from list of available values on selected experience above). Example: Amazing

description   string   

Provide a description Example: In impedit non odio.

Remove Event Experience(s)

requires authentication

Remove experiences from a single event.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/remove-experiences" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"experiences\": [
        20
    ],
    \"experiences[]\": \"soluta\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/9762db71-f5a6-41c4-913e-90b8aebad733/remove-experiences"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "experiences": [
        20
    ],
    "experiences[]": "soluta"
};

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

Request      

PATCH api/v1/portal/events/{event_ref}/remove-experiences

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event_ref   string   

The ref attribute of the event. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

experiences   integer[]   
experiences[]   string   

Specify ids for experiences to be removed from event. [1, 2, 3] Example: soluta

Get Experiences

requires authentication

Endpoint lists available experiences.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/experiences?order_by=name%3Aasc%2Ccreated_at%3Aasc&drafted=with&deleted=with&per_page=20&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"aperiam\",
    \"page\": 1,
    \"per_page\": 19,
    \"drafted\": \"only\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"ut\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/experiences"
);

const params = {
    "order_by": "name:asc,created_at:asc",
    "drafted": "with",
    "deleted": "with",
    "per_page": "20",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "aperiam",
    "page": 1,
    "per_page": 19,
    "drafted": "only",
    "deleted": "without",
    "order_by": [
        "ut"
    ]
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/experiences

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:asc,created_at:asc

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

page   string  optional  

Pagination page to be fetched. Example: 1

Body Parameters

term   string  optional  

Example: aperiam

page   integer  optional  

Must be at least 1. Example: 1

per_page   integer  optional  

Must be at least 1. Example: 19

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  

External Enquries

Manages external enquiries on the application

The list of external enquiries

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external?year=2023&status=pending&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"atque\",
    \"status\": \"processed\",
    \"year\": \"2024\",
    \"month\": 5,
    \"converted\": false,
    \"contacted\": false,
    \"period\": \"6h\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"ut\"
    ],
    \"page\": 56,
    \"per_page\": 21
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external"
);

const params = {
    "year": "2023",
    "status": "pending",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "atque",
    "status": "processed",
    "year": "2024",
    "month": 5,
    "converted": false,
    "contacted": false,
    "period": "6h",
    "deleted": "only",
    "order_by": [
        "ut"
    ],
    "page": 56,
    "per_page": 21
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity ref.

event   string  optional  

Filter by event ref.

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   string  optional  

Filter by status. Must be one of pending, processed. Example: pending

partner   string  optional  

Filter by partner ref.

channel   string  optional  

Filter by partner channel ref.

converted   boolean  optional  

Filter by converted.

contacted   boolean  optional  

Filter by contacted.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: atque

status   string  optional  

Must be one of pending or processed. Example: processed

partner   string  optional  
channel   string  optional  
site   string  optional  
year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

charity   string  optional  
event   string  optional  
converted   boolean  optional  

Example: false

contacted   boolean  optional  

Example: false

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 6h

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 56

per_page   integer  optional  

Must be at least 1. Example: 21

Create an external enquiry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store an external enquiry

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/enquiries/external/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"orville42@example.net\",
    \"first_name\": \"James\",
    \"last_name\": \"White\",
    \"name\": \"illo\",
    \"phone\": \"+447849675382\",
    \"postcode\": \"dolorem\",
    \"address\": \"qui\",
    \"city\": \"labore\",
    \"region\": \"ducimus\",
    \"country\": \"quam\",
    \"gender\": \"male\",
    \"dob\": \"27-05-2024\",
    \"emergency_contact_name\": \"Mary Lane\",
    \"emergency_contact_phone\": \"+447896884785\",
    \"emergency_contact_relationship\": \"Spouse\",
    \"comments\": \"odit\",
    \"site\": \"hsid0du23-e3hidqwidvu\",
    \"event\": \"uguygsuyguusyuuyh\",
    \"partner_channel\": \"ut\",
    \"event_category_event_third_party\": \"et\",
    \"channel_record_id\": \"5fb519821e28346daef1a9e5\",
    \"contacted\": false,
    \"converted\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "orville42@example.net",
    "first_name": "James",
    "last_name": "White",
    "name": "illo",
    "phone": "+447849675382",
    "postcode": "dolorem",
    "address": "qui",
    "city": "labore",
    "region": "ducimus",
    "country": "quam",
    "gender": "male",
    "dob": "27-05-2024",
    "emergency_contact_name": "Mary Lane",
    "emergency_contact_phone": "+447896884785",
    "emergency_contact_relationship": "Spouse",
    "comments": "odit",
    "site": "hsid0du23-e3hidqwidvu",
    "event": "uguygsuyguusyuuyh",
    "partner_channel": "ut",
    "event_category_event_third_party": "et",
    "channel_record_id": "5fb519821e28346daef1a9e5",
    "contacted": false,
    "converted": false
};

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

Request      

POST api/v1/portal/enquiries/external/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

email   string   

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

first_name   string  optional  

The participant's first name. Example: James

last_name   string  optional  

The participant's last name. Example: White

name   string  optional  

Example: illo

phone   string  optional  

Example: +447849675382

postcode   string  optional  

Example: dolorem

address   string  optional  

Example: qui

city   string  optional  

Example: labore

region   string  optional  

Example: ducimus

country   string  optional  

Example: quam

gender   string  optional  

Must be one of male, female, or other. Example: male

dob   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

emergency_contact_name   string  optional  

Example: Mary Lane

emergency_contact_phone   string  optional  

Example: +447896884785

emergency_contact_relationship   string  optional  

Example: Spouse

comments   string  optional  

Example: odit

site   string   

The ref of the site. Must be one of tyf768t0p7wy879oywi, t89093ytohevkuvdgvui, hsid0du23-e3hidqwidvu. Example: hsid0du23-e3hidqwidvu

charity   string  optional  

The ref of the charity. Must be one of .

event   string   

The ref of the event. Is required when partner channel field is present. Must be one of uguygsuyguusyuuyh, qwertyuiopfdssdfghj, jhaffuqfhjvgvatycact. Example: uguygsuyguusyuuyh

partner_channel   string   

The ref of the partner channel. Is required when event category field (event_category_event_third_party) is present. Must be one of . Example: ut

event_category_event_third_party   string   

The ref of the event category event third party. Must be one of . Example: et

channel_record_id   string  optional  

The unique identifier of the external enquiries fetched from the channel. Example: 5fb519821e28346daef1a9e5

contacted   boolean   

Example: false

converted   boolean   

Example: false

Edit an external enquiry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external/nihil/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/nihil/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nihil

enquiry_ref   string   

The ref of the external enquiry. Example: 97c0304a-a320-4320-a37a-40f7ab32b525

Export enquiries

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external/export?year=2023&status=pending&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"sunt\",
    \"status\": \"pending\",
    \"year\": \"2024\",
    \"month\": 3,
    \"converted\": true,
    \"contacted\": true,
    \"period\": \"1y\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"quas\"
    ],
    \"page\": 56,
    \"per_page\": 82
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/export"
);

const params = {
    "year": "2023",
    "status": "pending",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "sunt",
    "status": "pending",
    "year": "2024",
    "month": 3,
    "converted": true,
    "contacted": true,
    "period": "1y",
    "deleted": "without",
    "order_by": [
        "quas"
    ],
    "page": 56,
    "per_page": 82
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity ref.

event   string  optional  

Filter by event ref.

year   string  optional  

Specifying year filter for when user was created. Example: 2023

month   integer  optional  

Filter by month.

status   string  optional  

Filter by status. Must be one of pending, processed. Example: pending

partner   string  optional  

Filter by partner ref.

channel   string  optional  

Filter by partner channel ref.

converted   boolean  optional  

Filter by converted.

contacted   boolean  optional  

Filter by contacted.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: sunt

status   string  optional  

Must be one of pending or processed. Example: pending

partner   string  optional  
channel   string  optional  
site   string  optional  
year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

charity   string  optional  
event   string  optional  
converted   boolean  optional  

Example: true

contacted   boolean  optional  

Example: true

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 1y

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 56

per_page   integer  optional  

Must be at least 1. Example: 82

Update an external enquiry

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/enquiries/external/iste/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"email\": \"umcdermott@example.net\",
    \"first_name\": \"James\",
    \"last_name\": \"White\",
    \"phone\": \"+447849675382\",
    \"postcode\": \"consequatur\",
    \"address\": \"aliquid\",
    \"city\": \"voluptas\",
    \"region\": \"aut\",
    \"country\": \"exercitationem\",
    \"gender\": \"male\",
    \"dob\": \"27-05-2024\",
    \"emergency_contact_name\": \"Mary Lane\",
    \"emergency_contact_phone\": \"+447896884785\",
    \"emergency_contact_relationship\": \"Spouse\",
    \"comments\": \"aspernatur\",
    \"site\": \"tyf768t0p7wy879oywi\",
    \"event\": \"uguygsuyguusyuuyh\",
    \"channel_record_id\": \"5fb519821e28346daef1a9e5\",
    \"contacted\": true,
    \"converted\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/iste/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "email": "umcdermott@example.net",
    "first_name": "James",
    "last_name": "White",
    "phone": "+447849675382",
    "postcode": "consequatur",
    "address": "aliquid",
    "city": "voluptas",
    "region": "aut",
    "country": "exercitationem",
    "gender": "male",
    "dob": "27-05-2024",
    "emergency_contact_name": "Mary Lane",
    "emergency_contact_phone": "+447896884785",
    "emergency_contact_relationship": "Spouse",
    "comments": "aspernatur",
    "site": "tyf768t0p7wy879oywi",
    "event": "uguygsuyguusyuuyh",
    "channel_record_id": "5fb519821e28346daef1a9e5",
    "contacted": true,
    "converted": false
};

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

Request      

POST api/v1/portal/enquiries/external/{ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: iste

enquiry_ref   string   

The ref of the external enquiry. Example: 97c0304a-a320-4320-a37a-40f7ab32b525

Body Parameters

email   string   

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

first_name   string  optional  

The participant's first name. Example: James

last_name   string  optional  

The participant's last name. Example: White

phone   string  optional  

Example: +447849675382

postcode   string  optional  

Example: consequatur

address   string  optional  

Example: aliquid

city   string  optional  

Example: voluptas

region   string  optional  

Example: aut

country   string  optional  

Example: exercitationem

gender   string  optional  

Must be one of male, female, or other. Example: male

dob   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

emergency_contact_name   string  optional  

Example: Mary Lane

emergency_contact_phone   string  optional  

Example: +447896884785

emergency_contact_relationship   string  optional  

Example: Spouse

comments   string  optional  

Example: aspernatur

site   string  optional  

The ref of the site. Must be one of tyf768t0p7wy879oywi, hsid0du23-e3hidqwidvu, t89093ytohevkuvdgvui. Example: tyf768t0p7wy879oywi

charity   string  optional  

The ref of the charity. Must be one of .

event   string  optional  

The ref of the event. Is required when partner channel field is present. Must be one of qwertyuiopfdssdfghj, jhaffuqfhjvgvatycact, uguygsuyguusyuuyh. Example: uguygsuyguusyuuyh

partner_channel   string  optional  

The ref of the partner channel. Is required when event category field (event_category_event_third_party) is present. Must be one of .

event_category_event_third_party   string  optional  

The ref of the event category event third party. Must be one of .

channel_record_id   string  optional  

The unique identifier of the external enquiries fetched from the channel. Example: 5fb519821e28346daef1a9e5

contacted   boolean   

Example: true

converted   boolean   

Example: false

Offer the event place to the enquirer.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/enquiries/external/nulla/place/offer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"gasghvjhavasvgjhvghvggjyyhvx\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"fee_type\": \"local\",
    \"make_default\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/nulla/place/offer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "gasghvjhavasvgjhvghvggjyyhvx",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "fee_type": "local",
    "make_default": false
};

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

Request      

POST api/v1/portal/enquiries/external/{ref}/place/offer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nulla

Body Parameters

eec   string   

The ref of the event event category. Must be one of fhggjkalsugfujhvajvjhvaabjkvw, fgdhdfgdfhghfafwrrgrete345yh, gasghvjhavasvgjhvghvggjyyhvx. Example: gasghvjhavasvgjhvghvggjyyhvx

charity   string  optional  

The ref of the charity. Must be one of .

payment_status   string   

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

fee_type   string  optional  

Must be one of local or international. Example: local

make_default   boolean   

Example: false

External Enquiries Stats

requires authentication

Get External Enquiries Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external/stats/summary?year=2022&status=iste&category=marathons&type=enquiries&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/stats/summary"
);

const params = {
    "year": "2022",
    "status": "iste",
    "category": "marathons",
    "type": "enquiries",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: iste

category   string  optional  

Specifying method of filtering query by category. Example: marathons

type   string  optional  

Specifying method of filtering query by type. Example: enquiries

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

External Enquries Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/enquiries/external/stats/chart?type=enquiries&year=2022&status=consequuntur&category=marathons&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/enquiries/external/stats/chart"
);

const params = {
    "type": "enquiries",
    "year": "2022",
    "status": "consequuntur",
    "category": "marathons",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/enquiries/external/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: enquiries

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: consequuntur

category   string  optional  

Specifying method of filtering query by category. Example: marathons

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

FAQs

FAQs Page

API to handel https://runthrough.runthroughhub.com/faqs.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/faqs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/faqs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (500):

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

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'path' in 'where clause' (SQL: select * from `faqs` where ((`faqs`.`faqsable_type` = App\\Models\\Page and exists (select * from `pages` where `faqs`.`faqsable_id` = `pages`.`id` and `path` = /faqs and `pages`.`deleted_at` is null and `pages`.`drafted_at` is null and `pages`.`site_id` is null))))",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 710,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 694,
            "function": "getModels",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/FaqController.php",
            "line": 49,
            "function": "get",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Cache/Repository.php",
            "line": 397,
            "function": "App\\Http\\Controllers\\{closure}",
            "class": "App\\Http\\Controllers\\FaqController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php",
            "line": 419,
            "function": "remember",
            "class": "Illuminate\\Cache\\Repository",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php",
            "line": 338,
            "function": "__call",
            "class": "Illuminate\\Cache\\CacheManager",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/FaqController.php",
            "line": 50,
            "function": "__callStatic",
            "class": "Illuminate\\Support\\Facades\\Facade",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\Http\\Controllers\\FaqController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/HandleRedirectMiddleware.php",
            "line": 40,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HandleRedirectMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Services/ApiClient/ApiClientSettings.php",
            "line": 77,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureApiRequestHostIsValidClient.php",
            "line": 31,
            "function": "clientRequestAuthorizationHandshake",
            "class": "App\\Services\\ApiClient\\ApiClientSettings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureApiRequestHostIsValidClient",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/ClientAuthenticationMiddleware.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\ClientAuthenticationMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/faqs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

File

Manages files download on the application

Update a file's details

Example request:
curl --request PATCH \
    "https://api.test/api/v1/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"title\": \"et\",
    \"alt\": \"dolore\",
    \"caption\": \"sit\"
}"
const url = new URL(
    "https://api.test/api/v1/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/update"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "title": "et",
    "alt": "dolore",
    "caption": "sit"
};

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

Request      

PATCH api/v1/uploads/{upload_ref}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

upload_ref   string   

Example: 97620161-69c6-4b12-b219-d99e428fbdb2

upload   string   

The ref of the upload. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

title   string  optional  

Example: et

alt   string  optional  

Example: dolore

caption   string  optional  

Example: sit

Download file from public/private directory

Example request:
curl --request GET \
    --get "https://api.test/api/v1/download/https://test.sportforcharity.com/storage/uploads/media/images/kvWpjp9km1JECSAD.png" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/download/https://test.sportforcharity.com/storage/uploads/media/images/kvWpjp9km1JECSAD.png"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (404):

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

{
    "status": false,
    "message": "The resource was not found!"
}
 

Request      

GET api/v1/download/{path}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

path   string   

The path to the resource. Example: https://test.sportforcharity.com/storage/uploads/media/images/kvWpjp9km1JECSAD.png

Finance

Handles all finance related operations

Get the meta data

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/finances/meta" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/finances/meta"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/finances/meta

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get the balance of the user's wallet

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/finances/balance" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/finances/balance"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/finances/balance

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get the balance of the infinite accounts of the user

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/finances/balance/infinite" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/finances/balance/infinite"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/finances/balance/infinite

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of participant_registration, participant_transfer, market_resale, charity_membership,partner_package_assignment,event_places,corporate_credit. Example: participant_registration

Get the balance of the finite accounts of the user

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/finances/balance/finite" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/finances/balance/finite"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/finances/balance/finite

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of participant_registration, participant_transfer, market_resale, charity_membership,partner_package_assignment,event_places,corporate_credit. Example: participant_registration

Get the history of the different account types

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/finances/accounts/finite/history?valid_from=%2222-02-2023%22&valid_to=%2222-02-2023%22&deleted=with&order_by=created_at%3Aasc%2Cvalid_from%3Aasc%2Cvalid_to%3Adesc" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"et\",
    \"account\": \"velit\",
    \"status\": \"active\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"iure\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/finances/accounts/finite/history"
);

const params = {
    "valid_from": ""22-02-2023"",
    "valid_to": ""22-02-2023"",
    "deleted": "with",
    "order_by": "created_at:asc,valid_from:asc,valid_to:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "et",
    "account": "velit",
    "status": "active",
    "deleted": "with",
    "order_by": [
        "iure"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/finances/accounts/{type}/history

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of finite, infinte. Example: finite

Query Parameters

term   string  optional  

Filter by term. The term to search for.

account   string  optional  

Filter by account ref.

status   string  optional  

Filter by status. Must be one of active, inactive.

valid_from   string  optional  

Filter by valid_from. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

valid_to   string  optional  

Filter by valid_to. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. These are created_at, valid_from, valid_to. Example: created_at:asc,valid_from:asc,valid_to:desc

Body Parameters

term   string  optional  

Example: et

account   string   

Example: velit

status   string   

Must be one of active or inactive. Example: active

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  

Identifier

Generate Identifier

Generate Unique Identifier for Request API Request User. The returned value will be used to set X-Platform-User-Identifier-Key on header.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/get-identifier-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/get-identifier-token"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (200):

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

{
    "status": true,
    "message": "Identifier generated.",
    "data": {
        "identifier": "RUNTHROUGH.v1.9c2488f0-5698-490e-8570-92364f5a56b9.1716807302"
    }
}
 

Request      

GET api/v1/get-identifier-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Invoices

Manages invoices on the application

The list of invoices

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices?type=participant_registration&price[]=12&price[]=80&period=24h&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"type\": \"charity_membership\",
    \"status\": \"transferred\",
    \"held\": false,
    \"year\": \"2024\",
    \"month\": 10,
    \"price\": [
        10
    ],
    \"term\": \"quia\",
    \"page\": 21,
    \"per_page\": 9,
    \"period\": \"6h\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"laborum\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices"
);

const params = {
    "type": "participant_registration",
    "price[0]": "12",
    "price[1]": "80",
    "period": "24h",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "type": "charity_membership",
    "status": "transferred",
    "held": false,
    "year": "2024",
    "month": 10,
    "price": [
        10
    ],
    "term": "quia",
    "page": 21,
    "per_page": 9,
    "period": "6h",
    "deleted": "with",
    "order_by": [
        "laborum"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string  optional  

Filter by type. Must be one of participant_registration, market_resale, charity_membership, partner_package_assignment, event_places, corporate_credit. Example: participant_registration

status   string  optional  

Filter by status. Must be one of paid, unpaid, refunded.

held   boolean  optional  

Filter by held.

year   integer  optional  

Filter by year.

month   integer  optional  

Filter by month.

price   integer[]  optional  

Filter by a price range.

term   string  optional  

Filter by term. The term to search for.

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

type   string  optional  

Must be one of participant_registration, market_resale, charity_membership, partner_package_assignment, event_places, corporate_credit, participant_transfer_old_event, participant_transfer_new_event, or participant_transfer_fee. Example: charity_membership

status   string  optional  

Must be one of paid, unpaid, refunded, or transferred. Example: transferred

held   boolean  optional  

Example: false

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   integer  optional  

Must be one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, or 12. Example: 10

price   integer[]  optional  
term   string  optional  

Example: quia

page   integer  optional  

Must be at least 1. Example: 21

per_page   integer  optional  

Must be at least 1. Example: 9

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 6h

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  

Edit an invoice

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 975f9415-1e07-4499-b9eb-54f0ed9e9043

Update an invoice

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"issue_date\": \"28-05-2024\",
    \"due_date\": \"11-06-2024\",
    \"held\": false,
    \"send_on\": \"03-06-2024\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "issue_date": "28-05-2024",
    "due_date": "11-06-2024",
    "held": false,
    "send_on": "03-06-2024"
};

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

Request      

PUT api/v1/portal/invoices/{ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 975f9415-1e07-4499-b9eb-54f0ed9e9043

Body Parameters

description   string  optional  

The description. Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

issue_date   string   

The date the invoice was created/issued. Must be a valid date in the format d-m-Y. Must be a date after today. Example: 28-05-2024

due_date   string   

The due date of the invoice. Must be a valid date in the format d-m-Y. Must be a date after or equal to issue_date. Example: 11-06-2024

held   boolean  optional  

Example: false

send_on   string  optional  

The date at which the invoice should be sent. Must be a valid date in the format d-m-Y. Must be a date after today. Example: 03-06-2024

Delete one or many invoices (Soft delete)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/invoices/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"est\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "est"
    ]
};

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

Request      

DELETE api/v1/portal/invoices/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Restore one or many invoices

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/invoices/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"at\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "at"
    ]
};

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

Request      

POST api/v1/portal/invoices/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Delete one or many invoices (Permanently) Only the administrator can delete an invoice permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/invoices/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"est\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "est"
    ]
};

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

Request      

DELETE api/v1/portal/invoices/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Download an invoice

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/975df0ab-6954-4636-8792-fd242aeb7ee9/download" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/975df0ab-6954-4636-8792-fd242aeb7ee9/download"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/download

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Export invoices

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/export?type=participant_registration&price[]=12&price[]=80&period=24h&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"type\": \"participant_transfer_new_event\",
    \"status\": \"transferred\",
    \"held\": true,
    \"year\": \"2024\",
    \"month\": 10,
    \"price\": [
        9
    ],
    \"term\": \"ab\",
    \"page\": 25,
    \"per_page\": 32,
    \"period\": \"All\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"ut\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/export"
);

const params = {
    "type": "participant_registration",
    "price[0]": "12",
    "price[1]": "80",
    "period": "24h",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "type": "participant_transfer_new_event",
    "status": "transferred",
    "held": true,
    "year": "2024",
    "month": 10,
    "price": [
        9
    ],
    "term": "ab",
    "page": 25,
    "per_page": 32,
    "period": "All",
    "deleted": "only",
    "order_by": [
        "ut"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string  optional  

Filter by type. Must be one of participant_registration, market_resale, charity_membership, partner_package_assignment, event_places, corporate_credit. Example: participant_registration

status   string  optional  

Filter by status. Must be one of paid, unpaid.

held   boolean  optional  

Filter by held.

year   integer  optional  

Filter by year.

month   integer  optional  

Filter by month.

price   integer[]  optional  

Filter by a price range.

term   string  optional  

Filter by term. The term to search for.

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

type   string  optional  

Must be one of participant_registration, market_resale, charity_membership, partner_package_assignment, event_places, corporate_credit, participant_transfer_old_event, participant_transfer_new_event, or participant_transfer_fee. Example: participant_transfer_new_event

status   string  optional  

Must be one of paid, unpaid, refunded, or transferred. Example: transferred

held   boolean  optional  

Example: true

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   integer  optional  

Must be one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, or 12. Example: 10

price   integer[]  optional  
term   string  optional  

Example: ab

page   integer  optional  

Must be at least 1. Example: 25

per_page   integer  optional  

Must be at least 1. Example: 32

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: All

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Generate an invoice (the pdf file)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/975df0ab-6954-4636-8792-fd242aeb7ee9/pdf/generate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/975df0ab-6954-4636-8792-fd242aeb7ee9/pdf/generate"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/pdf/generate

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Pay for an invoice

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/pay" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/975f9415-1e07-4499-b9eb-54f0ed9e9043/pay"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/pay

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 975f9415-1e07-4499-b9eb-54f0ed9e9043

Delete one or many invoice items

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/invoices/979393e7-6826-409b-952c-56689414d5a7/items/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"nostrum\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/979393e7-6826-409b-952c-56689414d5a7/items/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "nostrum"
    ]
};

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

Request      

DELETE api/v1/portal/invoices/{ref}/items/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 979393e7-6826-409b-952c-56689414d5a7

Body Parameters

refs   string[]  optional  

Add an invoice item

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/item/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 978017ae-6c3f-4d6e-9b91-e0606d6d3e44

Store the invoice item

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"item_class\": \"App\\\\Modules\\\\Participant\\\\Models\\\\Participant\",
    \"item_ref\": \"979bcb4e-bfac-4ac0-af69-956d04f4289c\",
    \"type\": \"participant_registration\",
    \"price\": 53.92,
    \"discount\": 20.87
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "item_class": "App\\Modules\\Participant\\Models\\Participant",
    "item_ref": "979bcb4e-bfac-4ac0-af69-956d04f4289c",
    "type": "participant_registration",
    "price": 53.92,
    "discount": 20.87
};

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

Request      

POST api/v1/portal/invoices/{ref}/item/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 978017ae-6c3f-4d6e-9b91-e0606d6d3e44

Body Parameters

item_class   string   

The class associated to the invoice. Must be one of App\Modules\Charity\Models\CharityMembership, App\Modules\Participant\Models\Participant, App\Modules\Charity\Models\EventPlaceInvoice. Example: App\Modules\Participant\Models\Participant

item_ref   string   

The type. Must be one of 979bcb4e-9556-499b-9d9b-5e3bef80a79d, 979bcb4e-bfac-4ac0-af69-956d04f4289c. Example: 979bcb4e-bfac-4ac0-af69-956d04f4289c

type   string   

The type. Must be one of participant_registration, charity_membership, maket_places, event_places etc. Example: participant_registration

price   number   

The price. Example: 53.92

discount   number   

The discount. Must not be greater than 100. Example: 20.87

Edit an invoice item

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/97963856-9aea-473f-987e-9fd84d9403bb/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/97963856-9aea-473f-987e-9fd84d9403bb/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/{ref}/item/{invoiceItemRef}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 978017ae-6c3f-4d6e-9b91-e0606d6d3e44

invoiceItemRef   string   

The ref of the invoice item. Example: 97963856-9aea-473f-987e-9fd84d9403bb

Update an invoice item

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/97963856-9aea-473f-987e-9fd84d9403bb/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"price\": 53.92,
    \"discount\": 20.87
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/978017ae-6c3f-4d6e-9b91-e0606d6d3e44/item/97963856-9aea-473f-987e-9fd84d9403bb/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "price": 53.92,
    "discount": 20.87
};

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

Request      

PUT api/v1/portal/invoices/{ref}/item/{invoiceItemRef}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

The ref of the invoice. Example: 978017ae-6c3f-4d6e-9b91-e0606d6d3e44

invoiceItemRef   string   

The ref of the invoice item. Example: 97963856-9aea-473f-987e-9fd84d9403bb

Body Parameters

price   number   

// The class associated to the invoice. Must be one of App\Modules\Charity\Models\CharityMembership, App\Modules\Participant\Models\Participant, App\Modules\Charity\Models\EventPlaceInvoice. Example: App\Modules\Participant\Models\Participant 'item_class' => ['sometimes', 'required_with:item_ref', 'string'], // The type. Must be one of 979bcb4e-9556-499b-9d9b-5e3bef80a79d, 979bcb4e-bfac-4ac0-af69-956d04f4289c. Example: 979bcb4e-bfac-4ac0-af69-956d04f4289c 'item_ref' => ['sometimes', 'required_with:item_class', 'string', new validateInvoiceItemItemRefAgainstItemClass], The type. Must be one of participant_registration, charity_membership, maket_places, event_places etc. Example: participant_registration 'type' => ['sometimes', 'required', new Enum(InvoiceItemTypeEnum::class)], The price. Example: 53.92

discount   number   

The discount. Must not be greater than 100. Example: 20.87

Paginated charity memberships for dropdown fields

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/charity/memberships?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 22,
    \"per_page\": 12
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/charity/memberships"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 22,
    "per_page": 12
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/charity/memberships

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 22

per_page   integer  optional  

Must be at least 1. Example: 12

Paginated participants for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/participants?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/participants"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/participants

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Paginated charity partner package for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/charity/partner-packages?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 48,
    \"per_page\": 85
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/charity/partner-packages"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 48,
    "per_page": 85
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/charity/partner-packages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 48

per_page   integer  optional  

Must be at least 1. Example: 85

Paginated resale requests for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/resale/requests?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 78,
    \"per_page\": 13
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/resale/requests"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 78,
    "per_page": 13
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/resale/requests

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 78

per_page   integer  optional  

Must be at least 1. Example: 13

Paginated event place invoices for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/event-place-invoices?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 86,
    \"per_page\": 84
}"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/event-place-invoices"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 86,
    "per_page": 84
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/event-place-invoices

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 86

per_page   integer  optional  

Must be at least 1. Example: 84

Invoice Stats

requires authentication

Get Invoice Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/stats/summary?year=2022&status=recusandae&category=98677146-d86a-4b10-a694-d79eb66e8220&type=invoices&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/stats/summary"
);

const params = {
    "year": "2022",
    "status": "recusandae",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "type": "invoices",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: recusandae

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

type   string  optional  

Specifying method of filtering query by type. Example: invoices

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Invoice Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/invoices/stats/chart?type=invoices&year=2022&status=repellat&category=98677146-d86a-4b10-a694-d79eb66e8220&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/invoices/stats/chart"
);

const params = {
    "type": "invoices",
    "year": "2022",
    "status": "repellat",
    "category": "98677146-d86a-4b10-a694-d79eb66e8220",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/invoices/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: invoices

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: repellat

category   string  optional  

Specifying method of filtering query by category (ref for event categories). Example: 98677146-d86a-4b10-a694-d79eb66e8220

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Market

Manages events market on the application

The list of resale places

requires authentication

Only the resales places that have not been all sold will be returned. This is made available to users of all roles.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/market?charity=wwf&event=santa-in-the-city-london-wednesday&discount=1&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 54,
    \"term\": \"doloremque\",
    \"discount\": true,
    \"per_page\": 67
}"
const url = new URL(
    "https://api.test/api/v1/portal/market"
);

const params = {
    "charity": "wwf",
    "event": "santa-in-the-city-london-wednesday",
    "discount": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 54,
    "term": "doloremque",
    "discount": true,
    "per_page": 67
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/market

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity slug. Example: wwf

event   string  optional  

Filter by event slug. Example: santa-in-the-city-london-wednesday

discount   boolean  optional  

Filter by status. Example: true

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return. Example: 1

per_page   integer  optional  

Items per page.

Body Parameters

page   integer  optional  

Must be at least 1. Example: 54

term   string  optional  

Example: doloremque

discount   boolean  optional  

Example: true

charity   string  optional  
event   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 67

The notifications

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/market/manage/notifications?event=santa-in-the-city-london-wednesday&charity=wwf&status=1&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 76,
    \"term\": \"recusandae\",
    \"status\": false,
    \"per_page\": 7
}"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/notifications"
);

const params = {
    "event": "santa-in-the-city-london-wednesday",
    "charity": "wwf",
    "status": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 76,
    "term": "recusandae",
    "status": false,
    "per_page": 7
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/market/manage/notifications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

event   string  optional  

Filter by event slug. Example: santa-in-the-city-london-wednesday

charity   string  optional  

Filter by charity slug. Example: wwf

term   string  optional  

Filter by term (event name).

status   boolean  optional  

Filter by notification status. Example: true

page   integer  optional  

The page data to return. Example: 1

per_page   integer  optional  

Items per page.

Body Parameters

page   integer  optional  

Must be at least 1. Example: 76

term   string  optional  

Example: recusandae

status   boolean  optional  

Example: false

charity   string  optional  
event   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 7

Toggle resale notifications

requires authentication

Turn ON/OFF notifications for the selected events on the authenticated charity profile

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/market/manage/notifications/toggle" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"events\": [],
    \"status\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/notifications/toggle"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "events": [],
    "status": true
};

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

Request      

POST api/v1/portal/market/manage/notifications/toggle

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

events   object   

The slug of the event(s). Can be a string or an array of event slugs. Must be one of .

status   boolean   

Example: true

Medals

APIs for managing medals

The list of Medals

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals?drafted=with&deleted=with&page=1&order_by=name%3Adesc%2Ctype%3Aasc%2Ccreated_at%3Adesc&type=default" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"drafted\": \"without\",
    \"deleted\": \"with\",
    \"term\": \"aliquam\",
    \"type\": \"default\",
    \"page\": 74,
    \"per_page\": 46,
    \"order_by\": [
        \"possimus\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals"
);

const params = {
    "drafted": "with",
    "deleted": "with",
    "page": "1",
    "order_by": "name:desc,type:asc,created_at:desc",
    "type": "default",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "drafted": "without",
    "deleted": "with",
    "term": "aliquam",
    "type": "default",
    "page": 74,
    "per_page": 46,
    "order_by": [
        "possimus"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string  optional  

Filter by event category slug. Example:

event   string  optional  

Filter by event slug. Example:

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Filter by term. The term to search for. Example:

page   integer  optional  

The page data to return. Example: 1

per_page   integer  optional  

Items per page . Example:

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,type:asc,created_at:desc

type   string  optional  

Filter by medal type. Example: default

Body Parameters

drafted   string  optional  

Must be one of with, without, or only. Example: without

deleted   string  optional  

Must be one of with, without, or only. Example: with

term   string  optional  

Example: aliquam

type   string  optional  

Must be one of default. Example: default

event   string  optional  
category   string  optional  
page   integer  optional  

Must be at least 1. Example: 74

per_page   integer  optional  

Must be at least 1. Example: 46

order_by   string[]  optional  

Create a medal

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a medal

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/medals/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"name\": \"Gold Medal\",
    \"event\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"category\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"type\": \"default\",
    \"description\": \"This is a gold medal\",
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "name": "Gold Medal",
    "event": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "category": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "type": "default",
    "description": "This is a gold medal",
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2"
};

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

Request      

POST api/v1/portal/medals/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

site   string   

The site ref. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

name   string   

The name of the medal. Must not be greater than 255 characters. Example: Gold Medal

event   string   

The event ref that will be associated with the medal. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

category   string   

The category ref that will be associated with the medal. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

type   string   

Must be one of default. Example: default

description   string  optional  

The description of the medal. Must not be greater than 1000 characters. Example: This is a gold medal

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Show meadal details

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals/nam/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/nam/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nam

medal   string   

The ref of the medal Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a medal

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals/autem/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/autem/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: autem

medal_ref   string   

The ref of the medal Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export medals

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals/export?deleted=with&order_by=name%3Adesc%2Ctype%3Aasc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"drafted\": \"only\",
    \"deleted\": \"without\",
    \"term\": \"vero\",
    \"type\": \"default\",
    \"page\": 42,
    \"per_page\": 56,
    \"order_by\": [
        \"et\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/export"
);

const params = {
    "deleted": "with",
    "order_by": "name:desc,type:asc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "drafted": "only",
    "deleted": "without",
    "term": "vero",
    "type": "default",
    "page": 42,
    "per_page": 56,
    "order_by": [
        "et"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string  optional  

Filter by event category slug. Examplete:

event   string  optional  

Filter by event slug. Examplete:

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Filter by term. The term to search for. Examplete:

type   string  optional  

Filter by medal type. Examplete:

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,type:asc,created_at:desc

Body Parameters

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: without

term   string  optional  

Example: vero

type   string  optional  

Must be one of default. Example: default

event   string  optional  
category   string  optional  
page   integer  optional  

Must be at least 1. Example: 42

per_page   integer  optional  

Must be at least 1. Example: 56

order_by   string[]  optional  

Update a medal

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/medals/nulla/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"name\": \"Gold Medal\",
    \"type\": \"default\",
    \"event\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"category\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"description\": \"This is a gold medal\",
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/nulla/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "name": "Gold Medal",
    "type": "default",
    "event": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "category": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "description": "This is a gold medal",
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2"
};

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

Request      

PUT api/v1/portal/medals/{ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nulla

medal_ref   string   

The ref of the medal. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

site   string   

The site ref. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

name   string   

The name of the medal. Must not be greater than 255 characters. Example: Gold Medal

type   string   

Must be one of default. Example: default

event   string   

The event ref that will be associated with the medal. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

category   string   

The category ref that will be associated with the medal. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

description   string  optional  

The description of the medal. Must not be greater than 1000 characters. Example: This is a gold medal

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Mark one or many medals as draft

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/medals/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/medals/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Mark one or many medals as published

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/medals/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/medals/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Delete one or many medals

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/medals/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"totam\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "totam"
    ]
};

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

Request      

DELETE api/v1/portal/medals/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]   

Restore one or many medals

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/medals/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"molestiae\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "molestiae"
    ]
};

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

Request      

POST api/v1/portal/medals/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]   

Delete One or Many medals permanently Only the administrator can delete a medal permanently

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/medals/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"vel\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/medals/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "vel"
    ]
};

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

Request      

DELETE api/v1/portal/medals/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]   

Medal Stats

requires authentication

Get Medal Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/medals/stats/summary?year=2022&period=24h&_type=default" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/medals/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
    "_type": "default",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/medals/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

_type   string  optional  

Specifying method of filtering query by medal type. Example: default

PageFAQs

Page FAQs

requires authentication

FAQs associated with specified Page.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/tenetur/faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/tenetur/faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/{page_ref}/faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: tenetur

event   string   

The ref attribute of the Page. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Add new FAQs

requires authentication

Create new FAQs associated with specified page.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/nisi/store-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n                \\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n                \\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n                \\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n                \\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"qui\"
            ]
        }
    ],
    \"faqs[]\": \"[[\\\"section\\\": \\\"some section 1\\\", \\\"description\\\": \\\"some description 1\\\", \\\"details\\\": [\\\"question\\\": \\\"some question 1\\\", \\\"answer\\\": \\\"some answer 1\\\"], \\\"images\\\": [\\\"data:image\\/png;base64,iVBORw0...\\\"]]]\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/nisi/store-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n                \n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n                \n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n                \n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n                \n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "qui"
            ]
        }
    ],
    "faqs[]": "[[\"section\": \"some section 1\", \"description\": \"some description 1\", \"details\": [\"question\": \"some question 1\", \"answer\": \"some answer 1\"], \"images\": [\"data:image\/png;base64,iVBORw0...\"]]]"
};

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

Request      

POST api/v1/portal/pages/{page_ref}/store-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: nisi

page   string   

The ref attribute of the Page. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

faqs   object[]   
section   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]   
answer   string   

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

images   string[]  optional  
faqs[]   string   

The FAQs collection being created for specified page. Example: [["section": "some section 1", "description": "some description 1", "details": ["question": "some question 1", "answer": "some answer 1"], "images": ["data:image/png;base64,iVBORw0..."]]]

Update existing FAQs

requires authentication

Update FAQs associated with specified page.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/pages/exercitationem/update-faq" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": [
        {
            \"faq_id\": 73,
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"reiciendis\"
            ]
        }
    ],
    \"faqs[]\": \"[[\\\"faq_id\\\": 1, \\\"section\\\": \\\"some section 1\\\", \\\"description\\\": \\\"some description 1\\\", \\\"details\\\": [\\\"question\\\": \\\"some question 1\\\", \\\"answer\\\": \\\"some answer 1\\\"], \\\"images\\\": [\\\"data:image\\/png;base64,iVBORw0...\\\"]]]\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/exercitationem/update-faq"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": [
        {
            "faq_id": 73,
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "reiciendis"
            ]
        }
    ],
    "faqs[]": "[[\"faq_id\": 1, \"section\": \"some section 1\", \"description\": \"some description 1\", \"details\": [\"question\": \"some question 1\", \"answer\": \"some answer 1\"], \"images\": [\"data:image\/png;base64,iVBORw0...\"]]]"
};

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

Request      

PATCH api/v1/portal/pages/{page_ref}/update-faq

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: exercitationem

page   string   

The ref attribute of the Page. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

faqs   object[]   
faq_id   integer   

The FAQ id. Example: 73

section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]   
details_id   integer  optional  

Example: 88

question   string  optional  

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  
faqs[]   string   

The FAQs collection being created for specified page. (The array items should include a key value pair of faq_id - id). Example: [["faq_id": 1, "section": "some section 1", "description": "some description 1", "details": ["question": "some question 1", "answer": "some answer 1"], "images": ["data:image/png;base64,iVBORw0..."]]]

Pages

Get Pages

Get paginated list of pages.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages?drafted=with&deleted=with&term=https%3A%2F%2Fsomelink.test&status=1&per_page=20&meta_keywords=keyword-1&faqs=with&period=1h%2C6h%2C12h%2C24h%2C7d%2C30d%2C90d%2C180d%2C1y%2CAll&year=2022&order_by=name%3Adesc%2Curl%3Aasc%2Ccreated_at%3Adesc" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"period\": \"24h\",
    \"meta_keywords\": \"autem\",
    \"faqs\": \"without\",
    \"term\": \"phmbokbfasqpafkvd\",
    \"year\": \"c\",
    \"status\": 1,
    \"per_page\": 6,
    \"drafted\": \"only\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"nemo\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages"
);

const params = {
    "drafted": "with",
    "deleted": "with",
    "term": "https://somelink.test",
    "status": "1",
    "per_page": "20",
    "meta_keywords": "keyword-1",
    "faqs": "with",
    "period": "1h,6h,12h,24h,7d,30d,90d,180d,1y,All",
    "year": "2022",
    "order_by": "name:desc,url:asc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "period": "24h",
    "meta_keywords": "autem",
    "faqs": "without",
    "term": "phmbokbfasqpafkvd",
    "year": "c",
    "status": 1,
    "per_page": 6,
    "drafted": "only",
    "deleted": "only",
    "order_by": [
        "nemo"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Specifying a keyword similar to page name, url, meta title, or meta description. Example: https://somelink.test

status   string  optional  

Specifying the inclusion of only pages with status attribute online/offline. Example: 1

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

meta_keywords   string  optional  

Specifying comma seperated values matching items in page's meta keywords attribute array. Example: keyword-1

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Example: with

period   string  optional  

Filter by specifying a period. Example: 1h,6h,12h,24h,7d,30d,90d,180d,1y,All

year   string  optional  

Filter by specifying a year. Example: 2022

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,url:asc,created_at:desc

Body Parameters

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 24h

meta_keywords   string  optional  

Example: autem

faqs   string  optional  

Must be one of with or without. Example: without

term   string  optional  

Must not be greater than 50 characters. Example: phmbokbfasqpafkvd

year   string  optional  

Must not be greater than 4 characters. Example: c

status   integer  optional  

Must be one of 1 or 0. Example: 1

per_page   number  optional  

Must be at least 1. Example: 6

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Fetch Page Options

requires authentication

Retrieve page creation options data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Fetch Page Options for Edit

requires authentication

Retrieve page creation options data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Fetch Portal Page

requires authentication

Retrieve page data matching specified ref attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/portal/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/{ref}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Fetch Portal Page

requires authentication

Retrieve page data matching specified ref attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/portal/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Create a new Page

requires authentication

New pages can be created with optional FAQs properties for pages that requires FAQs.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"FAQs Page\",
    \"url\": \"https:\\/\\/path-for-page.test\",
    \"status\": 1,
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"nofollow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"et\"
            ]
        }
    ],
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "FAQs Page",
    "url": "https:\/\/path-for-page.test",
    "status": 1,
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "nofollow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "et"
            ]
        }
    ],
    "is_draft": false
};

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

Request      

POST api/v1/portal/pages/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

Specifies page name attribute. Example: FAQs Page

url   string   

Page URL. Must be a valid URL. Example: https://path-for-page.test

status   integer   

Must be one of 1 or 0. Example: 1

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Update a Page

requires authentication

An existing page can be modified, alongside their FAQs properties when necessary.

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/pages/minima/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"FAQs Page\",
    \"url\": \"https:\\/\\/path-for-page.test\",
    \"status\": 1,
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"index\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"est\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/minima/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "FAQs Page",
    "url": "https:\/\/path-for-page.test",
    "status": 1,
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "index"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "est"
    ]
};

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

Request      

PUT api/v1/portal/pages/{page_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: minima

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Body Parameters

name   string  optional  

Specifies page name attribute. Example: FAQs Page

url   string  optional  

Page URL. Must be a valid URL. Example: https://path-for-page.test

status   integer  optional  

Must be one of 1 or 0. Example: 1

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 31

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 1

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

Mark one or many Pages as Published

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/pages/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with pages.

Mark one or many Pages as Draft

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/pages/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

The list of ids associated with pages.

Delete Page

requires authentication

Delete page data matching specified ref attribute.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/enim/delete?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/enim/delete"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/pages/{page_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: enim

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Delete Many Pages

requires authentication

Delete multiple pages data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/delete-many?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"pages_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/delete-many"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "pages_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/pages/delete-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

pages_ids   string[]   

The list of ids associated with pages.

Restore Many Pages

requires authentication

Restore multiple pages data by specifying their ids.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/restore-many" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"pages_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/restore-many"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "pages_ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/pages/restore-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

pages_ids   string[]   

The list of ids associated with pages.

Delete One/Many FAQs

requires authentication

Delete multiple Page FAQs by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/quo/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/quo/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/pages/{page_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: quo

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific page FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple Page FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/vitae/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/vitae/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/pages/{page_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: vitae

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific page faq_details ids.

Delete Meta

requires authentication

Delete Page Meta.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/pages/at/delete-meta" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/at/delete-meta"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/pages/{page_ref}/delete-meta

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

page_ref   string   

Example: at

Pages Stats

requires authentication

Get Pages Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/pages/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/pages/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/pages/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Fetch Client Page

Retrieve page data matching specified ref attribute on the Client application.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/show" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --header "X-Platform-User-Identifier-Key: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780"
const url = new URL(
    "https://api.test/api/v1/client/pages/97f62d3d-bf9d-42ac-88c4-9d56cd910d7a/show"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
    "X-Platform-User-Identifier-Key": "RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780",
};

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

Example response (404):

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

{
    "status": false,
    "message": "Page not found.",
    "errors": null
}
 

Request      

GET api/v1/client/pages/{ref}/show

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

X-Platform-User-Identifier-Key      

Example: RTHUB.v1.98591b54-db61-46d4-9d29-47a8a7f325a8.1675084780

URL Parameters

ref   string   

The ref attribute of the page. Example: 97f62d3d-bf9d-42ac-88c4-9d56cd910d7a

Fetch Page by URL

Retrieve page data matching specified URL.

Example request:
curl --request POST \
    "https://api.test/api/v1/client/pages/fetch-by-url" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"url\": \"https:\\/\\/page-one.test\"
}"
const url = new URL(
    "https://api.test/api/v1/client/pages/fetch-by-url"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "url": "https:\/\/page-one.test"
};

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

Request      

POST api/v1/client/pages/fetch-by-url

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

url   string   

The url attribute of the page. Example: https://page-one.test

Participants

Manages participants on the application

The list of participants

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants?state=live&status=complete&deleted=with&payment_status=waived&waive=completely&waiver=partner&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&year=2023&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"id\",
    \"status\": \"transferred\",
    \"state\": \"archived\",
    \"gender\": \"female\",
    \"tshirt_size\": \"m\",
    \"year\": \"2024\",
    \"month\": 6,
    \"via\": \"website\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"period\": \"6h\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"ad\"
    ],
    \"page\": 44,
    \"per_page\": 32
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants"
);

const params = {
    "state": "live",
    "status": "complete",
    "deleted": "with",
    "payment_status": "waived",
    "waive": "completely",
    "waiver": "partner",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "year": "2023",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "id",
    "status": "transferred",
    "state": "archived",
    "gender": "female",
    "tshirt_size": "m",
    "year": "2024",
    "month": 6,
    "via": "website",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "period": "6h",
    "deleted": "without",
    "order_by": [
        "ad"
    ],
    "page": 44,
    "per_page": 32
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

status   string  optional  

Filter by state. Must be one of paid, complete, notified, incomplete, clearance. Example: complete

event   string  optional  

Filter by event slug.

charity   string  optional  

Filter by charity slug.

via   string  optional  

Filter by added via. Must be one of partner_events, book_events, registration_page, external_enquiry_offer, team_invitation, website.

gender   string  optional  

Filter by gender. Must be one of male, female.

tshirt_size   string  optional  

Filter by tshirt_size. Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, xxxl.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

payment_status   string  optional  

Filter by payment_status. Must be one of unpaid, paid, waived, refunded, transferred. Example: waived

waive   string  optional  

Filter by waive. Must be one of partially, completely. Example: completely

waiver   string  optional  

Filter by waiver. Must be one of partner, charity, corporate. Example: partner

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

year   string  optional  

Specifying year filter for when user was created. Example: 2023

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: id

status   string  optional  

Must be one of complete, notified, clearance, incomplete, or transferred. Example: transferred

state   string  optional  

Must be one of live, expired, or archived. Example: archived

gender   string  optional  

Must be one of male, female, or other. Example: female

tshirt_size   string  optional  

Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, or xxxl. Example: m

event   string  optional  
category   string  optional  
charity   string  optional  

The ref of the charity. Must be one of .

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

via   string  optional  

Must be one of partner_events, book_events, registration_page, external_enquiry_offer, team_invitation, website, or transfer. Example: website

payment_status   string  optional  

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 6h

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 44

per_page   integer  optional  

Must be at least 1. Example: 32

Download a participant entry

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/ipsa/download" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/ipsa/download"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/{participant}/download

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: ipsa

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Edit a participant

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/consequatur/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/consequatur/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/{participant}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: consequatur

participant_ref   string   

The ref of the participant. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

Update a participant

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/participants/inventore/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"Marc\",
    \"last_name\": \"Roby AM\",
    \"phone\": \"447834418119\",
    \"state\": \"partially_registered\",
    \"profile\": {
        \"gender\": \"male\",
        \"dob\": \"27-05-2024\",
        \"city\": \"dolor\",
        \"state\": \"placeat\",
        \"address\": \"perferendis\",
        \"country\": \"aperiam\",
        \"postcode\": \"est\",
        \"nationality\": \"magni\",
        \"occupation\": \"aut\",
        \"passport_number\": \"aliquam\",
        \"ethnicity\": \"mixed_or_multiple_ethnic_groups\"
    },
    \"weekly_physical_activity\": \"1 - 2 days\",
    \"slogan\": \"placeat\",
    \"club\": \"rem\",
    \"emergency_contact_name\": \"John Doe\",
    \"emergency_contact_phone\": \"07851081623\",
    \"tshirt_size\": \"xl\",
    \"user\": \"maiores\",
    \"eec\": \"laboriosam\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"fee_type\": \"local\",
    \"preferred_heat_time\": \"iure\",
    \"raced_before\": true,
    \"speak_with_coach\": true,
    \"hear_from_partner_charity\": false,
    \"reason_for_participating\": \"aut\",
    \"estimated_finish_time\": \"accusamus\",
    \"added_via\": \"partner_events\",
    \"event_page\": \"totam\",
    \"enable_family_registration\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/inventore/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "Marc",
    "last_name": "Roby AM",
    "phone": "447834418119",
    "state": "partially_registered",
    "profile": {
        "gender": "male",
        "dob": "27-05-2024",
        "city": "dolor",
        "state": "placeat",
        "address": "perferendis",
        "country": "aperiam",
        "postcode": "est",
        "nationality": "magni",
        "occupation": "aut",
        "passport_number": "aliquam",
        "ethnicity": "mixed_or_multiple_ethnic_groups"
    },
    "weekly_physical_activity": "1 - 2 days",
    "slogan": "placeat",
    "club": "rem",
    "emergency_contact_name": "John Doe",
    "emergency_contact_phone": "07851081623",
    "tshirt_size": "xl",
    "user": "maiores",
    "eec": "laboriosam",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "fee_type": "local",
    "preferred_heat_time": "iure",
    "raced_before": true,
    "speak_with_coach": true,
    "hear_from_partner_charity": false,
    "reason_for_participating": "aut",
    "estimated_finish_time": "accusamus",
    "added_via": "partner_events",
    "event_page": "totam",
    "enable_family_registration": true
};

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

Request      

PUT api/v1/portal/participants/{participant}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: inventore

participant_ref   string   

The ref of the participant. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

Body Parameters

first_name   string   

Example: Marc

last_name   string   

Example: Roby AM

phone   string  optional  

Example: 447834418119

state   string  optional  

Must be one of partially_registered or fully_registered. Example: partially_registered

profile   object  optional  
gender   string  optional  

Must be one of male, female, or other. Example: male

dob   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

city   string  optional  

Example: dolor

state   string  optional  

Example: placeat

address   string   

Example: perferendis

country   string  optional  

Example: aperiam

postcode   string  optional  

Example: est

nationality   string  optional  

Example: magni

occupation   string  optional  

Example: aut

passport_number   string  optional  

Example: aliquam

ethnicity   string  optional  

Must be one of white_british, white_other, asian_or_asian_british, prefer_not_to_say, mixed_or_multiple_ethnic_groups, black_or_black_british, or other_ethnic_group. Example: mixed_or_multiple_ethnic_groups

weekly_physical_activity   string  optional  

Must be one of 1 - 2 days, 3 - 5 days, or 6+ days. Example: 1 - 2 days

slogan   string  optional  

Example: placeat

club   string  optional  

Example: rem

emergency_contact_name   string  optional  

Example: John Doe

emergency_contact_phone   string  optional  

Example: 07851081623

tshirt_size   string  optional  

Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, or xxxl. Example: xl

user   string   

The refs of the user. Must be one of . Example: maiores

eec   string   

The ref of the event event category. Must be one of . Example: laboriosam

charity   string  optional  

The ref of the charity. Must be one of .

payment_status   string  optional  

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

fee_type   string  optional  

Must be one of local or international. Example: local

preferred_heat_time   string  optional  

Example: iure

raced_before   boolean   

Example: true

speak_with_coach   boolean   

Example: true

hear_from_partner_charity   boolean   

Example: false

reason_for_participating   string  optional  

Example: aut

estimated_finish_time   string  optional  

Example: accusamus

added_via   string   

Must be one of partner_events, book_events, registration_page, external_enquiry_offer, team_invitation, website, or transfer. Example: partner_events

event_page   string  optional  

Example: totam

enable_family_registration   boolean   

Example: true

custom_fields   string  optional  

Transfer a participant

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/quia/transfer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"975df0ab-6954-4636-8792-fd242aeb7ee9\",
    \"custom_transfer_fee\": \"5\",
    \"cancel_difference\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/quia/transfer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "975df0ab-6954-4636-8792-fd242aeb7ee9",
    "custom_transfer_fee": "5",
    "cancel_difference": true
};

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

Request      

POST api/v1/portal/participants/{participant}/transfer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: quia

participant_ref   string   

The ref of the participant. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

Body Parameters

eec   string   

The event event category ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

custom_transfer_fee   numeric   

The custom transfer fee. Example: 5

cancel_difference   boolean   

Whether or not to cancel the difference. Example: true

Check if the participant can be transferred to another event

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/sit/verify-transfer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"975df0ab-6954-4636-8792-fd242aeb7ee9\",
    \"custom_transfer_fee\": \"5\",
    \"cancel_difference\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/sit/verify-transfer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "975df0ab-6954-4636-8792-fd242aeb7ee9",
    "custom_transfer_fee": "5",
    "cancel_difference": true
};

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

Request      

POST api/v1/portal/participants/{participant}/verify-transfer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: sit

participant_ref   string   

The ref of the participant. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

Body Parameters

eec   string   

The event event category ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

custom_transfer_fee   numeric   

The custom transfer fee. Example: 5

cancel_difference   boolean   

Whether or not to cancel the difference. Example: true

Delete one or many participants (Soft delete)

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/participants/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"nobis\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "nobis"
    ]
};

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

Request      

DELETE api/v1/portal/participants/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Restore one or many participants

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"molestias\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "molestias"
    ]
};

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

Request      

POST api/v1/portal/participants/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Delete one or many participants (Permanently) Only the administrator can delete an participant permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/participants/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"nulla\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "nulla"
    ]
};

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

Request      

DELETE api/v1/portal/participants/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Create a family member

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/quo/family-registration/new" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/quo/family-registration/new"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/{participant}/family-registration/new

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: quo

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Store the family member

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/accusamus/family-registration/new" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"participant_id\": 1,
    \"event_custom_field_id\": 11,
    \"first_name\": \"Marc\",
    \"last_name\": \"Roby AM\",
    \"gender\": \"male\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/accusamus/family-registration/new"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "participant_id": 1,
    "event_custom_field_id": 11,
    "first_name": "Marc",
    "last_name": "Roby AM",
    "gender": "male"
};

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

Request      

POST api/v1/portal/participants/{participant}/family-registration/new

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: accusamus

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Body Parameters

participant_id   integer   

Example: 1

event_custom_field_id   integer   

Example: 11

first_name   string   

Example: Marc

last_name   string   

Example: Roby AM

gender   string   

Must be one of male, female, or other. Example: male

Edit a family member

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/aliquid/family-registration/1/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/aliquid/family-registration/1/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/{participant}/family-registration/{familyRegistrationId}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: aliquid

familyRegistrationId   integer   

The id of the family registration. Example: 1

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Update the family member

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/participants/sit/family-registration/1/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"participant_id\": 20,
    \"event_custom_field_id\": 14,
    \"first_name\": \"Marc\",
    \"last_name\": \"Roby AM\",
    \"gender\": \"male\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/sit/family-registration/1/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "participant_id": 20,
    "event_custom_field_id": 14,
    "first_name": "Marc",
    "last_name": "Roby AM",
    "gender": "male"
};

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

Request      

PUT api/v1/portal/participants/{participant}/family-registration/{familyRegistrationId}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: sit

familyRegistrationId   integer   

The id of the family registration. Example: 1

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Body Parameters

participant_id   integer   

Example: 20

event_custom_field_id   integer   

Example: 14

first_name   string   

Example: Marc

last_name   string   

Example: Roby AM

gender   string   

Must be one of male, female, or other. Example: male

Delete a family member

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/participants/sed/family-registration/1/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/sed/family-registration/1/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/participants/{participant}/family-registration/{familyRegistrationId}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: sed

familyRegistrationId   integer   

The id of the family registration. Example: 1

participant_ref   string   

The participant ref. Example: 975df0ab-6954-4636-8792-fd242aeb7ee9

Export participants

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/export?state=live&status=complete&deleted=with&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&year=2023&period=24h&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"qui\",
    \"status\": \"complete\",
    \"state\": \"archived\",
    \"gender\": \"male\",
    \"tshirt_size\": \"xxxl\",
    \"year\": \"2024\",
    \"month\": 2,
    \"via\": \"registration_page\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"period\": \"180d\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"eveniet\"
    ],
    \"page\": 15,
    \"per_page\": 60
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/export"
);

const params = {
    "state": "live",
    "status": "complete",
    "deleted": "with",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "year": "2023",
    "period": "24h",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "qui",
    "status": "complete",
    "state": "archived",
    "gender": "male",
    "tshirt_size": "xxxl",
    "year": "2024",
    "month": 2,
    "via": "registration_page",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "period": "180d",
    "deleted": "with",
    "order_by": [
        "eveniet"
    ],
    "page": 15,
    "per_page": 60
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

state   string  optional  

Filter by state. Must be one of live, expired, archived. Example: live

status   string  optional  

Filter by state. Must be one of paid, complete, notified, incomplete, clearance. Example: complete

event   string  optional  

Filter by event slug.

charity   string  optional  

Filter by charity slug.

via   string  optional  

Filter by added via. Must be one of partner_events, book_events, registration_page, external_enquiry_offer, team_invitation, website.

gender   string  optional  

Filter by gender. Must be one of male, female.

tshirt_size   string  optional  

Filter by tshirt_size. Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, xxxl.

term   string  optional  

Filter by term. The term to search for.

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

year   string  optional  

Specifying year filter for when user was created. Example: 2023

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: qui

status   string  optional  

Must be one of complete, notified, clearance, incomplete, or transferred. Example: complete

state   string  optional  

Must be one of live, expired, or archived. Example: archived

gender   string  optional  

Must be one of male, female, or other. Example: male

tshirt_size   string  optional  

Must be one of xxxs, xxs, xs, sm, m, l, xl, xxl, or xxxl. Example: xxxl

event   string  optional  
category   string  optional  
charity   string  optional  

The ref of the charity. Must be one of .

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

via   string  optional  

Must be one of partner_events, book_events, registration_page, external_enquiry_offer, team_invitation, website, or transfer. Example: registration_page

payment_status   string  optional  

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

period   string  optional  

Must be one of 1h, 6h, 12h, 24h, 7d, 30d, 90d, 180d, 1y, or All. Example: 180d

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
page   integer  optional  

Must be at least 1. Example: 15

per_page   integer  optional  

Must be at least 1. Example: 60

Notify a participant(s)

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/notify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"refs\": [
        \"qui\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/notify"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "refs": [
        "qui"
    ]
};

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

Request      

POST api/v1/portal/participants/notify

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

refs   string[]  optional  

Offer the event place to the participant.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/participants/quod/place/offer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"fgdhdfgdfhghfafwrrgrete345yh\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"fee_type\": \"local\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/participants/quod/place/offer"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "fgdhdfgdfhghfafwrrgrete345yh",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "fee_type": "local"
};

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

Request      

POST api/v1/portal/participants/{participant}/place/offer

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

participant   string   

The participant. Example: quod

Body Parameters

eec   string   

The ref of the event event category. Must be one of gasghvjhavasvgjhvghvggjyyhvx, fgdhdfgdfhghfafwrrgrete345yh, fhggjkalsugfujhvajvjhvaabjkvw. Example: fgdhdfgdfhghfafwrrgrete345yh

charity   string  optional  

The ref of the charity. Must be one of .

payment_status   string   

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

fee_type   string  optional  

Must be one of local or international. Example: local

Participant Stats

requires authentication

Get Participant Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/stats/summary?year=2022&status=inventore&type=invoices&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/stats/summary"
);

const params = {
    "year": "2022",
    "status": "inventore",
    "type": "invoices",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: inventore

type   string  optional  

Specifying method of filtering query by type. Example: invoices

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Participant Chart data

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/participants/stats/chart?type=invoices&year=2022&status=et&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/participants/stats/chart"
);

const params = {
    "type": "invoices",
    "year": "2022",
    "status": "et",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/participants/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

type   string   

Specifying method of filtering query by type. Example: invoices

year   string  optional  

Specifying method of filtering query by year. Example: 2022

status   string  optional  

Specifying method of filtering query by status. Example: et

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Partner Channel

Manages partner channels on the application

Paginated partners channels for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-channels/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"sapiente\",
    \"page\": 87,
    \"per_page\": 50
}"
const url = new URL(
    "https://api.test/api/v1/portal/partner-channels/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "sapiente",
    "page": 87,
    "per_page": 50
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-channels/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: sapiente

page   integer  optional  

Must be at least 1. Example: 87

per_page   integer  optional  

Must be at least 1. Example: 50

The list of partner channels

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-channels?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ullam\",
    \"page\": 2,
    \"per_page\": 51,
    \"order_by\": [
        \"ipsum\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/partner-channels"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ullam",
    "page": 2,
    "per_page": 51,
    "order_by": [
        "ipsum"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-channels

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

partner   string  optional  

Filter by partner ref.

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: ullam

site   string  optional  
partner   string  optional  
page   integer  optional  

Must be at least 1. Example: 2

per_page   integer  optional  

Must be at least 1. Example: 51

order_by   string[]  optional  

Create a partner channel

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-channels/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partner-channels/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-channels/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Edit a partner channel

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-channels/nemo/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partner-channels/nemo/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-channels/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nemo

channel_ref   string   

The ref of the partner channel. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Partner Events

Manages partner events on the application

Get the participants for an event

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/events/tempora/participants" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"temporibus\",
    \"page\": 88,
    \"per_page\": 78
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/tempora/participants"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "temporibus",
    "page": 88,
    "per_page": 78
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/events/{event}/participants

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

The event. Example: tempora

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  
per_page   integer  optional  

Items per page

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: temporibus

page   integer  optional  

Must be at least 1. Example: 88

site   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 78

The list of partner events

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-events?category=97a3ca24-0447-4b49-aa25-a8cddb0e064d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 1,
    \"term\": \"accusamus\",
    \"year\": \"2024\",
    \"month\": 9,
    \"per_page\": 20
}"
const url = new URL(
    "https://api.test/api/v1/portal/partner-events"
);

const params = {
    "category": "97a3ca24-0447-4b49-aa25-a8cddb0e064d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 1,
    "term": "accusamus",
    "year": "2024",
    "month": 9,
    "per_page": 20
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-events

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string   

The ref of the category. Example: 97a3ca24-0447-4b49-aa25-a8cddb0e064d

year   integer  optional  

Filter by year.

month   integer  optional  

Filter by month.

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 1

term   string  optional  

Example: accusamus

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

category   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 20

Create a participant

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-events/participants/pariatur/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partner-events/participants/pariatur/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-events/participants/{event}/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

Example: pariatur

event_ref   string   

The ref of the event. Example: 97a3ca24-0447-4b49-aa25-a8cddb0e064d

Store a participant.

requires authentication

The administrator or charity owners or charity users add participants to events through this endpoint.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/partner-events/participants/occaecati/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"eec\": \"fhggjkalsugfujhvajvjhvaabjkvw\",
    \"payment_status\": \"unpaid\",
    \"waive\": \"completely\",
    \"waiver\": \"charity\",
    \"fee_type\": \"local\",
    \"email\": \"marc@runforcharity.com\",
    \"first_name\": \"Marc\",
    \"last_name\": \"Roby AM\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/partner-events/participants/occaecati/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "eec": "fhggjkalsugfujhvajvjhvaabjkvw",
    "payment_status": "unpaid",
    "waive": "completely",
    "waiver": "charity",
    "fee_type": "local",
    "email": "marc@runforcharity.com",
    "first_name": "Marc",
    "last_name": "Roby AM"
};

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

Request      

POST api/v1/portal/partner-events/participants/{event}/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

Example: occaecati

event_ref   string   

The ref of the event. Example: 97a3ca24-0447-4b49-aa25-a8cddb0e064d

Body Parameters

eec   string   

The ref of the event event category. Must be one of fgdhdfgdfhghfafwrrgrete345yh, gasghvjhavasvgjhvghvggjyyhvx, fhggjkalsugfujhvajvjhvaabjkvw. Example: fhggjkalsugfujhvajvjhvaabjkvw

charity   string  optional  

The ref of the charity. Must be one of .

payment_status   string   

Must be one of unpaid, paid, waived, refunded, or transferred. Example: unpaid

waive   string  optional  

Must be one of completely or partially. Example: completely

waiver   string  optional  

Must be one of charity, corporate, or partner. Example: charity

fee_type   string  optional  

Must be one of local or international. Example: local

email   string   

Must be a valid email address. Example: marc@runforcharity.com

first_name   string   

Example: Marc

last_name   string   

Example: Roby AM

Export event participants

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partner-events/ipsa/export" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"fugit\",
    \"page\": 88,
    \"per_page\": 16
}"
const url = new URL(
    "https://api.test/api/v1/portal/partner-events/ipsa/export"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "fugit",
    "page": 88,
    "per_page": 16
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partner-events/{event}/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

event   string   

Example: ipsa

event_ref   string   

The ref of the event. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  
per_page   integer  optional  

Items per page

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: fugit

page   integer  optional  

Must be at least 1. Example: 88

site   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 16

The list of partner events

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/book-events?category=97a3ca24-0447-4b49-aa25-a8cddb0e064d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 21,
    \"term\": \"quaerat\",
    \"year\": \"2024\",
    \"month\": 9,
    \"per_page\": 51
}"
const url = new URL(
    "https://api.test/api/v1/portal/book-events"
);

const params = {
    "category": "97a3ca24-0447-4b49-aa25-a8cddb0e064d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 21,
    "term": "quaerat",
    "year": "2024",
    "month": 9,
    "per_page": 51
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/book-events

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

category   string   

The ref of the category. Example: 97a3ca24-0447-4b49-aa25-a8cddb0e064d

year   integer  optional  

Filter by year.

month   integer  optional  

Filter by month.

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

page   integer  optional  

Must be at least 1. Example: 21

term   string  optional  

Example: quaerat

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

month   number  optional  

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

category   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 51

Partners

Manages partners on the application

Paginated partners for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/all?with=channels&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ut\",
    \"with\": \"quasi\",
    \"page\": 73,
    \"per_page\": 6
}"
const url = new URL(
    "https://api.test/api/v1/portal/partners/all"
);

const params = {
    "with": "channels",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ut",
    "with": "quasi",
    "page": 73,
    "per_page": 6
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

with   string  optional  

Get partners with channels. Must be one of channels. Example: channels

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: ut

with   string  optional  

Must be one of channels. Example: quasi

page   integer  optional  

Must be at least 1. Example: 73

per_page   integer  optional  

Must be at least 1. Example: 6

The list of partners

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners?page=1&order_by=name%3Adesc%2Ccode%3Aasc%2Cexpiry%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"fugit\",
    \"page\": 40,
    \"per_page\": 42,
    \"order_by\": [
        \"dolores\"
    ],
    \"deleted\": \"with\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/partners"
);

const params = {
    "page": "1",
    "order_by": "name:desc,code:asc,expiry:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "fugit",
    "page": 40,
    "per_page": 42,
    "order_by": [
        "dolores"
    ],
    "deleted": "with"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,code:asc,expiry:desc,created_at:desc

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: fugit

site   string  optional  
page   integer  optional  

Must be at least 1. Example: 40

per_page   integer  optional  

Must be at least 1. Example: 42

order_by   string[]  optional  
deleted   string  optional  

Must be one of with, without, or only. Example: with

Create a partner

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partners/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a partner

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/partners/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Lets Do This\",
    \"site\": \"tyf768t0p7wy879oywi\",
    \"description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"website\": \"https:\\/\\/spartanrace.uk\\/en\",
    \"code\": \"LDT\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"follow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/partners/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Lets Do This",
    "site": "tyf768t0p7wy879oywi",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "website": "https:\/\/spartanrace.uk\/en",
    "code": "LDT",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "follow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2"
};

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

Request      

POST api/v1/portal/partners/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the partner (required). This field is required when site is present. Example: Lets Do This

site   string   

The refs of the site. Must be one of tyf768t0p7wy879oywi, t89093ytohevkuvdgvui, hsid0du23-e3hidqwidvu. Example: tyf768t0p7wy879oywi

description   string  optional  

The partner description. Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

website   string  optional  

The website. Example: https://spartanrace.uk/en

code   string  optional  

The partner code. Example: LDT

socials   string  optional  
platform   string  optional  

Must be one of google, facebook, twitter, instagram, tiktok, linkedin, youtube, vimeo, or github. Example: twitter

url   string  optional  

Example: https://twitter.com/bathhalf

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Get a partner's details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/voluptatem/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partners/voluptatem/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: voluptatem

partner_ref   string   

The ref of the partner. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a partner

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/itaque/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partners/itaque/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: itaque

partner_ref   string   

The ref of the partner. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export partners

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/export?page=1&order_by=name%3Adesc%2Ccode%3Aasc%2Cexpiry%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ut\",
    \"page\": 21,
    \"per_page\": 89,
    \"order_by\": [
        \"ratione\"
    ],
    \"deleted\": \"with\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/partners/export"
);

const params = {
    "page": "1",
    "order_by": "name:desc,code:asc,expiry:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ut",
    "page": 21,
    "per_page": 89,
    "order_by": [
        "ratione"
    ],
    "deleted": "with"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,code:asc,expiry:desc,created_at:desc

site   string  optional  

Filter by site ref. The site to search in. This parameter is only available to users of role administrator when making requests from sportsmediaagency.com (That is, when making request to get data of the whole application - all the platforms).

Body Parameters

term   string  optional  

Example: ut

site   string  optional  
page   integer  optional  

Must be at least 1. Example: 21

per_page   integer  optional  

Must be at least 1. Example: 89

order_by   string[]  optional  
deleted   string  optional  

Must be one of with, without, or only. Example: with

Update a partner

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Lets Do This\",
    \"site\": \"t89093ytohevkuvdgvui\",
    \"description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",
    \"website\": \"https:\\/\\/spartanrace.uk\\/en\",
    \"code\": \"LDT\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"follow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Lets Do This",
    "site": "t89093ytohevkuvdgvui",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    "website": "https:\/\/spartanrace.uk\/en",
    "code": "LDT",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "follow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2"
};

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

Request      

PUT api/v1/portal/partners/{partner_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

partner_ref   string   

The ref of the partner. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

name   string  optional  

The name of the partner (required). This field is required when site is present. Example: Lets Do This

site   string  optional  

The refs of the site. Must be one of tyf768t0p7wy879oywi, t89093ytohevkuvdgvui, hsid0du23-e3hidqwidvu. This field is required when name is present. Example: t89093ytohevkuvdgvui

description   string  optional  

The partner description. Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

website   string  optional  

The website. Example: https://spartanrace.uk/en

code   string  optional  

The partner code. Example: LDT

socials   string  optional  
platform   string  optional  

Must be one of google, facebook, twitter, instagram, tiktok, linkedin, youtube, vimeo, or github. Example: twitter

url   string  optional  

Example: https://twitter.com/bathhalf

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Remove the partner's image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partners/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/partners/{partner_ref}/image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

partner_ref   string   

The ref of the partner. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

upload_ref   string   

The ref of the upload. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Partner Stats

requires authentication

Get Partner Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/partners/stats/summary" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/partners/stats/summary"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/partners/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Payment

Handles all payment related operations

Handle payment intent webhook events

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/webhook/intent" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/webhook/intent"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/webhook/intent

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/webhook/link" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/webhook/link"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Handle charge webhook events

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/webhook/charge" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/webhook/charge"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/webhook/charge

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Handle payment method webhook events

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/webhook/method" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/webhook/method"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/webhook/method

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get the meta data

Example request:
curl --request GET \
    --get "https://api.test/api/v1/payment/checkout/meta" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/meta"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (406):

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

{
    "status": false,
    "message": "Payment Controller - Site not found!",
    "errors": "Site not found!"
}
 

Request      

GET api/v1/payment/checkout/meta

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Proceed to Checkout

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/checkout/participant_registration/proceed" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/participant_registration/proceed"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/checkout/{type}/proceed

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of participant_registration, participant_transfer, market_resale, charity_membership,partner_package_assignment,event_places,corporate_credit. Example: participant_registration

Checkout - For events that require payment

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/checkout/participant_registration/97ad9df6-d927-4a44-8fec-3daacee89678/pay" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/participant_registration/97ad9df6-d927-4a44-8fec-3daacee89678/pay"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/checkout/{type}/{ongoing_external_transaction_ref}/pay

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of participant_registration, participant_transfer, market_resale, charity_membership,partner_package_assignment,event_places,corporate_credit. Example: participant_registration

ongoing_external_transaction_ref   string   

The ref of the ongoing payment. Example: 97ad9df6-d927-4a44-8fec-3daacee89678

Checkout - For free events

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/checkout/participant_registration/free" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/participant_registration/free"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/checkout/{type}/free

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

type   string   

The entity payment is made for. Must be one of participant_registration, participant_transfer, market_resale, charity_membership,partner_package_assignment,event_places,corporate_credit. Example: participant_registration

Checkout - Confirm payment

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/checkout/pi_3MtweELkdIwHu7ix0Dt0gF2H/confirm" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/pi_3MtweELkdIwHu7ix0Dt0gF2H/confirm"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/checkout/{id}/confirm

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The id of the payment intent Example: pi_3MtweELkdIwHu7ix0Dt0gF2H

Handle post payment response

Example request:
curl --request GET \
    --get "https://api.test/api/v1/payment/checkout/at/response" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/checkout/at/response"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (406):

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

{
    "status": false,
    "message": "Payment Controller - Site not found!",
    "errors": "Site not found!"
}
 

Request      

GET api/v1/payment/checkout/{ongoing_external_transaction_ref}/response

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ongoing_external_transaction_ref   string   

Example: at

Create and attach payment method to customer

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/payment-methods/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"type\": \"card\",
    \"exp_month\": 9,
    \"exp_year\": \"2025-05-27T10:56:34.137927Z\",
    \"number\": 424242424242,
    \"cvc\": 123,
    \"account_number\": 5349,
    \"sort_code\": -40
}"
const url = new URL(
    "https://api.test/api/v1/payment/payment-methods/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "type": "card",
    "exp_month": 9,
    "exp_year": "2025-05-27T10:56:34.137927Z",
    "number": 424242424242,
    "cvc": 123,
    "account_number": 5349,
    "sort_code": -40
};

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

Request      

POST api/v1/payment/payment-methods/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The payment method id. Example: pm_1MqLiJLkdIwHu7ixUEgbFdYF

Body Parameters

type   string   

Must be one of wallet, card, paypal, apple_pay, google_pay, bacs_debit, or link. Example: card

exp_month   string  optional  

Must be a valid date in the format m. Example: 9

exp_year   string  optional  

Must be a valid date in the format Y. Example: 2025-05-27 10:56:34

number   string  optional  

Must be 16 digits. Example: 424242424242

cvc   string  optional  

Must be 3 digits. Example: 123

account_number   string  optional  

Example: 5349

sort_code   string  optional  

Example: -40

Attach payment method to customer

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/payment-methods/pm_1MqLiJLkdIwHu7ixUEgbFdYF/attach" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/payment-methods/pm_1MqLiJLkdIwHu7ixUEgbFdYF/attach"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/payment-methods/{id}/attach

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The payment method id. Example: pm_1MqLiJLkdIwHu7ixUEgbFdYF

Detach payment method from customer

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/payment-methods/pm_1MqLiJLkdIwHu7ixUEgbFdYF/detach" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/payment-methods/pm_1MqLiJLkdIwHu7ixUEgbFdYF/detach"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/payment-methods/{id}/detach

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The payment method id. Example: pm_1MqLiJLkdIwHu7ixUEgbFdYF

List a customer's payment methods

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/payment/payment-methods/cumque/list" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/payment/payment-methods/cumque/list"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/payment/payment-methods/{id}/list

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   string   

The ID of the payment method. Example: cumque

Permission

Get Permissions

requires authentication

List system permissions.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/permissions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/permissions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

New permission

requires authentication

Add a new permission to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/permissions/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/permissions/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

POST api/v1/portal/permissions/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Update Permission

requires authentication

Update an existing permission.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/permissions/97741344-4d25-4d07-a367-ce344cf38410/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"suspend-users\",
    \"description\": \"User with this permission can suspend other users\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/permissions/97741344-4d25-4d07-a367-ce344cf38410/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "suspend-users",
    "description": "User with this permission can suspend other users"
};

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

Request      

PATCH api/v1/portal/permissions/{permission_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

permission_ref   string   

Example: 97741344-4d25-4d07-a367-ce344cf38410

user   string   

Specifies permission's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

name   string   

Permission's name. Example: suspend-users

description   string  optional  

Provides optional description. Example: User with this permission can suspend other users

Delete Permission

requires authentication

Delete an existing permission.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/permissions/97741344-4d25-4d07-a367-ce344cf38410/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/permissions/97741344-4d25-4d07-a367-ce344cf38410/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/permissions/{permission_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

permission_ref   string   

Example: 97741344-4d25-4d07-a367-ce344cf38410

user   string   

Specifies permission's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Profile

Manages users profiles on the application

Profile Picture

requires authentication

Update a user's profile display picture.

Example request:
curl --request POST \
    "https://api.test/api/v1/profile/repellendus/avatar-upload" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"avatar\": \"laboriosam\"
}"
const url = new URL(
    "https://api.test/api/v1/profile/repellendus/avatar-upload"
);

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

let body = {
    "avatar": "laboriosam"
};

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

Request      

POST api/v1/profile/{profile}/avatar-upload

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile   string   

The profile. Example: repellendus

Body Parameters

avatar   string   

The image Data URI Example: laboriosam

Profile Background Image

requires authentication

Update a user's profile background image.

Example request:
curl --request POST \
    "https://api.test/api/v1/profile/consequuntur/background-image-upload" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"background_image\": \"ex\"
}"
const url = new URL(
    "https://api.test/api/v1/profile/consequuntur/background-image-upload"
);

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

let body = {
    "background_image": "ex"
};

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

Request      

POST api/v1/profile/{profile}/background-image-upload

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile   string   

The profile. Example: consequuntur

Body Parameters

background_image   string   

The image Data URI Example: ex

Delete Profile Picture

requires authentication

Delete a user's profile display picture.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/avatar-delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/avatar-delete"
);

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

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/profile/{profile_ref}/avatar-delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile_ref   string   

Example: 975dcf22-eda3-4437-8c96-6df4e790d077

Delete Profile Background Picture

requires authentication

Delete a user's profile background picture.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/background-image-delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/profile/975dcf22-eda3-4437-8c96-6df4e790d077/background-image-delete"
);

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

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/profile/{profile_ref}/background-image-delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

profile_ref   string   

Example: 975dcf22-eda3-4437-8c96-6df4e790d077

Get the invoices of the user (having the participant role)

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/profile/invoices?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"quis\",
    \"page\": 4,
    \"per_page\": 70
}"
const url = new URL(
    "https://api.test/api/v1/portal/profile/invoices"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "quis",
    "page": 4,
    "per_page": 70
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/profile/invoices

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: quis

page   integer  optional  

Must be at least 1. Example: 4

per_page   integer  optional  

Must be at least 1. Example: 70

Redirects

Get Redirects

requires authentication

Get paginated list of redirects.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/redirects?soft_delete=temporal&hard_delete=temporal%2Cpermanent&type=single%2Ccollection&deleted=with&term=https%3A%2F%2Fsomelink.test&per_page=20&order_by=created_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"status\": \"temporal\",
    \"type\": \"collection\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/redirects"
);

const params = {
    "soft_delete": "temporal",
    "hard_delete": "temporal,permanent",
    "type": "single,collection",
    "deleted": "with",
    "term": "https://somelink.test",
    "per_page": "20",
    "order_by": "created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "status": "temporal",
    "type": "collection"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/redirects

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

soft_delete   string  optional  

The soft delete status for the redirect. Example: temporal

hard_delete   string  optional  

The hard delete status for the redirect. Example: temporal,permanent

type   string  optional  

Filter by specifying a status. Example: single,collection

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Specifying a keyword similar to model name, target_url, or redirect_url. Example: https://somelink.test

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: created_at:desc

Body Parameters

status   string   

Must be one of temporal or permanent. Example: temporal

type   string   

Must be one of single or collection. Example: collection

Fetch Redirect

requires authentication

Display the specified redirect.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/redirects/9913d099-ae76-46c9-bb2b-eb6f266b2cbf/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/9913d099-ae76-46c9-bb2b-eb6f266b2cbf/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/redirects/{redirect}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

redirect   string   

The ref of the redirect. Example: 9913d099-ae76-46c9-bb2b-eb6f266b2cbf

Redirect Options

requires authentication

Get options for redirect creation.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/redirects/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/redirects/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Create Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/redirects/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal,permanent\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 15
    }
}"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal,permanent",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 15
    }
};

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

Request      

POST api/v1/portal/redirects/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

The soft delete status for the redirect. Example: temporal

hard_delete   string   

The hard delete status for the redirect. Example: temporal,permanent

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 15

models   string[]  optional  

Setup Multiple Entity Redirects.

requires authentication

Add a redirect to multiple entities in the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/redirects/store-many" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"http:\\/\\/www.koch.com\\/repellendus-repudiandae-nulla-fugit-ipsam-magnam-rerum-porro\",
    \"redirect_url\": \"https:\\/\\/kunde.com\\/qui-cum-nisi-enim-a-odit.html\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal\",
    \"type\": \"single\",
    \"model\": {
        \"id\": 14
    },
    \"models\": [
        \"corrupti\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/store-many"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "http:\/\/www.koch.com\/repellendus-repudiandae-nulla-fugit-ipsam-magnam-rerum-porro",
    "redirect_url": "https:\/\/kunde.com\/qui-cum-nisi-enim-a-odit.html",
    "soft_delete": "temporal",
    "hard_delete": "temporal",
    "type": "single",
    "model": {
        "id": 14
    },
    "models": [
        "corrupti"
    ]
};

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

Request      

POST api/v1/portal/redirects/store-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

target_url   string   

Must be a valid URL. Example: http://www.koch.com/repellendus-repudiandae-nulla-fugit-ipsam-magnam-rerum-porro

redirect_url   string   

Must be a valid URL. Example: https://kunde.com/qui-cum-nisi-enim-a-odit.html

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: temporal

type   string   

Must be one of single or collection. Example: single

model   object   
id   integer   

Example: 14

models   string[]   

The array of redirect.

Update redirect

requires authentication

Update the specified redirect.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/redirects/provident/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal,permanent\",
    \"type\": \"single,collection\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/provident/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal,permanent",
    "type": "single,collection"
};

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

Request      

PATCH api/v1/portal/redirects/{redirect_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

redirect_ref   string   

Example: provident

Body Parameters

target_url   string  optional  

The target url for the redirect. Example: https://google.com

redirect_url   string  optional  

The redirect url for the redirect. Example: https://google.com

soft_delete   string  optional  

The soft delete status for the redirect. Example: temporal

hard_delete   string  optional  

The hard delete status for the redirect. Example: temporal,permanent

type   string  optional  

The type for the redirect. Example: single,collection

Delete Redirects

requires authentication

Remove multiple redirects by specified ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/redirects/delete?permanently=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"redirects_ids\": [
        1,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/redirects/delete"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "redirects_ids": [
        1,
        2,
        3
    ]
};

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

Request      

DELETE api/v1/portal/redirects/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

permanently   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

redirects_ids   string[]   

The ids of the redirects to be deleted.

Setup Event Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/fugit/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 20
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/fugit/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 20
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/events/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: fugit

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: temporal

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 20

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup Event Category Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/events/categories/dolore/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"permanent\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 3
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/events/categories/dolore/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "permanent",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 3
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/events/categories/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: dolore

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: permanent

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 3

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup Region Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"permanent\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 18
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "permanent",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 18
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/regions/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 98834c30-5e02-4179-afbf-a00ae68f2d2f

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: permanent

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 18

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup City Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 17
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/cities/987b93b3-d31c-4530-809b-156e1e7ad80e/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 17
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/cities/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987b93b3-d31c-4530-809b-156e1e7ad80e

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: temporal

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 17

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup Venue Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 3
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 3
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/venues/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987a4070-1092-4e2a-9a81-faf3cbae77e8

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: temporal

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 3

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup Combination Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/combinations/recusandae/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"permanent\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 2
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/combinations/recusandae/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "permanent",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 2
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/combinations/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: recusandae

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: permanent

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 2

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Setup Page Redirect.

requires authentication

Add a new redirect to the system.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/pages/enim/setup-redirect" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"target_url\": \"https:\\/\\/google.com\",
    \"redirect_url\": \"https:\\/\\/google.com\",
    \"soft_delete\": \"temporal\",
    \"hard_delete\": \"temporal\",
    \"type\": \"single,collection\",
    \"model\": {
        \"name\": \"Event\",
        \"ref\": \"event_1\",
        \"id\": 7
    },
    \"status\": \"temporal,permanent\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/pages/enim/setup-redirect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "target_url": "https:\/\/google.com",
    "redirect_url": "https:\/\/google.com",
    "soft_delete": "temporal",
    "hard_delete": "temporal",
    "type": "single,collection",
    "model": {
        "name": "Event",
        "ref": "event_1",
        "id": 7
    },
    "status": "temporal,permanent"
};

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

Request      

POST api/v1/portal/pages/{ref}/setup-redirect

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: enim

Body Parameters

target_url   string   

The target url for the redirect. Example: https://google.com

redirect_url   string   

The redirect url for the redirect. Example: https://google.com

soft_delete   string   

Must be one of temporal. Example: temporal

hard_delete   string   

Must be one of temporal or permanent. Example: temporal

type   string   

The type for the redirect. Example: single,collection

model   object   

The object representation of the entity being redirected.

id   integer   

Example: 7

models   string[]  optional  
status   string   

The status for the redirect. Example: temporal,permanent

Regions

Manages regions on the application

Paginated regions for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/all?country=United+Kingdom&faqs=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": \"without\",
    \"term\": \"a\",
    \"country\": \"nihil\",
    \"page\": 70,
    \"per_page\": 86
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/all"
);

const params = {
    "country": "United Kingdom",
    "faqs": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": "without",
    "term": "a",
    "country": "nihil",
    "page": 70,
    "per_page": 86
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country. Example: United Kingdom

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

faqs   string  optional  

Must be one of with or without. Example: without

term   string  optional  

Example: a

country   string  optional  

Example: nihil

page   integer  optional  

Must be at least 1. Example: 70

per_page   integer  optional  

Must be at least 1. Example: 86

The list of regions

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions?country=United+Kingdom&order_by=name%3Adesc%2Ccreated_at%3Adesc&drafted=with&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"possimus\",
    \"country\": \"libero\",
    \"faqs\": \"with\",
    \"page\": 75,
    \"per_page\": 11,
    \"drafted\": \"only\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"perferendis\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions"
);

const params = {
    "country": "United Kingdom",
    "order_by": "name:desc,created_at:desc",
    "drafted": "with",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "possimus",
    "country": "libero",
    "faqs": "with",
    "page": 75,
    "per_page": 11,
    "drafted": "only",
    "deleted": "only",
    "order_by": [
        "perferendis"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country. Example: United Kingdom

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: possimus

country   string  optional  

Example: libero

faqs   string  optional  

Must be one of with or without. Example: with

page   integer  optional  

Must be at least 1. Example: 75

per_page   integer  optional  

Must be at least 1. Example: 11

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Create a region

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a region

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/regions/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Midlands\",
    \"site_id\": 2,
    \"country\": \"United Kingdom\",
    \"description\": \"Description of Midlands\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"follow\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"qui\"
            ]
        }
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"aspernatur\"
    ],
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Midlands",
    "site_id": 2,
    "country": "United Kingdom",
    "description": "Description of Midlands",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "follow"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "qui"
            ]
        }
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "aspernatur"
    ],
    "is_draft": false
};

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

Request      

POST api/v1/portal/regions/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the region. This field is required when site_id is present. Example: Midlands

site_id   integer   

The site id. Example: 2

country   string   

The country of the region. Example: United Kingdom

description   string  optional  

The description of the region. Example: Description of Midlands

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Get a region's details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/{region}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region   string   

The region. Example: 98834c30-5e02-4179-afbf-a00ae68f2d2f

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a region

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 98834c30-5e02-4179-afbf-a00ae68f2d2f

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export regions

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/export?page=1&order_by=name%3Adesc%2Ccreated_at%3Adesc&deleted=with" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"ea\",
    \"country\": \"commodi\",
    \"faqs\": \"without\",
    \"page\": 45,
    \"per_page\": 34,
    \"drafted\": \"without\",
    \"deleted\": \"only\",
    \"order_by\": [
        \"illum\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/export"
);

const params = {
    "page": "1",
    "order_by": "name:desc,created_at:desc",
    "deleted": "with",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "ea",
    "country": "commodi",
    "faqs": "without",
    "page": 45,
    "per_page": 34,
    "drafted": "without",
    "deleted": "only",
    "order_by": [
        "illum"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: ea

country   string  optional  

Example: commodi

faqs   string  optional  

Must be one of with or without. Example: without

page   integer  optional  

Must be at least 1. Example: 45

per_page   integer  optional  

Must be at least 1. Example: 34

drafted   string  optional  

Must be one of with, without, or only. Example: without

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  

Update a region

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_id\": 2,
    \"name\": \"region name\",
    \"country\": \"region country\",
    \"description\": \"region description\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"noindex\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"veniam\"
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"quam\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_id": 2,
    "name": "region name",
    "country": "region country",
    "description": "region description",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "noindex"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "veniam"
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "quam"
    ]
};

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

Request      

PUT api/v1/portal/regions/{region_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

site_id   integer  optional  

The site id of the region. This field is required when name is present. Example: 2

name   string  optional  

The name of the region. This field is required when site_id is present. Example: region name

country   string   

The country of the region. Example: region country

description   string  optional  

The description of the region. Example: region description

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 51

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 76

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   

Mark as draft one or many regions

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/regions/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/regions/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with regions.

Delete one or many regions

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/regions/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with regions.

Restore One or many regions

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/regions/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/regions/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with regions.

Delete one or many regions (Permanently) Only the administrator can delete a region permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/regions/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with regions.

Delete the region's image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/regions/{region_ref}/image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

upload_ref   string   

The ref of the upload. Example: 97ad9df6-d927-4a44-8fec-3daacee89678

Delete One/Many FAQs

requires authentication

Delete multiple Region FAQs by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/regions/{region_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific region FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple Page FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/regions/{region_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region_ref   string   

The ref of the region. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

faq_ref   string   

The ref of the faq. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific page faq_details ids.

Remove faq details image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/vitae/faq-details-image/est/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/98834c30-5e02-4179-afbf-a00ae68f2d2f/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/vitae/faq-details-image/est/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/regions/{region_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

region_ref   string   

Example: 98834c30-5e02-4179-afbf-a00ae68f2d2f

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: vitae

upload_ref   string   

Example: est

Region Stats

requires authentication

Get Region Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/regions/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/regions/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/regions/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Paginated regions for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/regions/all?country=United+Kingdom&faqs=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs\": \"with\",
    \"term\": \"officiis\",
    \"country\": \"ut\",
    \"page\": 21,
    \"per_page\": 40
}"
const url = new URL(
    "https://api.test/api/v1/client/regions/all"
);

const params = {
    "country": "United Kingdom",
    "faqs": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs": "with",
    "term": "officiis",
    "country": "ut",
    "page": 21,
    "per_page": 40
};

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

Example response (401):

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

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/regions/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country. Example: United Kingdom

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

faqs   string  optional  

Must be one of with or without. Example: with

term   string  optional  

Example: officiis

country   string  optional  

Example: ut

page   integer  optional  

Must be at least 1. Example: 21

per_page   integer  optional  

Must be at least 1. Example: 40

Regions - Client

The list of regions

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/regions?country=United+Kingdom&popular=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"doloribus\",
    \"country\": \"aut\",
    \"popular\": false,
    \"page\": 50,
    \"per_page\": 26
}"
const url = new URL(
    "https://api.test/api/v1/client/regions"
);

const params = {
    "country": "United Kingdom",
    "popular": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "doloribus",
    "country": "aut",
    "popular": false,
    "page": 50,
    "per_page": 26
};

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

Example response (200):

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

{
    "status": true,
    "message": "The list of regions",
    "data": {
        "regions": {
            "current_page": 50,
            "data": [],
            "first_page_url": "https://api.test/api/v1/client/regions?country=United%20Kingdom&popular=1&page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://api.test/api/v1/client/regions?country=United%20Kingdom&popular=1&page=1",
            "links": [
                {
                    "url": "https://api.test/api/v1/client/regions?country=United%20Kingdom&popular=1&page=49",
                    "label": "&laquo; Previous",
                    "active": false
                },
                {
                    "url": "https://api.test/api/v1/client/regions?country=United%20Kingdom&popular=1&page=1",
                    "label": "1",
                    "active": false
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://api.test/api/v1/client/regions",
            "per_page": 26,
            "prev_page_url": "https://api.test/api/v1/client/regions?country=United%20Kingdom&popular=1&page=49",
            "to": null,
            "total": 0,
            "query_params": {
                "country": "United Kingdom",
                "popular": true,
                "page": 1
            }
        }
    }
}
 

Request      

GET api/v1/client/regions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country. Example: United Kingdom

popular   boolean  optional  

Filter by most popular. Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: doloribus

country   string  optional  

Example: aut

popular   boolean  optional  

Example: false

page   integer  optional  

Must be at least 1. Example: 50

per_page   integer  optional  

Must be at least 1. Example: 26

Get the events under a region

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/regions/midlands?category=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&start_date=%2222-02-2018%22&end_date=%2222-02-2023%22&price[]=12&price[]=80&virtual_events=include&skip=6&take=20&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"nobis\",
    \"start_date\": \"27-05-2024\",
    \"end_date\": \"2038-02-19\",
    \"price\": [
        18
    ],
    \"region\": \"id\",
    \"address\": \"itaque\",
    \"virtual_events\": \"include\",
    \"date\": \"libero\",
    \"page\": 66,
    \"per_page\": 5
}"
const url = new URL(
    "https://api.test/api/v1/client/regions/midlands"
);

const params = {
    "category": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "start_date": ""22-02-2018"",
    "end_date": ""22-02-2023"",
    "price[0]": "12",
    "price[1]": "80",
    "virtual_events": "include",
    "skip": "6",
    "take": "20",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "nobis",
    "start_date": "27-05-2024",
    "end_date": "2038-02-19",
    "price": [
        18
    ],
    "region": "id",
    "address": "itaque",
    "virtual_events": "include",
    "date": "libero",
    "page": 66,
    "per_page": 5
};

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

Example response (422):

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

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "end_date": [
            "The end date does not match the format d-m-Y."
        ],
        "price": [
            "The price must contain 2 items."
        ],
        "region": [
            "The region is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/regions/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

slug   string   

The slug of the region. Example: midlands

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

start_date   string  optional  

Filter by start_date. Must be a valid date in the format d-m-Y. Example: "22-02-2018"

end_date   string  optional  

Filter by end_date. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region ref.

address   string  optional  

Filter by address.

virtual_events   string  optional  

Filter by virtual_events. Must be one of include, exclude, only. Example: include

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

skip   integer  optional  

The number of items to skip before taking the number of items specified by the take query param Example: 6

take   integer  optional  

Number of items to return. Example 6 Example: 20

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

name   string  optional  

Example: nobis

category   string  optional  
start_date   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

end_date   string  optional  

Must be a valid date in the format d-m-Y. Must be a date after or equal to start_date. Example: 2038-02-19

price   integer[]  optional  
region   string  optional  

Example: id

address   string  optional  

Example: itaque

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: include

date   string  optional  

Example: libero

page   integer  optional  

Must be at least 1. Example: 66

per_page   integer  optional  

Must be at least 1. Example: 5

ResalePlace

Manages events resale places on the application

The list of resale places

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/market/manage/resale/places?charity=wwf&event=santa-in-the-city-london-wednesday&discount=1&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"page\": 17,
    \"term\": \"et\",
    \"discount\": true,
    \"per_page\": 23
}"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/resale/places"
);

const params = {
    "charity": "wwf",
    "event": "santa-in-the-city-london-wednesday",
    "discount": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "page": 17,
    "term": "et",
    "discount": true,
    "per_page": 23
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/market/manage/resale/places

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

charity   string  optional  

Filter by charity slug. Example: wwf

event   string  optional  

Filter by event slug. Example: santa-in-the-city-london-wednesday

discount   boolean  optional  

Filter by status. Example: true

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return. Example: 1

per_page   integer  optional  

Items per page.

Body Parameters

page   integer  optional  

Must be at least 1. Example: 17

term   string  optional  

Example: et

discount   boolean  optional  

Example: true

charity   string  optional  
event   string  optional  
per_page   integer  optional  

Must be at least 1. Example: 23

Create a resale place

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/market/manage/resale/places/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/resale/places/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/market/manage/resale/places/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a resale place

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/market/manage/resale/places/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"event\": \"dolores\",
    \"charity\": \"quidem\",
    \"places\": 236,
    \"unit_price\": 1,
    \"discount\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/resale/places/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "event": "dolores",
    "charity": "quidem",
    "places": 236,
    "unit_price": 1,
    "discount": true
};

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

Request      

POST api/v1/portal/market/manage/resale/places/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

event   string   

The slug of the event. Must be one of . Example: dolores

charity   string   

The slug of the charity. Don't set this when authenticated as charity or charity_user. Must be one of . Example: quidem

places   integer   

The number of places given out. Example: 236

unit_price   number   

Must be between 0 and 99999999999999.99. Example: 1

discount   boolean  optional  

Example: true

Edit a resale place

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/market/manage/resale/places/1/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/resale/places/1/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/market/manage/resale/places/{id}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the resale place. Example: 1

Update a resale place

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/market/manage/resale/places/1/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"event\": \"nulla\",
    \"charity\": \"officia\",
    \"places\": 64,
    \"unit_price\": 0,
    \"discount\": true
}"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/resale/places/1/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "event": "nulla",
    "charity": "officia",
    "places": 64,
    "unit_price": 0,
    "discount": true
};

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

Request      

PUT api/v1/portal/market/manage/resale/places/{id}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the resale place. Example: 1

Body Parameters

event   string   

The slug of the event. Must be one of . Example: nulla

charity   string   

The slug of the charity. Don't set this when authenticated as charity or charity_user. Must be one of . Example: officia

places   integer   

The number of places given out. Example: 64

unit_price   number   

Must be between 0 and 99999999999999.99. Example: 0

discount   boolean  optional  

Example: true

Delete a resale place

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/market/manage/1/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/market/manage/1/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/market/manage/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the resale place. Example: 1

Role

Roles' Listing

requires authentication

Get paginated application roles' list.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/roles?deleted=with&keyword=admin&role=administrator&order_by=name%3Adesc%2Ccreated_at%3Aasc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"per_page\": 83,
    \"deleted\": \"only\",
    \"order_by\": [
        \"est\"
    ],
    \"keyword\": \"bkkxncztebqdduuvikwpuyt\"
}"
const url = new URL(
    "https://api.test/api/v1/roles"
);

const params = {
    "deleted": "with",
    "keyword": "admin",
    "role": "administrator",
    "order_by": "name:desc,created_at:asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "per_page": 83,
    "deleted": "only",
    "order_by": [
        "est"
    ],
    "keyword": "bkkxncztebqdduuvikwpuyt"
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

keyword   string  optional  

Specifying the search query. Example: admin

role   string  optional  

Specifying the user role to query by. Example: administrator

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:asc

Body Parameters

per_page   number  optional  

Must be at least 1. Example: 83

deleted   string  optional  

Must be one of with, without, or only. Example: only

order_by   string[]  optional  
keyword   string  optional  

Must not be greater than 255 characters. Example: bkkxncztebqdduuvikwpuyt

Retrieve Role

requires authentication

Get specific role by their ref attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/roles/975dcf12-eda2-4437-8c96-6df4e790d074/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/roles/975dcf12-eda2-4437-8c96-6df4e790d074/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/roles/{ref}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Specifies role's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Retrieve Role Options

requires authentication

Fetch available form options

Example request:
curl --request GET \
    --get "https://api.test/api/v1/roles/options" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/roles/options"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/roles/options

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Create Role

requires authentication

Create a new role.

Example request:
curl --request POST \
    "https://api.test/api/v1/roles/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"admin\",
    \"description\": \"user with admin privileges\"
}"
const url = new URL(
    "https://api.test/api/v1/roles/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "admin",
    "description": "user with admin privileges"
};

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

Request      

POST api/v1/roles/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The name of the role. Example: admin

description   string  optional  

The description of the role. Example: user with admin privileges

Delete Many Roles

requires authentication

Delete multiple roles' data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/role/delete?force=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"roles_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/role/delete"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "roles_ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/role/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

force   string  optional  

Optionally specifying to permanently delete model, instead of the default soft-delete. Example: 1

Body Parameters

roles_ids   string[]   

The list of ids associated with roles.

Restore Many Roles

requires authentication

Restore multiple roles data by specifying their ids.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/role/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"roles_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/role/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "roles_ids": [
        1,
        2
    ]
};

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

Request      

PATCH api/v1/role/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

roles_ids   string[]   

The list of ids associated with roles.

Roles

Manage roles on the application

A listing of roles.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/roles"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Create a role

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/roles/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"qtsggjrmmht\",
    \"display_name\": \"Account Managers\",
    \"permissions\": [
        8
    ],
    \"description\": \"Manages charity accounts on the application.\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/roles/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "qtsggjrmmht",
    "display_name": "Account Managers",
    "permissions": [
        8
    ],
    "description": "Manages charity accounts on the application."
};

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

Request      

POST api/v1/portal/roles/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The value of this name parameter is generated from the display_name parameter(internally) before validation. Please ignore it when filling the form for now while we figure out how to prevent scribe from adding this name parameter to the request body parameters. Must not be greater than 255 characters. Example: qtsggjrmmht

display_name   string   

The role display name. Must not be greater than 255 characters. Example: Account Managers

permissions   integer[]  optional  
description   string   

Example: Manages charity accounts on the application.

Get a role details

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/roles/account_managers/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/roles/account_managers/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/roles/{name}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

name   string   

The role name (slug). Example: account_managers

Update a role

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/roles/account_managers/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"vcqqhe\",
    \"display_name\": \"Account Managers\",
    \"permissions\": [
        13
    ],
    \"description\": \"Manages charity accounts on the application.\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/roles/account_managers/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "vcqqhe",
    "display_name": "Account Managers",
    "permissions": [
        13
    ],
    "description": "Manages charity accounts on the application."
};

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

Request      

PUT api/v1/portal/roles/{_name}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

_name   string   

The role name (slug). Example: account_managers

Body Parameters

name   string   

The value of this name parameter is generated from the display_name parameter(internally) before validation. Please ignore it when filling the form for now while we figure out how to prevent scribe from adding this name parameter to the request body parameters. Must not be greater than 255 characters. Example: vcqqhe

display_name   string   

The role display name. Must not be greater than 255 characters. Example: Account Managers

permissions   integer[]  optional  
description   string   

Example: Manages charity accounts on the application.

Delete a role

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/roles/account_managers/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/roles/account_managers/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/roles/{name}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

name   string  optional  

required. The role name (slug). Example: account_managers

Search Management

APIs for managing user search

Search for a term

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/search/dolorem?term=unde&per_page=5&page=14&recent_search_terms_limit=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"per_page\": 86,
    \"page\": 5,
    \"recent_search_terms_limit\": 64,
    \"term\": \"rcmmwcliqcivmpwvsaomtrkyqjyldqyhauaoawgjbbfuvlffnnnldrkqalxakbxaphgwbxggcvus\"
}"
const url = new URL(
    "https://api.test/api/v1/client/search/dolorem"
);

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

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "per_page": 86,
    "page": 5,
    "recent_search_terms_limit": 64,
    "term": "rcmmwcliqcivmpwvsaomtrkyqjyldqyhauaoawgjbbfuvlffnnnldrkqalxakbxaphgwbxggcvus"
};

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

Example response (404):

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

{
    "status": false,
    "message": "Page Not Found.",
    "errors": null
}
 

Request      

GET api/v1/client/search/{option?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

option   string   

The option to apply to the search results. Possible values are: all, events, categories, regions, cities, venues, combinations, charities, pages, recent Example: dolorem

Query Parameters

term   string   

The search term Example: unde

per_page   integer  optional  

The number of results to return per page Example: 5

page   integer  optional  

The page number Example: 14

recent_search_terms_limit   integer  optional  

The number of recent search terms to return Example: 1

Body Parameters

per_page   integer  optional  

Must be at least 1. Example: 86

page   integer  optional  

Must be at least 1. Example: 5

recent_search_terms_limit   integer  optional  

Must be at least 1. Example: 64

term   string  optional  

Must be at least 3 characters. Example: rcmmwcliqcivmpwvsaomtrkyqjyldqyhauaoawgjbbfuvlffnnnldrkqalxakbxaphgwbxggcvus

Store search history

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/client/search/history/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"sit\",
    \"searchable_id\": 16,
    \"searchable_type\": \"App\\\\Models\\\\Region\"
}"
const url = new URL(
    "https://api.test/api/v1/client/search/history/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "sit",
    "searchable_id": 16,
    "searchable_type": "App\\Models\\Region"
};

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

Request      

POST api/v1/client/search/history/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

term   string   

The search term Example: sit

searchable_id   integer   

The id of the searchable item Example: 16

searchable_type   string   

The type of the searchable item. Example: App\Models\Region

Clear search history

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/client/search/history/clear" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"all\": true,
    \"ids\": [
        \"similique\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/client/search/history/clear"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "all": true,
    "ids": [
        "similique"
    ]
};

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

Request      

DELETE api/v1/client/search/history/clear

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

all   boolean   

to specify if you want to clear all the search history. Example: true

ids   string[]  optional  

specify an array of search history id that you want to delete

Series

Manages series.

The list of series.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series?drafted=with&deleted=with&page=1&order_by=name%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"voluptas\",
    \"page\": 21,
    \"per_page\": 53,
    \"drafted\": \"with\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"sint\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series"
);

const params = {
    "drafted": "with",
    "deleted": "with",
    "page": "1",
    "order_by": "name:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "voluptas",
    "page": 21,
    "per_page": 53,
    "drafted": "with",
    "deleted": "without",
    "order_by": [
        "sint"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

Body Parameters

term   string  optional  

Example: voluptas

page   integer  optional  

Must be at least 1. Example: 21

per_page   integer  optional  

Must be at least 1. Example: 53

drafted   string  optional  

Must be one of with, without, or only. Example: with

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  

Paginated series for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"sapiente\",
    \"page\": 23,
    \"per_page\": 81
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "sapiente",
    "page": 23,
    "per_page": 81
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: sapiente

page   integer  optional  

Must be at least 1. Example: 23

per_page   integer  optional  

Must be at least 1. Example: 81

Create a serie.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/series/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a serie

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/series/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Run\",
    \"site_id\": 1,
    \"description\": \"Serie description\",
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Run",
    "site_id": 1,
    "description": "Serie description",
    "is_draft": false
};

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

Request      

POST api/v1/portal/series/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the serie. This field is required when site_id is present. Example: Run

site_id   integer   

The site id. Example: 1

description   string  optional  

The description of the serie. Example: Serie description

is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Serie details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/nemo/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/series/nemo/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: nemo

serie_ref   string   

The ref of the serie. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a serie.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/autem/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/series/autem/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: autem

serie_ref   string   

The ref of the serie. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export Series

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/export?deleted=with&order_by=name%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"error\",
    \"page\": 88,
    \"per_page\": 60,
    \"drafted\": \"only\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"eum\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/export"
);

const params = {
    "deleted": "with",
    "order_by": "name:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "error",
    "page": 88,
    "per_page": 60,
    "drafted": "only",
    "deleted": "with",
    "order_by": [
        "eum"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Filter by term. The term to search for.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

Body Parameters

term   string  optional  

Example: error

page   integer  optional  

Must be at least 1. Example: 88

per_page   integer  optional  

Must be at least 1. Example: 60

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  

Update serie

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/series/corrupti/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_id\": 1,
    \"name\": \"Run\",
    \"description\": \"Serie description\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/corrupti/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_id": 1,
    "name": "Run",
    "description": "Serie description"
};

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

Request      

PUT api/v1/portal/series/{ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: corrupti

Body Parameters

site_id   integer  optional  

The site id. This field is required when name is present. Example: 1

name   string  optional  

The name of the serie. This field is required when site_id is present. Example: Run

description   string  optional  

The description of the serie. Example: Serie description

Mark as draft one or many series

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/series/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/series/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with series.

Mark as published one or many series

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/series/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/series/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with series.

Delete one or many series

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/series/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/series/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with series.

Restore one or many series

requires authentication

bodyParam ids string[] required An array list of ids associated with series. Example: [1,2]

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/series/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        14
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        14
    ]
};

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

Request      

POST api/v1/portal/series/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   number[]  optional  

Delete one or many series permanently Only the administrator can delete a serie permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/series/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/series/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/series/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with series.

Serie Stats

requires authentication

Get Serie Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/series/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/series/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/series/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Settings

Manages the application settings

Get the site's setting details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/settings/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/settings/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/settings/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get the site's socials

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/settings/socials" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/settings/socials"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/settings/socials

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Update a site's socials

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/settings/socials/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"socials\": \"dolore\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/settings/socials/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "socials": "dolore"
};

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

Request      

POST api/v1/portal/settings/socials/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

socials   string   

Example: dolore

platform   string  optional  
url   string  optional  

Delete a site's social

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/settings/socials/1423/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/settings/socials/1423/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/settings/socials/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the social. Example: 1423

Update the custom fields of a site's setting

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/settings/custom-fields/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"custom\": \"qui\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/settings/custom-fields/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "custom": "qui"
};

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

Request      

POST api/v1/portal/settings/custom-fields/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

custom   string   

Example: qui

key   string  optional  

Example: nulla

value   string  optional  
type   string  optional  

Must be one of [per_event, all_events, none].

Delete a custom fields of a site's setting

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/settings/custom-fields/56/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/settings/custom-fields/56/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/settings/custom-fields/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the social. Example: 56

Sites

Manages sites on the application

Paginated sites for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sites/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"quis\",
    \"page\": 38,
    \"per_page\": 70
}"
const url = new URL(
    "https://api.test/api/v1/portal/sites/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "quis",
    "page": 38,
    "per_page": 70
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sites/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: quis

page   integer  optional  

Must be at least 1. Example: 38

per_page   integer  optional  

Must be at least 1. Example: 70

The list of sites

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sites" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sites"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sites

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Create a new site

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sites/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sites/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sites/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store the new site The site's settings gets created too.

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/sites/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"domain\": \"runforcharity.com\",
    \"name\": \"Run For Charity\",
    \"status\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/sites/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "domain": "runforcharity.com",
    "name": "Run For Charity",
    "status": false
};

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

Request      

POST api/v1/portal/sites/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

domain   string   

The domain name of the site. Must match the regex /^(?!-)(?:(?:[a-zA-Z\d][a-zA-Z\d-]{0,61})?[a-zA-Z\d].){1,126}(?!\d+)[a-zA-Z\d]{1,63}$/. Example: runforcharity.com

name   string   

The name of the site. Must not be greater than 60 characters. Example: Run For Charity

status   boolean   

The status of the site. Example: false

socials   string  optional  
platform   string  optional  
url   string  optional  

Get a site

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sites/2/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sites/2/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sites/{id}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the site. Example: 2

Edit a site

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sites/2/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sites/2/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sites/{id}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the site. Example: 2

Update a site

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/sites/2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"domain\": \"runforcharity.com\",
    \"name\": \"Run For Charity\",
    \"status\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/sites/2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "domain": "runforcharity.com",
    "name": "Run For Charity",
    "status": false
};

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

Request      

PUT api/v1/portal/sites/{id}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the site. Example: 2

Body Parameters

domain   string   

The domain name of the site. Must match the regex /^(?!-)(?:(?:[a-zA-Z\d][a-zA-Z\d-]{0,61})?[a-zA-Z\d].){1,126}(?!\d+)[a-zA-Z\d]{1,63}$/. Example: runforcharity.com

name   string   

The name of the site. Must not be greater than 60 characters. Example: Run For Charity

status   boolean   

The status of the site. Example: false

Delete a site The site's settings gets deleted too.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/sites/4/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sites/4/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Request      

DELETE api/v1/portal/sites/{id}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

id   integer   

The id of the site. Example: 4

Socials

Finalize a Socials Action

Verify that the redirect url is valid and allow user proceed.

Example request:
curl --request POST \
    "https://api.test/api/v1/socials/validate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"full_url\": \"https:\\/\\/website.runthroughhub.com\\/socials?expires=1668415147&type=auth&user=968e6647-c7a2-49cb-ad17-b6226a20f903&signature=37b2f3e2dd259ab9d79256649c6d78e542f6f0514ddbbf1d9e368ef2478c2c8d\"
}"
const url = new URL(
    "https://api.test/api/v1/socials/validate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "full_url": "https:\/\/website.runthroughhub.com\/socials?expires=1668415147&type=auth&user=968e6647-c7a2-49cb-ad17-b6226a20f903&signature=37b2f3e2dd259ab9d79256649c6d78e542f6f0514ddbbf1d9e368ef2478c2c8d"
};

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

Request      

POST api/v1/socials/validate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

full_url   string   

The full URL of the redirected page after a social login/registration. Example: https://website.runthroughhub.com/socials?expires=1668415147&type=auth&user=968e6647-c7a2-49cb-ad17-b6226a20f903&signature=37b2f3e2dd259ab9d79256649c6d78e542f6f0514ddbbf1d9e368ef2478c2c8d

Sponsors

Manages sponsors.

The list of sponsors.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors?drafted=with&deleted=with&page=1&order_by=name%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"facilis\",
    \"popular\": false,
    \"page\": 37,
    \"per_page\": 42,
    \"drafted\": \"with\",
    \"deleted\": \"without\",
    \"order_by\": [
        \"commodi\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors"
);

const params = {
    "drafted": "with",
    "deleted": "with",
    "page": "1",
    "order_by": "name:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "facilis",
    "popular": false,
    "page": 37,
    "per_page": 42,
    "drafted": "with",
    "deleted": "without",
    "order_by": [
        "commodi"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

drafted   string  optional  

Specifying how to interact with drafted items. Example: with

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

Body Parameters

term   string  optional  

Example: facilis

popular   boolean  optional  

Example: false

page   integer  optional  

Must be at least 1. Example: 37

per_page   integer  optional  

Must be at least 1. Example: 42

drafted   string  optional  

Must be one of with, without, or only. Example: with

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  

Paginated sponsors for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/all?page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"et\",
    \"page\": 46,
    \"per_page\": 78
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/all"
);

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

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "et",
    "page": 46,
    "per_page": 78
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: et

page   integer  optional  

Must be at least 1. Example: 46

per_page   integer  optional  

Must be at least 1. Example: 78

Create a sponsor.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a sponsor

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/sponsors/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"sponsor name\",
    \"site_id\": 1,
    \"description\": \"Sponsor description\",
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "sponsor name",
    "site_id": 1,
    "description": "Sponsor description",
    "is_draft": false
};

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

Request      

POST api/v1/portal/sponsors/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the sponsor. This field is required when site_id is present. Example: sponsor name

site_id   integer   

The site id. Example: 1

description   string  optional  

The description of the sponsor. Example: Sponsor description

is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Sponsor details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/saepe/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/saepe/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: saepe

sponsor_ref   string   

The ref of the sponsor. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a sponsor.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/veniam/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/veniam/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: veniam

sponsor_ref   string   

The ref of the sponsor. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export Sponsors

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/export?order_by=name%3Adesc%2Ccreated_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"voluptatum\",
    \"popular\": true,
    \"page\": 17,
    \"per_page\": 80,
    \"drafted\": \"only\",
    \"deleted\": \"with\",
    \"order_by\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/export"
);

const params = {
    "order_by": "name:desc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "voluptatum",
    "popular": true,
    "page": 17,
    "per_page": 80,
    "drafted": "only",
    "deleted": "with",
    "order_by": [
        "architecto"
    ]
};

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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

Body Parameters

term   string  optional  

Example: voluptatum

popular   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 17

per_page   integer  optional  

Must be at least 1. Example: 80

drafted   string  optional  

Must be one of with, without, or only. Example: only

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  

Update sponsor

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/sponsors/eos/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_id\": 1,
    \"name\": \"Sponsor name\",
    \"description\": \"Sponsor description\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/eos/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_id": 1,
    "name": "Sponsor name",
    "description": "Sponsor description"
};

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

Request      

PUT api/v1/portal/sponsors/{ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: eos

Body Parameters

site_id   integer  optional  

The site id. This field is required when name is present. Example: 1

name   string  optional  

The name of the sponor. This field is required when site_id is present. Example: Sponsor name

description   string  optional  

The description of the sponsor. Example: Sponsor description

Mark as draft one or many sponsors

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/sponsors/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/sponsors/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with sponsors.

Mark as published one or many sponsors

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/sponsors/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

POST api/v1/portal/sponsors/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with sponsors.

Delete one or many sponsors

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/sponsors/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

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

Request      

DELETE api/v1/portal/sponsors/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with sponsors.

Restore One or many sponsors

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/sponsors/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/sponsors/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with sponsors.

Delete one or many sponsors permanently Only Administrator can delete a sponsor permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/sponsors/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/sponsors/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with sponsors.

Sponsor Stats

requires authentication

Get Sponsor Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/sponsors/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/sponsors/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/sponsors/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Stats

Get Stats

Get platform stats.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/stats"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "status": true,
    "message": "Platform Stats.",
    "data": {
        "stats": {
            "users": 92,
            "events": 3,
            "participants": 2
        }
    }
}
 

Request      

GET api/v1/stats

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Team

Add Teammate

requires authentication

Add a new API client teammate.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/teammates/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --form "name=John Snow" \
    --form "title=Senior Accountant" \
    --form "image=@/private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpgXlU8T" 
const url = new URL(
    "https://api.test/api/v1/portal/teammates/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

const body = new FormData();
body.append('name', 'John Snow');
body.append('title', 'Senior Accountant');
body.append('image', document.querySelector('input[name="image"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/v1/portal/teammates/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

image   file   

The image Example: /private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpgXlU8T

name   string   

The full name of the team member. Example: John Snow

title   string   

The role/position occupied by this teammate. Example: Senior Accountant

Update Teammate

requires authentication

Update API client teammate.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/teammates/voluptates/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --form "name=John Snow" \
    --form "title=Senior Accountant" \
    --form "image=@/private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpesPukn" 
const url = new URL(
    "https://api.test/api/v1/portal/teammates/voluptates/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

const body = new FormData();
body.append('name', 'John Snow');
body.append('title', 'Senior Accountant');
body.append('image', document.querySelector('input[name="image"]').files[0]);

fetch(url, {
    method: "PATCH",
    headers,
    body,
}).then(response => response.json());

Request      

PATCH api/v1/portal/teammates/{teammate_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

teammate_ref   string   

Example: voluptates

teammate   string   

The ref attribute of the model being updated. Example: 97625fec-309e-44c2-a580-94c7a25d1951

Body Parameters

image   file  optional  

The image Example: /private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpesPukn

name   string  optional  

The full name of the team member. Example: John Snow

title   string  optional  

The role/position occupied by this teammate. Example: Senior Accountant

Delete Teammate

requires authentication

Delete API client teammate.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/teammates/et/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/teammates/et/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/portal/teammates/{teammate_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

teammate_ref   string   

Example: et

teammate   string   

The ref attribute of the model being updated. Example: 97625fec-309e-44c2-a580-94c7a25d1951

Team

API client's team listing.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/team" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/team"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'teammates.site_id' in 'where clause' (SQL: select * from `teammates` where `teammates`.`site_id` is null)",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 710,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 694,
            "function": "getModels",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
            "line": 674,
            "function": "get",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Controllers/TeammateController.php",
            "line": 33,
            "function": "all",
            "class": "Illuminate\\Database\\Eloquent\\Model",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\Http\\Controllers\\TeammateController",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/HandleRedirectMiddleware.php",
            "line": 40,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\HandleRedirectMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Services/ApiClient/ApiClientSettings.php",
            "line": 77,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureApiRequestHostIsValidClient.php",
            "line": 31,
            "function": "clientRequestAuthorizationHandshake",
            "class": "App\\Services\\ApiClient\\ApiClientSettings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureApiRequestHostIsValidClient",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/ClientAuthenticationMiddleware.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\ClientAuthenticationMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/team

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Get Teammate

Retrieve specific teammate.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/teammates/soluta/show" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/client/teammates/soluta/show"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'teammates.site_id' in 'where clause' (SQL: select * from `teammates` where `ref` = soluta and `teammates`.`site_id` is null limit 1)",
    "exception": "Illuminate\\Database\\QueryException",
    "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
    "line": 760,
    "trace": [
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 720,
            "function": "runQueryCallback",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
            "line": 422,
            "function": "run",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2706,
            "function": "select",
            "class": "Illuminate\\Database\\Connection",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2694,
            "function": "runSelect",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 3230,
            "function": "Illuminate\\Database\\Query\\{closure}",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php",
            "line": 2695,
            "function": "onceWithColumns",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 710,
            "function": "get",
            "class": "Illuminate\\Database\\Query\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 694,
            "function": "getModels",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php",
            "line": 296,
            "function": "get",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
            "line": 2042,
            "function": "first",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php",
            "line": 61,
            "function": "resolveRouteBinding",
            "class": "Illuminate\\Database\\Eloquent\\Model",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 947,
            "function": "resolveForRoute",
            "class": "Illuminate\\Routing\\ImplicitRouteBinding",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 41,
            "function": "substituteImplicitBindings",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/app/Http/Middleware/EnsureJsonResponse.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "App\\Http\\Middleware\\EnsureJsonResponse",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Command/Command.php",
            "line": 312,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 1022,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 314,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/symfony/console/Application.php",
            "line": 168,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/daveabiola/code/api/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v1/client/teammates/{teammate_ref}/show

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

teammate_ref   string   

Example: soluta

teammate   string   

The ref attribute of the model being updated. Example: 97625fec-309e-44c2-a580-94c7a25d1951

Testing

Testing sections on the application

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/testing" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/testing"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/portal/testing

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Two-factor authentication

List of 2fa methods

requires authentication

Get all actives 2fa methods available in the platform.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/2fa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/2fa"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/2fa

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Enable a 2fa method

User enables a 2fa method, and it's done in two steps. When a user enables a 2fa method for the first time, we generate recovery codes a list of 10 codes of 8 characters that can be used once to bypass the 2fa security in case the user loses his phone. Endpoints where the 2fa are applied for now: Login, Password Update

Step 1: We initialize the 2fa depending on the method chosen by the user. For the sms & email case, an OTP code will be sent to the user via a specific driver (sms or mail), and for the Google authentication case a QR code will be generated

Step 2: We validate the OTP code entered by the user and enable the 2fa method.

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/enable?step=1+or+2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"totp_code\": \"675899\"
}"
const url = new URL(
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/enable"
);

const params = {
    "step": "1 or 2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "totp_code": "675899"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/2fa/{method_ref}/enable

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

method_ref   string   

specifies 2fa method ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Query Parameters

step   string   

specifying the step. Example: 1 or 2

Body Parameters

totp_code   string  optional  

optional The Totp code is only required at step 2 which is used to validate the otp code and enable the 2fa method. Example: 675899

Disable a 2fa method

User disable a 2fa method, and it's done in 2 steps:

Step 1: We sent an OTP code for sms and email verification,and for Google auth method the user generate an otp code from the authentication app

Step 2: We validate the OTP code entered by the user, and disable the method.

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/disable?step=1+or+2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"totp_code\": \"123456 or ABCDEFGHI(recovery code)\"
}"
const url = new URL(
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/disable"
);

const params = {
    "step": "1 or 2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "totp_code": "123456 or ABCDEFGHI(recovery code)"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/2fa/{method_ref}/disable

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

method_ref   string   

specifies 2fa method ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Query Parameters

step   string   

specifying the step. Example: 1 or 2

Body Parameters

totp_code   string  optional  

optional The Totp code is only required at step 2 which is used to validate the otp code or recovery code and disable the 2fa method. Example: 123456 or ABCDEFGHI(recovery code)

Mark a 2fa method as default

When a user has more than one method enabled, he can set one as the default

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/default" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/default"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/2fa/{method_ref}/default

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

method_ref   string   

specifies 2fa method ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Send 2fa code

Use this endpoint to send an otp code in case the user has enabled a 2fa method(Only Email or Sms verification method). It can be used if a route required a 2fa such as the Login endpoint

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/otp/send" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/2fa/975dcf12-eda2-4437-8c96-6df4e790d074/otp/send"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/2fa/{method_ref}/otp/send

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

method_ref   string   

specifies 2fa method ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Generate a 2fa token

Generate a temporal token that will be used by certain endpoint in case the 2fa method has been enabled by the user. For now the token will be used when the user want to update his password and generate new recovery codes.

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/token/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"totp_code\": \"675899 or APXAEFENNM(recovery code)\"
}"
const url = new URL(
    "https://api.test/api/v1/2fa/token/generate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "totp_code": "675899 or APXAEFENNM(recovery code)"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/2fa/token/generate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

totp_code   string   

The Totp code received by mail, sms or generate by the authenticator app. depending on the 2fa method chosen by the user. The user can also use the recovery code. Example: 675899 or APXAEFENNM(recovery code)

2fa token validity

Check if the 2fa token is valid

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/token/valid" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"totp_token\": \"e38ceddc464281b6205191473388d8787270f070\"
}"
const url = new URL(
    "https://api.test/api/v1/2fa/token/valid"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "totp_token": "e38ceddc464281b6205191473388d8787270f070"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/2fa/token/valid

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

totp_token   string   

The 2fa token generated by the user. Example: e38ceddc464281b6205191473388d8787270f070

Renew recovery codes

we generate recovery codes a list of 10 codes of 8 characters that can be used once to bypass the 2fa security in case the user lost his phone.

Example request:
curl --request POST \
    "https://api.test/api/v1/2fa/recovery-codes/generate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"totp_token\": \"e38ceddc464281b6205191473388d8787270f070\"
}"
const url = new URL(
    "https://api.test/api/v1/2fa/recovery-codes/generate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "totp_token": "e38ceddc464281b6205191473388d8787270f070"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/2fa/recovery-codes/generate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

totp_token   string   

Example: e38ceddc464281b6205191473388d8787270f070

Upload

APIs for managing uploads

The list of uploads

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/uploads?per_page=10&type=image&term=image&year=2021&page=1&order_by=created_at%3Adesc" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"per_page\": 41,
    \"page\": 50,
    \"type\": \"video\",
    \"year\": \"2024\",
    \"term\": \"nemo\",
    \"order_by\": [
        \"pariatur\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/uploads"
);

const params = {
    "per_page": "10",
    "type": "image",
    "term": "image",
    "year": "2021",
    "page": "1",
    "order_by": "created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "per_page": 41,
    "page": 50,
    "type": "video",
    "year": "2024",
    "term": "nemo",
    "order_by": [
        "pariatur"
    ]
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/uploads

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

per_page   integer  optional  

The number of uploads to return. Example: 10

type   string  optional  

The type of upload. Example: image

term   string  optional  

The search term. Example: image

year   integer  optional  

The year of the upload. Example: 2021

page   integer  optional  

The page number. Example: 1

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: created_at:desc

Body Parameters

per_page   number  optional  

Must be at least 1. Example: 41

page   integer  optional  

Must be at least 1. Example: 50

type   string  optional  

Must be one of image, video, pdf, csv, or audio. Example: video

year   string  optional  

Must be 4 digits. Must be a valid date in the format Y. Example: 2024

term   string  optional  

Example: nemo

order_by   string[]  optional  

Show the form for creating a new resource.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/uploads/{ref}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 97620161-69c6-4b12-b219-d99e428fbdb2

upload   string   

The ref attribute of the upload. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

upload files

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/uploads/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"media\": [
        {
            \"device_versions\": {
                \"card\": \"qui\",
                \"mobile\": \"est\",
                \"tablet\": \"voluptatem\",
                \"desktop\": \"occaecati\"
            }
        }
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/uploads/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "media": [
        {
            "device_versions": {
                "card": "qui",
                "mobile": "est",
                "tablet": "voluptatem",
                "desktop": "occaecati"
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/uploads/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

media   string[]   
title   string  optional  

Example: sed

alt   string  optional  

Example: rem

caption   string  optional  

Example: voluptatem

description   string  optional  

Example: Rerum est voluptatem molestiae omnis cum perferendis.

private   boolean  optional  

Example: false

file   string   

Example: rerum

device_versions   object  optional  
card   string  optional  

Example: qui

mobile   string  optional  

Example: est

tablet   string  optional  

Example: voluptatem

desktop   string  optional  

Example: occaecati

Update file

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"media\": [
        {
            \"device_versions\": {
                \"card\": \"autem\",
                \"mobile\": \"minus\",
                \"tablet\": \"optio\",
                \"desktop\": \"amet\"
            }
        }
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "media": [
        {
            "device_versions": {
                "card": "autem",
                "mobile": "minus",
                "tablet": "optio",
                "desktop": "amet"
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/uploads/{upload_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

upload_ref   string   

Example: 97620161-69c6-4b12-b219-d99e428fbdb2

upload   string   

The ref attribute of the upload. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Body Parameters

media   string[]   

The media to be updated.

title   string  optional  

Example: soluta

alt   string  optional  

Example: rem

caption   string  optional  

Example: harum

description   string  optional  

Example: Quia necessitatibus illum deleniti eos qui.

file   string  optional  

Example: est

device_versions   object  optional  
card   string  optional  

Example: autem

mobile   string  optional  

Example: minus

tablet   string  optional  

Example: optio

desktop   string  optional  

Example: amet

Delete uploaded resource

requires authentication

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/uploads/97620161-69c6-4b12-b219-d99e428fbdb2/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/portal/uploads/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

upload_ref   string   

Example: 97620161-69c6-4b12-b219-d99e428fbdb2

upload   string   

The ref attribute of the upload. Example: 9762db71-f5a6-41c4-913e-90b8aebad733

Delete multiple uploaded resources

requires authentication

Remove multiple resources from storage.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/uploads/delete-many" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"uploads\": [
        \"9762db71-f5a6-41c4-913e-90b8aebad733\",
        \"9762db71-f5a6-41c4-913e-90b8aebad733\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/uploads/delete-many"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "uploads": [
        "9762db71-f5a6-41c4-913e-90b8aebad733",
        "9762db71-f5a6-41c4-913e-90b8aebad733"
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/uploads/delete-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

uploads   string[]   

The list of upload ref attributes.

requires authentication

Get the storage link for the specified image version.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/image/version/storage-link?image_path=uploads%2Fimages%2F2021%2F09%2F9762db71-f5a6-41c4-913e-90b8aebad733.jpg&device_version=card" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"image_path\": \"hic\",
    \"image_version\": \"iure\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/image/version/storage-link"
);

const params = {
    "image_path": "uploads/images/2021/09/9762db71-f5a6-41c4-913e-90b8aebad733.jpg",
    "device_version": "card",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "image_path": "hic",
    "image_version": "iure"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

User

Retrieve Auth/Request User

requires authentication

Get currently authenticated user.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/users/current" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/users/current"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/users/current

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Update Password

requires authentication

A user can update their password.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"old_password\": \"oldPASSword12@\",
    \"new_password\": \"newPASSword123@\"
}"
const url = new URL(
    "https://api.test/api/v1/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-password"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "old_password": "oldPASSword12@",
    "new_password": "newPASSword123@"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/users/{user_ref}/update-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

old_password   string   

Specifies user's current password. Example: oldPASSword12@

new_password   string   

Specifies user's proposed password. Example: newPASSword123@

User Settings

requires authentication

Get settings information for a user.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/settings" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/settings"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/{user}/settings

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Update Personal Info

requires authentication

Allows User/Admin to Update their/user's personal info.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-personal-info" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"Wendy\",
    \"last_name\": \"Mike\",
    \"email\": \"user@email.com\",
    \"phone\": \"+12333333333\",
    \"gender\": \"female\",
    \"dob\": \"2000-12-31\",
    \"country\": \"Nigeria\",
    \"state\": \"Lagos\",
    \"city\": \"Ikeja\",
    \"postcode\": \"100271\",
    \"address\": \"1, Lagos Road, Ikeja\",
    \"nationality\": \"British\",
    \"occupation\": \"Engineering\",
    \"passport_number\": \"12347474686\",
    \"bio\": \"non\",
    \"tshirt_size\": \"xl\",
    \"emergency_contact_name\": \"Peter Parker\",
    \"emergency_contact_phone\": \"09012345678\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-personal-info"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "Wendy",
    "last_name": "Mike",
    "email": "user@email.com",
    "phone": "+12333333333",
    "gender": "female",
    "dob": "2000-12-31",
    "country": "Nigeria",
    "state": "Lagos",
    "city": "Ikeja",
    "postcode": "100271",
    "address": "1, Lagos Road, Ikeja",
    "nationality": "British",
    "occupation": "Engineering",
    "passport_number": "12347474686",
    "bio": "non",
    "tshirt_size": "xl",
    "emergency_contact_name": "Peter Parker",
    "emergency_contact_phone": "09012345678"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/{user_ref}/update-personal-info

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

first_name   string   

The first name of the user. Example: Wendy

last_name   string   

The last name of the user. Example: Mike

email   string   

The email of the User. Example: user@email.com

phone   string   

The phone number of the User. Example: +12333333333

gender   string  optional  

The gender of the User. Example: female

dob   date  optional  

The date of birth of the User. Example: 2000-12-31

country   string  optional  

The user's country of residence. Example: Nigeria

state   string  optional  

The user's state of residence. Example: Lagos

city   string  optional  

The user's city of residence. Example: Ikeja

postcode   string  optional  

The user's postcode. Example: 100271

address   string  optional  

The user's address. Example: 1, Lagos Road, Ikeja

nationality   string  optional  

The user's nationality. Example: British

occupation   string  optional  

The user's occupation. Example: Engineering

passport_number   string  optional  

The user's passport number. Example: 12347474686

bio   string  optional  

Example: non

tshirt_size   string  optional  

The user's tshirt size. Example: xl

emergency_contact_name   string  optional  

The user's emergency contact's name. Example: Peter Parker

emergency_contact_phone   string  optional  

The user's emergency contact's phone number. Example: 09012345678

Socials

requires authentication

Allows User/Admin to Update their/user's socials info.

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-socials" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"socials\": [
        {
            \"platform\": \"facebook\",
            \"url\": \"https:\\/\\/facebook.com\\/me\"
        }
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-socials"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "socials": [
        {
            "platform": "facebook",
            "url": "https:\/\/facebook.com\/me"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/portal/users/{user_ref}/update-socials

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

socials   string[]  optional  

Associative array of key-value pairs of platform and url.

platform   string  optional  

Must be one of google, facebook, twitter, instagram, tiktok, linkedin, youtube, vimeo, or github. Example: tiktok

url   string  optional  

Must be a valid URL. Example: http://www.kemmer.info/aut-ea-voluptatum-dolor-enim-amet-rem-est

Remove Socials

requires authentication

Allows Deletion of socials info.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/delete-socials" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"platform\": \"facebook\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/delete-socials"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "platform": "facebook"
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/users/{user_ref}/delete-socials

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

platform   string  optional  

The platform for the socials record to be deleted. Example: facebook

Set/Switch Active Role

requires authentication

Admin can switch between their assigned roles.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/switch-active-role" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"role\": \"participant\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/switch-active-role"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "role": "participant"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/{user_ref}/switch-active-role

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

role   string   

Specifies the name attribute of the new role to be assigned as active role. Example: participant

User Payment Cards

requires authentication

Payment cards added to user's account user.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/cards" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/cards"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/cards

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Add Payment Card

requires authentication

Add a payment card to user account.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/add-card" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"card_name\": \"Sara Lulu\",
    \"card_number\": \"1234123412341234\",
    \"expiry_date\": \"01\\/12\\/2026\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/add-card"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "card_name": "Sara Lulu",
    "card_number": "1234123412341234",
    "expiry_date": "01\/12\/2026"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/users/{user_ref}/add-card

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

card_name   string   

The official name on the card. Example: Sara Lulu

card_number   string   

The 16 digits number on card. Example: 1234123412341234

expiry_date   date   

The expiry date on card (include a default 01 as day). Example: 01/12/2026

Remove Payment Card

requires authentication

Delete a payment card from user account.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/cards/97682ea4-7e58-4984-983e-680b664af0ec/remove" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/cards/97682ea4-7e58-4984-983e-680b664af0ec/remove"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/portal/cards/{card_ref}/remove

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

card_ref   string   

Example: 97682ea4-7e58-4984-983e-680b664af0ec

card   string   

Specifies card's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Users' Listing

requires authentication

Get paginated application users' list.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users?deleted=with&role=administrator&term=john%40email&per_page=20&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&year=2023&period=24h&month=1&status=verified" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"per_page\": 34,
    \"deleted\": \"with\",
    \"order_by\": [
        \"quas\"
    ],
    \"role\": \"runthrough_data\",
    \"term\": \"wlkxhlwnl\",
    \"status\": \"active\",
    \"verification\": \"unverified\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users"
);

const params = {
    "deleted": "with",
    "role": "administrator",
    "term": "john@email",
    "per_page": "20",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "year": "2023",
    "period": "24h",
    "month": "1",
    "status": "verified",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "per_page": 34,
    "deleted": "with",
    "order_by": [
        "quas"
    ],
    "role": "runthrough_data",
    "term": "wlkxhlwnl",
    "status": "active",
    "verification": "unverified"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

role   string  optional  

Specifying the user role to query by. Example: administrator

term   string  optional  

Specifying a keyword similar to first_name, last_name, phone, or email. Example: john@email

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

year   string  optional  

Specifying year filter for when user was created. Example: 2023

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

month   string  optional  

Specifying a month to filter users creation date by. Example: 1

status   string  optional  

Specifying user account verification status. Example: verified

Body Parameters

per_page   number  optional  

Must be at least 1. Example: 34

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
role   string  optional  

Must be one of administrator, account_manager, charity, developer, charity_user, partner, participant, event_manager, corporate, runthrough_data, or content_manager. Example: runthrough_data

term   string  optional  

Must not be greater than 50 characters. Example: wlkxhlwnl

status   string  optional  

Must be one of active or restricted. Example: active

verification   string  optional  

Must be one of verified or unverified. Example: unverified

Retrieve User Options

requires authentication

Fetch available form options

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Retrieve User

requires authentication

Get specific user by their ref attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/{ref}/show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Retrieve User by email address

requires authentication

Get specific user by their email attribute.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/Mark@runforcharity.com/_show" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/Mark@runforcharity.com/_show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/{user_email}/_show

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_email   string   

Specifies user's email attribute. Example: Mark@runforcharity.com

Export users

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/export?deleted=with&role=administrator&term=john%40email&per_page=20&order_by=first_name%3Adesc%2Clast_name%3Aasc%2Cfull_name%3Adesc&year=2023&period=24h&month=1&status=active" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"per_page\": 64,
    \"deleted\": \"with\",
    \"order_by\": [
        \"beatae\"
    ],
    \"role\": \"content_manager\",
    \"term\": \"q\",
    \"status\": \"active\",
    \"verification\": \"unverified\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/export"
);

const params = {
    "deleted": "with",
    "role": "administrator",
    "term": "john@email",
    "per_page": "20",
    "order_by": "first_name:desc,last_name:asc,full_name:desc",
    "year": "2023",
    "period": "24h",
    "month": "1",
    "status": "active",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "per_page": 64,
    "deleted": "with",
    "order_by": [
        "beatae"
    ],
    "role": "content_manager",
    "term": "q",
    "status": "active",
    "verification": "unverified"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

role   string  optional  

Specifying the user role to query by. Example: administrator

term   string  optional  

Specifying a keyword similar to first_name, last_name, phone, or email. Example: john@email

per_page   string  optional  

Overriding the default (10) number of listings per-page. Example: 20

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: first_name:desc,last_name:asc,full_name:desc

year   string  optional  

Specifying year filter for when user was created. Example: 2023

period   string  optional  

Specifying a period to filter users creation date by. Example: 24h

month   string  optional  

Specifying a month to filter users creation date by. Example: 1

status   string  optional  

Specifying user status. Example: active

Body Parameters

per_page   number  optional  

Must be at least 1. Example: 64

deleted   string  optional  

Must be one of with, without, or only. Example: with

order_by   string[]  optional  
role   string  optional  

Must be one of administrator, account_manager, charity, developer, charity_user, partner, participant, event_manager, corporate, runthrough_data, or content_manager. Example: content_manager

term   string  optional  

Must not be greater than 50 characters. Example: q

status   string  optional  

Must be one of active or restricted. Example: active

verification   string  optional  

Must be one of verified or unverified. Example: unverified

Edit User

requires authentication

Show specific user's account information for editing.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf12-eda2-4437-8c96-6df4e790d074/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Login

requires authentication

Admin can log in as a user.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/admin-login-as" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/admin-login-as"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/{user_ref}/admin-login-as

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Create User

requires authentication

Create a user account.

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/users/store" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --form "first_name=Wendy" \
    --form "last_name=Mike" \
    --form "email=user@email.com" \
    --form "phone=+12333333333" \
    --form "gender=female" \
    --form "dob=2000-12-31" \
    --form "roles[]=administrator" \
    --form "avatar=@/private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpkTP7E8" 
const url = new URL(
    "https://api.test/api/v1/portal/users/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

const body = new FormData();
body.append('first_name', 'Wendy');
body.append('last_name', 'Mike');
body.append('email', 'user@email.com');
body.append('phone', '+12333333333');
body.append('gender', 'female');
body.append('dob', '2000-12-31');
body.append('roles[]', 'administrator');
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/v1/portal/users/store

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

first_name   string   

The first name of the user. Example: Wendy

last_name   string   

The last name of the user. Example: Mike

email   string   

The email of the User. Example: user@email.com

phone   string   

The phone number of the User. Example: +12333333333

gender   string   

The gender of the User. Example: female

dob   date   

The password of the User. Example: 2000-12-31

roles   string[]   

The role to be assigned to specified User.

avatar   file  optional  

The image. Example: /private/var/folders/jx/nlpz41b53zv_3dyh6c2k29pr0000gn/T/phpkTP7E8

Update User

requires authentication

Update edited user account information.

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"first_name\": \"Wendy\",
    \"last_name\": \"Mike\",
    \"email\": \"user@email.com\",
    \"phone\": \"+12333333333\",
    \"gender\": \"female\",
    \"dob\": \"2000-12-31\",
    \"roles\": [
        \"administrator\",
        \"developer\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "first_name": "Wendy",
    "last_name": "Mike",
    "email": "user@email.com",
    "phone": "+12333333333",
    "gender": "female",
    "dob": "2000-12-31",
    "roles": [
        "administrator",
        "developer"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/portal/users/{user_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

first_name   string   

The first name of the user. Example: Wendy

last_name   string   

The last name of the user. Example: Mike

email   string   

The email of the User. Example: user@email.com

phone   string   

The phone number of the User. Example: +12333333333

gender   string   

The gender of the User. Example: female

dob   date   

The date of birth of the User. Example: 2000-12-31

roles   string[]   

The role to be assigned to specified User.

Update Role

requires authentication

Update Role assigned to User.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"roles\": [
        \"administrator\",
        \"developer\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/update-roles"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "roles": [
        "administrator",
        "developer"
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/{user_ref}/update-roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

roles   string[]   

The role to be assigned to specified User.

Add Many Users to Site

requires authentication

Add multiple users to current site by specifying their ids.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/add-to-site" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"users_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/add-to-site"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "users_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/add-to-site

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

users_ids   string[]   

The list of ids associated with users.

Remove User from Site

requires authentication

Multi-remove user(s) from site.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/remove-from-site?force=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"users_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/remove-from-site"
);

const params = {
    "force": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "users_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/remove-from-site

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

force   string  optional  

Optional parameter to indicate that user record should be deleted permanently. Example: 1

Body Parameters

users_ids   string[]   

The list of ids associated with specific users.

Delete Many Users

requires authentication

Delete multiple users' data by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/users/delete?force=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"users_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/delete"
);

const params = {
    "force": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "users_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/users/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

force   string  optional  

Optionally specifying to force-delete model, instead of the default soft-delete. Example: 1

Body Parameters

users_ids   string[]   

The list of ids associated with users.

Restore Many Users

requires authentication

Restore multiple users data by specifying their ids.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"users_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "users_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

users_ids   string[]   

The list of ids associated with users.

Site Users Action

requires authentication

Take an action by specifying their ids and the action.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/take-action" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"users_ids\": [
        1,
        2
    ],
    \"action\": \"restrict\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/take-action"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "users_ids": [
        1,
        2
    ],
    "action": "restrict"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/take-action

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

users_ids   string[]   

The list of ids associated with users.

action   string   

The reason for restricting the user. Example: restrict

Grant Permission

requires authentication

Admin grant permission to user.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/grant-permission" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"permission_name\": \"suspend-users\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/grant-permission"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "permission_name": "suspend-users"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/{user_ref}/grant-permission

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

permission_name   string   

Specifies permission's name attribute. Example: suspend-users

Revoke Permission

requires authentication

Admin can revoke a user permission.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/revoke-permission" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"permission_name\": \"eligendi\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/975dcf22-21a8-406a-9a83-6b943cea0508/revoke-permission"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "permission_name": "eligendi"
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/{user_ref}/revoke-permission

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

user_ref   string   

Example: 975dcf22-21a8-406a-9a83-6b943cea0508

user   string   

Specifies user's ref attribute. Example: 975dcf12-eda2-4437-8c96-6df4e790d074

Body Parameters

permission_name   string   

Example: eligendi

Multi Assign Roles

requires authentication

Admin can assign multiple users to multiple roles.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/assign-multi-roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"roles\": [
        1,
        2
    ],
    \"users\": [
        4,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/assign-multi-roles"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "roles": [
        1,
        2
    ],
    "users": [
        4,
        2,
        3
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/assign-multi-roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

roles   string[]   

This is an array specifying the ids of roles to be assigned.

users   string[]   

This is an array specifying the ids of users to be assigned.

Multi Assign Permissions

requires authentication

Admin can grant multiple users multiple permissions.

Example request:
curl --request PATCH \
    "https://api.test/api/v1/portal/users/assign-multi-permissions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"permissions\": [
        1,
        2
    ],
    \"users\": [
        4,
        2,
        3
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/users/assign-multi-permissions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "permissions": [
        1,
        2
    ],
    "users": [
        4,
        2,
        3
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PATCH api/v1/portal/users/assign-multi-permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

permissions   string[]   

This is an array specifying the ids of permissions to be assigned.

users   string[]   

This is an array specifying the ids of users to be assigned.

Users Roles Stats

requires authentication

Get User Role Stats.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/stats/summary?role=administrator&year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/stats/summary"
);

const params = {
    "role": "administrator",
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

role   string  optional  

Specifying the user role to query by. Example: administrator

year   string  optional  

Specifying method of filtering query by registration year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Users Registration Stats

requires authentication

Get User Registration Chart data.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/users/stats/chart?role=administrator&year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/users/stats/chart"
);

const params = {
    "role": "administrator",
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/users/stats/chart

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

role   string  optional  

Specifying the user role to query by. Example: administrator

year   string  optional  

Specifying method of filtering query by registration year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Venues

Manages venues on the application

Paginated venues for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/all?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&city=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"rerum\",
    \"country\": \"modi\",
    \"page\": 66,
    \"per_page\": 70
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/all"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "city": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "rerum",
    "country": "modi",
    "page": 66,
    "per_page": 70
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

city   string  optional  

Filter by city ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: rerum

city   string  optional  
region   string  optional  
country   string  optional  

Example: modi

page   integer  optional  

Must be at least 1. Example: 66

per_page   integer  optional  

Must be at least 1. Example: 70

The list of venues

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&city=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&faqs=with&order_by=name%3Adesc%2Ccreated_at%3Adesc&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"accusamus\",
    \"country\": \"harum\",
    \"faqs\": \"with\",
    \"page\": 9,
    \"per_page\": 52,
    \"deleted\": \"without\",
    \"order_by\": [
        \"delectus\"
    ],
    \"drafted\": \"with\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "city": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "faqs": "with",
    "order_by": "name:desc,created_at:desc",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "accusamus",
    "country": "harum",
    "faqs": "with",
    "page": 9,
    "per_page": 52,
    "deleted": "without",
    "order_by": [
        "delectus"
    ],
    "drafted": "with"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

city   string  optional  

Filter by city ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: accusamus

city   string  optional  
region   string  optional  
country   string  optional  

Example: harum

faqs   string  optional  

Must be one of with or without. Example: with

page   integer  optional  

Must be at least 1. Example: 9

per_page   integer  optional  

Must be at least 1. Example: 52

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
drafted   string  optional  

Must be one of with, without, or only. Example: with

Create a venue

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Store a venue

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/venues/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"venue\",
    \"site_id\": 2,
    \"city_id\": 2,
    \"description\": \"Description of the venue\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"noindex\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        {
            \"section\": \"Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.\",
            \"description\": \"Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\\n\\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\\n\\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\\n\\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\\n\\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\\n\\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.\",
            \"details\": [
                \"enim\"
            ]
        }
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"molestias\"
    ],
    \"is_draft\": false
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/create"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "venue",
    "site_id": 2,
    "city_id": 2,
    "description": "Description of the venue",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "noindex"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        {
            "section": "Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.",
            "description": "Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.\n\n                Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.\n\n                Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.\n\n                Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.\n\n                Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.\n\n                Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.",
            "details": [
                "enim"
            ]
        }
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "molestias"
    ],
    "is_draft": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/venues/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string  optional  

The name of the venue. This field is required when site_id is present. Example: venue

site_id   integer   

The site id. Example: 2

city_id   integer   

The city id of the venue. Example: 2

description   string  optional  

The description of the venue. Example: Description of the venue

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   object[]   
section   string   

The FAQ section. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   string[]  optional  

This field is required when faqs.* is present.

question   string   

Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..question is present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]  optional  

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   
is_draft   boolean  optional  

save the new entity as a draft or not. Example: false

Get a venue's details.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/{ref}/details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987a4070-1092-4e2a-9a81-faf3cbae77e8

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Edit a venue

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/edit" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/edit"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/{ref}/edit

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

ref   string   

Example: 987a4070-1092-4e2a-9a81-faf3cbae77e8

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Export venues

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/export?faqs=with&order_by=name%3Adesc%2Ccreated_at%3Adesc&deleted=with&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"doloribus\",
    \"country\": \"sequi\",
    \"faqs\": \"with\",
    \"page\": 71,
    \"per_page\": 29,
    \"deleted\": \"without\",
    \"order_by\": [
        \"laborum\"
    ],
    \"drafted\": \"with\"
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/export"
);

const params = {
    "faqs": "with",
    "order_by": "name:desc,created_at:desc",
    "deleted": "with",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "doloribus",
    "country": "sequi",
    "faqs": "with",
    "page": 71,
    "per_page": 29,
    "deleted": "without",
    "order_by": [
        "laborum"
    ],
    "drafted": "with"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/export

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

faqs   string  optional  

Specifying the inclusion of ONLY pages with associated FAQs. Should be one of with, without. Example: with

order_by   string  optional  

Specifying method of ordering query. Multiple values can be provided by listing items separated by comma. Example: name:desc,created_at:desc

deleted   string  optional  

Specifying how to interact with soft-deleted items. Example: with

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: doloribus

city   string  optional  
region   string  optional  
country   string  optional  

Example: sequi

faqs   string  optional  

Must be one of with or without. Example: with

page   integer  optional  

Must be at least 1. Example: 71

per_page   integer  optional  

Must be at least 1. Example: 29

deleted   string  optional  

Must be one of with, without, or only. Example: without

order_by   string[]  optional  
drafted   string  optional  

Must be one of with, without, or only. Example: with

Update a venue

requires authentication

Example request:
curl --request PUT \
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"site_id\": 1,
    \"name\": \"venue name\",
    \"city_id\": 1,
    \"description\": \"venue description\",
    \"meta\": {
        \"title\": \"Title\",
        \"description\": \"Some description.\",
        \"keywords\": [
            \"tag\"
        ],
        \"robots\": [
            \"noindex\"
        ],
        \"canonical_url\": \"https:\\/\\/example.com\"
    },
    \"faqs\": [
        \"eum\"
    ],
    \"image\": \"97ad9df6-bc08-4729-b95e-3671dc6192c2\",
    \"gallery\": [
        \"consequuntur\"
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "site_id": 1,
    "name": "venue name",
    "city_id": 1,
    "description": "venue description",
    "meta": {
        "title": "Title",
        "description": "Some description.",
        "keywords": [
            "tag"
        ],
        "robots": [
            "noindex"
        ],
        "canonical_url": "https:\/\/example.com"
    },
    "faqs": [
        "eum"
    ],
    "image": "97ad9df6-bc08-4729-b95e-3671dc6192c2",
    "gallery": [
        "consequuntur"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/portal/venues/{venue_ref}/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

site_id   integer  optional  

The site id of the venue. This field is required when name or city_id is present. Example: 1

name   string  optional  

The name of the venue. This field is required when site_id is present. Example: venue name

city_id   integer  optional  

The city id of the venue. This field is required when site_id is present. Example: 1

description   string  optional  

The description of the venue. Example: venue description

meta   object   
title   string  optional  

Specifies title metadata. Example: Title

description   string  optional  

Specifies description metadata for combination. Must not be greater than 255 characters. Example: Some description.

keywords   string[]   

Specifies an array of keywords metadata for combination.

robots   string[]   

Must be one of index, noindex, follow, or nofollow.

canonical_url   string  optional  

The canonical url. Must not be greater than 255 characters. Example: https://example.com

faqs   integer[]  optional  
faq_id   integer  optional  

The FAQ id. Example: 24

section   string  optional  

The FAQ section. This field is required when faqs.*.faq_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

description   string  optional  

The FAQ description. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
details   integer[]  optional  

This field is required when faqs.* is present.

details_id   integer  optional  

Must be one of . Example: 82

question   string  optional  

This field is required when faqs..details..details_id is not present. Example: Mollit tempor eiusmod dolor amet laboris ad officia cillum aute ut consequat.

answer   string  optional  

This field is required when faqs..details..details_id is not present. Example: `Ad magna dolor eiusmod sint nostrud quis laborum labore sit tempor. Irure irure esse ea eu amet duis enim. Eiusmod esse anim eiusmod exercitation ex. Fugiat sint adipisicing dolore culpa. Et eiusmod et sit aliquip qui. Consectetur deserunt sunt proident exercitation cillum fugiat cillum elit veniam eiusmod qui anim.

            Tempor et incididunt laborum excepteur ad aliquip veniam. Ex qui deserunt occaecat non in tempor adipisicing mollit voluptate. Tempor ex eiusmod elit Lorem sint ea. Officia dolore minim Lorem reprehenderit eiusmod ut tempor ex Lorem in enim ex exercitation.

            Sunt minim eiusmod excepteur in aute velit aute cupidatat culpa nisi laborum fugiat mollit. Enim consequat do nisi do consequat occaecat cillum. Qui ea et quis amet minim commodo nostrud.

            Dolore aliquip incididunt labore ipsum excepteur sint adipisicing aute ea mollit. Eu commodo irure reprehenderit ipsum laboris excepteur consectetur et pariatur. Aliquip ipsum ex occaecat exercitation ut mollit nisi. Irure est nisi consectetur aliquip adipisicing exercitation anim aliqua. Pariatur sint labore non aliquip aliqua fugiat amet esse nisi dolor ad ullamco. Excepteur aute aliquip eiusmod commodo incididunt commodo aliqua aute velit id proident adipisicing est.

            Aliqua mollit nisi officia laborum irure sint cillum nulla aliquip velit non tempor officia. Elit veniam cillum consectetur fugiat pariatur exercitation deserunt voluptate officia minim excepteur quis elit ullamco. Enim adipisicing excepteur deserunt eiusmod reprehenderit consequat fugiat exercitation. Dolor sint laborum consequat occaecat adipisicing aliqua enim ad nulla. Cillum exercitation cillum adipisicing ullamco. Anim occaecat officia voluptate enim dolor in consectetur consectetur consectetur Lorem sit id. Sunt eu excepteur ad eu esse.

            Id id exercitation reprehenderit voluptate tempor. Excepteur tempor ipsum dolore nulla in ea deserunt nostrud Lorem amet elit ad. Officia id laboris sit enim enim duis cillum veniam non irure commodo veniam duis. Nulla culpa nulla ad laborum. Reprehenderit dolor eiusmod reprehenderit adipisicing laboris Lorem dolore. In eu quis ipsum labore sit irure.`
images   string[]   

Image Ref.

image   string   

Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

gallery   string[]   

Mark as draft one or many venues

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/venues/draft" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/draft"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/venues/draft

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with venues.

Mark as published one or many venues

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/venues/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/venues/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with venues.

Delete one or many venues

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with venues.

Restore one or many venues

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/venues/restore" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/restore"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/venues/restore

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with venues.

Delete one or many venues (Permanently) Only the administrator can delete a venue permanently.

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/delete/force" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/delete/force"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/delete/force

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with venues.

Delete the venue's image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/image/97ad9df6-d927-4a44-8fec-3daacee89678/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/{venue_ref}/image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

upload_ref   string   

The ref of the upload. Example: 97ad9df6-d927-4a44-8fec-3daacee89678

Delete One/Many Faqs

requires authentication

Delete multiple venue FAQS by specifying their ids

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faqs_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faqs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faqs_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/{venue_ref}/delete-faqs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faqs_ids   string[]   

The list of ids associated with specific venue FAQs ids.

Delete One/Many FAQ Details

requires authentication

Delete multiple Venue FAQ details by specifying their ids.

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"faq_details_ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/venues/97ad9df6-bc08-4729-b95e-3671dc6192c2/97ad9df6-bc08-4729-b95e-3671dc6192c2/delete-faq-details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "faq_details_ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/{venue_ref}/{faq_ref}/delete-faq-details

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

venue_ref   string   

The ref of the venue. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

faq_ref   string   

The ref of the faq. Example: 97ad9df6-bc08-4729-b95e-3671dc6192c2

Body Parameters

faq_details_ids   string[]   

The list of ids associated with specific venue faq_details ids.

Remove faq details image

requires authentication

Example request:
curl --request DELETE \
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/omnis/faq-details-image/et/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8/97f9bd34-499a-4a5e-bd6f-6e0436a0ca78/omnis/faq-details-image/et/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/portal/venues/{venue_ref}/{faq_ref}/{faq_details_ref}/faq-details-image/{upload_ref}/delete

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

venue_ref   string   

Example: 987a4070-1092-4e2a-9a81-faf3cbae77e8

faq_ref   string   

Example: 97f9bd34-499a-4a5e-bd6f-6e0436a0ca78

faq_details_ref   string   

Example: omnis

upload_ref   string   

Example: et

Venue Stats

requires authentication

Get Venue Stats Summary.

Example request:
curl --request GET \
    --get "https://api.test/api/v1/portal/venues/stats/summary?year=2022&period=24h" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0"
const url = new URL(
    "https://api.test/api/v1/portal/venues/stats/summary"
);

const params = {
    "year": "2022",
    "period": "24h",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/portal/venues/stats/summary

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

year   string  optional  

Specifying method of filtering query by year. Example: 2022

period   string  optional  

Specifying method of filtering query by time period. Example: 24h

Paginated venues for dropdown fields.

requires authentication

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/venues/all?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&city=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&page=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"architecto\",
    \"country\": \"rerum\",
    \"page\": 43,
    \"per_page\": 46
}"
const url = new URL(
    "https://api.test/api/v1/client/venues/all"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "city": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "architecto",
    "country": "rerum",
    "page": 43,
    "per_page": 46
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "status": false,
    "message": "Unauthorized",
    "errors": null
}
 

Request      

GET api/v1/client/venues/all

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

city   string  optional  

Filter by city ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

term   string  optional  

Filter by term. The term to search for.

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: architecto

city   string  optional  
region   string  optional  
country   string  optional  

Example: rerum

page   integer  optional  

Must be at least 1. Example: 43

per_page   integer  optional  

Must be at least 1. Example: 46

Venues - Client

The list of venues

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/venues?country=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&region=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&city=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&popular=1&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"term\": \"expedita\",
    \"country\": \"sed\",
    \"popular\": true,
    \"page\": 11,
    \"per_page\": 15
}"
const url = new URL(
    "https://api.test/api/v1/client/venues"
);

const params = {
    "country": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "region": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "city": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "popular": "1",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "term": "expedita",
    "country": "sed",
    "popular": true,
    "page": 11,
    "per_page": 15
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "region": [
            "The region is invalid."
        ],
        "city": [
            "The city is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/venues

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Query Parameters

term   string  optional  

Filter by term. The term to search for.

country   string  optional  

Filter by country ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

region   string  optional  

Filter by region ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

city   string  optional  

Filter by city ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

popular   boolean  optional  

Filter by most popular. Example: true

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

term   string  optional  

Example: expedita

country   string  optional  

Example: sed

region   string  optional  
city   string  optional  
popular   boolean  optional  

Example: true

page   integer  optional  

Must be at least 1. Example: 11

per_page   integer  optional  

Must be at least 1. Example: 15

Get the events under a venue

Example request:
curl --request GET \
    --get "https://api.test/api/v1/client/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8?category=97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d&start_date=%2222-02-2018%22&end_date=%2222-02-2023%22&price[]=12&price[]=80&virtual_events=include&skip=6&take=9&page=1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"laboriosam\",
    \"start_date\": \"27-05-2024\",
    \"end_date\": \"2025-01-07\",
    \"price\": [
        2
    ],
    \"region\": \"qui\",
    \"address\": \"autem\",
    \"virtual_events\": \"include\",
    \"date\": \"placeat\",
    \"page\": 27,
    \"per_page\": 21
}"
const url = new URL(
    "https://api.test/api/v1/client/venues/987a4070-1092-4e2a-9a81-faf3cbae77e8"
);

const params = {
    "category": "97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d",
    "start_date": ""22-02-2018"",
    "end_date": ""22-02-2023"",
    "price[0]": "12",
    "price[1]": "80",
    "virtual_events": "include",
    "skip": "6",
    "take": "9",
    "page": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "laboriosam",
    "start_date": "27-05-2024",
    "end_date": "2025-01-07",
    "price": [
        2
    ],
    "region": "qui",
    "address": "autem",
    "virtual_events": "include",
    "date": "placeat",
    "page": 27,
    "per_page": 21
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "status": false,
    "message": "Please resolve the warnings!",
    "errors": {
        "category": [
            "The category is invalid."
        ],
        "end_date": [
            "The end date does not match the format d-m-Y."
        ],
        "price": [
            "The price must contain 2 items."
        ],
        "region": [
            "The region is invalid."
        ]
    }
}
 

Request      

GET api/v1/client/venues/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

URL Parameters

slug   string   

The slug of the venue. Example: 987a4070-1092-4e2a-9a81-faf3cbae77e8

venue_slug   string   

The slug of the venue. Example: midlands

Query Parameters

name   string  optional  

Filter by name. The term to search for.

category   string  optional  

Filter by event category ref. Example: 97d417f7-082f-4ca8-bc4a-ba9b2cb3fc4d

start_date   string  optional  

Filter by start_date. Must be a valid date in the format d-m-Y. Example: "22-02-2018"

end_date   string  optional  

Filter by end_date. Must be a valid date in the format d-m-Y. Example: "22-02-2023"

price   integer[]  optional  

Filter by a price range.

region   string  optional  

Filter by region ref.

address   string  optional  

Filter by address.

virtual_events   string  optional  

Filter by virtual_events. Must be one of include, exclude, only. Example: include

date   string  optional  

Filter by date. Must be one of newest, oldest, this_year, next_year, next_3_months, next_6_months, 2022-09, 2022-10.

skip   integer  optional  

The number of items to skip before taking the number of items specified by the take query param Example: 6

take   integer  optional  

Number of items to return. Example 6 Example: 9

page   integer  optional  

The page data to return Example: 1

per_page   integer  optional  

Items per page

Body Parameters

name   string  optional  

Example: laboriosam

category   string  optional  
start_date   string  optional  

Must be a valid date in the format d-m-Y. Example: 27-05-2024

end_date   string  optional  

Must be a valid date in the format d-m-Y. Must be a date after or equal to start_date. Example: 2025-01-07

price   integer[]  optional  
region   string  optional  

Example: qui

address   string  optional  

Example: autem

virtual_events   string  optional  

Must be one of include, exclude, or only. Example: include

date   string  optional  

Example: placeat

page   integer  optional  

Must be at least 1. Example: 27

per_page   integer  optional  

Must be at least 1. Example: 21

Website - Charity Signups (Enquiries)

Manages charity signups (enquiries) from websites

Create a charity signup (enquiry)

Example request:
curl --request POST \
    "https://api.test/api/v1/client/charity-signups/create" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"name\": \"Lindsey Lodge Hospice and Healthcare\",
    \"number\": 3837340,
    \"sector\": \"Cancer - General\",
    \"website\": \"https:\\/\\/www.againstbreastcancer.org.uk\\/\",
    \"address_1\": \"Sir John Mills House, 12 Whitehorse Mews\",
    \"address_2\": \"37 Westminster Bridge Road\",
    \"city\": \"London\",
    \"postcode\": \"SE1 7QD\",
    \"contact_name\": \"Paul Kelleman\",
    \"contact_email\": \"russel93@example.com\",
    \"contact_phone\": \"+447743780217\",
    \"terms_conditions\": true,
    \"privacy_policy\": true
}"
const url = new URL(
    "https://api.test/api/v1/client/charity-signups/create"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "name": "Lindsey Lodge Hospice and Healthcare",
    "number": 3837340,
    "sector": "Cancer - General",
    "website": "https:\/\/www.againstbreastcancer.org.uk\/",
    "address_1": "Sir John Mills House, 12 Whitehorse Mews",
    "address_2": "37 Westminster Bridge Road",
    "city": "London",
    "postcode": "SE1 7QD",
    "contact_name": "Paul Kelleman",
    "contact_email": "russel93@example.com",
    "contact_phone": "+447743780217",
    "terms_conditions": true,
    "privacy_policy": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/client/charity-signups/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

name   string   

The charity name. Must not be greater than 255 characters. Example: Lindsey Lodge Hospice and Healthcare

number   integer   

The registered charity number. Example: 3837340

sector   string   

The charity category (name). Must not be greater than 255 characters. Example: Cancer - General

website   string   

The charity website. Example: https://www.againstbreastcancer.org.uk/

address_1   string   

Must not be greater than 255 characters. Example: Sir John Mills House, 12 Whitehorse Mews

address_2   string  optional  

Must not be greater than 255 characters. Example: 37 Westminster Bridge Road

city   string   

Must not be greater than 255 characters. Example: London

postcode   string   

Must not be greater than 255 characters. Example: SE1 7QD

contact_name   string   

Must not be greater than 255 characters. Example: Paul Kelleman

contact_email   string   

Must be a valid email address. Example: russel93@example.com

contact_phone   string   

Example: +447743780217

terms_conditions   boolean   

Must be accepted. Example: true

privacy_policy   boolean   

Must be accepted. Example: true

regions

Mark as published one or many regions

requires authentication

Example request:
curl --request POST \
    "https://api.test/api/v1/portal/regions/publish" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-Client-Key: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0" \
    --data "{
    \"ids\": [
        1,
        2
    ]
}"
const url = new URL(
    "https://api.test/api/v1/portal/regions/publish"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Client-Key": "15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0",
};

let body = {
    "ids": [
        1,
        2
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/portal/regions/publish

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Client-Key      

Example: 15efff517947ca8fbf0e87ffafcd6e9c8e778415dfe60f4e570ecbdf76e8ebc0

Body Parameters

ids   string[]   

An array list of ids associated with regions.