Fluid Commerce APIs (1.0)

The Fluid Commerce 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
E-mail support@fluid.app
License MIT
Languages
Servers
Mock server
https://docs.fluid.app/_mock/docs/apis/swagger/
Production server with company subdomain
https://{company}.fluid.app/
Local development server
http://fluid.lvh.me:{port}/

Agreements

Operations

ApplePay

Operations

Application Themes

Operations

ApplicationThemeTemplates

Operations

Authentication

Operations

Callback Definitions

Operations

Callback Registrations

Operations

Carts

Operations

Company Custom Catch Ups

Operations

Company Discounts

Operations

Company Droplets

Operations

Company Pages

Operations

Company Popups

Operations

Company Settings - Checkout

Operations

Company Settings - Countries

Operations

Company Settings - Languages

Operations

Company Settings - Social Media

Operations

Company Settings - Warehouses

Operations

Contacts

Operations

Currencies

Operations

Customer Orders

Operations

CustomerNotes

Operations

Customers

Operations

Domains

Operations

Drop Zones

Operations

Droplets

Operations

Enrollment Packs

Operations

Enrollments

Operations

Fantasy Points

Operations

Fluid Pay

Operations

GlobalEmbeds

Operations

Inventory Levels

Operations

List inventory levels

Request

List all inventory levels with filters

Query
variant_idsstring

Comma-separated variant_ids. Required if warehouse_ids empty

warehouse_idsstring

Comma-separated warehouse_ids. Required if variant_ids empty

published_tostring

coma-separated values (allowed values: Retail Store, Rep Store, Share tab)

product_tagsstring

Product tags

available_greater_thanstring

Inventory level available greater than

available_less_thanstring

Inventory level available less than

unavailable_greater_thanstring

Inventory level unavailable greater than

unavailable_less_thanstring

Inventory level unavailable less than

committed_greater_thanstring

Inventory level committed greater than

committed_less_thanstring

Inventory level committed less than

on_hand_greater_thanstring

Inventory level on hand greater than

on_hand_less_thanstring

Inventory level on hand less than

searchstring

Search text

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels?available_greater_than=string&available_less_than=string&committed_greater_than=string&committed_less_than=string&on_hand_greater_than=string&on_hand_less_than=string&product_tags=string&published_to=string&search=string&unavailable_greater_than=string&unavailable_less_than=string&variant_ids=string&warehouse_ids=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

Bodyapplication/json
inventory_levelsArray of objects
metaobject
Response
application/json
{ "inventory_levels": [ {} ], "meta": { "request_id": "string", "timestamp": "string", "total_count": 0, "total_pages": 0, "page_size": 0, "current_page": 0 } }

Delete inventory level

Request

Delete a single inventory level

Path
idstringrequired

Id of inventory level to be deleted.

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

Responses

success

Bodyapplication/json
inventory_levelobject
metaobject
Response
application/json
{ "inventory_level": { "id": "string" }, "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Set Inventory Level

Request

Updates an inventory level if found or creates if not found for given variant in a warehouse. Adds an audit log entry for the operation.

Bodyapplication/json
inventory_levelobject
curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/set \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "inventory_level": {
      "variant_id": 1,
      "warehouse_id": 1,
      "on_hand": 10,
      "available": 5,
      "unavailable": 0,
      "committed": 5,
      "reason": "Stock adjustment"
    }
  }'

Responses

Inventory level updated

Bodyapplication/json
inventory_levelobject
metaobject
Response
application/json
{ "inventory_level": { "id": 0, "committed": 0, "available": 0, "on_hand": 0, "unavailable": 0, "warning": "string", "variant": {}, "product": {}, "warehouse": {} }, "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Adjust inventory level

Request

Adjust attribute of an inventory level. It also changes the value of corresponding attribute (for e.g: decreasing value of committed increases value of available). Also logs entry for the operation.

Bodyapplication/json
inventory_levelobject
curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/adjust \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "inventory_level": {
      "id": 0,
      "adjustment_attribute": "on_hand",
      "quantity": 0,
      "reason": "string"
    }
  }'

Responses

Inventory level adjusted

