API
Documentação da API do ComusThumbz REST
AdminModeration
GET /api/v1/adminmoderação
Bulk aprova POST /api/v1/admin/moderação/bulk/approva
- Autenticação necessária:
PUBLIC
DELETE /api/v1/adminmoderação
Excluir conteúdo (decapagem do DMCA) DELETE /api/v1/admin/moderação/{type}/{id}
- Autenticação necessária:
PUBLIC
Administradores
GET /api/v1/administradores
Obter o registro de atividade do usuário GET /api/v1/admin/usuários/{id}/atividade
- Autenticação necessária:
PUBLIC
PUT /api/v1/administradores
Atualizar usuário PUT /api/v1/admin/users/{id}
- Autenticação necessária:
PUBLIC
Anúncios
GET /api/v1/ads
Obter estatísticas de anúncios (Admin) GET /api/v1/admin/ads/{id}/stats
- Autenticação necessária:
PUBLIC
Análise
GET /api/v1/analíticos
Obter análise de tráfego GET /api/v1/analytics/traffic
- Autenticação necessária:
PUBLIC
Auth
GET /api/v1/auth
Desactivar 2FA DELETE /api/v1/auth/2fa
- Autenticação necessária:
PUBLIC
Banners
GET /api/v1/banners
Obter estatísticas de banners GET /api/v1/banners/{id}/stats
- Autenticação necessária:
PUBLIC - Parâmetros:
bannerId(int): ID da bandeira
Categorias
GET /api/v1/categorias
Obter galerias na categoria GET /api/v1/categorias/{id}/galleries
- Autenticação necessária:
PUBLIC - Parâmetros:
id(int): ID de categoria
POST /api/v1/categorias
Criar nova categoria (apenas administração) POST /api/v1/categorias
- Autenticação necessária:
PUBLIC
PUT /api/v1/categorias
Atualizar categoria (apenas administração) PUT /api/v1/categories/{id}
- Autenticação necessária:
PUBLIC - Parâmetros:
id(int): ID de categoria
DELETE /api/v1/categorias
Excluir categoria (apenas administração) DELETE /api/v1/categories/{id}
- Autenticação necessária:
PUBLIC - Parâmetros:
id(int): ID de categoria
ClickTracking
GET /api/v1/clicktracking
GET /api/v1/stats/clicks/user/{userId} Obter o histórico de cliques do usuário (o usuário deve ser autenticado)
- Autenticação necessária:
PUBLIC
Comentários
GET /api/v1/comentários
GET /api/v1/comentários/flagged Obter todos os comentários marcados (apenas administração)
- Autenticação necessária:
PUBLIC
POST /api/v1/comentários
POST /api/v1/cams/{site}/{performer}/comentários Adicionar um comentário a um artista de webcam
- Autenticação necessária:
PUBLIC
PUT /api/v1/comentários
PUT /api/v1/comments/{id}/status Atualizar o estado do comentário (apenas administração)
- Autenticação necessária:
PUBLIC
DELETE /api/v1/comentários
DELETE /api/v1/comments/{id}/ like Remove like/dislike from a comment
- Autenticação necessária:
PUBLIC
CriadorOuvintes
GET /api/v1/creatorings
GET /creator/earnings/platform-settings - Obter configurações de taxa de plataforma Retorna taxa global de plataforma e taxa personalizada do criador, se aplicável Este ponto final é público (sem necessidade de autorização) para fins de visualização
- Autenticação necessária:
PUBLIC
Perfil do Criador
GET /api/v1/creatorprofiles
CreatorProfilesController - Gerenciamento de perfil do Criador
- Autenticação necessária:
PUBLIC
POST /api/v1/creatorprofiles
POST /creator/profile - Criar novo perfil criador
- Autenticação necessária:
PUBLIC
PUT /api/v1/creatorprofiles
PATCH /creator/profile/me - Atualizar o perfil do criador autenticado
- Autenticação necessária:
PUBLIC
Criadores
GET /api/v1/criadores
POST /api/v1/creators/me/cover Upload creator cover image
- Autenticação necessária:
PUBLIC
PUT /api/v1/criadores
PUT /api/v1/creators/me Atualizar as configurações do perfil do criador
- Autenticação necessária:
PUBLIC
Subscrições do Criador
GET /api/v1/creatorsubscriptions
DELETE /creators/{id}/pacotes/{pacoteid} - O Criador desactiva um pacote
- Autenticação necessária:
PUBLIC
Ganhos
GET /api/v1/receitas
GET /api/v1/creator/ganhos/por fonte Obtém discriminação dos ganhos por fonte (pontas, assinaturas, PPV) Inclui contagens e totais
- Autenticação necessária:
PUBLIC
Favoritos
GET /api/v1/favoritos
GET /favorites/contas Obter os favoritos do usuário conta por tipo
- Autenticação necessária:
PUBLIC
POST /api/v1/favoritos
POST /favorites Adicionar item aos favoritos Corpo: { "conteúdotipo": "video'gallery'camperformer, modelo, "conteúdoid": "123", "notas": "opcional" }
- Autenticação necessária:
PUBLIC
DELETE /api/v1/favoritos
DELETE /favorites/{type}/{id} Remover dos favoritos
- Autenticação necessária:
PUBLIC
Características
GET /api/v1/features
Obter sites de cam habilitados GET /api/v1/ features/cams
- Autenticação necessária:
PUBLIC
Alimentação
GET /api/v1/feed
Obter conteúdo de tendências GET /api/v1/feed/tending
- Autenticação necessária:
PUBLIC
Amigos
GET /api/v1/amigos
Rejeitar pedido de amigo PUT /api/v1/friends/{id}/reject
- Autenticação necessária:
PUBLIC - Parâmetros:
id(int): ID da amizade
POST /api/v1/amigos
Enviar pedido de amigo POST /api/v1/amigos
- Autenticação necessária:
PUBLIC
DELETE /api/v1/amigos
Remover amigo DELETE /api/v1/friends/{id}
- Autenticação necessária:
PUBLIC - Parâmetros:
id(int): ID da amizade
Galerias
GET /api/v1/galleries
GET /galleries/{id}/relacionado - Obter galerias relacionadas
- Autenticação necessária:
PUBLIC
POST /api/v1/galleries
POST /galleries - Criar galeria (apenas administração)
- Autenticação necessária:
PUBLIC
PUT /api/v1/galleries
PATCH /galleries/{id}/status - Actualizar o estado da galeria (apenas administração)
- Autenticação necessária:
PUBLIC
DELETE /api/v1/galleries
DELETE /galleries/{id} - Excluir galeria (somente administração)
- Autenticação necessária:
PUBLIC
Monitoramento de Impressões
GET /api/v1/impressão
GET /api/v1/impressões/tendências/{tipo} Obter tendências de desempenho ao longo do tempo
- Autenticação necessária:
PUBLIC
LiveStream
GET /api/v1/livestream
GET /api/v1/live/{id}/por minuto/estado Obter o estado atual da sessão por minuto
- Autenticação necessária:
PUBLIC
Mídia
GET /api/v1/media
Obter URL de armazenamento para um arquivo de vídeo específico
- Autenticação necessária:
PUBLIC - Parâmetros:
videoId(int): ID de vídeofileType(string): Tipo de ficheiro (humbnail, antevisão, cartaz, vídeo, hls, etc.)- Retornos: void - (retorna URL ou erro de download)
Mensagens
GET /api/v1/mensagens
Obter lista de usuários bloqueados GET /api/v1/mensagens/bloqueado
- Autenticação necessária:
PUBLIC
DELETE /api/v1/mensagens
Apagar uma mensagem DELETE /api/v1/mensages/{id}
- Autenticação necessária:
PUBLIC
Modelos
GET /api/v1/models
GET /api/v1/models/{id}/detalhes Obter detalhes do modelo unificados Consultar parâmetros: - tipo: regularmodelo (obrigatório)
- Autenticação necessária:
PUBLIC
POST /api/v1/models
POST /api/v1/models Criar um novo modelo (apenas administração)
- Autenticação necessária:
PUBLIC
PUT /api/v1/models
PUT /api/v1/modelclasses/{id}/status Atualizar o status do modelo (somente administração)
- Autenticação necessária:
PUBLIC
DELETE /api/v1/models
DELETE /api/v1/modelclasses/ {id} Apagar o modelo (apenas administração)
- Autenticação necessária:
PUBLIC
Notificação
GET /api/v1/notificações
Obter preferências de notificação GET /api/v1/notifications/preferences
- Autenticação necessária:
PUBLIC
PUT /api/v1/notificações
Atualizar preferências de notificação PUT /api/v1/notificações/preferências
- Autenticação necessária:
PUBLIC
DELETE /api/v1/notificações
Apagar notificação (supressão suave) DELETE /api/v1/notifications/{id}
- Autenticação necessária:
PUBLIC
Jogador
GET /api/v1/player
Leitor Controlador Controla a configuração e as configurações do leitor de vídeo
- Autenticação necessária:
PUBLIC
Listas de Reprodução
GET /api/v1/playlists
PUT /playlists/{id}/items/reorder Reorder playlist items (owner only) Body: { "items": [ { "itemid": 1, "sortorder": 0 }, { "itemid": 2, "sortorder": 1 } ] }
- Auth Required:
PUBLIC
POST /api/v1/playlists
POST /playlists/{id}/items Add video to playlist (owner only) Body: { "videoid": 123, "sortorder": 1 }
- Auth Required:
PUBLIC
PUT /api/v1/playlists
PUT /playlists/{id} Update playlist (owner only)
- Auth Required:
PUBLIC
DELETE /api/v1/playlists
DELETE /playlists/{id}/items/{itemId} Remove video from playlist (owner only)
- Auth Required:
PUBLIC
Posts
GET /api/v1/posts
GET /api/v1/posts/{id}/poll Get poll data for a post
- Auth Required:
PUBLIC - Parameters:
postId(int): Post ID
POST /api/v1/posts
POST /api/v1/posts/with-product Create a post with product attachment Handles multipart/form-data with files
- Auth Required:
PUBLIC
PUT /api/v1/posts
PUT /api/v1/posts/{id}/poll Update poll data for a post
- Auth Required:
PUBLIC - Parameters:
postId(int): Post ID
DELETE /api/v1/posts
DELETE /comments/{id} Delete a comment (soft delete)
- Auth Required:
PUBLIC
Products
GET /api/v1/products
Refund a merchandise purchase (Option 2: Proportional Loss) - User gets full refund (100%) - Creator loses their portion (80%) - Platform absorbs their portion (20%)
- Auth Required:
PUBLIC
POST /api/v1/products
Products Controller Handles creator merchandise/product operations
- Auth Required:
AUTH
PUT /api/v1/products
Update order shipping status and tracking number
- Auth Required:
PUBLIC
Ratings
GET /api/v1/ratings
GET /api/v1/models/{id}/rating Get rating stats for a model
- Auth Required:
PUBLIC
Search
GET /api/v1/search
DELETE /search/history - Clear user's search history
- Auth Required:
PUBLIC
SecurityQuestions
GET /api/v1/securityquestions
Reset password using security question token POST /api/v1/auth/reset-password-with-token
- Auth Required:
PUBLIC
Settings
GET /api/v1/settings
Get video player settings GET /api/v1/settings/player
- Auth Required:
PUBLIC
PUT /api/v1/settings
Get all public settings (cached) This is the main method that builds the settings array / private function getPublicSettings(): array { global $conn;
- Auth Required:
PUBLIC
Sponsors
GET /api/v1/sponsors
Track sponsor click POST /api/v1/sponsors/{id}/click
- Auth Required:
PUBLIC
Styles
GET /api/v1/styles
Bulk save multiple styles at once POST /api/v1/styles/bulk
- Auth Required:
PUBLIC
DELETE /api/v1/styles
Delete a specific style override DELETE /api/v1/styles/{id}
- Auth Required:
PUBLIC - Parameters:
id(int): Style ID
Subscriptions
GET /api/v1/subscriptions
Upgrade subscription POST /api/v1/subscriptions/upgrade
- Auth Required:
PUBLIC
Tags
GET /api/v1/tags
Parse tag string and return tag IDs (creates tags if they don't exist) POST /api/v1/tags/parse
- Auth Required:
PUBLIC
POST /api/v1/tags
Create new tag (admin only) POST /api/v1/tags
- Auth Required:
PUBLIC
PUT /api/v1/tags
Update tag (admin only) PUT /api/v1/tags/{id}
- Auth Required:
PUBLIC - Parameters:
id(int): Tag ID
DELETE /api/v1/tags
Delete tag (admin only) DELETE /api/v1/tags/{id}
- Auth Required:
PUBLIC - Parameters:
id(int): Tag ID
Tips
GET /api/v1/tips
POST /api/v1/tips/{tipid}/refund Refund a tip (creator only) - Option 2: Proportional Loss User gets 100% back, creator loses their portion (80%), platform absorbs their portion (20%)
- Auth Required:
PUBLIC
UserPreferences
GET /api/v1/userpreferences
GET /user/preferences Get all user preferences (privacy, stream, email)
- Auth Required:
PUBLIC
PUT /api/v1/userpreferences
PUT /user/preferences/email Update user's email preferences
- Auth Required:
PUBLIC
Users
GET /api/v1/users
Get trusted devices for current user GET /api/v1/user/trusted-devices
- Auth Required:
PUBLIC
PUT /api/v1/users
Update profile privacy settings PUT /api/v1/users/me/privacy
- Auth Required:
PUBLIC
DELETE /api/v1/users
Remove a trusted device DELETE /api/v1/user/trusted-devices/{id}
- Auth Required:
PUBLIC
UserVerification
GET /api/v1/userverification
GET /admin/verification/stats Get verification statistics (admin only)
- Auth Required:
PUBLIC
PUT /api/v1/userverification
PUT /admin/verification/{userId}/status Update verification status (admin only)
- Auth Required:
PUBLIC
DELETE /api/v1/userverification
DELETE /user/verification/documents/{documentId} Delete a verification document
- Auth Required:
PUBLIC
VideoReports
GET /api/v1/videoreports
GET /video-reports/reasons - Get list of valid report reasons
- Auth Required:
PUBLIC
Videos
GET /api/v1/videos
Generate URL-friendly slug from title
- Auth Required:
PUBLIC - Parameters:
title(string):- Returns: string -
POST /api/v1/videos
POST /videos/{id}/tags - Add tag to video
- Auth Required:
PUBLIC
PUT /api/v1/videos
PATCH /videos/{id}/status - Update video status (admin only)
- Auth Required:
PUBLIC
DELETE /api/v1/videos
DELETE /videos/{id} - Delete video (owner or admin)
- Auth Required:
PUBLIC
WatchHistory
GET /api/v1/watchhistory
POST /content/{type}/{id}/track Track viewing of any content type (camperformer, gallery, model) Body: optional { "watchedduration": 1, "totalduration": 1 }
- Auth Required:
PUBLIC
PUT /api/v1/watchhistory
POST /videos/{id}/progress Update video watch progress Body: { "watchedduration": 120, "totalduration": 600, "lastposition": 120 }
- Auth Required:
PUBLIC
DELETE /api/v1/watchhistory
DELETE /history/{id} Remove specific history entry
- Auth Required:
PUBLIC
Webcam
GET /api/v1/webcam
GET /cams/{id}/schedule - Get performer's schedule/heatmap data
- Auth Required:
PUBLIC - Parameters:
performerId(int): Performer ID from tblCamsPerformers- Returns: array - Schedule data with metadata
Webhooks
GET /api/v1/webhooks
GET /api/v1/webhooks/status Get cloud encoding status (requires admin auth)
- Auth Required:
PUBLIC
Withdrawals
GET /api/v1/withdrawals
GET /api/v1/creator/withdrawals/my-requests Get withdrawal history for current user
- Auth Required:
PUBLIC