MENU navbar-image

Introduction

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

Authenticating requests

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

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

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

Users

Get published videos

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/users/507/published-videos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/users/507/published-videos"
);

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


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

Example response (200):


[
    {
        "id": 1830,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/7uUHlRqbNfbvD8whagB4CdN9XAn5X3HFMBNaq1G2l45j8pmWz6wqD5cgCub9fgn4kPfRAUxBoDQKqPRIMwaH6wE45Ro47jPbdZm1",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    },
    {
        "id": 1831,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/iRNHGpMBvkPJpdkUd2RxPzuDggV2hsMGxksTO8ew3tXi6tkStCRU6Sq55JGU14FGbrM3pas9dkPQBeLnvisfiQlYGYhFN5XHPWZi",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    }
]
 

Request      

GET api/v1/users/{user_id}/published-videos

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 507

Get stories

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/users/507/stories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/users/507/stories"
);

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


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

Example response (200):


[
    {
        "id": 1438,
        "title": "Ab perspiciatis iure cum aut non.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    },
    {
        "id": 1439,
        "title": "Nostrum quia fuga veritatis voluptatum.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    }
]
 

Request      

GET api/v1/users/{user_id}/stories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

user_id   integer     

The ID of the user. Example: 507

Companies

APIs for managing companies

Get settings

requires authentication

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

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


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

Example response (200):


{
    "caption_background": "#F7F9FC",
    "caption_background_opacity": 100,
    "caption_title_color": "#38416F",
    "caption_title_color_opacity": 100,
    "caption_sub_title_color": "#4F5B9C",
    "caption_sub_title_color_opacity": 100,
    "video_pre_post_loader_removable": false
}
 

Request      

GET api/v1/companies/{company_id}/settings

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

company_id   integer     

The ID of the company. Example: 116

Get companies

requires authentication

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

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


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

Example response (200):


[
    {
        "id": 400,
        "name": "Price Ltd",
        "logo": "c400-(02-04-2026_14-55-37).",
        "logo_url": "https://dashboard.yourstoryz.com/storage/logos/c400-(02-04-2026_14-55-37).",
        "phone": null,
        "website": "https://leuschke.com/et-et-modi-ipsum-nostrum.html",
        "country": null,
        "address": null,
        "postcode": null,
        "place": null,
        "vat_id": null,
        "coc_number": null,
        "bank_ascription": null,
        "bank_account_number": null,
        "owner_id": 5567,
        "created_at": "2026-04-02T14:55:37.000000Z",
        "updated_at": "2026-04-02T14:55:37.000000Z"
    },
    {
        "id": 401,
        "name": "Feeney, Leffler and Glover",
        "logo": "c401-(02-04-2026_14-55-37).",
        "logo_url": "https://dashboard.yourstoryz.com/storage/logos/c401-(02-04-2026_14-55-37).",
        "phone": null,
        "website": "http://www.haag.org/distinctio-eum-doloremque-id-aut-libero-aliquam-veniam-corporis",
        "country": null,
        "address": null,
        "postcode": null,
        "place": null,
        "vat_id": null,
        "coc_number": null,
        "bank_ascription": null,
        "bank_account_number": null,
        "owner_id": 5568,
        "created_at": "2026-04-02T14:55:37.000000Z",
        "updated_at": "2026-04-02T14:55:37.000000Z"
    }
]
 

Request      

GET api/v1/companies

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

Get company

requires authentication

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

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


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

Example response (200):


{
    "id": 402,
    "name": "Price Ltd",
    "logo": "c402-(02-04-2026_14-55-37).",
    "logo_url": "https://dashboard.yourstoryz.com/storage/logos/c402-(02-04-2026_14-55-37).",
    "phone": null,
    "website": "https://leuschke.com/et-et-modi-ipsum-nostrum.html",
    "country": null,
    "address": null,
    "postcode": null,
    "place": null,
    "vat_id": null,
    "coc_number": null,
    "bank_ascription": null,
    "bank_account_number": null,
    "owner_id": 5569,
    "created_at": "2026-04-02T14:55:37.000000Z",
    "updated_at": "2026-04-02T14:55:37.000000Z"
}
 

Request      

GET api/v1/companies/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the company. Example: 116

Get departments

requires authentication

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

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


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

Example response (200):


[
    {
        "id": 217,
        "name": "Price Ltd",
        "email": "dare.emelie@baumbach.org",
        "company_id": 403,
        "created_at": "02-04-2026",
        "updated_at": "2026-04-02T14:55:37.000000Z",
        "logo": null
    },
    {
        "id": 218,
        "name": "Gaylord, Hettinger and Nitzsche",
        "email": "mcdermott.verlie@mayer.com",
        "company_id": 404,
        "created_at": "02-04-2026",
        "updated_at": "2026-04-02T14:55:37.000000Z",
        "logo": null
    }
]
 

Request      

GET api/v1/companies/{company_id}/departments

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

company_id   integer     

The ID of the company. Example: 116

Get stories

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/companies/116/stories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/companies/116/stories"
);

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


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

Example response (200):


[
    {
        "id": 1440,
        "title": "Nostrum ut id autem sint ut.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    },
    {
        "id": 1441,
        "title": "Consequatur commodi nostrum quae est reprehenderit et.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    }
]
 

Request      

GET api/v1/companies/{company_id}/stories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

company_id   integer     

The ID of the company. Example: 116

Get published videos

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/companies/116/published-videos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/companies/116/published-videos"
);

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


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

Example response (200):


[
    {
        "id": 1832,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/2TMZfDAbVw7FIcv111B566x9u8XYfO5PXBop9DRnJ0bkweCp6vgoCqiwmmwkCVnuL2eW7FqQ5rcczBAsUp0kS7Na1FaoEPZtLpg0",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    },
    {
        "id": 1833,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/AXFZKpTFitPtrgXZRR2u4Ayt8B94QjtYLOucFRPJ6QV7UqlVvo7pkp7yZZhgH3sUPawVih5B5PmAM1ztSZ4A2snQxiEMk9lMUSS1",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    }
]
 

Request      

GET api/v1/companies/{company_id}/published-videos

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

company_id   integer     

The ID of the company. Example: 116

Departments

APIs for managing departments

Get settings

requires authentication

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

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


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

Example response (200):


{
    "caption_background": "#F7F9FC",
    "caption_background_opacity": 100,
    "caption_title_color": "#38416F",
    "caption_title_color_opacity": 100,
    "caption_sub_title_color": "#4F5B9C",
    "caption_sub_title_color_opacity": 100,
    "video_pre_post_loader_removable": false
}
 

Request      

GET api/v1/departments/{department_id}/settings

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

department_id   integer     

The ID of the department. Example: 99

Get departments

requires authentication

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

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


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

Example response (200):


[
    {
        "id": 219,
        "name": "Price Ltd",
        "email": "ferne52@okeefe.net",
        "company_id": 405,
        "created_at": "02-04-2026",
        "updated_at": "2026-04-02T14:55:37.000000Z",
        "logo": null
    },
    {
        "id": 220,
        "name": "Mayer-Kutch",
        "email": "oking@cartwright.com",
        "company_id": 406,
        "created_at": "02-04-2026",
        "updated_at": "2026-04-02T14:55:37.000000Z",
        "logo": null
    }
]
 

Request      

GET api/v1/departments

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

Get department

requires authentication

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

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


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

Example response (200):


{
    "id": 221,
    "name": "Price Ltd",
    "email": "christian51@leffler.com",
    "company_id": 407,
    "created_at": "02-04-2026",
    "updated_at": "2026-04-02T14:55:37.000000Z",
    "logo": null
}
 

Request      

GET api/v1/departments/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the department. Example: 99

Get stories

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/departments/99/stories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/departments/99/stories"
);

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


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

Example response (200):


[
    {
        "id": 1442,
        "title": "Sit nostrum aut dolorem blanditiis.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    },
    {
        "id": 1443,
        "title": "Qui magni qui assumenda sint.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "created_at": "2025-10-13T11:00:07.000000Z",
        "updated_at": "2025-10-13T11:00:07.000000Z"
    }
]
 

Request      

GET api/v1/departments/{department_id}/stories

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

department_id   integer     

The ID of the department. Example: 99

Get published videos

Example request:
curl --request GET \
    --get "https://dashboard.yourstoryz.com/api/v1/departments/99/published-videos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/departments/99/published-videos"
);

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


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

Example response (200):


[
    {
        "id": 1834,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/gMubylRn0k2hIkqSIwMDHlRZ5eEyGeRor2fnxiIUb4Ukfvv2ddMUx4Vex92wbHhUbAE1dYRAm9PL2J4GtZOXTlRbB5mZFv3OAnVX",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    },
    {
        "id": 1835,
        "orientation": null,
        "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/YdCQBfLlzpd20Aizcf3AlpBPS1ucn0phf2kpjwEjOyUpWJxcU1jbHJd2HJWVDHukvUcbmsSROirUIU9Xbn4hz0FspXRx6yhsQZTD",
        "thumbnail_url": null,
        "contents": [],
        "created_at": "2025-10-13T09:42:40.000000Z"
    }
]
 

Request      

GET api/v1/departments/{department_id}/published-videos

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

department_id   integer     

The ID of the department. Example: 99

Stories

APIs for managing stories

Get stories

requires authentication

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

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


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

Example response (200):


[
    {
        "id": 1465,
        "title": "Mollitia et quos exercitationem dolore aut.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "location": [
            -15.917464,
            -71.60898
        ],
        "location_description": null,
        "created_at": "2026-04-02T14:55:37.000000Z",
        "updated_at": "2026-04-02T14:55:37.000000Z"
    },
    {
        "id": 1466,
        "title": "Vel temporibus quibusdam laborum reprehenderit.",
        "description": null,
        "video": null,
        "media": [],
        "author": null,
        "location": [
            -9.225575,
            77.065306
        ],
        "location_description": null,
        "created_at": "2026-04-02T14:55:37.000000Z",
        "updated_at": "2026-04-02T14:55:37.000000Z"
    }
]
 

Request      

GET api/v1/stories

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

Create story

requires authentication

Example request:
curl --request POST \
    "https://dashboard.yourstoryz.com/api/v1/stories" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "storiable_type=b"\
    --form "storiable_id=16"\
    --form "title=n"\
    --form "description=Eius et animi quos velit et."\
    --form "metadata=["architecto","architecto"]"\
    --form "duration=16"\
    --form "channel=architecto"\
    --form "posts=["architecto","architecto"]"\
    --form "location[latitude]=-179"\
    --form "location[longitude]=-89"\
    --form "location_description=architecto"\
    --form "channels[][channel]=architecto"\
    --form "channels[][channel_folders][]=architecto"\
    --form "file=@/var/hpwsites/u_yourstoryz/tmp/php1ccl6ef0fnhvdRy5w0w" \
    --form "thumbnail=@/var/hpwsites/u_yourstoryz/tmp/phpfvq6c81arep33VpyJFd" \
    --form "media[]=@/var/hpwsites/u_yourstoryz/tmp/phpoqplif5hck3u2TZeXQL" 
const url = new URL(
    "https://dashboard.yourstoryz.com/api/v1/stories"
);

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

const body = new FormData();
body.append('storiable_type', 'b');
body.append('storiable_id', '16');
body.append('title', 'n');
body.append('description', 'Eius et animi quos velit et.');
body.append('metadata', '["architecto","architecto"]');
body.append('duration', '16');
body.append('channel', 'architecto');
body.append('posts', '["architecto","architecto"]');
body.append('location[latitude]', '-179');
body.append('location[longitude]', '-89');
body.append('location_description', 'architecto');
body.append('channels[][channel]', 'architecto');
body.append('channels[][channel_folders][]', 'architecto');
body.append('file', document.querySelector('input[name="file"]').files[0]);
body.append('thumbnail', document.querySelector('input[name="thumbnail"]').files[0]);
body.append('media[]', document.querySelector('input[name="media[]"]').files[0]);

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

Example response (200):


{
    "id": 1467,
    "title": "Mollitia modi deserunt aut ab provident perspiciatis quo.",
    "description": null,
    "video": null,
    "media": [],
    "author": null,
    "location": [
        -175.353288,
        -25.59289
    ],
    "location_description": null,
    "created_at": "2026-04-02T14:55:38.000000Z",
    "updated_at": "2026-04-02T14:55:38.000000Z"
}
 

Request      

POST api/v1/stories

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: multipart/form-data

Accept        

Example: application/json

Body Parameters

storiable_type   string     

Must not be greater than 255 characters. Example: b

storiable_id   integer     

Example: 16

title   string     

Must not be greater than 255 characters. Example: n

description   string  optional    

Example: Eius et animi quos velit et.

file   file  optional    

This field is required when thumbnail or metadata is present. Must be a file. Example: /var/hpwsites/u_yourstoryz/tmp/php1ccl6ef0fnhvdRy5w0w

thumbnail   file  optional    

Must be a file. Example: /var/hpwsites/u_yourstoryz/tmp/phpfvq6c81arep33VpyJFd

metadata   string  optional    

Must be a valid JSON string. Example: ["architecto","architecto"]

duration   integer  optional    

Example: 16

channel   string  optional    

Example: architecto

channels   object[]  optional    
channel   string     

Example: architecto

channel_folders   string[]     
posts   string  optional    

Must be a valid JSON string. Example: ["architecto","architecto"]

media   file[]  optional    

Must be a file.

location   object  optional    
latitude   number  optional    

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

longitude   number  optional    

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

location_description   string  optional    

Example: architecto

Get story

requires authentication

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

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


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

Example response (200):


{
    "id": 1468,
    "title": "Modi ipsum nostrum omnis autem et.",
    "description": null,
    "video": null,
    "media": [],
    "author": null,
    "location": [
        -48.641047,
        -45.649001
    ],
    "location_description": null,
    "created_at": "2026-04-02T14:55:38.000000Z",
    "updated_at": "2026-04-02T14:55:38.000000Z"
}
 

Request      

GET api/v1/stories/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the story. Example: 1

Update story

requires authentication

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

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


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

Request      

PUT api/v1/stories/{id}

PATCH api/v1/stories/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the story. Example: 1

Delete story

requires authentication

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

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


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

Request      

DELETE api/v1/stories/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the story. Example: 1

Published Videos

APIs for managing published videos

Get published video

requires authentication

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

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


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

Example response (200):


{
    "id": 1931,
    "orientation": null,
    "video_url": "https://yourstoryz.s3.eu-west-2.amazonaws.com/WmKhFTK8uB3ENNmrI0c6sQisnmTJqhbbvmg37gBNInbLbsGi2hxcUki2A9jCDWKdx9ui35o10F8Aan4n0n9SNNxt2VKvquNZZqOT",
    "thumbnail_url": null,
    "contents": [],
    "created_at": "2026-04-02T14:55:38.000000Z"
}
 

Request      

GET api/v1/published-videos/{id}

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

id   integer     

The ID of the published video. Example: 304

Endpoints

GET api/v1/users/me

requires authentication

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

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


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

Example response (401):

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

{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/users/me

Headers

Authorization        

Example: Bearer {YOUR_AUTH_KEY}

Content-Type        

Example: application/json

Accept        

Example: application/json