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