Skip to main content

What You Can Build

  • Profile Management: Update bio, avatar, banner, and display settings
  • Notification Systems: Monitor and respond to OnlyFans notifications
  • Settings Dashboards: Configure account preferences programmatically
  • Multi-Account Tools: Manage settings across multiple creator accounts

Quick Example

Get account profile information:
const response = await fetch("https://api.ofauth.com/v2/access/self/me", {
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123"
  }
})

const profile = await response.json()
console.log("Logged in as:", profile.name)
console.log("Username:", profile.username)

Common Operations

Get Profile

Fetch the authenticated user’s profile:
const response = await fetch("https://api.ofauth.com/v2/access/self/me", {
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123"
  }
})

const profile = await response.json()
// Returns full profile with stats, settings, etc.

Update Profile

Modify profile information:
const response = await fetch("https://api.ofauth.com/v2/access/self/profile", {
  method: "PUT",
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "New Display Name",
    about: "Updated bio here..."
  })
})

Get Notifications

List recent notifications:
const response = await fetch("https://api.ofauth.com/v2/access/notifications", {
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123"
  }
})

const notifications = await response.json()

Mark Notifications as Read

const response = await fetch("https://api.ofauth.com/v2/access/notifications/read", {
  method: "POST",
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    notificationIds: [123, 456, 789]
  })
})

Get Account Settings

Retrieve current settings:
const response = await fetch("https://api.ofauth.com/v2/access/settings", {
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123"
  }
})

const settings = await response.json()

Update Subscription Price

Change the subscription price:
const response = await fetch("https://api.ofauth.com/v2/access/settings/subscription", {
  method: "PUT",
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    price: 9.99
  })
})
List configured social media buttons:
const response = await fetch("https://api.ofauth.com/v2/access/social-links", {
  headers: {
    apikey: "YOUR_API_KEY",
    "x-connection-id": "conn_abc123"
  }
})

const links = await response.json()

API Endpoints

EndpointMethodDescription
/v2/access/self/meGETGet current user profile
/v2/access/self/profilePUTUpdate profile
/v2/access/notificationsGETList notifications
/v2/access/notifications/readPOSTMark notifications read
/v2/access/settingsGETGet account settings
/v2/access/social-linksGETList social links

Full API Reference

See complete endpoint documentation

SDK Methods

If you’re using the TypeScript SDK:
// Get profile
const { data: profile } = await sdk.account.getProfile({
  authentication: { connectionId: "conn_abc123" }
})

// Update profile
const { data: updated } = await sdk.account.updateProfile({
  authentication: { connectionId: "conn_abc123" },
  params: {
    name: "New Name",
    about: "New bio"
  }
})

// Get notifications
const { data: notifications } = await sdk.account.getNotifications({
  authentication: { connectionId: "conn_abc123" }
})

SDK Account Module

Full SDK documentation for account management

Profile Data Structure

The profile object includes:
{
  "id": 123456,
  "username": "creatorname",
  "name": "Display Name",
  "about": "Bio text here...",
  "avatar": "https://media.ofauth.com/...",
  "header": "https://media.ofauth.com/...",
  "location": "Los Angeles, CA",
  "website": "https://example.com",
  "subscribersCount": 1500,
  "postsCount": 250,
  "photosCount": 200,
  "videosCount": 50,
  "isVerified": true,
  "subscriptionPrice": 9.99,
  "joinedAt": "2022-01-15T10:30:00Z"
}

Notification Types

TypeDescription
new_subscriberNew fan subscribed
subscription_expiredFan subscription ended
tip_receivedReceived a tip
message_receivedNew direct message
post_likedPost was liked
post_commentedPost received a comment
purchasePPV content purchased

Tips & Best Practices

Polling Notifications: For real-time notification monitoring, consider setting up webhooks instead of polling the notifications endpoint.
Profile Updates: Some profile fields (like username) may have restrictions or require verification. Check OnlyFans policies for limitations.
Rate Limits: Frequent profile updates may be rate limited. Batch changes when possible.