Skip to main content
POST
/
api
/
sessions
curl -X POST "https://app.joip.io/api/sessions" \
  -H "Content-Type: application/json" \
  -H "Cookie: connect.sid=YOUR_SESSION_COOKIE" \
  -d '{
    "title": "My JOI Session",
    "subreddits": "joi,femdom",
    "intervalMin": 5,
    "intervalMax": 15,
    "transition": "fade",
    "captionTheme": "joi",
    "isPublic": false,
    "isFavorite": true
  }'
{
  "id": 456,
  "title": "My JOI Session",
  "userId": "user_abc123",
  "subreddits": ["joi", "femdom"],
  "categoryId": 1,
  "categorySource": "default",
  "intervalMin": 5,
  "intervalMax": 15,
  "transition": "fade",
  "thumbnail": "https://i.redd.it/auto-generated.jpg",
  "aiPrompt": null,
  "captionTheme": "joi",
  "isPublic": false,
  "shareToCommunity": false,
  "isFavorite": true,
  "isManualMode": false,
  "isImported": false,
  "createdAt": "2025-03-02T11:00:00Z",
  "updatedAt": "2025-03-02T11:00:00Z"
}

Authentication

This endpoint requires authentication and credits. Sessions creation requires the session_create feature credit.

Request Body

title
string
required
Session title (minimum 1 character)
subreddits
string
required
Comma-separated list of subreddit names (e.g., “joi,femdom,gonewild”)
categoryId
integer
Category ID to assign to this session
intervalMin
integer
default:3
Minimum slide interval in seconds (1-60)
intervalMax
integer
default:10
Maximum slide interval in seconds (1-60)
transition
string
default:"fade"
Transition effect: “fade”, “slide”, “zoom”, “flip”, or “none”
aiPrompt
string
Custom AI prompt for caption generation
captionTheme
string
Caption theme: “joi”, “forced-bi”, “beta”, “cbt”, “cuckold”, or “custom”
thumbnail
string
Custom thumbnail URL. If not provided, auto-generated from subreddits
isPublic
boolean
default:false
Whether the session is publicly accessible
shareToCommunity
boolean
default:false
Whether to share session to the community feed
isFavorite
boolean
default:false
Whether to mark as favorite
isManualMode
boolean
default:false
Whether to disable auto-advance in the player

Response

Returns the created session object with an automatically assigned ID.
id
integer
Unique session identifier
title
string
Session title
userId
string
Owner’s user ID
subreddits
array
Normalized array of subreddit names
categoryId
integer
Assigned category ID
categorySource
string
“manual” if explicitly set, “default” if auto-assigned
thumbnail
string
URL to auto-generated or custom thumbnail
createdAt
timestamp
Session creation timestamp
curl -X POST "https://app.joip.io/api/sessions" \
  -H "Content-Type: application/json" \
  -H "Cookie: connect.sid=YOUR_SESSION_COOKIE" \
  -d '{
    "title": "My JOI Session",
    "subreddits": "joi,femdom",
    "intervalMin": 5,
    "intervalMax": 15,
    "transition": "fade",
    "captionTheme": "joi",
    "isPublic": false,
    "isFavorite": true
  }'
{
  "id": 456,
  "title": "My JOI Session",
  "userId": "user_abc123",
  "subreddits": ["joi", "femdom"],
  "categoryId": 1,
  "categorySource": "default",
  "intervalMin": 5,
  "intervalMax": 15,
  "transition": "fade",
  "thumbnail": "https://i.redd.it/auto-generated.jpg",
  "aiPrompt": null,
  "captionTheme": "joi",
  "isPublic": false,
  "shareToCommunity": false,
  "isFavorite": true,
  "isManualMode": false,
  "isImported": false,
  "createdAt": "2025-03-02T11:00:00Z",
  "updatedAt": "2025-03-02T11:00:00Z"
}

Notes

  • The server automatically pre-populates the session with up to 25 media items in the background
  • Subreddits are normalized (lowercased, r/ prefix removed)
  • If categoryId is not provided, the session is assigned to the “Uncategorized” category
  • Credits are deducted after successful creation
  • Activity is tracked for analytics

Build docs developers (and LLMs) love