Bodyapplication/json
inventory_levelobject
metaobject
Response
application/json
{ "inventory_level": { "id": 0, "committed": 0, "available": 0, "on_hand": 0, "unavailable": 0, "warning": "string", "variant": {}, "product": {}, "warehouse": {} }, "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Delete multiple inventory levels

Request

Bulk delete inventory levels

Bodyapplication/jsonrequired

Array of inventory level ids to be deleted

inventory_level_idsArray of integersrequired
curl -i -X DELETE \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/bulk_delete \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "inventory_level_ids": [
      0
    ]
  }'

Responses

success

Bodyapplication/json
delete_statusesArray of objectsrequired
Example: [{"inventory_level_id":1,"deleted":true},{"inventory_level_id":2,"deleted":false,"error":"Couldn't find inventory level with id: 2"}]
delete_statuses[].​inventory_level_idintegerrequired
delete_statuses[].​deletedbooleanrequired
delete_statuses[].​errorstring or null
metaobject
Response
application/json
{ "delete_statuses": [ {}, {} ], "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Export inventory level csv

Request

Export inventory levels filtered by variant_ids or warehouse_ids in csv format

Query
variant_idsstring

Comma-separated variant_ids. Required if warehouse_ids empty

warehouse_idsstring

Comma-separated warehouse_ids. Required if variant_ids empty

curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/export_csv?variant_ids=string&warehouse_ids=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

Bodyapplication/json
export_urlstring
metaobject
Response
application/json
{ "export_url": "string", "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Generate a signed URL to upload csv for bulk importing inventory levels

Request

Generate a signed URL to allow users without credentials to perform upload (time-limited access to Cloud Storage)

curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/presigned_csv_url \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

successful

Bodyapplication/json
urlstringrequired
Example: "https://path/to/file/sth.csv"
metaobject
Response
application/json
{ "url": "https://path/to/file/sth.csv", "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Import inventory level with csv url or with a csv file

Request

Import inventory levels from csv url

Bodymultipart/form-data
filestring(binary)

CSV file uploaded as multipart form-data

urlstring

URL to fetch the CSV file

Example: "https://example.com/path/to/csv"
curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/import_csv \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F file=string \
  -F url=https://example.com/path/to/csv

Responses

successful

Bodyapplication/json
createdintegerrequired
Example: 10
updatedintegerrequired
Example: 5
failedintegerrequired
Example: 2
invalid_rowsintegerrequired
Example: 1
import_status_urlstringrequired
Example: "https://fake-url.com/file.csv"
metaobject
Response
application/json
{ "created": 10, "updated": 5, "failed": 2, "invalid_rows": 1, "import_status_url": "https://fake-url.com/file.csv", "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Update multiple inventory levels

Request

Update multiple inventory levels at once

Bodyapplication/json
inventory_levelsArray of objects
curl -i -X PATCH \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/inventory_levels/bulk_update \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "inventory_levels": [
      {
        "id": 0,
        "on_hand": 0,
        "available": 0,
        "unavailable": 0,
        "committed": 0,
        "reason": "lost some items on fire accident"
      }
    ]
  }'

Responses

successful

Bodyapplication/json
inventory_levelsArray of objects
errorsArray of objects
metaobject
Response
application/json
{ "inventory_levels": [ {} ], "errors": [ {} ], "meta": { "request_id": "f5473a8c-8a86-4e0e-b3e8-95392003921b", "timestamp": "2024-12-10T08:04:10Z" } }

Multi-Factor Authentications

Operations

Notifications

Operations

Order Fulfillments

Operations

Orders

Operations

Pages

Operations

Payment

Operations

Payment Accounts

Operations

Payments

Operations

Paypal

Operations

Products

Operations

Public Companies

Operations

Redirects

Operations

Refunds

Operations

Roles

Operations

Shares

Operations

Subscription Orders

Operations

Subscription Plans

Operations

Subscriptions

Operations

Tracking Informations

Operations

Tree Nodes

Operations

Trees

Operations

Users

Operations

Variant Countries

Operations

Webhooks

Operations

returns a list of all droplet categories

Request

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

Responses

returns a list of droplet categories

Bodyapplication/json
droplet_categoriesArray of objects(DropletCategory)
metaobject
Response
application/json
{ "droplet_categories": [ {} ], "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }