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

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

Get Product Variant Details

Request

Retrieves the variant for product with given id.

Path
product_idintegerrequired

ID of the product

idintegerrequired

ID of the product variant

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

Responses

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"

Update Product Variant

Request

Updates a specific variant for a given product ID.

Path
product_idintegerrequired

ID of the product to update

idintegerrequired

ID of the variant to update

Bodyapplication/jsonrequired
variantobject(Variant30)required
Example: {"sku":"NSXM00000","inventory_quantity":800,"images_attributes":[{"image_url":"https://m.media-amazon.com/images/M/MV5BMjExMTg5OTU0NF5BMl5BanBnXkFtZTcwMjMxMzMzMw@@._V1_.jpg"}],"weight":25,"weight1":35,"weight2":45,"unit_of_weight1":"kg","unit_of_weight2":"lb","height":4,"width":8,"length":5,"unit_of_size":"in","customs_information_shipping":true,"country_of_origin":"np","physical":true,"unit_of_weight":"kg","hs_code":"978978","track_quantity":true,"keep_selling":true,"active":true,"allow_subscription":true,"bar_code":"788o798","variant_countries_attributes":[{"country_id":214,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":2000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50},{"country_id":92,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":2000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50}]}
variant.​skustringrequired
Example: "NSXM00000"
variant.​inventory_quantityinteger(int32)required
Example: 800
variant.​images_attributesArray of objects(ImagesAttribute1)required
Example: [{"image_url":"https://m.media-amazon.com/images/M/MV5BMjExMTg5OTU0NF5BMl5BanBnXkFtZTcwMjMxMzMzMw@@._V1_.jpg"}]
variant.​images_attributes[].​image_urlstringrequired
Example: "https://hello.com/noice.jpg"
variant.​weightinteger(int32)required
Example: 25
variant.​weight1integer(int32)required
Example: 35
variant.​weight2integer(int32)required
Example: 45
variant.​unit_of_weight1stringrequired
Example: "kg"
variant.​unit_of_weight2stringrequired
Example: "lb"
variant.​heightinteger(int32)required
Example: 4
variant.​widthinteger(int32)required
Example: 8
variant.​lengthinteger(int32)required
Example: 5
variant.​unit_of_sizestringrequired
Example: "in"
variant.​customs_information_shippingbooleanrequired
Example: true
variant.​country_of_originstringrequired
Example: "np"
variant.​physicalbooleanrequired
Example: true
variant.​unit_of_weightstringrequired
Example: "kg"
variant.​hs_codestringrequired
Example: "978978"
variant.​track_quantitybooleanrequired
Example: true
variant.​keep_sellingbooleanrequired
Example: true
variant.​activebooleanrequired
Example: true
variant.​allow_subscriptionbooleanrequired
Example: true
variant.​bar_codestringrequired
Example: "788o798"
variant.​variant_countries_attributesArray of objects(VariantCountriesAttribute)required
Example: [{"country_id":214,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":2000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50},{"country_id":92,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":2000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50}]
variant.​variant_countries_attributes[].​country_idinteger(int32)required
Example: 214
variant.​variant_countries_attributes[].​activebooleanrequired
Example: true
variant.​variant_countries_attributes[].​cvinteger(int32)required
Example: 4
variant.​variant_countries_attributes[].​qvinteger(int32)required
Example: 6
variant.​variant_countries_attributes[].​shippinginteger(int32)required
Example: 10
variant.​variant_countries_attributes[].​taxinteger(int32)required
Example: 12
variant.​variant_countries_attributes[].​priceinteger(int32)required
Example: 1000
variant.​variant_countries_attributes[].​subscription_priceinteger(int32)required
Example: 950
variant.​variant_countries_attributes[].​wholesaleinteger(int32)required
Example: 920
variant.​variant_countries_attributes[].​wholesale_subscription_priceinteger(int32)required
Example: 900
variant.​variant_countries_attributes[].​compare_priceinteger(int32)required
Example: 940
variant.​variant_countries_attributes[].​cost_of_goods_soldinteger(int32)required
Example: 50
curl -i -X PUT \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/products/{product_id}/variants/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "variant": {
      "sku": "NSXM00000",
      "inventory_quantity": 800,
      "images_attributes": [
        {
          "image_url": "https://m.media-amazon.com/images/M/MV5BMjExMTg5OTU0NF5BMl5BanBnXkFtZTcwMjMxMzMzMw@@._V1_.jpg"
        }
      ],
      "weight": 25,
      "weight1": 35,
      "weight2": 45,
      "unit_of_weight1": "kg",
      "unit_of_weight2": "lb",
      "height": 4,
      "width": 8,
      "length": 5,
      "unit_of_size": "in",
      "customs_information_shipping": true,
      "country_of_origin": "np",
      "physical": true,
      "unit_of_weight": "kg",
      "hs_code": "978978",
      "track_quantity": true,
      "keep_selling": true,
      "active": true,
      "allow_subscription": true,
      "bar_code": "788o798",
      "variant_countries_attributes": [
        {
          "country_id": 214,
          "active": true,
          "cv": 4,
          "qv": 6,
          "shipping": 10,
          "tax": 12,
          "price": 2000,
          "subscription_price": 950,
          "wholesale": 920,
          "wholesale_subscription_price": 900,
          "compare_price": 940,
          "cost_of_goods_sold": 50
        },
        {
          "country_id": 92,
          "active": true,
          "cv": 4,
          "qv": 6,
          "shipping": 10,
          "tax": 12,
          "price": 2000,
          "subscription_price": 950,
          "wholesale": 920,
          "wholesale_subscription_price": 900,
          "compare_price": 940,
          "cost_of_goods_sold": 50
        }
      ]
    }
  }'

Responses

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"

