Documentation Index
Fetch the complete documentation index at: https://docs.ofauth.com/llms.txt
Use this file to discover all available pages before exploring further.
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.
Beta status: Managed Access endpoints are in beta and may change as we gather feedback from users. Expect incremental refinements to request or response shapes while we stabilize the typed surface area.
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
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
Required Permission: profile:write
Request Body
| Field | Type | Description |
|---|
name | string | Display name |
about | string | Bio/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
| Name | In | Type | Description |
|---|
userId | path | string | The 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
| Name | Type | Default | Description |
|---|
limit | number | 10 | Number of posts to return |
sortBy | string | publish_date | Sort by publish_date, tips, or favorites_count |
sortDirection | string | desc | asc or desc |
beforePublishTime | string | - | ISO date for pagination cursor |
Post Endpoints
Create and manage content.
List Own Posts
Required Permission: posts:read
Query Parameters
| Name | Type | Default | Description |
|---|
limit | number | 10 | Results per page |
sortBy | string | publish_date | Sort field |
sortDirection | string | desc | Sort direction |
pinned | boolean | false | Filter pinned posts only |
includePostCounts | boolean | false | Include engagement counts |
Create Post
Required Permission: posts:write
Request Body
| Field | Type | Required | Description |
|---|
text | string | No | Post content (supports markdown) |
price | number | No | PPV price (3−200) |
mediaItems | array | No | Media IDs, upload references, or URLs (see mediaItems) |
isPinned | boolean | No | Pin to profile |
scheduledDate | string | No | ISO date for scheduled posting |
isMarkdown | boolean | No | Parse 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
Required Permission: messages:read
Query Parameters
| Name | Type | Default | Description |
|---|
limit | number | 10 | Results per page |
offset | number | 0 | Pagination offset |
order | string | recent | recent or old |
filter | string | - | priority, unread, who_tipped |
query | string | - | 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
| Field | Type | Required | Description |
|---|
text | string | No | Message content (supports markdown) |
mediaItems | array | No | Media IDs, upload references, or URLs (see mediaItems) |
price | number | No | PPV price (3−200) |
previewMediaCount | number | No | How many mediaItems are previews. Uses the first N items from left to right. |
isMarkdown | boolean | No | Parse as markdown (default: true). See Text Formatting Guide. |
GET /v2/access/chats/{userId}/media
Required Permission: messages:read
Query Parameters
| Name | Type | Description |
|---|
type | string | Filter: photos, videos, audios (omit for all) |
limit | number | Results per page |
Subscriber Endpoints
Manage your subscribers.
List Subscribers
GET /v2/access/subscribers
Required Permission: subscribers:read
Query Parameters
| Name | Type | Default | Description |
|---|
type | string | all | all, active, expired, latest |
limit | number | 10 | Results per page |
offset | number | 0 | Pagination offset |
latestType | string | - | For type=latest: new or renewals |
startDate | string | - | Filter by date (with type=latest) |
endDate | string | - | 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
| Field | Type | Description |
|---|
text | string | Message content (supports markdown) |
mediaItems | array | Media IDs, upload references, or URLs (see mediaItems) |
price | number | PPV price |
userIds | array | Target user IDs |
userLists | array | Target list IDs |
excludeUserLists | array | Exclude list IDs |
scheduledDate | string | ISO date for scheduling |
isMarkdown | boolean | Parse 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.
GET /v2/access/vault/media
Required Permission: vault:read
Query Parameters
| Name | Type | Description |
|---|
listId | number | Filter by vault list |
mediaType | string | photo, video, audio |
sortBy | string | Sort field |
sortDirection | string | asc or desc |
See the Upload Media Guide for the complete upload flow.
Permission Reference
| Permission | Grants Access To |
|---|
profile:read | Get current user profile |
profile:write | Update profile |
posts:read | List and get posts |
posts:write | Create, edit, delete posts |
messages:read | List chats and messages |
messages:write | Send messages |
subscribers:read | List subscribers |
subscribers:write | Update notes, apply discounts |
vault:read | Access vault media |
analytics:read | Access statistics and charts |
earnings:read | Access earnings data |
notifications:read | Access notifications |
For the complete interactive API reference with all endpoints, see the API Reference section or the OpenAPI specification in your dashboard.