ComusThumbz Documentation
Admin Login

рдПрдкреАрдЖрдИ

Comusthumbz REST рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди

рдкреНрд░рд╢рд╛рд╕рди

GET /api/v1/adminmoderation

рдереЛрдХ рдХреЛ рдордВрдЬреВрд░реА рджреА POST /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдореЙрдбрд░реЗрд╢рди / рдмрд▓реНрдХ / рд╕реНрд╡реАрдХреГрддрд┐

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/adminmoderation

рд╕рд╛рдордЧреНрд░реА рд╣рдЯрд╛рдПрдВ (DMCA takedown) DELETE /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдореЙрдбрд░реЗрд╢рди / {type} / {id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ

GET /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓реЙрдЧ GET /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ /{id} / рдЧрддрд┐рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ

рдЕрджреНрдпрддрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ PUT /api / v1 / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ /{id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рд╡рд┐рдЬреНрдЮрд╛рдкрди

GET /api/v1/ads

рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЖрдВрдХрдбрд╝реЗ (Admin) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api/v1/admin/ads/{id}/stats

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рд╡рд┐рд╢реНрд▓реЗрд╖рдг

GET /api/v1/analytics

рдпрд╛рддрд╛рдпрд╛рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET / рдПрдкреАрдЖрдИ / v1 / рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ / рдЯреНрд░реИрдлрд┐рдХрд┐рдХ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

Auth

GET /api/v1/auth

2FA DELETE /api / v1 /auth / 2fa рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдмреИрдирд░

GET /api/v1/banners

рдмреИрдирд░ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api/v1/banners/{id}/stats

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • bannerId (int): рдмреИрдирд░ рдЖрдИрдбреА

рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ

GET /api/v1/categories

рд╢реНрд░реЗрдгреА рдореЗрдВ рдЧреИрд▓рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api/v1/categories/{id}/galleries

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • id (int): рд╢реНрд░реЗрдгреА ID

POST /api/v1/categories

рдирдИ рд╢реНрд░реЗрдгреА рдмрдирд╛рдПрдБ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) POST /api/v1/categories

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/categories

рдЕрджреНрдпрддрди рд╢реНрд░реЗрдгреА (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) PUT /api / v1 / category /{id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • id (int): рд╢реНрд░реЗрдгреА ID

DELETE /api/v1/categories

рдбрд┐рд▓реАрдЯ рд╢реНрд░реЗрдгреА (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) DELETE /api / v1/categories/{id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • id (int): рд╢реНрд░реЗрдгреА ID

рдХреНрд▓рд┐рдХрдЯреНрд░реИрдХрд┐рдВрдЧ

GET /api/v1/clicktracking

GET/api/v1/stats/clicks/user/{userId} рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдХреНрд▓рд┐рдХ рдЗрддрд┐рд╣рд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GET /api/v1/comment

GET/api/v1/comments/flagged рд╕рднреА рдЭрдВрдбрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

POST /api/v1/comment

POST/api/v1/cams/{site}/{performer}/comments рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ to a рд╡реЗрдмрдХреИрдо рдХрд▓рд╛рдХрд╛рд░

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/comment

PUT/api/v1/comments/{id}/status рдЕрджреНрдпрддрди рдЯрд┐рдкреНрдкрдгреА рд╕реНрдерд┐рддрд┐ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/comment

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

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдирд┐рд░реНрдорд╛рддрд╛

GET /api/v1/creatorearnings

GET/creator/earnings/platform-settings - рдордВрдЪ рд╢реБрд▓реНрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдордВрдЪ рд╢реБрд▓реНрдХ рдФрд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдХрд╕реНрдЯрдо рд╢реБрд▓реНрдХ рдЕрдЧрд░ рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рдУ рдпрд╣ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреНрд░рджрд░реНрд╢рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ (рдХреЛрдИ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ) рд╣реИ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдирд┐рд░реНрдорд╛рддрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓

GET /api/v1/creatorprofiles

рдирд┐рд░реНрдорд╛рддрд╛рдкреНрд░реЛрдлрд╛рдЗрд▓реНрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ - рдирд┐рд░реНрдорд╛рддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрди

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

POST /api/v1/creatorprofiles

POST/creator/profile

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/creatorprofiles

PATCH/creator/profile/me - рдЕрджреНрдпрддрди рдкреНрд░рдорд╛рдгрд┐рдд рдирд┐рд░реНрдорд╛рддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдирд┐рд░реНрдорд╛рддрд╛

GET /api/v1/creator

POST/api/v1/creators/me/cover рдЕрдкрд▓реЛрдб рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╡рд░ рдЫрд╡рд┐

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/creator

PUT/api/v1/creators/me рдЕрджреНрдпрддрди рдирд┐рд░реНрдорд╛рддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдирд┐рд░реНрдорд╛рддрд╛ рд╕рджрд╕реНрдпрддрд╛

GET /api/v1/creatorsubscriptions

DELETE/creators/{id}/package/{packageId} - рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдХрдорд╛рдИ

GET /api/v1/earnings

GET/api/v1/creator/earnings/by-source рд╕реНрд░реЛрдд (рдЯрд┐рдкреНрд╕, рд╕рджрд╕реНрдпрддрд╛, рдкреАрдкреАрд╡реА) рджреНрд╡рд╛рд░рд╛ рдХрдорд╛рдИ рдХрд╛ рдмреНрд░реЗрдХрдбрд╛рдЙрди рд╢рд╛рдорд┐рд▓ рд╣реИ рдЧрд┐рдирддреА рдФрд░ рдХреБрд▓

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдкрд╕рдВрджреАрджрд╛

GET /api/v1/favorite

GET/favorite/counts рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдЧрд┐рдирддреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

POST /api/v1/favorite

POST/favorite рдкрд╕рдВрджреАрджрд╛ рдмреЙрдбреА рдореЗрдВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ: {"contentрдкреНрд░рдХрд╛рд░: "рд╡реАрдбрд┐рдпреЛ"рдХрд▓рд╛рдХрд╛рд░рдЖрдИрдбреА "123", "рдиреЛрдЯ": "рд╡реИрдХрд▓реНрдкрд┐рдХ" }

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/favorite

DELETE/favorite/{type}/{id} рдкрд╕рдВрджреАрджрд╛ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рд╕реБрд╡рд┐рдзрд╛рдПрдБ

GET /api/v1/features

рд╕рдХреНрд╖рдо рдХреИрдо рд╕рд╛рдЗрдЯреЛрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api / v1 / рдлреАрдЪрд░реНрд╕ / рдХреИрдо

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдлрд╝реАрдб

GET /api / v1 / рдлрд╝реАрдб

рдЯреНрд░реЗрдВрдбрд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api / v1 / рдлрд╝реАрдб / рдЯреНрд░реЗрдВрдбрд┐рдВрдЧ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рджреЛрд╕реНрдд

GET /api/v1/friends

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

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • id (int): Friendship ID

POST /api/v1/friends

рджреЛрд╕реНрдд рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ POST/api/v1/friends

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/friends

рджреЛрд╕реНрдд DELETE /api / v1 / рджреЛрд╕реНрдд /{id} рдирд┐рдХрд╛рд▓реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • id (int): Friendship ID

рдЧреИрд▓рд░реА

GET /api/v1/galleries

GET/galleries/{id}/рд╕рдВрдмрдВрдзрд┐рдд - рд╕рдВрдмрдВрдзрд┐рдд рдЧреИрд▓рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

POST /api/v1/galleries

POST/galleries - рдЧреИрд▓рд░реА рдмрдирд╛рдПрдБ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/galleries

PATCH/galleries/{id}/status - рдЕрджреНрдпрддрди рдЧреИрд▓рд░реА рд╕реНрдерд┐рддрд┐ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/galleries

DELETE /galleries/{id} - рдбрд┐рд▓реАрдЯ рдЧреИрд▓рд░реА (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

ImpressionTracking

GET /api/v1/impressiontracking

GET/api/v1/impressions/trends/{type} рд╕рдордп рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рд░реБрдЭрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

LiveStream

GET /api/v1/livestream

GET/api/v1/live/{id}/per-min/status рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐ рдорд┐рдирдЯ рд╕рддреНрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдореАрдбрд┐рдпрд╛

GET /api/v1/рдореАрдбрд┐рдпрд╛

рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реЗрдЬ рдпреВрдЖрд░рдПрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC
  • рдкреИрд░рд╛рдореАрдЯрд░:
  • videoId (int): Video ID
  • fileType (string): рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ (thumbnail, рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди, рдкреЛрд╕реНрдЯрд░, рд╡реАрдбрд┐рдпреЛ, hls, рдЖрджрд┐)
  • рд░рд┐рдЯрд░реНрди: void - (Returns download URL or error)

рд╕рдВрджреЗрд╢

GET /api / v1 / рд╕рдВрджреЗрд╢

рдЕрд╡рд░реБрджреНрдз рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api / v1 / рд╕рдВрджреЗрд╢ / рдЕрд╡рд░реБрджреНрдз

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api / v1 / рд╕рдВрджреЗрд╢

рдПрдХ рд╕рдВрджреЗрд╢ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ DELETE /api / v1 / рд╕рдВрджреЗрд╢ /{id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдореЙрдбрд▓

GET /api / v1 / рдореЙрдбрд▓

GET/api/v1/models/{id}/details рдПрдХреАрдХреГрдд рдореЙрдбрд▓ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ Query params: - рдЯрд╛рдЗрдк рдХрд░реЗрдВ: рд░реЗрдЧреБрд▓рд░рдореЙрдбрд▓ (рдЖрд╡рд╢реНрдпрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

POST /api / v1 / рдореЙрдбрд▓

POST/api/v1/models рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рдПрдБ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api / v1 / рдореЙрдбрд▓

PUT/api/v1/modelрдХрдХреНрд╖рд╛рдПрдВ/{id}/status рдЕрджреНрдпрддрди рдореЙрдбрд▓ рд╕реНрдерд┐рддрд┐ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api / v1 / рдореЙрдбрд▓

DELETE /api / v1 / рдореЙрдбрд▓рдХрдХреНрд╖рд╛рдПрдВ/{id} рдореЙрдбрд▓ рд╣рдЯрд╛рдПрдВ (рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ)

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдЕрдзрд┐рд╕реВрдЪрдирд╛рдПрдВ

GET /api/v1/notifications

рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд░реАрдпрддрд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ GET /api / v1 / рдЕрдзрд┐рд╕реВрдЪрдирд╛ / рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

PUT /api/v1/notifications

рдЕрджреНрдпрддрди рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдкреБрдЯреА / рдПрдкреАрдЖрдИ / рд╡реА 1 / рдЕрдзрд┐рд╕реВрдЪрдирд╛ / рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

DELETE /api/v1/notifications

рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╣рдЯрд╛рдПрдБ (рд╕реЙрдлреНрдЯ рдбрд┐рд▓реАрдЯ) DELETE /api/v1/notifications/{id}

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдЦрд┐рд▓рд╛рдбрд╝реА

GET /api/v1/player

рдкреНрд▓реЗрдпрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИрдВрдбрд▓ рд╡реАрдбрд┐рдпреЛ рдкреНрд▓реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

  • рдЖрд╡рд╢реНрдпрдХрддрд╛: PUBLIC

рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ

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