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

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

List of subscription plans

Request

List all subscription plans

Query
paginationobject
curl -i -X GET \
  'https://docs.fluid.app/_mock/docs/apis/swagger/api/subscription_plans?active=true&page=0&per_page=100' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

sucess

Bodyapplication/json
subscription_plansArray of objects(Commerce::SubscriptionPlan)required
subscription_plans[].​idintegerrequired
subscription_plans[].​namestringrequired
Example: "Test Subscription Plan"
subscription_plans[].​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plans[].​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plans[].​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plans[].​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plans[].​trial_periodinteger or null>= 1
Example: 1
subscription_plans[].​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plans[].​allow_skippingboolean or null
Default true
Example: true
subscription_plans[].​max_skipsinteger or null>= 1
Example: 1
subscription_plans[].​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plans[].​price_adjustment_amountnumber or null
Example: 10
subscription_plans[].​max_quantityinteger or null>= 1
Example: 100
subscription_plans[].​activeboolean or null
Default true
Example: true
subscription_plans[].​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plans[].​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plans[].​companyobject(Company)required
subscription_plans[].​company.​idintegerrequired
subscription_plans[].​subscriptionsArray of objects(Commerce::Subscription)required
subscription_plans[].​subscriptions[].​idintegerrequired
subscription_plans[].​productsArray of objects(Product)required
subscription_plans[].​products[].​idintegerrequired
metaobject
Response
application/json
{ "subscription_plans": [ {} ], "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z", "pagination": {} } }

Create a subscription plan

Request

Create a subscription plan

Bodyapplication/json
subscription_planobjectrequired
subscription_plan.​namestringrequired
subscription_plan.​billing_intervalintegerrequired
subscription_plan.​billing_interval_unitstringrequired
subscription_plan.​shipping_intervalintegerrequired
subscription_plan.​shipping_interval_unitstringrequired
subscription_plan.​trial_periodinteger
subscription_plan.​trial_period_unitstring
subscription_plan.​allow_skippingboolean
subscription_plan.​max_skipsinteger
subscription_plan.​price_adjustment_typestring
subscription_plan.​price_adjustment_amountnumber
subscription_plan.​max_quantityinteger
subscription_plan.​activeboolean
product_subscription_plansobject
curl -i -X POST \
  https://docs.fluid.app/_mock/docs/apis/swagger/api/subscription_plans \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscription_plan": {
      "name": "string",
      "billing_interval": 0,
      "billing_interval_unit": "string",
      "shipping_interval": 0,
      "shipping_interval_unit": "string",
      "trial_period": 0,
      "trial_period_unit": "string",
      "allow_skipping": true,
      "max_skips": 0,
      "price_adjustment_type": "string",
      "price_adjustment_amount": 0,
      "max_quantity": 0,
      "active": true
    },
    "product_subscription_plans": {
      "product_id": 0,
      "default": true
    }
  }'

Responses

sucess

Bodyapplication/json
subscription_planobject(Commerce::SubscriptionPlan)required
subscription_plan.​idintegerrequired
subscription_plan.​namestringrequired
Example: "Test Subscription Plan"
subscription_plan.​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plan.​allow_skippingboolean or null
Default true
Example: true
subscription_plan.​max_skipsinteger or null>= 1
Example: 1
subscription_plan.​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plan.​price_adjustment_amountnumber or null
Example: 10
subscription_plan.​max_quantityinteger or null>= 1
Example: 100
subscription_plan.​activeboolean or null
Default true
Example: true
subscription_plan.​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​companyobject(Company)required
subscription_plan.​company.​idintegerrequired
subscription_plan.​subscriptionsArray of objects(Commerce::Subscription)required
subscription_plan.​subscriptions[].​idintegerrequired
subscription_plan.​productsArray of objects(Product)required
subscription_plan.​products[].​idintegerrequired
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day, week, month, year", "shipping_interval": 1, "shipping_interval_unit": "day, week, month, year", "trial_period": 1, "trial_period_unit": "day, week, month, year", "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "company": {}, "subscriptions": [], "products": [] }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

Show a subscription plan

Request

Show a subscription plan

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

Responses

sucess

Bodyapplication/json
subscription_planobject(Commerce::SubscriptionPlan)required
subscription_plan.​idintegerrequired
subscription_plan.​namestringrequired
Example: "Test Subscription Plan"
subscription_plan.​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plan.​allow_skippingboolean or null
Default true
Example: true
subscription_plan.​max_skipsinteger or null>= 1
Example: 1
subscription_plan.​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plan.​price_adjustment_amountnumber or null
Example: 10
subscription_plan.​max_quantityinteger or null>= 1
Example: 100
subscription_plan.​activeboolean or null
Default true
Example: true
subscription_plan.​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​companyobject(Company)required
subscription_plan.​company.​idintegerrequired
subscription_plan.​subscriptionsArray of objects(Commerce::Subscription)required
subscription_plan.​subscriptions[].​idintegerrequired
subscription_plan.​productsArray of objects(Product)required
subscription_plan.​products[].​idintegerrequired
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day, week, month, year", "shipping_interval": 1, "shipping_interval_unit": "day, week, month, year", "trial_period": 1, "trial_period_unit": "day, week, month, year", "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "company": {}, "subscriptions": [], "products": [] }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

