Fluid APIs (1.0.0)

The Fluid APIs provides a comprehensive set of APIs designed to integrate Fluid's powerful services into your applications seamlessly. This bundle offers robust functionality for enhancing messaging solutions, streamlining data management, and improving customer interactions. With detailed documentation, secure authentication, and flexible integration options, the Fluid Public API Bundle is engineered to help you leverage our services efficiently and effectively, unlocking new potentials and achieving greater connectivity within your systems.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.fluid.app/_mock/docs/apis/fluid.api/
Production server with company subdomain
https://{company}.fluid.app/api/
Local development server
http://fluid.lvh.me:{port}/api/

Activities

Manage activities

Operations

Carts

Carts api that can be used for api call by webhooks of external applications or admins.

Operations

CatchUps

Catchup is a unique feature in our mobile app designed to keep you informed about everything you might have missed while you were away. From unread messages to visitor activities, it ensures you stay up-to-date with all the important details.

Operations

Categories

Categories

Operations

Collections

Products can be organized under a collection or multiple collections.

Operations

Contacts

Manage contacts

Operations

create

Request

Bodyapplication/jsonrequired
contactobject(Contact4)required
Example: {"first_name":"contact_first_name","last_name":"contact_last_name","language_code":"en","country_code":"US","status":"cold","email":"contact_email@gmail.com","email2":"contact_email_2@gmail.com","phone":"+00198338838838","phone2":"+0019485858758","address":"N Main Street","address2":"Apt No. 010","city":"N Main","state":"GA","postal_code":"3884","avatar_url":"https://cdn.contact_image_url.com/image.jpg","lead_type":null,"best_time":null,"time_zone":null,"reason":null,"income":null,"hours":null,"invest":null,"interest":null,"affiliate":{"id":null,"external_id":null,"username":null,"email":"tingeym2@gmail.com"}}
contact.​first_namestringrequired
Example: "contact_first_name"
contact.​last_namestringrequired
Example: "contact_last_name"
contact.​language_codestringrequired
Example: "en"
contact.​country_codestringrequired
Example: "US"
contact.​statusstringrequired
Example: "cold"
contact.​emailstringrequired
Example: "contact_email@gmail.com"
contact.​email2stringrequired
Example: "contact_email_2@gmail.com"
contact.​phonestringrequired
Example: "+00198338838838"
contact.​phone2stringrequired
Example: "+0019485858758"
contact.​addressstringrequired
Example: "N Main Street"
contact.​address2stringrequired
Example: "Apt No. 010"
contact.​citystringrequired
Example: "N Main"
contact.​statestringrequired
Example: "GA"
contact.​postal_codestringrequired
Example: "3884"
contact.​avatar_urlstringrequired
Example: "https://cdn.contact_image_url.com/image.jpg"
contact.​lead_typestringrequired
contact.​best_timestringrequired
contact.​time_zonestringrequired
contact.​reasonstringrequired
contact.​incomestringrequired
contact.​hoursstringrequired
contact.​investstringrequired
contact.​intereststringrequired
contact.​affiliateobject(Affiliate4)required
Example: {"id":null,"external_id":null,"username":null,"email":"tingeym2@gmail.com"}
contact.​affiliate.​idstringrequired
contact.​affiliate.​external_idstringrequired
contact.​affiliate.​usernamestringrequired
contact.​affiliate.​emailstringrequired
Example: "tingeym2@gmail.com"
curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "contact": {
      "first_name": "contact_first_name",
      "last_name": "contact_last_name",
      "language_code": "en",
      "country_code": "US",
      "status": "cold",
      "email": "contact_email@gmail.com",
      "email2": "contact_email_2@gmail.com",
      "phone": "+00198338838838",
      "phone2": "+0019485858758",
      "address": "N Main Street",
      "address2": "Apt No. 010",
      "city": "N Main",
      "state": "GA",
      "postal_code": "3884",
      "avatar_url": "https://cdn.contact_image_url.com/image.jpg",
      "lead_type": null,
      "best_time": null,
      "time_zone": null,
      "reason": null,
      "income": null,
      "hours": null,
      "invest": null,
      "interest": null,
      "affiliate": {
        "id": null,
        "external_id": null,
        "username": null,
        "email": "tingeym2@gmail.com"
      }
    }
  }'

Responses

