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

Get Company Media

Request

Retrieves media associated with the company.

curl -i -X GET \
  https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media \
  -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/jsonArray [
idinteger(int32)required
Example: 8504
user_idstringrequired
media_typestringrequired
Example: "share"
media_formatstringrequired
Example: "png"
image_urlstringrequired
Example: "https://ik.imagekit.io/fluid/s3/tr:n-video_poster/JqmCfzdPTQCdVtPKnHIA_fluid+logo.png"
video_urlstringrequired
pdf_urlstringrequired
titlestringrequired
Example: "test"
descriptionobject(Description19)required
Example: {"id":2025,"name":"description","body":"<div>Minus eum proident, .</div>","record_type":"Product","record_id":1981,"created_at":"2022-06-17T09:25:58.301Z","updated_at":"2022-06-17T09:25:58.301Z","locale":null}
description.​idinteger(int32)required
Example: 2025
description.​namestringrequired
Example: "description"
description.​bodystringrequired
Example: "<div>Minus eum proident, .</div>"
description.​record_typestringrequired
Example: "Product"
description.​record_idinteger(int32)required
Example: 1981
description.​created_atstringrequired
Example: "2022-06-17T09:25:58.301Z"
description.​updated_atstringrequired
Example: "2022-06-17T09:25:58.301Z"
description.​localestringrequired
strippedstringrequired
Example: "test"
kindstringrequired
Example: "image"
activebooleanrequired
Example: true
visibilitystringrequired
share_linkstringrequired
viewsinteger(int32)required
leadsinteger(int32)required
language_idinteger(int32)required
Example: 980190962
watchstringrequired
video_statusstringrequired
durationinteger(int32)required
cta_urlstringrequired
cta_button_textstringrequired
Example: "Learn More"
cta_enabledbooleanrequired
cta_action_typestringrequired
Example: "visit_on_click"
video_shopping_enabledbooleanrequired
prompts_enabledbooleanrequired
label(null or Label (object)) or string or nullrequired
Example: {"id":206,"title":"ARS","background":"#8E3596","icon":"/assets/label_icons/home_icon-58cb9cd311890c97fc380e9fcac962420d5a0da49bc8a3ddd9c6f5fafecf09ac.svg","color":"#FF0000"}
One of:
One of:
null
display_tagstringrequired
promptsArray of stringsrequired
Example: []
attached_shareablesArray of AttachedShareable (object) or AttachedShareable1 (object)required
Example: []
One of:
attached_shareables[].​idinteger(int32)
attached_shareables[].​kindstring
attached_shareables[].​timestampstring
attached_shareables[].​attachmentobject(Attachment)
Example: {"id":63,"active":true,"title":"Citizen Cabin","description":{"id":14611,"name":"description","body":"<div class=\"trix-content\">\n <div>Amazing pre-built homes and cabins that can operate off the grid.</div>\n</div>","record_type":"Product","record_id":63,"created_at":"2024-01-17T18:22:04.997Z","updated_at":"2024-01-17T18:22:04.997Z","locale":"en"},"stripped":"\n Amazing pre-built homes and cabins that can operate off the grid.","price":"87.56","display_price":"$87.56 (USD)","subscription_price":"87.56","display_subscription_price":"$87.56 (USD)","wholesale_price":"0.0","display_wholesale_price":"$0.00 (USD)","wholesale_subscription_price":"0.0","display_wholesale_subscription_price":"$0.00 (USD)","shipping":"1.0","image":{"mini":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","detail":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","full":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg"},"image_url":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","sku":"CTZHOME","country_code":"us","country_id":214,"views":0,"leads":0,"share_link":null,"commission":"10.0","public":true,"shopify_id":null,"shopify_handle":null,"in_stock":true,"vendor":null,"price_range":["$0.00","$87.56"],"price_range_formatted":"$0.00 - $87.56","unlimited_inventory":false,"default_variant":{"id":2698,"product_id":63,"shopify_id":null,"title":"","sku":"CTZHOME","position":2469,"inventory_policy":"none","taxable":true,"inventory_quantity":1,"created_at":"2022-06-17T12:52:26.495Z","updated_at":"2023-05-10T19:39:42.757Z","external_id":null,"variant_country_id":null,"image_url":null,"image_path":null,"is_master":true,"discarded_at":null,"price":null,"weight":null,"size":null,"physical":null,"unit_of_weight":null,"height":0,"width":0,"length":0,"unit_of_size":null,"hs_code":null,"country_of_origin":null,"customs_information_shipping":null,"active":true,"bar_code":null,"track_quantity":null,"keep_selling":null,"option_attrs":[],"allow_subscription":true,"subscription_only":false,"limit_subscription":false,"subscription_max_qty":null,"shipping_included_in_price":false,"subscription_interval":1},"currency_symbol":"$","currency_code":"USD","average_rating":0,"option_values":{},"publish_to_retail_store":true,"publish_to_rep_store":true,"publish_to_share_tab":true,"hide_rating?":true,"hide_reviews?":true,"prompts_enabled":false,"label":null,"display_tag":null,"images":[{"id":29,"image":{"mini":"https://ik.imagekit.io/fluid/s3/tr:n-split_mobile/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","detail":"https://ik.imagekit.io/fluid/s3/tr:n-video_poster/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","full":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg"},"image_url":"https://ik.imagekit.io/fluid/s3/jfuOhC2QRN6wyFalig9A_fJs9JlVXQhmoSCe3AtE8_undefined.jpg","position":null,"shopify_id":null}],"countries":[{"id":214,"iso_name":"UNITED STATES","iso":"US","iso3":"USA","name":"United States","numcode":840,"active":true,"currency_code":"USD","currency_symbol":"$","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":216,"iso_name":"UZBEKISTAN","iso":"UZ","iso3":"UZB","name":"Uzbekistan","numcode":860,"active":true,"currency_code":"UZS","currency_symbol":"so'm","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":217,"iso_name":"VANUATU","iso":"VU","iso3":"VUT","name":"Vanuatu","numcode":548,"active":true,"currency_code":"VUV","currency_symbol":"Vt","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":218,"iso_name":"VENEZUELA","iso":"VE","iso3":"VEN","name":"Venezuela","numcode":862,"active":true,"currency_code":"VES","currency_symbol":"Bs","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":219,"iso_name":"VIET NAM","iso":"VN","iso3":"VNM","name":"Viet Nam","numcode":704,"active":true,"currency_code":"VND","currency_symbol":"₫","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":12,"iso_name":"AUSTRALIA","iso":"AU","iso3":"AUS","name":"Australia","numcode":36,"active":true,"currency_code":"AUD","currency_symbol":"$","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0},{"id":222,"iso_name":"WALLIS AND FUTUNA","iso":"WF","iso3":"WLF","name":"Wallis and Futuna","numcode":876,"active":true,"currency_code":"XPF","currency_symbol":"Fr","separator":".","delimiter":",","address3":false,"state":true,"passport":false,"itn":false,"tax_rate":0}],"variants":[{"id":2698,"title":"","image_url":null,"buyable":true,"option_value_ids":[],"allow_subscription":true,"subscription_only":false,"shipping_included_in_price":false,"variant_countries":[{"id":5042,"price":"87.56","shipping":"1.0","tax":"0.0","currency_code":"USD","currency_symbol":"$","display_price":"$87.56","country_iso":"US","subscription_price":"87.56","display_wholesale_price":"$0.00","display_wholesale_subscription_price":"$0.00","wholesale_price":"0.0","wholesale_subscription_price":"0.0","country":{"id":214,"iso":"US","iso_name":"UNITED STATES","iso3":"USA","name":"United States","tax_rate":0}}]}],"options":[],"prompts":[],"enroll_products":[],"enrollment_packs":[]}
attached_shareables[].​contentstring
attached_shareables[].​positionstring
attached_shareables[].​stylestring
attached_shareables[].​share_linkstring
attached_shareables[].​attachment_typestring
subtitlesobject(Subtitles)
Example: {"es":"","en":"https://cdn.filestackcontent.com/kkhH61mFQbSVSh4s2bU4"}
commentsArray of objects(Comment)
Example: [{"id":7646,"body":"8v3ov0","deleted_at":null,"full_name":null,"first_name":null,"last_name":null,"image_url":null,"relateable_id":773,"relateable_type":"Medium","likes":0,"liked":false,"replies":[],"created_at":"2024-04-29T10:26:28.784Z","contact_id":2470520,"user_id":null,"user":{}}]
]
Response
application/json
[ { "id": 8504, "user_id": null, "media_type": "share", "media_format": "png", "image_url": "https://ik.imagekit.io/fluid/s3/tr:n-video_poster/JqmCfzdPTQCdVtPKnHIA_fluid+logo.png", "video_url": "", "pdf_url": "", "title": "test", "description": {}, "stripped": "test", "kind": "image", "active": true, "visibility": null, "share_link": null, "views": 0, "leads": 0, "language_id": 980190962, "watch": null, "video_status": null, "duration": 0, "cta_url": "", "cta_button_text": "Learn More", "cta_enabled": false, "cta_action_type": "visit_on_click", "video_shopping_enabled": false, "prompts_enabled": false, "label": {}, "display_tag": null, "prompts": [], "attached_shareables": [] } ]

Get Media Details

Request

Retrieves the media with given id.

Path
idintegerrequired

The unique identifier of the media to retrieve

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media/{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
Example: 6
user_idstringrequired
media_typestringrequired
Example: "training"
media_formatstringrequired
Example: "mp4"
image_urlstringrequired
Example: "https://ik.imagekit.io/fluid/s3/tr:n-video_poster/e8phkIMDRVywwuq67sPb_AzTQlNIQw6rTejzR2Fig_lotion_bottles.jpg"
video_urlstringrequired
Example: "https://cdn.filestackcontent.com/Tj1fbDRtQ7uXT0FynG0s"
pdf_urlstringrequired
titlestringrequired
Example: "Go Time Product Training"
descriptionobject(Description19)required
Example: {"id":2025,"name":"description","body":"<div>Minus eum proident, .</div>","record_type":"Product","record_id":1981,"created_at":"2022-06-17T09:25:58.301Z","updated_at":"2022-06-17T09:25:58.301Z","locale":null}
description.​idinteger(int32)required
Example: 2025
description.​namestringrequired
Example: "description"
description.​bodystringrequired
Example: "<div>Minus eum proident, .</div>"
description.​record_typestringrequired
Example: "Product"
description.​record_idinteger(int32)required
Example: 1981
description.​created_atstringrequired
Example: "2022-06-17T09:25:58.301Z"
description.​updated_atstringrequired
Example: "2022-06-17T09:25:58.301Z"
description.​localestringrequired
strippedstringrequired
Example: "GO time provides healthy energy! It supports weight loss, energy, and hydration. Click on the attachment link to download the PDF version"
kindstringrequired
activebooleanrequired
Example: true
visibilitystringrequired
share_linkstringrequired
viewsinteger(int32)required
leadsinteger(int32)required
language_idinteger(int32)required
Example: 980190962
watchstringrequired
video_statusstringrequired
durationinteger(int32)required
Example: 556
cta_urlstringrequired
cta_button_textstringrequired
cta_enabledbooleanrequired
cta_action_typestringrequired
Example: "visit_on_click"
video_shopping_enabledbooleanrequired
prompts_enabledbooleanrequired
subtitlesobjectrequired
Example: {}
labelstringrequired
display_tagstringrequired
attached_shareablesArray of stringsrequired
Example: []
Response
application/json
{ "id": 6, "user_id": null, "media_type": "training", "media_format": "mp4", "image_url": "https://ik.imagekit.io/fluid/s3/tr:n-video_poster/e8phkIMDRVywwuq67sPb_AzTQlNIQw6rTejzR2Fig_lotion_bottles.jpg", "video_url": "https://cdn.filestackcontent.com/Tj1fbDRtQ7uXT0FynG0s", "pdf_url": "", "title": "Go Time Product Training", "description": { "id": 20, "name": "description", "body": "GO time provides healthy energy! It supports weight loss, energy, and hydration. Click on the attachment link to download the PDF version", "record_type": "Medium", "record_id": 6, "created_at": "2021-06-08T04:23:35.771Z", "updated_at": "2021-06-08T04:23:35.771Z", "locale": null }, "stripped": "GO time provides healthy energy! It supports weight loss, energy, and hydration. Click on the attachment link to download the PDF version", "kind": null, "active": true, "visibility": null, "share_link": null, "views": 0, "leads": 0, "language_id": 980190962, "watch": null, "video_status": null, "duration": 556, "cta_url": null, "cta_button_text": null, "cta_enabled": false, "cta_action_type": "visit_on_click", "video_shopping_enabled": false, "prompts_enabled": false, "subtitles": {}, "label": null, "display_tag": null, "attached_shareables": [] }

Update Media Item

Request

Updates an existing media item with the specified ID, including its metadata, content URLs, availability settings, and associated features like CTA actions, video shopping capabilities, and subtitles.

Path
idintegerrequired

The unique identifier of the media item to update

Bodyapplication/jsonrequired
mediumobject(Medium1)required
Example: {"video_shopping_enabled":true,"attached_shareables_attributes":[{"attachment_type":"Product","attachment_id":27,"timestamp":"00:00:05"},{"attachment_type":"Product","attachment_id":4,"timestamp":"00:00:15"}],"subtitles":[{"lang":"en","src":"https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"},{"lang":"de","src":""}]}
medium.​video_shopping_enabledbooleanrequired
Example: true
medium.​attached_shareables_attributesArray of objects(AttachedShareablesAttribute1)required
Example: [{"attachment_type":"Product","attachment_id":27,"timestamp":"00:00:05"},{"attachment_type":"Product","attachment_id":4,"timestamp":"00:00:15"}]
medium.​attached_shareables_attributes[].​attachment_typestringrequired
Example: "Product"
medium.​attached_shareables_attributes[].​attachment_idinteger(int32)required
Example: 27
medium.​attached_shareables_attributes[].​timestampstringrequired
Example: "00:00:05"
medium.​subtitlesArray of objects(Subtitles2)required
Example: [{"lang":"en","src":"https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"},{"lang":"de","src":""}]
medium.​subtitles[].​langstringrequired
Example: "en"
medium.​subtitles[].​srcstringrequired
Example: "https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"
curl -i -X PATCH \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "medium": {
      "video_shopping_enabled": true,
      "attached_shareables_attributes": [
        {
          "attachment_type": "Product",
          "attachment_id": 27,
          "timestamp": "00:00:05"
        },
        {
          "attachment_type": "Product",
          "attachment_id": 4,
          "timestamp": "00:00:15"
        }
      ],
      "subtitles": [
        {
          "lang": "en",
          "src": "https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"
        },
        {
          "lang": "de",
          "src": ""
        }
      ]
    }
  }'

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 Media Item

Request

Deletes a specific media item from the company's media library.

Path
idintegerrequired

The unique identifier of the media item to delete

curl -i -X DELETE \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media/{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"

Create Media Content

Request

Creates a new media content item with specified details including title, type, description and optional attributes like images, videos, PDFs, or presentations. Supports various media types and configurations including CTA actions, video shopping features, and subtitle options.

Query
titlestringrequired

Title of the media content

media_typestringrequired

Type of media content

Enum"share""training""update""upload"
descriptionstringrequired

Detailed description of the media content

languagestring

ISO language code for the media content

Bodyapplication/jsonrequired
mediumobject(Medium)required
Example: {"title":"Subtitles Test","language":"en","media_type":"share","description":"This is the body text of the medium","video_url":"https://videos.pexels.com/video-files/20576968/20576968-hd_1920_1080_25fps.mp4","available_countries":["npl","us","ind","fi"],"tags_attributes":[{"name":"meds"}],"label":{"title":"AD"},"category":"media_category","cta_enabled":true,"cta_action_type":"visit_on_click","cta_button_text":"Learn More","cta_url":"https://google.com","display_shop":true,"video_shopping_enabled":true,"attached_shareables_attributes":[{"attachment_type":"Product","timestamp":"00:00:05"},{"attachment_type":"Product","attachment_id":7}],"subtitles":[{"lang":"en"},{"lang":"de","src":"https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"}],"prompts_attributes":[{"title":"This is a Prompt","content":"This is an example content of a prompt."}]}
medium.​titlestringrequired
Example: "Subtitles Test"
medium.​languagestringrequired
Example: "en"
medium.​media_typestringrequired
Example: "share"
medium.​descriptionstringrequired
Example: "This is the body text of the medium"
medium.​video_urlstringrequired
Example: "https://videos.pexels.com/video-files/20576968/20576968-hd_1920_1080_25fps.mp4"
medium.​available_countriesArray of stringsrequired
Example: ["npl","us","ind","fi"]
medium.​tags_attributesArray of objects(TagsAttribute)required
Example: [{"name":"meds"}]
medium.​tags_attributes[].​namestringrequired
Example: "meds"
medium.​labelobject(Label2)required
Example: {"title":"AD"}
medium.​label.​titlestringrequired
Example: "AD"
medium.​categorystringrequired
Example: "media_category"
medium.​cta_enabledbooleanrequired
Example: true
medium.​cta_action_typestringrequired
Example: "visit_on_click"
medium.​cta_button_textstringrequired
Example: "Learn More"
medium.​cta_urlstringrequired
Example: "https://google.com"
medium.​display_shopbooleanrequired
Example: true
medium.​video_shopping_enabledbooleanrequired
Example: true
medium.​attached_shareables_attributesArray of objects(AttachedShareablesAttribute)required
Example: [{"attachment_type":"Product","timestamp":"00:00:05"},{"attachment_type":"Product","attachment_id":7}]
medium.​attached_shareables_attributes[].​attachment_typestringrequired
Example: "Product"
medium.​attached_shareables_attributes[].​timestampstring
Example: "00:00:05"
medium.​attached_shareables_attributes[].​attachment_idinteger(int32)
medium.​subtitlesArray of objects(Subtitles1)required
Example: [{"lang":"en"},{"lang":"de","src":"https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"}]
medium.​subtitles[].​langstringrequired
Example: "en"
medium.​subtitles[].​srcstring
medium.​prompts_attributesArray of objects(PromptsAttribute)required
Example: [{"title":"This is a Prompt","content":"This is an example content of a prompt."}]
medium.​prompts_attributes[].​titlestringrequired
Example: "This is a Prompt"
medium.​prompts_attributes[].​contentstringrequired
Example: "This is an example content of a prompt."
curl -i -X POST \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/media?description=string&language=string&media_type=share&title=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "medium": {
      "title": "Subtitles Test",
      "language": "en",
      "media_type": "share",
      "description": "This is the body text of the medium",
      "video_url": "https://videos.pexels.com/video-files/20576968/20576968-hd_1920_1080_25fps.mp4",
      "available_countries": [
        "npl",
        "us",
        "ind",
        "fi"
      ],
      "tags_attributes": [
        {
          "name": "meds"
        }
      ],
      "label": {
        "title": "AD"
      },
      "category": "media_category",
      "cta_enabled": true,
      "cta_action_type": "visit_on_click",
      "cta_button_text": "Learn More",
      "cta_url": "https://google.com",
      "display_shop": true,
      "video_shopping_enabled": true,
      "attached_shareables_attributes": [
        {
          "attachment_type": "Product",
          "timestamp": "00:00:05"
        },
        {
          "attachment_type": "Product",
          "attachment_id": 7
        }
      ],
      "subtitles": [
        {
          "lang": "en"
        },
        {
          "lang": "de",
          "src": "https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt"
        }
      ],
      "prompts_attributes": [
        {
          "title": "This is a Prompt",
          "content": "This is an example content of a prompt."
        }
      ]
    }
  }'

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"

Prioritize Media Item

Request

Prioritizes a specific media item by moving it to the top position.

Path
idintegerrequired

The unique identifier of the media item to prioritize

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media/{id}/send_to_top' \
  -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"

Send Media Notifications to Affiliates

Request

Sends notifications about media content to affiliates in specified countries.

Path
idintegerrequired

The ID of the media content

Query
available_countriesstringrequired

Comma-separated list of country ISO codes whose affiliates should be notified

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/fluid.api/company/media/{id}/send_notifications?available_countries=string' \
  -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"

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