Update a subscription plan

Request

Update a subscription plan

Path
idintegerrequired
Bodyapplication/json
subscription_planobjectrequired
subscription_plan.​namestringrequired
subscription_plan.​billing_intervalintegerrequired
subscription_plan.​billing_interval_unitstringrequired
subscription_plan.​shipping_intervalintegerrequired
subscription_plan.​shipping_interval_unitstringrequired
subscription_plan.​trial_periodinteger
subscription_plan.​trial_period_unitstring
subscription_plan.​allow_skippingboolean
subscription_plan.​max_skipsinteger
subscription_plan.​price_adjustment_typestring
subscription_plan.​price_adjustment_amountnumber
subscription_plan.​max_quantityinteger
subscription_plan.​activeboolean
product_subscription_plansobject
idintegerrequired
curl -i -X PUT \
  'https://docs.fluid.app/_mock/docs/apis/swagger/api/subscription_plans/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscription_plan": {
      "name": "string",
      "billing_interval": 0,
      "billing_interval_unit": "string",
      "shipping_interval": 0,
      "shipping_interval_unit": "string",
      "trial_period": 0,
      "trial_period_unit": "string",
      "allow_skipping": true,
      "max_skips": 0,
      "price_adjustment_type": "string",
      "price_adjustment_amount": 0,
      "max_quantity": 0,
      "active": true
    },
    "product_subscription_plans": {
      "id": 0,
      "product_id": 0,
      "default": true
    },
    "id": 0
  }'

Responses

sucess

Bodyapplication/json
subscription_planobject(Commerce::SubscriptionPlan)required
subscription_plan.​idintegerrequired
subscription_plan.​namestringrequired
Example: "Test Subscription Plan"
subscription_plan.​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plan.​allow_skippingboolean or null
Default true
Example: true
subscription_plan.​max_skipsinteger or null>= 1
Example: 1
subscription_plan.​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plan.​price_adjustment_amountnumber or null
Example: 10
subscription_plan.​max_quantityinteger or null>= 1
Example: 100
subscription_plan.​activeboolean or null
Default true
Example: true
subscription_plan.​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​companyobject(Company)required
subscription_plan.​company.​idintegerrequired
subscription_plan.​subscriptionsArray of objects(Commerce::Subscription)required
subscription_plan.​subscriptions[].​idintegerrequired
subscription_plan.​productsArray of objects(Product)required
subscription_plan.​products[].​idintegerrequired
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day, week, month, year", "shipping_interval": 1, "shipping_interval_unit": "day, week, month, year", "trial_period": 1, "trial_period_unit": "day, week, month, year", "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "company": {}, "subscriptions": [], "products": [] }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

Delete a subscription plan

Request

Delete a subscription plan

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

Responses

sucess

Bodyapplication/json
subscription_planobject(Commerce::SubscriptionPlan)required
subscription_plan.​idintegerrequired
subscription_plan.​namestringrequired
Example: "Test Subscription Plan"
subscription_plan.​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plan.​allow_skippingboolean or null
Default true
Example: true
subscription_plan.​max_skipsinteger or null>= 1
Example: 1
subscription_plan.​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plan.​price_adjustment_amountnumber or null
Example: 10
subscription_plan.​max_quantityinteger or null>= 1
Example: 100
subscription_plan.​activeboolean or null
Default true
Example: true
subscription_plan.​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day, week, month, year", "shipping_interval": 1, "shipping_interval_unit": "day, week, month, year", "trial_period": 1, "trial_period_unit": "day, week, month, year", "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z" }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

Delete a product from subscription plan

Request

Delete a product from subscription plan

Path
idintegerrequired
Query
product_idintegerrequired
curl -i -X POST \
  'https://docs.fluid.app/_mock/docs/apis/swagger/api/subscription_plans/{id}/remove_product?product_id=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

sucess

Bodyapplication/json
subscription_planobject(Commerce::SubscriptionPlan)required
subscription_plan.​idintegerrequired
subscription_plan.​namestringrequired
Example: "Test Subscription Plan"
subscription_plan.​billing_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​billing_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired
Default "month"
Example: "day, week, month, year"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null
Example: "day, week, month, year"
subscription_plan.​allow_skippingboolean or null
Default true
Example: true
subscription_plan.​max_skipsinteger or null>= 1
Example: 1
subscription_plan.​price_adjustment_typestring or null
Example: "percentage or fixed_amount"
subscription_plan.​price_adjustment_amountnumber or null
Example: 10
subscription_plan.​max_quantityinteger or null>= 1
Example: 100
subscription_plan.​activeboolean or null
Default true
Example: true
subscription_plan.​created_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
subscription_plan.​updated_atstring(date-time)required
Example: "2025-03-10T00:00:00Z"
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day, week, month, year", "shipping_interval": 1, "shipping_interval_unit": "day, week, month, year", "trial_period": 1, "trial_period_unit": "day, week, month, year", "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z" }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

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" } }