Created

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/json; charset=utf-8
idinteger(int32)required
tokenstringrequired
first_namestringrequired
last_namestringrequired
avatar_urlstringrequired
statusstringrequired
emailstringrequired
email2stringrequired
phonestringrequired
phone2stringrequired
phone_idstringrequired
addressstringrequired
address2stringrequired
citystringrequired
statestringrequired
postal_codestringrequired
language_idinteger(int32)required
country_idinteger(int32)required
lead_typestringrequired
ipstringrequired
requested_atstringrequired
best_timestringrequired
time_zonestringrequired
reasonstringrequired
incomestringrequired
hoursstringrequired
investstringrequired
intereststringrequired
full_namestringrequired
activitiesArray of stringsrequired
Response
application/json; charset=utf-8
{ "contact": { "id": 985, "address": "N Main Street", "address2": null, "avatar_url": null, "best_time": null, "city": "N Main", "country_id": null, "discarded_at": null, "email": "contact_email1@gmail.com", "email2": null, "first_name": "contact_first_name", "full_name": "contact_first_name contact_last_name", "hours": null, "income": null, "interest": null, "invest": null, "ip": null, "language_id": null, "last_name": "contact_last_name", "lead_type": null, "phone": null, "phone2": null, "phone_id": null, "postal_code": "3884", "reason": null, "requested_at": null, "state": "GA", "status": "cold", "time_zone": null, "token": "NZi7Zdv4T2xe3Qe7dY4864Gs" }, "meta": { "request_id": "af6593be-c60a-41d0-affb-95f9e7e65ed6", "timestamp": "2025-01-08T20:45:34Z" } }

List Company Contacts

Request

Query
statusstring

Retrieves a list of company contacts .

pageinteger

Page number for pagination

Default 1
per_pageinteger

Number of results per page

Default 10
curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts?page=1&per_page=10&status=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

List of contacts

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/jsonArray [
idinteger(int32)required
Example: 6557
tokenstringrequired
Example: "h59g4H8EExXpmNYmhq4woiMh"
first_namestringrequired
Example: "Bishal"
last_namestringrequired
Example: "Nepal"
avatar_urlstringrequired
statusstringrequired
emailstringrequired
Example: "bnepal05579887@gmail.com"
email2stringrequired
phonestringrequired
phone2stringrequired
phone_idstringrequired
addressstringrequired
address2stringrequired
citystringrequired
statestringrequired
postal_codestringrequired
language_idstringrequired
country_idstringrequired
lead_typestringrequired
ipstringrequired
requested_atstringrequired
best_timestringrequired
time_zonestringrequired
reasonstringrequired
incomestringrequired
hoursstringrequired
investstringrequired
intereststringrequired
full_namestringrequired
Example: "Bishal Nepal"
]
Response
application/json
{ "contacts": [ {}, {}, {} ] }

Get Company Contact Details

Request

Retrieves detailed information for a specific company contact.

Path
idintegerrequired

Unique identifier for the contact

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/json
idinteger(int32)required
tokenstringrequired
first_namestringrequired
last_namestringrequired
avatar_urlstringrequired
statusstringrequired
emailstringrequired
email2stringrequired
phonestringrequired
phone2stringrequired
phone_idstringrequired
addressstringrequired
address2stringrequired
citystringrequired
statestringrequired
postal_codestringrequired
language_idstringrequired
country_idstringrequired
lead_typestringrequired
ipstringrequired
requested_atstringrequired
best_timestringrequired
time_zonestringrequired
reasonstringrequired
incomestringrequired
hoursstringrequired
investstringrequired
intereststringrequired
full_namestringrequired
Response
application/json
{ "id": 6557, "token": "h59g4H8EExXpmNYmhq4woiMh", "first_name": "Bishal", "last_name": "Nepal", "avatar_url": null, "status": null, "email": "bnepal05579887@gmail.com", "email2": null, "phone": null, "phone2": null, "phone_id": null, "address": null, "address2": null, "city": null, "state": null, "postal_code": null, "language_id": null, "country_id": null, "lead_type": null, "ip": null, "requested_at": null, "best_time": null, "time_zone": null, "reason": null, "income": null, "hours": null, "invest": null, "interest": null, "full_name": "Bishal Nepal" }

Update a contact

Request

Updates contact information

Path
idintegerrequired

Unique identifier for the contact

Bodyapplication/jsonrequired

Contact data to update

