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://fluid-commerce.redocly.app/_mock/docs/apis/swagger/
Production server with company subdomain
https://{company}.fluid.app/
Local development server
http://fluid.lvh.me:{port}/

Admins

Operations

Agreements

Operations

ApplePay

Operations

Application Themes

Operations

ApplicationThemeTemplates

Operations

Authentication

Operations

Callback Definitions

Operations

Callback Registrations

Operations

Carts

Operations

Commerce Orders

Operations

Companies

Operations

Company Custom Catch Ups

Operations

Company Discounts

Operations

Company Mobile Widgets

Operations

Company Pages

Operations

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

Company Webhook Events

Operations

Contacts

Operations

Currencies

Operations

Customer Orders

Operations

CustomerNotes

Operations

Customers

Operations

Domains

Operations

Drop Zones

Operations

Droplet Categories

Operations

Droplet Installations

Operations

Droplets

Operations

Enrollment Packs

Operations

Enrollments

Operations

Fantasy Points

Operations

File Resources

Operations

Fluid Pay

Operations

Form Elements

Operations

Forms

Operations

GlobalEmbeds

Operations

Inventory Levels

Operations

Labels

Operations

Multi Factor Authentications

Operations

Multi-Factor Authentications

Operations

Notifications

Operations

Onboarding

Operations

Order Fulfillments

Operations

Orders

Operations

Payment

Operations

Payment Accounts

Operations

Payment Integrations

Operations

Payments

Operations

Paypal

Operations

Products

Operations

Prompts

Operations

Public Companies

Operations

Public Drop Zones

Operations

Ranks

Operations

Redirects

Operations

Refunds

Operations

Reps

Operations

Roles

Operations

Settings

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://fluid-commerce.redocly.app/_mock/docs/apis/swagger/api/subscription_plans?active=true&page=0&per_page=100&search_query=string&sort_direction=string&sorted_by=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plans[].​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plans[].​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plans[].​trial_periodinteger or null>= 1
Example: 1
subscription_plans[].​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plans[].​split_volumebooleanrequired
Default false
Example: true
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[].​company_defaultboolean or null
Default false
Example: false
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[].​products_countinteger or null
Example: 10
subscription_plans[].​subscribers_countinteger or null
Example: 10
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
Enum"day""week""month""year"
subscription_plan.​shipping_intervalintegerrequired
subscription_plan.​shipping_interval_unitstringrequired
Enum"day""week""month""year"
subscription_plan.​trial_periodinteger
subscription_plan.​trial_period_unitstring
Enum"day""week""month""year"
subscription_plan.​allow_skippingboolean
subscription_plan.​max_skipsinteger
subscription_plan.​split_volumeboolean
subscription_plan.​price_adjustment_typestring
subscription_plan.​price_adjustment_amountnumber
subscription_plan.​max_quantityinteger
subscription_plan.​activeboolean
subscription_plan.​company_defaultboolean
product_subscription_plansobject
curl -i -X POST \
  https://fluid-commerce.redocly.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": "day",
      "shipping_interval": 0,
      "shipping_interval_unit": "day",
      "trial_period": 0,
      "trial_period_unit": "day",
      "allow_skipping": true,
      "max_skips": 0,
      "split_volume": true,
      "price_adjustment_type": "string",
      "price_adjustment_amount": 0,
      "max_quantity": 0,
      "active": true,
      "company_default": true
    },
    "product_subscription_plans": {
      "product_id": 0,
      "default": true
    }
  }'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plan.​split_volumebooleanrequired
