Documentación de ComusThumbz
Iniciar Sesión

API

ComusThumbz REST API Documentation

 

AdminModeration

GET /api/v1/adminmoderation

Bulk approve POST /api/v1/admin/moderation/bulk/approve

  • Auth Required: PUBLIC

DELETE /api/v1/adminmoderation

Delete content (DMCA takedown) DELETE /api/v1/admin/moderation/{type}/{id}

  • Auth Required: PUBLIC

AdminUsers

GET /api/v1/adminusers

Get user activity log GET /api/v1/admin/users/{id}/activity

  • Auth Required: PUBLIC

PUT /api/v1/adminusers

Update user PUT /api/v1/admin/users/{id}

  • Auth Required: PUBLIC

Ads

GET /api/v1/ads

Get ad statistics (Admin) GET /api/v1/admin/ads/{id}/stats

  • Auth Required: PUBLIC

Analytics

GET /api/v1/analytics

Get traffic analytics GET /api/v1/analytics/traffic

  • Auth Required: PUBLIC

Auth

GET /api/v1/auth

Disable 2FA DELETE /api/v1/auth/2fa

  • Auth Required: PUBLIC

Banners

GET /api/v1/banners

Get banner statistics GET /api/v1/banners/{id}/stats

  • Auth Required: PUBLIC
  • Parameters:
  • bannerId (int): Banner ID

Categories

GET /api/v1/categories

Get galleries in category GET /api/v1/categories/{id}/galleries

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Category ID

POST /api/v1/categories

Create new category (admin only) POST /api/v1/categories

  • Auth Required: PUBLIC

PUT /api/v1/categories

Update category (admin only) PUT /api/v1/categories/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Category ID

DELETE /api/v1/categories

Delete category (admin only) DELETE /api/v1/categories/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Category ID

ClickTracking

GET /api/v1/clicktracking

GET /api/v1/stats/clicks/user/{userId} Get user's click history (User must be authenticated)

  • Auth Required: PUBLIC

Comments

GET /api/v1/comments

GET /api/v1/comments/flagged Get all flagged comments (admin only)

  • Auth Required: PUBLIC

POST /api/v1/comments

POST /api/v1/cams/{site}/{performer}/comments Add a comment to a webcam performer

  • Auth Required: PUBLIC

PUT /api/v1/comments

PUT /api/v1/comments/{id}/status Update comment status (admin only)

  • Auth Required: PUBLIC

DELETE /api/v1/comments

DELETE /api/v1/comments/{id}/like Remove like/dislike from a comment

  • Auth Required: PUBLIC

CreatorEarnings

GET /api/v1/creatorearnings

GET /creator/earnings/platform-settings - Get platform fee settings Returns global platform fee and creator's custom fee if applicable This endpoint is PUBLIC (no auth required) for display purposes

  • Auth Required: PUBLIC

CreatorProfiles

GET /api/v1/creatorprofiles

CreatorProfilesController - Creator profile management

  • Auth Required: PUBLIC

POST /api/v1/creatorprofiles

POST /creator/profile - Create new creator profile

  • Auth Required: PUBLIC

PUT /api/v1/creatorprofiles

PATCH /creator/profile/me - Update authenticated creator's profile

  • Auth Required: PUBLIC

Creators

GET /api/v1/creators

POST /api/v1/creators/me/cover Upload creator cover image

  • Auth Required: PUBLIC

PUT /api/v1/creators

PUT /api/v1/creators/me Update creator profile settings

  • Auth Required: PUBLIC

CreatorSubscriptions

GET /api/v1/creatorsubscriptions

DELETE /creators/{id}/packages/{packageid} - Creator disables a package

  • Auth Required: PUBLIC

Earnings

GET /api/v1/earnings

GET /api/v1/creator/earnings/by-source Get earnings breakdown by source (tips, subscriptions, PPV) Includes counts and totals

  • Auth Required: PUBLIC

Favorites

GET /api/v1/favorites

GET /favorites/counts Get user's favorites counts by type

  • Auth Required: PUBLIC

POST /api/v1/favorites

POST /favorites Add item to favorites Body: { "contenttype": "video|gallery|camperformer|model", "contentid": "123", "notes": "optional" }

  • Auth Required: PUBLIC

DELETE /api/v1/favorites

DELETE /favorites/{type}/{id} Remove from favorites

  • Auth Required: PUBLIC

Features

GET /api/v1/features

Get enabled cam sites GET /api/v1/features/cams

  • Auth Required: PUBLIC

Feed

GET /api/v1/feed

Get trending content GET /api/v1/feed/trending

  • Auth Required: PUBLIC

Friends

GET /api/v1/friends

Reject friend request PUT /api/v1/friends/{id}/reject

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Friendship ID

POST /api/v1/friends

Send friend request POST /api/v1/friends

  • Auth Required: PUBLIC

DELETE /api/v1/friends

Remove friend DELETE /api/v1/friends/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Friendship ID

Galleries

GET /api/v1/galleries

GET /galleries/{id}/related - Get related galleries

  • Auth Required: PUBLIC

POST /api/v1/galleries

POST /galleries - Create gallery (admin only)

  • Auth Required: PUBLIC

PUT /api/v1/galleries

PATCH /galleries/{id}/status - Update gallery status (admin only)

  • Auth Required: PUBLIC

DELETE /api/v1/galleries

DELETE /galleries/{id} - Delete gallery (admin only)

  • Auth Required: PUBLIC

ImpressionTracking

GET /api/v1/impressiontracking

GET /api/v1/impressions/trends/{type} Get performance trends over time

  • Auth Required: PUBLIC

LiveStream

GET /api/v1/livestream

GET /api/v1/live/{id}/per-minute/status Get current per-minute session status

  • Auth Required: PUBLIC

Media

GET /api/v1/media

Get storage URL for a specific video file

  • Auth Required: PUBLIC
  • Parameters:
  • videoId (int): Video ID
  • fileType (string): File type (thumbnail, preview, poster, video, hls, etc.)
  • Returns: void - (returns download URL or error)

Messages

GET /api/v1/messages

Get list of blocked users GET /api/v1/messages/blocked

  • Auth Required: PUBLIC

DELETE /api/v1/messages

Delete a message DELETE /api/v1/messages/{id}

  • Auth Required: PUBLIC

Models

GET /api/v1/models

GET /api/v1/models/{id}/details Get unified model details Query params: - type: regular|cammodel (required)

  • Auth Required: PUBLIC

POST /api/v1/models

POST /api/v1/models Create new model (admin only)

  • Auth Required: PUBLIC

PUT /api/v1/models

PUT /api/v1/modelclasses/{id}/status Update model status (admin only)

  • Auth Required: PUBLIC

DELETE /api/v1/models

DELETE /api/v1/modelclasses/{id} Delete model (admin only)

  • Auth Required: PUBLIC

Notifications

GET /api/v1/notifications

Get notification preferences GET /api/v1/notifications/preferences

  • Auth Required: PUBLIC

PUT /api/v1/notifications

Update notification preferences PUT /api/v1/notifications/preferences

  • Auth Required: PUBLIC

DELETE /api/v1/notifications

Delete notification (soft delete) DELETE /api/v1/notifications/{id}

  • Auth Required: PUBLIC

Player

GET /api/v1/player

Player Controller Handles video player configuration and settings

  • Auth Required: PUBLIC

Playlists

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

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