Delete Product Variant

Request

Deletes a specific variant of a product

Path
product_idintegerrequired

ID of the product

idintegerrequired

ID of the variant to delete

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

Responses

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"

Get Product Variants

Request

Retrieves the variants for a specific product.

Path
product_idintegerrequired

The ID of the product to retrieve variants for

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

Responses

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"

Create Product Variant

Request

Creates a new variant for a specific product identified by the product ID.

Path
product_idintegerrequired

The unique identifier of the product for which to create a variant

Bodyapplication/jsonrequired
variantobject(Variant29)required
Example: {"sku":"NSXM10000","inventory_quantity":8000,"images_attributes":[{"image_url":"https://hello.com/noice.jpg"}],"weight":25,"weight1":35,"weight2":45,"unit_of_weight1":"kg","unit_of_weight2":"lb","height":4,"width":8,"length":5,"unit_of_size":"in","customs_information_shipping":true,"country_of_origin":"np","physical":true,"unit_of_weight":"kg","hs_code":"978978","track_quantity":true,"keep_selling":true,"active":true,"allow_subscription":true,"bar_code":"788o798","options":[{"name":"Color","value":"Yellow"},{"name":"Size","value":"Large"}],"variant_countries_attributes":[{"country_id":214,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":1000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50}]}
variant.​skustringrequired
Example: "NSXM10000"
variant.​inventory_quantityinteger(int32)required
Example: 8000
variant.​images_attributesArray of objects(ImagesAttribute1)required
Example: [{"image_url":"https://hello.com/noice.jpg"}]
variant.​images_attributes[].​image_urlstringrequired
Example: "https://hello.com/noice.jpg"
variant.​weightinteger(int32)required
Example: 25
variant.​weight1integer(int32)required
Example: 35
variant.​weight2integer(int32)required
Example: 45
variant.​unit_of_weight1stringrequired
Example: "kg"
variant.​unit_of_weight2stringrequired
Example: "lb"
variant.​heightinteger(int32)required
Example: 4
variant.​widthinteger(int32)required
Example: 8
variant.​lengthinteger(int32)required
Example: 5
variant.​unit_of_sizestringrequired
Example: "in"
variant.​customs_information_shippingbooleanrequired
Example: true
variant.​country_of_originstringrequired
Example: "np"
variant.​physicalbooleanrequired
Example: true
variant.​unit_of_weightstringrequired
Example: "kg"
variant.​hs_codestringrequired
Example: "978978"
variant.​track_quantitybooleanrequired
Example: true
variant.​keep_sellingbooleanrequired
Example: true
variant.​activebooleanrequired
Example: true
variant.​allow_subscriptionbooleanrequired
Example: true
variant.​bar_codestringrequired
Example: "788o798"
variant.​optionsArray of objects(Option8)required
Example: [{"name":"Color","value":"Yellow"},{"name":"Size","value":"Large"}]
variant.​options[].​namestringrequired
Example: "Color"
variant.​options[].​valuestringrequired
Example: "Yellow"
variant.​variant_countries_attributesArray of objects(VariantCountriesAttribute)required
Example: [{"country_id":214,"active":true,"cv":4,"qv":6,"shipping":10,"tax":12,"price":1000,"subscription_price":950,"wholesale":920,"wholesale_subscription_price":900,"compare_price":940,"cost_of_goods_sold":50}]
variant.​variant_countries_attributes[].​country_idinteger(int32)required
Example: 214
variant.​variant_countries_attributes[].​activebooleanrequired
Example: true
variant.​variant_countries_attributes[].​cvinteger(int32)required
Example: 4
variant.​variant_countries_attributes[].​qvinteger(int32)required
Example: 6
variant.​variant_countries_attributes[].​shippinginteger(int32)required
Example: 10
variant.​variant_countries_attributes[].​taxinteger(int32)required
Example: 12
variant.​variant_countries_attributes[].​priceinteger(int32)required
Example: 1000
variant.​variant_countries_attributes[].​subscription_priceinteger(int32)required
Example: 950
variant.​variant_countries_attributes[].​wholesaleinteger(int32)required
Example: 920
variant.​variant_countries_attributes[].​wholesale_subscription_priceinteger(int32)required
Example: 900
variant.​variant_countries_attributes[].​compare_priceinteger(int32)required
Example: 940
variant.​variant_countries_attributes[].​cost_of_goods_soldinteger(int32)required
Example: 50
curl -i -X POST \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/products/{product_id}/variants' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "variant": {
      "sku": "NSXM10000",
      "inventory_quantity": 8000,
      "images_attributes": [
        {
          "image_url": "https://hello.com/noice.jpg"
        }
      ],
      "weight": 25,
      "weight1": 35,
      "weight2": 45,
      "unit_of_weight1": "kg",
      "unit_of_weight2": "lb",
      "height": 4,
      "width": 8,
      "length": 5,
      "unit_of_size": "in",
      "customs_information_shipping": true,
      "country_of_origin": "np",
      "physical": true,
      "unit_of_weight": "kg",
      "hs_code": "978978",
      "track_quantity": true,
      "keep_selling": true,
      "active": true,
      "allow_subscription": true,
      "bar_code": "788o798",
      "options": [
        {
          "name": "Color",
          "value": "Yellow"
        },
        {
          "name": "Size",
          "value": "Large"
        }
      ],
      "variant_countries_attributes": [
        {
          "country_id": 214,
          "active": true,
          "cv": 4,
          "qv": 6,
          "shipping": 10,
          "tax": 12,
          "price": 1000,
          "subscription_price": 950,
          "wholesale": 920,
          "wholesale_subscription_price": 900,
          "compare_price": 940,
          "cost_of_goods_sold": 50
        }
      ]
    }
  }'

Responses

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"

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