> ## 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.

# Account Management

> Profile settings, notifications, and account configuration

## What You Can Build

* **Profile Management**: Update bio, name, and display settings
* **Notification Systems**: Monitor OnlyFans notifications
* **Multi-Account Tools**: Manage profiles across multiple creator accounts

***

## Quick Example

Get account profile information:

<CodeGroup>
  ```javascript Node.js theme={null}
  const response = await fetch("https://api.ofauth.com/v2/access/self", {
    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)
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.ofauth.com/v2/access/self",
      headers={
          "apikey": "YOUR_API_KEY",
          "x-connection-id": "conn_abc123"
      }
  )
  profile = response.json()
  print(f"Logged in as: {profile['name']}")
  ```

  ```typescript SDK theme={null}
  import OFSDK from "@ofauth/onlyfans-sdk"

  const sdk = new OFSDK({
    mode: "access",
    ofauthApiKey: process.env.OFAUTH_API_KEY
  })

  const { data: profile } = await sdk.self.getSelf({
    authentication: { connectionId: "conn_abc123" }
  })
  ```
</CodeGroup>

***

## Common Operations

### Get Profile

Fetch the authenticated user's profile:

```javascript theme={null}
const response = await fetch("https://api.ofauth.com/v2/access/self", {
  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:

```javascript theme={null}
const response = await fetch("https://api.ofauth.com/v2/access/self", {
  method: "PATCH",
  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:

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

const notifications = await response.json()
```

***

## API Endpoints

| Endpoint                        | Method | Description              |
| ------------------------------- | ------ | ------------------------ |
| `/v2/access/self`               | GET    | Get current user profile |
| `/v2/access/self`               | PATCH  | Update profile           |
| `/v2/access/self/notifications` | GET    | List notifications       |
| `/v2/access/self/release-forms` | GET    | List release forms       |

<Card title="Full API Reference" icon="book" href="/api-reference/access/overview">
  See complete endpoint documentation
</Card>

***

## SDK Methods

If you're using the TypeScript SDK:

```typescript theme={null}
// Get profile
const { data: profile } = await sdk.self.getSelf({
  authentication: { connectionId: "conn_abc123" }
})

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

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

<Card title="SDK Self Module" icon="code" href="/sdk/typescript/modules/account">
  Full SDK documentation for account management
</Card>

***

## Profile Data Structure

The profile object includes:

```json theme={null}
{
  "id": 123456,
  "username": "creatorname",
  "name": "Display Name",
  "isAuth": true,
  "isVerified": true,
  "avatar": "https://media.ofauth.com/...",
  "subscribersCount": 1500,
  "postsCount": 250,
  "photosCount": 200,
  "videosCount": 50
}
```

***

## Notification Types

| Type                   | Description             |
| ---------------------- | ----------------------- |
| `new_subscriber`       | New fan subscribed      |
| `subscription_expired` | Fan subscription ended  |
| `tip_received`         | Received a tip          |
| `message_received`     | New direct message      |
| `post_liked`           | Post was liked          |
| `post_commented`       | Post received a comment |
| `purchase`             | PPV content purchased   |

***

## Tips & Best Practices

<Tip>
  **Polling Notifications**: For real-time notification monitoring, consider setting up webhooks instead of polling the notifications endpoint.
</Tip>

<Info>
  **Profile Updates**: Some profile fields (like username) may have restrictions or require verification. Check OnlyFans policies for limitations.
</Info>

<Warning>
  **Rate Limits**: Frequent profile updates may be rate limited. Batch changes when possible.
</Warning>

***

## Related Guides

<CardGroup cols={2}>
  <Card title="System Webhook Events" icon="webhook" href="/api-reference/system-webhook-events/overview">
    Get notified of account events in real-time
  </Card>

  <Card title="Fans & Subscribers" icon="users" href="/guides/fans">
    Manage your subscriber base
  </Card>
</CardGroup>