contactobject(Contact7)required
Example: {"first_name":"contact_first_name","last_name":"contact_last_name","language_code":"en","country_code":"US","status":"cold","email":"contact_email@gmail.com","email2":"contact_email_2@gmail.com","phone":"+00198338838838","phone2":"+0019485858758","address":"N Main Street","address2":"Apt No. 010","city":"N Main","state":"GA","postal_code":"3884","avatar_url":"https://cdn.contact_image_url.com/image.jpg","lead_type":null,"best_time":null,"time_zone":null,"reason":null,"income":null,"hours":null,"invest":null,"interest":null,"affiliate":{"id":null,"external_id":null,"username":null,"email":"tingeym2@gmail.com"}}
contact.​first_namestringrequired
Example: "contact_first_name"
contact.​last_namestringrequired
Example: "contact_last_name"
contact.​language_codestringrequired
Example: "en"
contact.​country_codestringrequired
Example: "US"
contact.​statusstringrequired
Example: "cold"
contact.​emailstringrequired
Example: "contact_email@gmail.com"
contact.​email2stringrequired
Example: "contact_email_2@gmail.com"
contact.​phonestringrequired
Example: "+00198338838838"
contact.​phone2stringrequired
Example: "+0019485858758"
contact.​addressstringrequired
Example: "N Main Street"
contact.​address2stringrequired
Example: "Apt No. 010"
contact.​citystringrequired
Example: "N Main"
contact.​statestringrequired
Example: "GA"
contact.​postal_codestringrequired
Example: "3884"
contact.​avatar_urlstringrequired
Example: "https://cdn.contact_image_url.com/image.jpg"
contact.​lead_typestringrequired
contact.​best_timestringrequired
contact.​time_zonestringrequired
contact.​reasonstringrequired
contact.​incomestringrequired
contact.​hoursstringrequired
contact.​investstringrequired
contact.​intereststringrequired
contact.​affiliateobject(Affiliate4)required
Example: {"id":null,"external_id":null,"username":null,"email":"tingeym2@gmail.com"}
contact.​affiliate.​idstringrequired
contact.​affiliate.​external_idstringrequired
contact.​affiliate.​usernamestringrequired
contact.​affiliate.​emailstringrequired
Example: "tingeym2@gmail.com"
curl -i -X PUT \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "contact": {
      "first_name": "contact_first_name",
      "last_name": "contact_last_name",
      "language_code": "en",
      "country_code": "US",
      "status": "cold",
      "email": "contact_email@gmail.com",
      "email2": "contact_email_2@gmail.com",
      "phone": "+00198338838838",
      "phone2": "+0019485858758",
      "address": "N Main Street",
      "address2": "Apt No. 010",
      "city": "N Main",
      "state": "GA",
      "postal_code": "3884",
      "avatar_url": "https://cdn.contact_image_url.com/image.jpg",
      "lead_type": null,
      "best_time": null,
      "time_zone": null,
      "reason": null,
      "income": null,
      "hours": null,
      "invest": null,
      "interest": null,
      "affiliate": {
        "id": null,
        "external_id": null,
        "username": null,
        "email": "tingeym2@gmail.com"
      }
    }
  }'

Responses

OK

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/json
idinteger(int32)required
tokenstringrequired
first_namestringrequired
last_namestringrequired
avatar_urlstringrequired
statusstringrequired
emailstringrequired
email2stringrequired
phonestringrequired
phone2stringrequired
phone_idstringrequired
addressstringrequired
address2stringrequired
citystringrequired
statestringrequired
postal_codestringrequired
language_idinteger(int32)required
country_idinteger(int32)required
lead_typestringrequired
ipstringrequired
requested_atstringrequired
best_timestringrequired
time_zonestringrequired
reasonstringrequired
incomestringrequired
hoursstringrequired
investstringrequired
intereststringrequired
full_namestringrequired
Response
application/json
{ "id": 0, "token": "string", "first_name": "string", "last_name": "string", "avatar_url": "string", "status": "string", "email": "string", "email2": "string", "phone": "string", "phone2": "string", "phone_id": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "postal_code": "string", "language_id": 0, "country_id": 0, "lead_type": "string", "ip": "string", "requested_at": "string", "best_time": "string", "time_zone": "string", "reason": "string", "income": "string", "hours": "string", "invest": "string", "interest": "string", "full_name": "string" }