Default false
Example: true
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.​company_defaultboolean or null
Default false
Example: false
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.​products_countinteger or null
Example: 10
subscription_plan.​subscribers_countinteger or null
Example: 10
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", "shipping_interval": 1, "shipping_interval_unit": "day", "trial_period": 1, "trial_period_unit": "day", "split_volume": true, "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "company_default": false, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "products_count": 10, "subscribers_count": 10, "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://fluid-commerce.redocly.app/_mock/docs/apis/swagger/api/subscription_plans/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plan.​split_volumebooleanrequired
Default false
Example: true
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.​company_defaultboolean or null
Default false
Example: false
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.​products_countinteger or null
Example: 10
subscription_plan.​subscribers_countinteger or null
Example: 10
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", "shipping_interval": 1, "shipping_interval_unit": "day", "trial_period": 1, "trial_period_unit": "day", "split_volume": true, "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "company_default": false, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "products_count": 10, "subscribers_count": 10, "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
Enum"day""week""month""year"
subscription_plan.​shipping_intervalintegerrequired
subscription_plan.​shipping_interval_unitstringrequired
Enum"day""week""month""year"
subscription_plan.​trial_periodinteger
subscription_plan.​trial_period_unitstring
Enum"day""week""month""year"
subscription_plan.​allow_skippingboolean
subscription_plan.​max_skipsinteger
subscription_plan.​split_volumeboolean
subscription_plan.​price_adjustment_typestring
subscription_plan.​price_adjustment_amountnumber
subscription_plan.​max_quantityinteger
subscription_plan.​activeboolean
subscription_plan.​company_defaultboolean
product_subscription_plansobject
idintegerrequired
curl -i -X PUT \
  'https://fluid-commerce.redocly.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": "day",
      "shipping_interval": 0,
      "shipping_interval_unit": "day",
      "trial_period": 0,
      "trial_period_unit": "day",
      "allow_skipping": true,
      "max_skips": 0,
      "split_volume": true,
      "price_adjustment_type": "string",
      "price_adjustment_amount": 0,
      "max_quantity": 0,
      "active": true,
      "company_default": true
    },
    "product_subscription_plans": {
      "id": 0,
      "product_id": 0,
      "default": true,
      "company_default": true
    },
    "id": 0
  }'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plan.​split_volumebooleanrequired
Default false
Example: true
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.​company_defaultboolean or null
Default false
Example: false
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.​products_countinteger or null
Example: 10
subscription_plan.​subscribers_countinteger or null
Example: 10
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", "shipping_interval": 1, "shipping_interval_unit": "day", "trial_period": 1, "trial_period_unit": "day", "split_volume": true, "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "company_default": false, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "products_count": 10, "subscribers_count": 10, "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://fluid-commerce.redocly.app/_mock/docs/apis/swagger/api/subscription_plans/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plan.​split_volumebooleanrequired
Default false
Example: true
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.​company_defaultboolean or null
Default false
Example: false
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.​products_countinteger or null
Example: 10
subscription_plan.​subscribers_countinteger or null
Example: 10
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day", "shipping_interval": 1, "shipping_interval_unit": "day", "trial_period": 1, "trial_period_unit": "day", "split_volume": true, "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "company_default": false, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "products_count": 10, "subscribers_count": 10 }, "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://fluid-commerce.redocly.app/_mock/docs/apis/swagger/api/subscription_plans/{id}/remove_product?product_id=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

success

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

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​shipping_intervalinteger>= 1required
Default 1
Example: 1
subscription_plan.​shipping_interval_unitstringrequired

Possible values: day, week, month, year

Default "month"
Example: "day"
subscription_plan.​trial_periodinteger or null>= 1
Example: 1
subscription_plan.​trial_period_unitstring or null

Possible values: day, week, month, year

Example: "day"
subscription_plan.​split_volumebooleanrequired
Default false
Example: true
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.​company_defaultboolean or null
Default false
Example: false
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.​products_countinteger or null
Example: 10
subscription_plan.​subscribers_countinteger or null
Example: 10
metaobject
Response
application/json
{ "subscription_plan": { "id": 0, "name": "Test Subscription Plan", "billing_interval": 1, "billing_interval_unit": "day", "shipping_interval": 1, "shipping_interval_unit": "day", "trial_period": 1, "trial_period_unit": "day", "split_volume": true, "allow_skipping": true, "max_skips": 1, "price_adjustment_type": "percentage or fixed_amount", "price_adjustment_amount": 10, "max_quantity": 100, "active": true, "company_default": false, "created_at": "2025-03-10T00:00:00Z", "updated_at": "2025-03-10T00:00:00Z", "products_count": 10, "subscribers_count": 10 }, "meta": { "request_id": "123e4567-e89b-12d3-a456-426614174000", "timestamp": "2021-01-01T00:00:00Z" } }

Subscriptions

Operations

Tags

Operations

Tax Categories

Operations

Tracking Informations

Operations

Tree Nodes

Operations

Trees

Operations

Users

Operations

Variant Countries

Operations

Variants

Operations

Webhooks

Operations