Fluid Rep APIs (1.0)

The Fluid Rep APIs provide endpoints for authenticated Reps (Users) to access their own data and perform actions on their behalf.

Authentication

These APIs use User tokens for authentication. User tokens are obtained through:

  • Magic link authentication
  • JWT exchange (/api/user_companies/jwt_exchange)
  • Token exchange (/api/user_companies/token_exchange)

Unlike Company APIs which use Company API tokens for administrative access, Rep APIs authenticate the individual user and provide access to their personal data, orders, team, and settings.

For Company-level management APIs, see the Company APIs documentation.

Download OpenAPI description
Overview
E-mail support@fluid.app
License MIT
Languages
Servers
Mock server
https://docs.fluid.app/_mock/docs/apis/rep/
Production server with company subdomain
https://{company}.fluid.app/
Local development server
http://fluid.lvh.me:{port}/

Authentication

Operations

User Profile

Operations

Get current user profile

Request

Returns the profile and settings for the currently authenticated user.

This endpoint requires a User token obtained through:

  • Magic link authentication
  • JWT exchange (/api/user_companies/jwt_exchange)
  • Login endpoints

The response includes the user's profile information, company association, and various settings like notification preferences.

curl -i -X GET \
  https://docs.fluid.app/_mock/docs/apis/rep/api/me \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

user profile retrieved

Bodyapplication/json
object
Response
application/json
{ "id": 1847, "email": "d.schrute@dundermifflin.com", "first_name": "Dwight", "last_name": "Schrute", "full_name": "Dwight Schrute", "phone": "+1-570-555-0142", "bio": "Assistant to the Regional Manager. Beet farmer. Volunteer Sheriff's Deputy.", "image_url": "https://cdn.dundermifflin.com/avatars/dwight-schrute.jpg", "language": "en", "time_zone": "America/New_York", "share_link": "https://shop.dundermifflin.com/dwight", "mysite_url": "https://dwight.dundermifflin.com", "affiliate_shop_url": "https://shop.dundermifflin.com/dwight", "affiliate_id": "SCHRUTE2023", "role": "rep", "active": true, "rank": { "id": 5, "name": "Assistant Regional Manager", "external_id": "ARM" }, "total_points": 15000, "fantasy_points": 2500, "leads_remaining": 47, "leads_recurring": 10, "open_task_count": 3, "unread_messages_count": 12, "mysite_views": 1523, "mysite_leads": 89, "facebook": "https://facebook.com/dwightschrute", "instagram": "@dwight_schrute_farms", "twitter": "@schaboretum", "linkedin": "https://linkedin.com/in/dwight-schrute", "youtube": null, "tiktok": null, "push_notifications": true, "email_notifications": true, "sms_notifications": false, "activity_notifications": true, "profile_notifications": true, "created_at": "2019-03-24T08:00:00Z", "company": { "id": 1, "name": "Dunder Mifflin Paper Company", "slug": "dunder-mifflin" } }

Update current user profile

Request

Updates the profile information for the currently authenticated user.

Only the fields provided in the request body will be updated. Omitted fields will retain their current values.

Bodyapplication/json
first_namestring
Example: "Dwight"
last_namestring
Example: "Schrute"
phonestring
Example: "+1-570-555-0142"
biostring
Example: "Assistant Regional Manager. Beet farmer. Volunteer Sheriff's Deputy."
languagestring
Example: "en"
time_zonestring
Example: "America/New_York"
facebookstring
Example: "https://facebook.com/dwightschrute"
instagramstring
Example: "@dwight_schrute_farms"
linkedinstring
Example: "https://linkedin.com/in/dwight-schrute"
twitterstring
Example: "@schaboretum"
push_notificationsboolean
Example: true
email_notificationsboolean
Example: true
sms_notificationsboolean
Example: false
activity_notificationsboolean
Example: true
curl -i -X PUT \
  https://docs.fluid.app/_mock/docs/apis/rep/api/me \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "first_name": "Dwight",
    "last_name": "Schrute",
    "bio": "Assistant Regional Manager. Beet farmer. Volunteer Sheriff'\''s Deputy.",
    "time_zone": "America/New_York"
  }'

Responses

profile updated successfully

Bodyapplication/json
object
Response
application/json
{ "id": 1847, "email": "d.schrute@dundermifflin.com", "first_name": "Dwight", "last_name": "Schrute", "full_name": "Dwight Schrute", "bio": "Assistant Regional Manager. Beet farmer." }

Contacts

Operations

Tasks

Operations

Media

Operations

Libraries

Operations

Orders

Operations

MySite

Operations

Analytics

Operations

Events

Operations

Training

Operations