Delete Company Contact

Request

Deletes a contact's record associated with the company.

Path
idintegerrequired

Unique identifier for the contact to delete

curl -i -X DELETE \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/json; charset=utf-8
string
Response
application/json; charset=utf-8
{ "contact": { "id": 981, "email": "testgmail@gmail.com", "first_name": "test", "last_name": "test" }, "meta": { "request_id": "b9fb1ae1-6eb8-4670-9123-de3008c47662", "timestamp": "2025-01-08T21:08:01Z" } }

Get Company Contact Details by email

Request

Retrieves detailed information for a specific company contact by email.

Query
emailstringrequired

Unique identifier for the contact

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/contacts/find_by_email?email=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Successful response with contact details

Headers
Content-Typestring

The content type of the response

Example: "application/json"
Content-Lengthstring

The length of the response content in bytes

Example: "981"
X-Request-Idstring

A unique identifier for the request

Example: "b1b7bf86-146e-4c66-b4c6-ac6f0f9ddafa"
Bodyapplication/json
contactobject(Contact)
Example: {"id":984,"address":"N Main Street","address2":null,"avatar_url":null,"best_time":null,"city":"N Main","country_id":null,"discarded_at":null,"email":"contact_email@gmail.com","email2":null,"first_name":"first_name","full_name":"first_name last_name","hours":null,"income":null,"interest":null,"invest":null,"ip":null,"language_id":null,"last_name":"last_name","lead_type":null,"phone":null,"phone2":null,"phone_id":null,"postal_code":"3884","reason":null,"requested_at":null,"state":"GA","status":"cold","time_zone":null,"token":"f5F6p5bM7PQPqpvcoefXyrYV"}
metaobject(Meta)
Example: {"request_id":"1c3002d0-269b-4ac5-99c3-849704ccc307","timestamp":"2025-01-13T15:57:02Z"}
Response
application/json
{ "contact": { "id": 984, "address": "N Main Street", "address2": null, "avatar_url": null, "best_time": null, "city": "N Main", "country_id": null, "discarded_at": null, "email": "contact_email@gmail.com", "email2": null, "first_name": "first_name", "full_name": "first_name last_name", "hours": null, "income": null, "interest": null, "invest": null, "ip": null, "language_id": null, "last_name": "last_name", "lead_type": null, "phone": null, "phone2": null, "phone_id": null, "postal_code": "3884", "reason": null, "requested_at": null, "state": "GA", "status": "cold", "time_zone": null, "token": "f5F6p5bM7PQPqpvcoefXyrYV" }, "meta": { "request_id": "1c3002d0-269b-4ac5-99c3-849704ccc307", "timestamp": "2025-01-13T15:57:02Z" } }

Conversations

Conversations within Fluid's platform serve as the central hub where users, contacts and/or automated agents (such as Response Bots and Broadcast Bots) come together to exchange messages. Each conversation can include multiple participants, ranging from individual users to bots designed to provide interactive support or broadcast important updates. With a flexible architecture, Conversations allow for rich interactions, whether it’s real-time messaging, automated responses, or large-scale broadcasts.

The structure supports seamless communication, enabling participants to share information effectively while allowing developers to build and extend features like bots that can respond, broadcast, or even act as virtual assistants within any conversation.

Operations

Custom Pages

Create and manage custom pages within the application. Custom pages allow you to build unique, branded experiences and content areas tailored to your needs.

Operations

Events

Manage and track system events that occur within the application. Events provide a way to monitor and respond to various activities and state changes.

Operations

Libraries

Manage reusable components and resources that can be shared across your application. Libraries help maintain consistency and reduce duplication in your implementation.

Operations

Media

Handle media assets such as images, videos, and documents that are used throughout the application. Includes functionality for upload, storage, and delivery of media content.

Operations

Messages

Messages are the core units of communication within Fluid’s platform, facilitating interactions between participants in a conversation. Each message can originate from either a user or a contact or an automated bot, allowing for dynamic exchanges ranging from simple text messages to more complex data payloads.

Messages support various use cases, whether it's delivering personalized responses via Response Bots, broadcasting announcements from Broadcast Bots, or regular user-to-user communication. The flexible structure of messages ensures that they can be tailored to suit different needs, providing a robust foundation for real-time interaction, automation, and seamless integration within the broader conversation framework.

Operations

Orders

