Endpoint
Authentication
This endpoint requires authentication via bearer token representing a valid user session managed by Supabase Auth (cookies).Testing Note: Due to the requirement for a live user session, this endpoint cannot be successfully tested directly using the ‘Send’ button in this documentation with a static token.To test:
- Call this endpoint from your web application after logging in.
- Use
curl
or a similar tool with a valid, current user JWT obtained from your browser’s session after logging in.
curl
, you need the JWT access token stored by Supabase Auth in your browser.
- Log in to your application normally in your browser.
- Open Developer Tools (usually F12).
- Go to the Application tab (it might be called Storage in Firefox).
- Under the Storage section, find Cookies and select your application’s domain (e.g.,
http://localhost:3000
orhttps://onlyautomator.com
). - Look for a cookie named similar to
sb-access-token
(the exact name might vary slightly based on Supabase configuration). - Copy the entire value of this cookie. This is your Bearer token.
- Use this copied value in the
Authorization: Bearer <your_copied_token>
header for yourcurl
or other API tool requests.
Request Headers
Bearer token for authentication. Format:
Bearer YOUR_JWT_TOKEN
Must be set to
application/json
Request Body
Unique identifier of the subscriber/fan
Category of the preference. Common values: “content”, “messaging”, “tipping”, “scheduling”
Specific preference identifier. Should be a descriptive string without spaces
Value of the preference. Can be a boolean, string, number, or any JSON-serializable value
Response
Status of the request (
success
or error
)Preference object that was created or updated
Unique identifier for the preference
Unique identifier of the subscriber/fan
Category of the preference
Specific preference identifier
Value of the preference
ISO timestamp of when the preference was created
ISO timestamp of when the preference was last updated
200 Success
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Error Codes
Error Code | Description |
---|---|
validation_error | A required parameter is missing or invalid |
authentication_required | No valid authentication token provided |
permission_denied | Token lacks required permissions |
resource_not_found | Fan not found with the provided ID |
service_unavailable | The preference service is temporarily unavailable |
Common Preference Categories
Category | Description | Example Preferences |
---|---|---|
content | Content preferences | likes_fitness , prefers_photos , enjoys_long_videos |
messaging | Messaging preferences | prefers_voice_messages , responds_to_text , morning_messages |
tipping | Tipping behavior | frequent_tipper , high_value_tipper , special_occasion_tipper |
scheduling | Timing preferences | active_weekends , evening_chatter , timezone_gmt_minus_8 |
Notes
- This endpoint is used by the CRM panel in the Chrome extension to track subscriber preferences
- Preferences help creators customize their content and interactions for each subscriber
- If a preference with the same
fanId
,category
, andpreference
already exists, it will be updated - The system supports custom preference categories and names beyond the common ones listed above
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Headers
Bearer token for authentication (JWT)
Body
application/json
Unique identifier of the subscriber/fan
Example:
"12345"
Category of the preference
Example:
"content"
Specific preference identifier
Example:
"likes_fitness_videos"
Value of the preference (can be boolean, string, number, etc.)
Example:
true