API
Documentación de la API de ComusThumbz REST
AdminModeration
GET /api/v1/adminmoderation
Bulk aprueba POST /api/v1/admin/moderation/bulk/approve
- Se requiere Auth:
PUBLIC
DELETE /api/v1/adminmoderation
Suprímase el contenido (retirada de DMCA) DELETE /api/v1/admin/moderation/{type}/{id}
- Se requiere Auth:
PUBLIC
AdminUsers
GET /api/v1/adminusers
Obtener registro de actividad de usuario GET /api/v1/admin/users/{id}/actividad
- Se requiere Auth:
PUBLIC
PUT /api/v1/adminusers
Actualizar usuario PUT /api/v1/admin/users/{id}
- Se requiere Auth:
PUBLIC
Anuncios
GET /api/v1/ads
Obtener estadísticas de anuncios (Admin) GET /api/v1/admin/ads/{id}/stats
- Se requiere Auth:
PUBLIC
Análisis
GET /api/v1/analítica
Obtenga análisis de tráfico GET /api/v1/analytics/traffic
- Se requiere Auth:
PUBLIC
Auth
GET /api/v1/auth
Desactivación 2FA DELETE /api/v1/auth/2fa
- Se requiere Auth:
PUBLIC
Banners
GET /api/v1/banners
Obtener estadísticas de banners GET /api/v1/banners/{id}/stats
- Se requiere Auth:
PUBLIC - Parámetros:
bannerId(int): Banner ID
Categorías
GET /api/v1/categorías
Obtener galerías en la categoría GET /api/v1/categorías/{id}/galleries
- Se requiere Auth:
PUBLIC - Parámetros:
id(int): Categoría ID
POST /api/v1/categorías
Crear nueva categoría (sólo admin) POST /api/v1/categorías
- Se requiere Auth:
PUBLIC
PUT /api/v1/categorías
Categoría de actualización (sólo minas) PUT /api/v1/categorías/{id}
- Se requiere Auth:
PUBLIC - Parámetros:
id(int): Categoría ID
DELETE /api/v1/categorías
Suprímase la categoría (sólo la memoria) DELETE /api/v1/categorías/{id}
- Se requiere Auth:
PUBLIC - Parámetros:
id(int): Categoría ID
ClickTracking
GET /api/v1/clicktracking
GET /api/v1/stats/clicks/user/{userId} Obtener la historia del clic del usuario (El usuario debe ser autenticado)
- Se requiere Auth:
PUBLIC
Comentarios
GET /api/v1/comments
GET /api/v1/comments/flagged Obtenga todos los comentarios marcados (sólo memoria)
- Se requiere Auth:
PUBLIC
POST /api/v1/comments
POST /api/v1/cams/{site}/{performer}/comments Añadir un comentario a un intérprete de webcam
- Se requiere Auth:
PUBLIC
PUT /api/v1/comments
PUT /api/v1/comments/{id}/status Actualizar el estado de los comentarios (sólo administrador)
- Se requiere Auth:
PUBLIC
DELETE /api/v1/comments
DELETE /api/v1/comments/{id}/like Remove like/dislike from a comment
- Se requiere Auth:
PUBLIC
CreadorAprendizajes
GET /api/v1/creatorearnings
GET /creator/earnings/platform-settings - Obtener opciones de tarifas de la plataforma Devoluciones cuota global de la plataforma y cuota personalizada del creador si es aplicable Este endpoint es PUBLIC (no se requiere auth) para fines de visualización
- Se requiere Auth:
PUBLIC
CreatorProfiles
GET /api/v1/creatorprofiles
CreatorProfilesController - Gestión del perfil del Creador
- Se requiere Auth:
PUBLIC
POST /api/v1/creatorprofiles
POST /creador/profile - Crear nuevo perfil creador
- Se requiere Auth:
PUBLIC
PUT /api/v1/creatorprofiles
PATCH /creator/profile/me - Actualizar el perfil del creador autenticado
- Se requiere Auth:
PUBLIC
Creadores
GET /api/v1/creadores
POST /api/v1/creadores/me/cover Upload Creator cover image
- Se requiere Auth:
PUBLIC
PUT /api/v1/creadores
PUT /api/v1/creadores/me Actualizar configuración de perfil creador
- Se requiere Auth:
PUBLIC
Suscripciones de Creador
GET /api/v1/creatorsubscriptions
DELETE /creadores/{id}/packages/{package- El Creador desactiva un paquete
- Se requiere Auth:
PUBLIC
Ganancias
GET /api/v1/earnings
GET /api/v1/creator/earnings/by-source Obtenga el desglose de ingresos por fuente (tips, suscripciones, PPV) Incluye conteos y totales
- Se requiere Auth:
PUBLIC
Favoritos
GET /api/v1/favorites
GET /favorites/counts Obtener los favoritos del usuario cuenta por tipo
- Se requiere Auth:
PUBLIC
POST /api/v1/favorites
POST /favorites Agregar artículo a los favoritos Cuerpo: { "contenidotipo: "video sometidagallery habitcamperformer habitmodel", "contentid": "123", "notas": "opcional" }
- Se requiere Auth:
PUBLIC
DELETE /api/v1/favorites
DELETE /favorites/{type}/{id} Eliminar de los favoritos
- Se requiere Auth:
PUBLIC
Características
GET /api/v1/features
Obtener sitios de cámara activados GET /api/v1/features/cams
- Se requiere Auth:
PUBLIC
Feed
GET /api/v1/feed
Obtener contenido de tendencia GET /api/v1/feed/trending
- Se requiere Auth:
PUBLIC
Amigos
GET /api/v1/friends
Rechazar amigo petición PUT /api/v1/friends/{id}/reject
- Se requiere Auth:
PUBLIC - Parámetros:
id(int): ID de amistad
POST /api/v1/friends
Enviar solicitud de amigo POST /api/v1/friends
- Se requiere Auth:
PUBLIC
DELETE /api/v1/friends
Quitar amigo DELETE /api/v1/friends/{id}
- Se requiere Auth:
PUBLIC - Parámetros:
id(int): ID de amistad
Galerías
GET /api/v1/galleries
GET /galleries/{id}/related - Galerías relacionadas
- Se requiere Auth:
PUBLIC
POST /api/v1/galleries
POST /galleries - Create gallery (admin only)
- Se requiere Auth:
PUBLIC
PUT /api/v1/galleries
PATCH /galleries/{id}/status - Actualización del estado de la galería (sólo personal)
- Se requiere Auth:
PUBLIC
DELETE /api/v1/galleries
DELETE /galleries/{id} - Borrar la galería (sólo min)
- Se requiere Auth:
PUBLIC
ImpresiónTracking
GET /api/v1/impresiontracking
GET /api/v1/impresiones/trends/{type} Obtenga tendencias de rendimiento con el tiempo
- Se requiere Auth:
PUBLIC
LiveStream
GET /api/v1/livestream
Obtener /api/v1/live/{id}/por minuto/status Obtenga el estado actual de la sesión por minuto
- Se requiere Auth:
PUBLIC
Media
GET /api/v1/media
Obtener URL de almacenamiento para un archivo de vídeo específico
- Se requiere Auth:
PUBLIC - Parámetros:
videoId(int): ID de vídeofileType(estring): Tipo de archivo (thumbnail, vista previa, póster, vídeo, hls, etc.)- Devoluciones: vacío - (retornos descarga URL o error)
Mensajes
GET /api/v1/messages
Obtener lista de usuarios bloqueados GET /api/v1/messages/blocked
- Se requiere Auth:
PUBLIC
DELETE /api/v1/messages
Eliminar un mensaje DELETE /api/v1/messages/{id}
- Se requiere Auth:
PUBLIC
Modelos
GET /api/v1/models
Obtener /api/v1/models/{id}/details Obtener detalles de modelo unificados Query params: - tipo: regularmodelo (requerido)
- Se requiere Auth:
PUBLIC
POST /api/v1/models
POST /api/v1/models Crear un nuevo modelo (sólo admin)
- Se requiere Auth:
PUBLIC
PUT /api/v1/models
PUT /api/v1/modelClases/{id}/status Estado del modelo de actualización (sólo personal)
- Se requiere Auth:
PUBLIC
DELETE /api/v1/models
DELETE /api/v1/modelClases/ Suprímase el modelo (sólo la memoria)
- Se requiere Auth:
PUBLIC
Notificaciones
GET /api/v1/notificaciones
Obtener preferencias de notificación GET /api/v1/notifications/preferencias
- Se requiere Auth:
PUBLIC
PUT /api/v1/notificaciones
Actualizar las preferencias de notificación PUT /api/v1/notificaciones/preferencias
- Se requiere Auth:
PUBLIC
DELETE /api/v1/notificaciones
Eliminar la notificación (supresión suave) DELETE /api/v1/notifications/{id}
- Se requiere Auth:
PUBLIC
Player
GET /api/v1/player
Controlador del reproductor Maneja configuración y configuración del reproductor de vídeo
- Se requiere Auth:
PUBLIC
Lista
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