рдПрдкреАрдЖрдИ
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 IDfileType(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
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