Skip to content

Settings API ​

Configure your store settings, payment gateways, modules, file storage, checkout fields, and permissions.

Base URL: https://your-site.com/wp-json/fluent-cart/v2/settings

Policy: StoreSettingsPolicy (most endpoints require is_super_admin)


Payment Methods ​

Get Payment Method Settings ​

GET /fluent-cart/v2/settings/payment-methods

Retrieve the configuration and settings for a specific payment method gateway (e.g., Stripe, PayPal).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringqueryYesThe payment method key to retrieve settings for (e.g., stripe, paypal, cod).

Response ​

json
{
    "settings": {
        "is_active": "yes",
        "payment_mode": "live",
        "checkout_label": "Pay with Stripe",
        "checkout_logo": "https://example.com/stripe-logo.png",
        "checkout_instructions": "",
        "thank_you_page_instructions": ""
    },
    "fields": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods?method=stripe" \
  -u "username:app_password"

Save Payment Method Settings ​

POST /fluent-cart/v2/settings/payment-methods

Create or update the configuration for a specific payment method gateway.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key (e.g., stripe, paypal, cod).
settingsobjectbodyYesKey-value object of gateway-specific settings to save. Fields vary by payment method.

Response ​

json
{
    "settings": {
        "is_active": "yes",
        "payment_mode": "live",
        ...
    },
    "message": "Settings saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "cod",
    "settings": {
      "is_active": "yes",
      "checkout_label": "Cash on Delivery"
    }
  }'

List All Payment Methods ​

GET /fluent-cart/v2/settings/payment-methods/all

Retrieve all registered payment method gateways categorized by availability status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "gateways": [
        {
            "method_key": "stripe",
            "title": "Stripe",
            "is_active": "yes",
            "description": "Accept payments via Stripe",
            "logo": "https://...",
            "upcoming": false
        },
        {
            "method_key": "paypal",
            "title": "PayPal",
            "is_active": "no",
            "requires_pro": true
        }
    ]
}

Gateways are sorted in order: available gateways first, then those requiring Pro, then upcoming.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/all" \
  -u "username:app_password"

Reorder Payment Methods ​

POST /fluent-cart/v2/settings/payment-methods/reorder

Set the display order of payment methods on the checkout page.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
orderarraybodyYesOrdered array of payment method keys (e.g., ["stripe", "paypal", "cod"]).

Response ​

json
{
    "message": "Payment methods order saved successfully",
    "order": ["stripe", "paypal", "cod"]
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/reorder" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "order": ["stripe", "paypal", "cod"]
  }'

Get Payment Method Connection Info ​

GET /fluent-cart/v2/settings/payment-methods/connect/info

Retrieve connection information (OAuth URLs, account status) for a connectable payment gateway.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringqueryYesThe payment method key (e.g., stripe, paypal).

Response ​

The response structure varies by gateway. For Stripe, it may include OAuth redirect URLs and connected account information. For PayPal, it includes test/live redirect URLs and account details.

