Skip to main content
All endpoints require authentication.

GET /v1/account/profile

Get the authenticated user’s full profile. Response (200):
{
  "success": true,
  "data": {
    "id": 1,
    "name": "Jane Smith",
    "email": "jane@example.com",
    "created_at": "2026-01-01T09:00:00Z"
  }
}

PUT /v1/account/profile

Update name or email. Request:
{
  "name": "Jane Doe",
  "email": "jane.doe@example.com"
}
Response (200):
{
  "success": true,
  "message": "Profile updated.",
  "data": {
    "id": 1,
    "name": "Jane Doe",
    "email": "jane.doe@example.com"
  }
}

PUT /v1/account/password

Change password. Request:
{
  "current_password": "old_password",
  "password": "new_password",
  "password_confirmation": "new_password"
}
Response (200):
{
  "success": true,
  "message": "Password updated successfully."
}

GET /v1/account/settings

Get user-specific settings (e.g. notification preferences). Response (200):
{
  "success": true,
  "data": {
    "email_notifications": true
  }
}

PUT /v1/account/settings

Update user settings. Request:
{
  "email_notifications": false
}

DELETE /v1/account

Permanently delete the account. This action is irreversible. Request:
{
  "password": "current_password"
}
Response (200):
{
  "success": true,
  "message": "Account deleted successfully."
}