Skip to main content
Managed endpoints provide a typed interface for common OnlyFans operations. Unlike proxy endpoints, these routes validate input parameters, normalize responses, and handle common logic like pagination. Request signing, proxy routing, and session management are handled automatically.

Authentication

All managed endpoints require:
apikey: YOUR_API_KEY
x-connection-id: conn_abc123

Self Endpoints

Get and update the authenticated user’s profile.

Get Current User

GET /v2/access/self
Required Permission: profile:read Response
{
  "id": 123456789,
  "username": "janedoe",
  "name": "Jane Doe",
  "isAuth": true,
  "isVerified": true,
  "avatar": "https://media.ofauth.com/...",
  "subscribersCount": 1500,
  "postsCount": 245,
  "photosCount": 180,
  "videosCount": 65
}

Update Profile

PATCH /v2/access/self
Required Permission: profile:write Request Body
FieldTypeDescription
namestringDisplay name
aboutstringBio/about text

User Endpoints

Interact with user profiles and lists.

Get User

Retrieve public profile information for a specific user.
GET /v2/access/users/{userId}
Parameters
NameInTypeDescription
userIdpathstringThe OnlyFans user ID or username
Response
{
  "id": 123456789,
  "username": "fanname",
  "name": "Fan Name",
  "avatar": "https://media.ofauth.com/...",
  "about": "Profile bio...",
  "subscribersCount": 0,
  "isVerified": false
}

List User Posts

Retrieve a paginated list of posts for a user.
GET /v2/access/users/{userId}/posts
Query Parameters
NameTypeDefaultDescription
limitnumber10Number of posts to return
sortBystringpublish_dateSort by publish_date, tips, or favorites_count
sortDirectionstringdescasc or desc
beforePublishTimestring-ISO date for pagination cursor

Post Endpoints

Create and manage content.

List Own Posts

GET /v2/access/posts
Required Permission: posts:read Query Parameters
NameTypeDefaultDescription
limitnumber10Results per page
sortBystringpublish_dateSort field
sortDirectionstringdescSort direction
pinnedbooleanfalseFilter pinned posts only
includePostCountsbooleanfalseInclude engagement counts

Create Post

POST /v2/access/posts
Required Permission: posts:write Request Body
FieldTypeRequiredDescription
textstringNoPost content (supports markdown)
pricenumberNoPPV price (33-200)
mediaItemsarrayNoMedia IDs, upload references, or URLs (see mediaItems)
isPinnedbooleanNoPin to profile
scheduledDatestringNoISO date for scheduled posting
isMarkdownbooleanNoParse text as markdown (default: true). See Text Formatting Guide.
Response
{
  "id": 987654321,
  "text": "Post content here...",
  "price": 0,
  "isPinned": false,
  "createdAt": "2024-01-15T10:30:00Z",
  "media": []
}

Get Post

GET /v2/access/posts/{postId}
Required Permission: posts:read

Edit Post

PUT /v2/access/posts/{postId}
Required Permission: posts:write

Delete Post

DELETE /v2/access/posts/{postId}
Required Permission: posts:write

Message Endpoints

Send and receive direct messages.

List Chats

GET /v2/access/chats
Required Permission: messages:read Query Parameters
NameTypeDefaultDescription
limitnumber10Results per page
offsetnumber0Pagination offset
orderstringrecentrecent or old
filterstring-priority, unread, who_tipped
querystring-Search term

Get Chat Messages

GET /v2/access/chats/{userId}/messages
Required Permission: messages:read

Send Message

POST /v2/access/chats/{userId}/messages
Required Permission: messages:write Request Body
FieldTypeRequiredDescription
textstringNoMessage content (supports markdown)
mediaItemsarrayNoMedia IDs, upload references, or URLs (see mediaItems)
pricenumberNoPPV price (33-200)
previewMediaCountnumberNoHow many mediaItems are previews. Uses the first N items from left to right.
isMarkdownbooleanNoParse as markdown (default: true). See Text Formatting Guide.

Get Chat Media

GET /v2/access/chats/{userId}/media
Required Permission: messages:read Query Parameters
NameTypeDescription
typestringFilter: photos, videos, audios (omit for all)
limitnumberResults per page

Subscriber Endpoints

Manage your subscribers.

List Subscribers

GET /v2/access/subscribers
Required Permission: subscribers:read Query Parameters
NameTypeDefaultDescription
typestringallall, active, expired, latest
limitnumber10Results per page
offsetnumber0Pagination offset
latestTypestring-For type=latest: new or renewals
startDatestring-Filter by date (with type=latest)
endDatestring-Filter by date (with type=latest)
Response
{
  "list": [
    {
      "id": 123456,
      "username": "fanname",
      "name": "Fan Name",
      "avatar": "https://media.ofauth.com/...",
      "subscribedAt": "2024-01-15T10:30:00Z",
      "expiredAt": "2024-02-15T10:30:00Z",
      "renewedAt": null,
      "isActive": true,
      "totalSpent": 49.99
    }
  ],
  "hasMore": true
}

Update Subscriber Note

PUT /v2/access/subscribers/{userId}/note
Required Permission: subscribers:write Request Body
{
  "notice": "VIP customer - priority support"
}

Apply Discount

PUT /v2/access/subscribers/{userId}/discount
Required Permission: subscribers:write

Set Custom Name

PUT /v2/access/subscribers/{userId}/custom-name
Required Permission: subscribers:write Request Body
{
  "displayName": "John (Twitter friend)"
}

Mass Message Endpoints

Send messages to multiple fans at once.

Create Mass Message

POST /v2/access/mass-messages
Required Permission: messages:write Request Body
FieldTypeDescription
textstringMessage content (supports markdown)
mediaItemsarrayMedia IDs, upload references, or URLs (see mediaItems)
pricenumberPPV price
userIdsarrayTarget user IDs
userListsarrayTarget list IDs
excludeUserListsarrayExclude list IDs
scheduledDatestringISO date for scheduling
isMarkdownbooleanParse as markdown (default: true). See Text Formatting Guide.

Get/Update/Delete Mass Message

GET /v2/access/mass-messages/{massMessageId}
PUT /v2/access/mass-messages/{massMessageId}
DELETE /v2/access/mass-messages/{massMessageId}

Vault & Upload Endpoints

Manage media storage.

List Vault Media

GET /v2/access/vault/media
Required Permission: vault:read Query Parameters
NameTypeDescription
listIdnumberFilter by vault list
mediaTypestringphoto, video, audio
sortBystringSort field
sortDirectionstringasc or desc

Upload Media

See the Upload Media Guide for the complete upload flow.

Permission Reference

PermissionGrants Access To
profile:readGet current user profile
profile:writeUpdate profile
posts:readList and get posts
posts:writeCreate, edit, delete posts
messages:readList chats and messages
messages:writeSend messages
subscribers:readList subscribers
subscribers:writeUpdate notes, apply discounts
vault:readAccess vault media
analytics:readAccess statistics and charts
earnings:readAccess earnings data
notifications:readAccess notifications
For the complete interactive API reference with all endpoints, see the API Reference section or the OpenAPI specification in your dashboard.