json
{
    "connect_config": {
        "test_redirect": "https://example.com/wp-admin/?fluent-cart=...",
        "live_redirect": "https://example.com/wp-admin/?fluent-cart=...",
        "disconnect_note": "Disconnecting will prevent..."
    },
    "test_account": { ... },
    "live_account": { ... },
    "settings": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/connect/info?method=paypal" \
  -u "username:app_password"

Disconnect Payment Method ​

POST /fluent-cart/v2/settings/payment-methods/disconnect

Disconnect a payment gateway account (e.g., revoke Stripe or PayPal connection).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key to disconnect (e.g., stripe, paypal).
modestringbodyYesThe environment mode to disconnect: test or live.

Response ​

json
{
    "message": "PayPal settings has been disconnected",
    "settings": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/disconnect" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "paypal",
    "mode": "test"
  }'

Save Payment Method Design ​

POST /fluent-cart/v2/settings/payment-methods/design

Customize the checkout appearance for a specific payment method, including its label, logo, and instructions.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key (e.g., stripe, paypal, cod).
checkout_labelstringbodyNoCustom label displayed on the checkout form for this method.
checkout_logostringbodyNoURL to a custom logo image for the checkout form.
checkout_instructionsstringbodyNoHTML instructions shown on the checkout page when this method is selected.
thank_you_page_instructionsstringbodyNoHTML instructions shown on the thank-you/receipt page.

Response ​

json
{
    "message": "Checkout design settings saved",
    "settings": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/design" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "stripe",
    "checkout_label": "Credit / Debit Card",
    "checkout_logo": "https://example.com/card-icon.png",
    "checkout_instructions": "<p>You will be charged securely via Stripe.</p>"
  }'

Install Payment Addon ​

POST /fluent-cart/v2/settings/payment-methods/install-addon

Install a payment gateway addon plugin from a remote source (WordPress.org or GitHub).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_slugstringbodyYesThe slug of the plugin to install (e.g., fluent-cart-pro).
source_typestringbodyYesSource type: wordpress (WordPress.org) or github.
source_linkstringbodyConditionalThe URL to the plugin source. Required when source_type is github.

Response ​

json
{
    "message": "Payment addon installed successfully!",
    "plugin_file": "fluent-cart-pro/fluent-cart-pro.php"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/install-addon" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_slug": "fluent-cart-pro",
    "source_type": "wordpress"
  }'

Activate Payment Addon ​

POST /fluent-cart/v2/settings/payment-methods/activate-addon

Activate an already-installed payment gateway addon plugin.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_filestringbodyYesThe plugin file path (e.g., fluent-cart-pro/fluent-cart-pro.php).

Response ​

json
{
    "message": "Payment addon activated successfully!"
}

For FluentCart Pro specifically:

json
{
    "message": "FluentCart Pro activated successfully! All premium features are now available."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/activate-addon" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_file": "fluent-cart-pro/fluent-cart-pro.php"
  }'

PayPal Configuration ​

These endpoints are used during the PayPal gateway onboarding and webhook setup process.

Policy: AdminPolicy (requires super_admin)

Exchange PayPal Seller Auth Token ​

POST /fluent-cart/v2/settings/payment-methods/paypal/seller-auth-token

Exchange the PayPal authorization code for a seller access token during the PayPal Connect onboarding flow. This retrieves merchant credentials and saves them to the gateway settings.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
authCodestringbodyYesThe authorization code received from PayPal OAuth redirect.
sharedIdstringbodyYesThe PayPal partner shared/client ID used during authentication.
modestringbodyYesEnvironment mode: test or live.

Response ​

On success, credentials are saved to the PayPal gateway settings and webhooks are automatically registered. No explicit JSON response body is returned.

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/seller-auth-token" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "authCode": "C21AAF...",
    "sharedId": "AaBbCc...",
    "mode": "live"
  }'

Setup PayPal Webhook ​

POST /fluent-cart/v2/settings/payment-methods/paypal/webhook/setup

Register a webhook endpoint with PayPal to receive payment event notifications.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
modestringbodyYesEnvironment mode: test or live.

Response ​

json
{
    "message": "Webhook setup successfully! Please reload the page."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/webhook/setup" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "live"
  }'

Check PayPal Webhook ​

GET /fluent-cart/v2/settings/payment-methods/paypal/webhook/check

Verify the current PayPal webhook registration status and set up the webhook if it is missing.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
modestringqueryYesEnvironment mode: test or live.

Response ​

Returns the webhook status and configuration details from PayPal.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/webhook/check?mode=live" \
  -u "username:app_password"

Permissions ​

Get Permissions ​

GET /fluent-cart/v2/settings/permissions