Manage company orders using API endpoints.

Operations

Points

Manage points

Operations

ProductRedirects

Handle product URL redirects to maintain SEO value and ensure proper routing when product URLs change or products are moved within your catalog.

Operations

Products

Product API that can be used by external applications or admins.

Operations

Recipients

Manage Users for the company. Using this api you can list, create, update and delete the users for the company.

Operations

Social Media

Social Media is used to store the username for the companies various social media accounts.

Tiles

Tiles are a crucial feature in our admin portal, designed to facilitate Single Sign On (SSO) flows for users within the app. Each Tile represents a redirecting button within the user's app that links to a specific URL, with the addition of a temporary authorization token (auth_token) as a parameter.

Here's how the process works:

  1. In the admin portal, a new Tile is created. Each Tile is essentially a shortcut to a specific URL, such as https://www.example.com.
  2. The Tile appears in the user's app interface as a button, featuring a representative image. This makes it easy for users to identify and access.
  3. When an authorized User clicks on the Tile in app, an authorization token (auth_token) is generated and appended to the URL as a parameter. For example, https://www.example.com?auth_token=ABC123.
  4. When the user clicks on the Tile (button), they are automatically redirected to the URL embedded in the Tile, carrying the auth_token along.
  5. The user's browser then visits the URL, and the auth_token is passed to the link.
  6. The User Show API endpoint accepts the auth_token to fetch the user's details. This data can be utilized to automatically sign the user into their account, eliminating the need for manual login. Alternatively, it can be used to generate an app-in-an-app experience where the user navigates within a portion of your app as an authenticated user.

This Tile functionality streamlines the user experience, granting a smoother navigation process and easing user access with a Single Sign On (SSO) flow.

Note: auth_token expires after 30 minutes.

Operations

Users

Manage Users for the company. Using this api you can list, create, update and delete the users for the company.

Operations

Variants

Manage product variants including different sizes, colors, or other attributes that define unique versions of a product.

Operations

Webhooks

Webhook Events are generated by some Fluid resources when certain actions
are completed, such as the creation of an order, abandonment of cart, or
the deactivation of an user. By requesting events, your app can know
when certain actions have occurred in the fluid.

Webhook Overview

Operations

Get Company Social Media Usernames

Request

Returns the social media usernames for the company.

curl -i -X GET \
  https://docs.fluid.app/_mock/docs/apis/fluid.api/api/company/settings/social_media

Responses

Successful response

Bodyapplication/json
facebookstring
Example: "company_facebook"
twitterstring
Example: "company_twitter"
instagramstring
Example: "company_instagram"
linkedinstring
Example: "company_linkedin"
youtubestring
Example: "company_youtube"
tiktokstring
Example: "company_tiktok"
pintereststring
Example: "company_pinterest"
Response
application/json
{ "facebook": "company_facebook", "twitter": "company_twitter", "instagram": "company_instagram", "linkedin": "company_linkedin", "youtube": "company_youtube", "tiktok": "company_tiktok", "pinterest": "company_pinterest" }

Update Company Social Media Usernames

Request

Updates the social media usernames for the company.

Bodyapplication/jsonrequired
social_mediaobject
curl -i -X PUT \
  https://docs.fluid.app/_mock/docs/apis/fluid.api/api/company/settings/social_media \
  -H 'Content-Type: application/json' \
  -d '{
    "social_media": {
      "facebook": "updated_facebook",
      "twitter": "updated_twitter",
      "instagram": "updated_instagram",
      "linkedin": "updated_linkedin",
      "youtube": "updated_youtube",
      "tiktok": "updated_tiktok",
      "pinterest": "updated_pinterest"
    }
  }'

Responses

Successful update

Bodyapplication/json
facebookstring
Example: "updated_facebook"
twitterstring
Example: "updated_twitter"
instagramstring
Example: "updated_instagram"
linkedinstring
Example: "updated_linkedin"
youtubestring
Example: "updated_youtube"
tiktokstring
Example: "updated_tiktok"
pintereststring
Example: "updated_pinterest"
Response
application/json
{ "facebook": "updated_facebook", "twitter": "updated_twitter", "instagram": "updated_instagram", "linkedin": "updated_linkedin", "youtube": "updated_youtube", "tiktok": "updated_tiktok", "pinterest": "updated_pinterest" }

Customer Notes

Operations

Customers

Operations