The Only API docs
Stories

Create a new story

Post a new story. Stories expire after 24 hours.

POST
/api2/v2/users/me/stories

Post a new story. Stories expire after 24 hours.

Attaching media: POST /accounts/{of_user_id}/media (raw bytes or a source_url we fetch for you) returns a media object — pass it through here. Media already in the vault is referenced by its integer ID from GET /api2/v2/vault/media.

OnlyFans only. Requests made with a user-id belonging to a Fansly account are rejected — use the platform-neutral CRM data routes (/notifications, /balances, /chats, /purchases, /subscribers/cached, ...) which are Fansly-aware.

Guide: The two surfaces

X-API-Key<token>

Your CRM panel API key

In: header

Header Parameters

user-id*string

Creator account ID of the account to act as (e.g. 509955039). Required — omitting it returns 400 user-id header is required. Use GET /accounts to list your connected accounts. On /api2/v2/* the account must be an OnlyFans account; Fansly accounts are rejected there.

X-Proxy?string

Proxy URL — HTTP or SOCKS5 (e.g. http://user:pass@host:port or socks5://user:pass@host:port). Optional on post-connection routes, where it overrides the proxy saved at login time. Required on the connection routes (POST /accounts/login, POST /accounts/login/cookies, POST /accounts/login/verify-otp) for OnlyFans accounts; optional for Fansly.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api2/v2/users/me/stories" \  -H "user-id: 509955039" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": 0,  "userId": 0,  "createdAt": "2019-08-24T14:15:22Z",  "expiredAt": "2019-08-24T14:15:22Z",  "isReady": true,  "isWatched": true,  "media": [    {      "id": 0,      "type": "photo",      "createdAt": "2019-08-24T14:15:22Z",      "duration": 0,      "convertedToVideo": true,      "canView": true,      "isReady": true,      "hasError": true,      "hasPosts": true,      "hasCustomPreview": true,      "counters": {        "buyersCount": 0,        "likesCount": 0,        "tipsSumm": 0      },      "listStates": [        {          "id": 0,          "name": "string",          "hasMedia": true,          "canAddMedia": true        }      ],      "files": {        "full": {          "url": "string",          "width": 0,          "height": 0,          "size": 0        },        "preview": {          "url": "string",          "width": 0,          "height": 0        },        "thumb": {          "url": "string",          "width": 0,          "height": 0        },        "squarePreview": {          "url": "string",          "width": 0,          "height": 0        }      },      "videoSources": {        "property1": "string",        "property2": "string"      }    }  ],  "question": "string"}