Developer API Docs

Flutter Integration API v1

Documentazione completa endpoint, parametri e header per collegare correttamente l'app Flutter al backend.

Base URL

https://www.determined-spence.82-165-53-81.plesk.page/api/v1

Auth Header

Authorization: Bearer <token>

Formato

application/json

Auth

Registrazione, login e logout token-based per app Flutter.

Method Endpoint Auth Parametri
POST /auth/register No name, email, password, password_confirmation, device_name?
POST /auth/login No email, password, device_name?
POST /auth/logout Si Bearer token in header

Public Content

Dati pubblici per home, feed, creators e ricerca.

Method Endpoint Auth Parametri
GET /app-config No -
GET /home No limit? (4-24)
GET /videos No type?, sort?, q?, creator?, per_page?
GET /videos/{id_or_slug} No path param
GET /videos/{id_or_slug}/comments No path param
GET /creators No q?, per_page?
GET /creators/{id_or_username_or_channel_slug} No path param
GET /creators/{id_or_username_or_channel_slug}/videos No type?, per_page?
GET /search No q (required), limit?

Content Actions (Auth)

Azioni utente su video e creators.

Method Endpoint Auth Parametri
POST /videos/{id_or_slug}/comments Si content, parent_id?
POST /videos/{id_or_slug}/reaction Si reaction: like|dislike|none
POST /creators/{id_or_username_or_channel_slug}/subscribe Si toggle subscribe
POST /videos/{id_or_slug}/share Si get share data

Account & Library (Auth)

Profilo, watch later, history, playlists.

Method Endpoint Auth Parametri
GET /me Si -
PUT /me Si name?, channel_name?, channel_description?, country?
GET /me/watch-later Si -
POST /me/watch-later/{id_or_slug} Si path param
DELETE /me/watch-later/{id_or_slug} Si path param
GET /me/history Si -
POST /me/history/{id_or_slug} Si watched_duration, total_duration?, completed?
GET /me/playlists Si -
GET /me/liked Si video piaciuti

My Channel (Auth)

Gestione canale personale, avatar, banner.

Method Endpoint Auth Parametri
GET /me/channel Si info canale completo
PUT /me/channel Si channel_name?, channel_description?, country?, social_links?
PUT /me/avatar Si avatar (file image)
PUT /me/banner Si banner (file image)

Subscriptions (Auth)

Iscrizioni e iscritti.

Method Endpoint Auth Parametri
GET /me/subscriptions Si canali a cui sei iscritto
GET /me/subscribers Si iscritti al tuo canale

My Videos (Auth)

Gestione video personali.

Method Endpoint Auth Parametri
GET /me/videos Si type?, status?, per_page?
POST /videos/upload Si title, video_file, thumbnail?, description?, is_public?, is_reel?, tags?
POST /reels/upload Si title, video_file, thumbnail?, description?
POST /posts/create Si title, video_file, thumbnail?, description?
PUT /videos/{video} Si title?, description?, is_public?, status?, comments_enabled?, likes_enabled?
DELETE /videos/{video} Si elimina video
GET /videos/{video}/status Si stato elaborazione
POST /videos/bulk Si action, video_ids[]

Comments (Auth)

Gestione commenti.

Method Endpoint Auth Parametri
GET /me/comments Si miei commenti
POST /comments/{comment}/like Si like/unlike commento
DELETE /comments/{comment} Si elimina commento

Notifications (Auth)

Gestione notifiche user.

Method Endpoint Auth Parametri
GET /me/notifications Si -
POST /me/notifications/read-all Si -
POST /me/notifications/{id}/read Si path param id

User Settings (Auth)

Impostazioni profilo utente.

Method Endpoint Auth Parametri
GET /me/settings Si impostazioni account
PUT /me/settings Si email_notifications?, push_notifications?, private_profile?

App Settings (Public)

Impostazioni e configurazioni globali.

Method Endpoint Auth Parametri
GET /settings No configurazione app completa
GET /settings/features No feature flags
GET /settings/limits No limiti sistema
GET /settings/countries No lista paesi
GET /settings/languages No lingue supportate

Esempio Login

curl -X POST "https://www.determined-spence.82-165-53-81.plesk.page/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "mastro@gmail.com",
    "password": "bmx321516",
    "device_name": "flutter-android"
  }'

Esempio Response Login

{
  "message": "Login successful.",
  "token": "TOKEN_VALUE",
  "token_type": "Bearer",
  "expires_at": "2026-05-15T13:14:52+02:00",
  "user": {
    "id": 1,
    "name": "mastro",
    "email": "mastro@gmail.com"
  }
}