Retrieve the current role-to-capability permission mappings for FluentCart.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "roles": {
        "administrator": {
            "name": "Administrator",
            "capabilities": {
                "orders/view": true,
                "orders/manage": true,
                "customers/view": true,
                "products/manage": true,
                ...
            }
        },
        "shop_manager": {
            "name": "Shop Manager",
            "capabilities": { ... }
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/permissions" \
  -u "username:app_password"

Save Permissions ​

POST /fluent-cart/v2/settings/permissions

Update the role-to-capability permission mappings for FluentCart.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
capabilityobjectbodyYesAn object mapping WordPress role slugs to their FluentCart capability assignments.

Response ​

json
{
    "message": "Permissions saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/permissions" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": {
      "shop_manager": {
        "orders/view": true,
        "orders/manage": true,
        "customers/view": true,
        "products/manage": false
      }
    }
  }'

Store Settings ​

Get Store Settings ​

GET /fluent-cart/v2/settings/store

Retrieve all store configuration settings along with the field schema for a given settings tab.

  • Permission: store/settings

Parameters ​

ParameterTypeLocationRequiredDescription
settings_namestringqueryNoThe settings tab to return fields for (e.g., store_setup, checkout, pages).

Response ​

json
{
    "settings": {
        "store_name": "My Store",
        "currency": "USD",
        "currency_position": "before",
        "decimal_separator": "dot",
        "checkout_button_text": "Checkout",
        "view_cart_button_text": "View Cart",
        "cart_button_text": "Add To Cart",
        "popup_button_text": "View Product",
        "out_of_stock_button_text": "Not Available",
        "checkout_method_style": "logo",
        "enable_modal_checkout": "no",
        "require_logged_in": "no",
        "show_cart_icon_in_nav": "no",
        "show_cart_icon_in_body": "yes",
        "additional_address_field": "yes",
        "hide_coupon_field": "no",
        "user_account_creation_mode": "all",
        "checkout_page_id": "",
        "cart_page_id": "",
        "receipt_page_id": "",
        "shop_page_id": "",
        "customer_profile_page_id": "",
        "store_address1": "",
        "store_address2": "",
        "store_city": "",
        "store_country": "",
        "store_postcode": "",
        "store_state": "",
        "order_mode": "test",
        "variation_view": "both",
        "variation_columns": "masonry",
        "min_receipt_number": "1",
        "inv_prefix": "INV-",
        "show_email_footer": "yes",
        ...
    },
    "fields": {
        "store_setup": { ... }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/store?settings_name=store_setup" \
  -u "username:app_password"

Save Store Settings ​

POST /fluent-cart/v2/settings/store

Update store configuration settings. Submitted values are merged with existing settings.

  • Permission: store/settings
  • Request Class: FluentMetaRequest (validates and sanitizes input)

Parameters ​

ParameterTypeLocationRequiredDescription
settings_namestringbodyConditionalSettings tab identifier. Required for store_setup tab validation (enforces store_name and store_country).
store_namestringbodyConditionalStore name. Required when settings_name is store_setup. Max 200 characters.
store_logoobjectbodyNoStore logo with id (integer), url (string), and title (string).
currencystringbodyNoStore currency code (e.g., USD, EUR, GBP).
currency_positionstringbodyNoCurrency symbol position: before or after.
decimal_separatorstringbodyNoDecimal separator style: dot or comma.
checkout_button_textstringbodyNoCustom text for the checkout button.
view_cart_button_textstringbodyNoCustom text for the view cart button.
cart_button_textstringbodyNoCustom text for the add-to-cart button.
popup_button_textstringbodyNoCustom text for the product popup button.
out_of_stock_button_textstringbodyNoCustom text for the out-of-stock button.
checkout_method_stylestringbodyNoPayment method display on checkout: logo or other styles.
enable_modal_checkoutstringbodyNoEnable modal/popup checkout: yes or no.
show_cart_icon_in_navstringbodyNoShow cart icon in navigation: yes or no.
show_cart_icon_in_bodystringbodyNoShow floating cart icon: yes or no.
additional_address_fieldstringbodyNoShow additional address field: yes or no.
hide_coupon_fieldstringbodyNoHide coupon input on checkout: yes or no.
user_account_creation_modestringbodyNoAccount creation mode: all, optional, or disabled.
force_sslstringbodyNoForce SSL on checkout: yes or no.
checkout_page_idintegerbodyNoWordPress page ID for the checkout page.
cart_page_idintegerbodyNoWordPress page ID for the cart page.
receipt_page_idintegerbodyNoWordPress page ID for the order receipt page.
shop_page_idintegerbodyNoWordPress page ID for the shop page.
customer_profile_page_idintegerbodyNoWordPress page ID for the customer profile page.
customer_profile_page_slugstringbodyNoCustom slug for the customer profile page.
registration_page_idintegerbodyNoWordPress page ID for the registration page.
login_page_idintegerbodyNoWordPress page ID for the login page.
store_address1stringbodyNoStore address line 1.
store_address2stringbodyNoStore address line 2.
store_citystringbodyNoStore city.
store_countrystringbodyConditionalStore country code. Required when settings_name is store_setup. Max 200 characters.
store_postcodestringbodyNoStore postal/zip code.
store_statestringbodyNoStore state/province code.
order_modestringbodyNoOrder/payment mode: test or live.
variation_viewstringbodyNoProduct variation display: both, grid, or list.
variation_columnsstringbodyNoVariation layout style: masonry or other layouts.
enable_early_payment_for_installmentstringbodyNoAllow early installment payments: yes or no.
product_slugstringbodyNoCustom product URL slug.
min_receipt_numberstringbodyNoMinimum receipt/invoice number.
inv_prefixstringbodyNoInvoice number prefix (e.g., INV-).
frontend_themeobjectbodyNoTheme color overrides. Object of key-value pairs where values are hex colors.

Response ​

json
{
    "data": {
        "store_name": "My Store",
        "currency": "USD",
        ...
    }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/store" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings_name": "store_setup",
    "store_name": "My Awesome Store",
    "store_country": "US",
    "currency": "USD",
    "order_mode": "live"
  }'

Modules ​

Get Plugin Addons ​

GET /fluent-cart/v2/settings/modules/plugin-addons

List all registered plugin addons (e.g., Elementor Blocks) with their installation and activation status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "addons": {
        "elementor-block": {
            "title": "Elementor Blocks",
            "description": "Enable to get Elementor Blocks for FluentCart. Minimum Requirement: Elementor V3.34",
            "logo": "https://...",
            "dark_logo": "https://...",
            "plugin_slug": "fluent-cart-elementor-blocks",
            "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php",
            "source_type": "cdn",
            "source_link": "https://addons-cdn.fluentcart.com/fluent-cart-elementor-blocks.zip",
            "upcoming": false,
            "repo_link": "https://fluentcart.com/fluentcart-addons",
            "is_installed": false,
            "is_active": false
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons" \
  -u "username:app_password"

Install Plugin Addon ​

POST /fluent-cart/v2/settings/modules/plugin-addons/install

Install a registered plugin addon from its configured source (WordPress.org, GitHub, or CDN).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_slugstringbodyYesThe slug of the addon to install. Must match a registered addon slug.
source_typestringbodyNoSource type: wordpress, github, or cdn. Defaults to the addon's registered source.
source_linkstringbodyNoURL to the addon source. Defaults to the addon's registered source link.
asset_pathstringbodyNoGitHub release asset path (defaults to zipball_url).

Response ​

json
{
    "message": "Addon installed successfully",
    "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons/install" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_slug": "fluent-cart-elementor-blocks"
  }'

Activate Plugin Addon ​

POST /fluent-cart/v2/settings/modules/plugin-addons/activate

Activate an already-installed plugin addon.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_filestringbodyYesThe plugin file path to activate (e.g., fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php).

Response ​

json
{
    "message": "Addon activated successfully."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons/activate" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php"
  }'

Get Module Settings ​

GET /fluent-cart/v2/settings/modules

Retrieve all module (feature toggle) settings and their field definitions.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "fields": {
        "modules_settings": {
            "title": "Features & addon",
            "type": "section",
            "class": "no-padding",
            "disable_nesting": true,
            "columns": {
                "default": 1,
                "md": 1
            },
            "schema": {
                "shipping": {
                    "title": "Shipping",
                    "type": "toggle",
                    ...
                },
                "tax": {
                    "title": "Tax",
                    "type": "toggle",
                    ...
                },
                "coupons": { ... },
                "subscriptions": { ... }
            }
        }
    },
    "settings": {
        "shipping": {
            "active": "yes"
        },
        "tax": {
            "active": "no"
        },
        ...
    }
}

Module keys are dynamically registered via the fluent_cart/module_setting/fields filter.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/modules" \
  -u "username:app_password"

Save Module Settings ​

POST /fluent-cart/v2/settings/modules

Enable or disable modules (features) and update their configuration. Fires fluent_cart/module/activated/{key} or fluent_cart/module/deactivated/{key} hooks when a module's active status changes.

  • Permission: is_super_admin

Parameters ​

The request body should include module key-value pairs matching the registered module keys. Each module object typically contains:

ParameterTypeLocationRequiredDescription
{module_key}objectbodyYesModule configuration object. Keys vary per module.
{module_key}.activestringbodyYesWhether the module is enabled: yes or no.

Only keys returned by ModuleSettings::validKeys() (derived from registered module fields) are accepted. Unrecognized keys are ignored.

Response ​

json
{
    "message": "Settings saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "shipping": {
      "active": "yes"
    },
    "tax": {
      "active": "no"
    },
    "coupons": {
      "active": "yes"
    }
  }'

Confirmation Pages ​

Save Confirmation Settings ​

POST /fluent-cart/v2/settings/confirmation

Update the order confirmation/receipt page settings, including the confirmation type, message content, and the receipt page assignment.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
settingsobjectbodyYesConfirmation settings object.
settings.confirmation_typestringbodyNoConfirmation behavior: same_page (show confirmation on same page) or custom_page (redirect to a custom page).
settings.message_to_showstringbodyNoHTML content to display as the order confirmation message. Sanitized with wp_kses_post.
settings.confirmation_page_idintegerbodyNoWordPress page ID for a custom confirmation/receipt page. Also updates the store's receipt_page_id.

Response ​

json
{
    "confirmation_type": "same_page",
    "message_to_show": "<p>Thank you for your order!</p>"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/confirmation" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "confirmation_type": "custom_page",
      "confirmation_page_id": 42,
      "message_to_show": "<h2>Order Confirmed!</h2><p>Thank you for your purchase.</p>"
    }
  }'

Get Email Shortcodes ​

GET /fluent-cart/v2/settings/confirmation/shortcode

Retrieve available shortcodes/merge tags that can be used in email notification templates and confirmation messages.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "data": {
        "order": {
            "title": "Order",
            "shortcodes": {
                "{{order.id}}": "Order ID",
                "{{order.total}}": "Order Total",
                "{{order.status}}": "Order Status",
                ...
            }
        },
        "customer": {
            "title": "Customer",
            "shortcodes": {
                "{{customer.first_name}}": "First Name",
                "{{customer.email}}": "Email",
                ...
            }
        },
        "store": {
            "title": "Store",
            "shortcodes": {
                "{{store.name}}": "Store Name",
                ...
            }
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/confirmation/shortcode" \
  -u "username:app_password"

Storage Drivers ​

Manage file storage drivers for digital product delivery (e.g., local filesystem, Amazon S3, Bunny CDN).

List All Storage Drivers ​

GET /fluent-cart/v2/settings/storage-drivers

Retrieve all registered file storage drivers and their current status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "drivers": [
        {
            "key": "local",
            "title": "Local Storage",
            "description": "Store files on your server",
            "is_active": true,
            "logo": "https://..."
        },
        {
            "key": "s3",
            "title": "Amazon S3",
            "description": "Store files on Amazon S3",
            "is_active": false,
            "logo": "https://..."
        }
    ]
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers" \
  -u "username:app_password"

Save Storage Driver Settings ​

POST /fluent-cart/v2/settings/storage-drivers

Create or update settings for a specific file storage driver.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringbodyYesThe storage driver key (e.g., local, s3, bunny).
settingsobjectbodyYesDriver-specific configuration settings. Fields vary by driver.

Response ​

json
{
    "message": "Settings saved successfully",
    "data": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "driver": "s3",
    "settings": {
      "access_key": "AKIA...",
      "secret_key": "wJalr...",
      "bucket": "my-store-files",
      "region": "us-east-1"
    }
  }'

Get Active Storage Drivers ​

GET /fluent-cart/v2/settings/storage-drivers/active-drivers

Retrieve only the currently active/enabled file storage drivers.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "drivers": [
        {
            "key": "local",
            "title": "Local Storage",
            "is_active": true,
            ...
        }
    ]
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/active-drivers" \
  -u "username:app_password"

Get Storage Driver Settings ​

GET /fluent-cart/v2/settings/storage-drivers/{driver}

Retrieve the configuration settings and field schema for a specific storage driver.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringpathYesThe storage driver key (e.g., local, s3, bunny).

Response ​

json
{
    "settings": {
        "access_key": "AKIA...",
        "secret_key": "****",
        "bucket": "my-store-files",
        "region": "us-east-1"
    },
    "fields": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/s3" \
  -u "username:app_password"

Verify Storage Driver Connection ​

POST /fluent-cart/v2/settings/storage-drivers/verify-info

Test the connection to a storage driver using the provided credentials without saving them.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringbodyYesThe storage driver key (e.g., s3, bunny).
settingsobjectbodyYesDriver-specific credentials and configuration to verify. Fields vary by driver.

Response ​

json
{
    "message": "Connection verified successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/verify-info" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "driver": "s3",
    "settings": {
      "access_key": "AKIA...",
      "secret_key": "wJalr...",
      "bucket": "my-store-files",
      "region": "us-east-1"
    }
  }'

Checkout Fields ​

Manage which fields are displayed on the checkout form and their required/optional status.

Base URL: https://your-site.com/wp-json/fluent-cart/v2/checkout-fields

Policy: StoreSensitivePolicy (requires store/sensitive capability)

Get Checkout Fields ​

GET /fluent-cart/v2/checkout-fields/get-fields

Retrieve the checkout field configuration including the schema definition and current settings.

  • Permission: store/sensitive

Parameters ​

None.

Response ​

json
{
    "fields": {
        "basic_info": {
            "full_name": {
                "label": "Full Name",
                "type": "text",
                "configurable": true
            },
            "first_name": {
                "label": "First Name",
                "type": "text",
                "configurable": true
            },
            "last_name": {
                "label": "Last Name",
                "type": "text",
                "configurable": true
            },
            "email": {
                "label": "Email",
                "type": "email",
                "configurable": false
            }
        },
        "billing_address": { ... },
        "shipping_address": { ... }
    },
    "settings": {
        "basic_info": {
            "full_name": {
                "enabled": "yes",
                "required": "yes"
            },
            "first_name": {
                "enabled": "no",
                "required": "no"
            },
            "last_name": {
                "enabled": "no",
                "required": "no"
            }
        },
        "billing_address": { ... },
        "shipping_address": { ... }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/checkout-fields/get-fields" \
  -u "username:app_password"

Save Checkout Fields ​

POST /fluent-cart/v2/checkout-fields/save-fields

Update the checkout field visibility and required settings. The endpoint enforces name field logic automatically:

  • If first_name or last_name is enabled, full_name is automatically disabled.

  • If neither first_name nor last_name is enabled, full_name is automatically enabled and marked as required.

  • If first_name is enabled, it is forced to be required. Same for last_name.

  • Permission: store/sensitive

Parameters ​

ParameterTypeLocationRequiredDescription
settingsobjectbodyYesCheckout field settings object. Only keys matching existing settings are accepted.
settings.basic_infoobjectbodyNoBasic information field settings.
settings.basic_info.{field}.enabledstringbodyNoWhether the field is shown: yes or no.
settings.basic_info.{field}.requiredstringbodyNoWhether the field is required: yes or no.
settings.billing_addressobjectbodyNoBilling address field settings (same structure as basic_info).
settings.shipping_addressobjectbodyNoShipping address field settings (same structure as basic_info).

Response ​

json
{
    "message": "Checkout fields has been updated successfully."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/checkout-fields/save-fields" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "basic_info": {
        "full_name": {
          "enabled": "no",
          "required": "no"
        },
        "first_name": {
          "enabled": "yes",
          "required": "yes"
        },
        "last_name": {
          "enabled": "yes",
          "required": "no"
        }
      }
    }
  }'

FluentCart developer documentation