Appearance
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
/fluent-cart/v2/settings/payment-methodsRetrieve the configuration and settings for a specific payment method gateway (e.g., Stripe, PayPal).
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
method | string | query | Yes | The 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
/fluent-cart/v2/settings/payment-methodsCreate or update the configuration for a specific payment method gateway.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
method | string | body | Yes | The payment method key (e.g., stripe, paypal, cod). |
settings | object | body | Yes | Key-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
/fluent-cart/v2/settings/payment-methods/allRetrieve 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
/fluent-cart/v2/settings/payment-methods/reorderSet the display order of payment methods on the checkout page.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
order | array | body | Yes | Ordered 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
/fluent-cart/v2/settings/payment-methods/connect/infoRetrieve connection information (OAuth URLs, account status) for a connectable payment gateway.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
method | string | query | Yes | The 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
/fluent-cart/v2/settings/payment-methods/disconnectDisconnect a payment gateway account (e.g., revoke Stripe or PayPal connection).
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
method | string | body | Yes | The payment method key to disconnect (e.g., stripe, paypal). |
mode | string | body | Yes | The 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
/fluent-cart/v2/settings/payment-methods/designCustomize the checkout appearance for a specific payment method, including its label, logo, and instructions.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
method | string | body | Yes | The payment method key (e.g., stripe, paypal, cod). |
checkout_label | string | body | No | Custom label displayed on the checkout form for this method. |
checkout_logo | string | body | No | URL to a custom logo image for the checkout form. |
checkout_instructions | string | body | No | HTML instructions shown on the checkout page when this method is selected. |
thank_you_page_instructions | string | body | No | HTML 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
/fluent-cart/v2/settings/payment-methods/install-addonInstall a payment gateway addon plugin from a remote source (WordPress.org or GitHub).
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
plugin_slug | string | body | Yes | The slug of the plugin to install (e.g., fluent-cart-pro). |
source_type | string | body | Yes | Source type: wordpress (WordPress.org) or github. |
source_link | string | body | Conditional | The 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
/fluent-cart/v2/settings/payment-methods/activate-addonActivate an already-installed payment gateway addon plugin.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
plugin_file | string | body | Yes | The 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
/fluent-cart/v2/settings/payment-methods/paypal/seller-auth-tokenExchange 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
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
authCode | string | body | Yes | The authorization code received from PayPal OAuth redirect. |
sharedId | string | body | Yes | The PayPal partner shared/client ID used during authentication. |
mode | string | body | Yes | Environment 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
/fluent-cart/v2/settings/payment-methods/paypal/webhook/setupRegister a webhook endpoint with PayPal to receive payment event notifications.
- Permission:
super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
mode | string | body | Yes | Environment 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
/fluent-cart/v2/settings/payment-methods/paypal/webhook/checkVerify the current PayPal webhook registration status and set up the webhook if it is missing.
- Permission:
super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
mode | string | query | Yes | Environment 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
/fluent-cart/v2/settings/permissionsRetrieve 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
/fluent-cart/v2/settings/permissionsUpdate the role-to-capability permission mappings for FluentCart.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
capability | object | body | Yes | An 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
/fluent-cart/v2/settings/storeRetrieve all store configuration settings along with the field schema for a given settings tab.
- Permission:
store/settings
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
settings_name | string | query | No | The 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
/fluent-cart/v2/settings/storeUpdate store configuration settings. Submitted values are merged with existing settings.
- Permission:
store/settings - Request Class:
FluentMetaRequest(validates and sanitizes input)
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
settings_name | string | body | Conditional | Settings tab identifier. Required for store_setup tab validation (enforces store_name and store_country). |
store_name | string | body | Conditional | Store name. Required when settings_name is store_setup. Max 200 characters. |
store_logo | object | body | No | Store logo with id (integer), url (string), and title (string). |
currency | string | body | No | Store currency code (e.g., USD, EUR, GBP). |
currency_position | string | body | No | Currency symbol position: before or after. |
decimal_separator | string | body | No | Decimal separator style: dot or comma. |
checkout_button_text | string | body | No | Custom text for the checkout button. |
view_cart_button_text | string | body | No | Custom text for the view cart button. |
cart_button_text | string | body | No | Custom text for the add-to-cart button. |
popup_button_text | string | body | No | Custom text for the product popup button. |
out_of_stock_button_text | string | body | No | Custom text for the out-of-stock button. |
checkout_method_style | string | body | No | Payment method display on checkout: logo or other styles. |
enable_modal_checkout | string | body | No | Enable modal/popup checkout: yes or no. |
show_cart_icon_in_nav | string | body | No | Show cart icon in navigation: yes or no. |
show_cart_icon_in_body | string | body | No | Show floating cart icon: yes or no. |
additional_address_field | string | body | No | Show additional address field: yes or no. |
hide_coupon_field | string | body | No | Hide coupon input on checkout: yes or no. |
user_account_creation_mode | string | body | No | Account creation mode: all, optional, or disabled. |
force_ssl | string | body | No | Force SSL on checkout: yes or no. |
checkout_page_id | integer | body | No | WordPress page ID for the checkout page. |
cart_page_id | integer | body | No | WordPress page ID for the cart page. |
receipt_page_id | integer | body | No | WordPress page ID for the order receipt page. |
shop_page_id | integer | body | No | WordPress page ID for the shop page. |
customer_profile_page_id | integer | body | No | WordPress page ID for the customer profile page. |
customer_profile_page_slug | string | body | No | Custom slug for the customer profile page. |
registration_page_id | integer | body | No | WordPress page ID for the registration page. |
login_page_id | integer | body | No | WordPress page ID for the login page. |
store_address1 | string | body | No | Store address line 1. |
store_address2 | string | body | No | Store address line 2. |
store_city | string | body | No | Store city. |
store_country | string | body | Conditional | Store country code. Required when settings_name is store_setup. Max 200 characters. |
store_postcode | string | body | No | Store postal/zip code. |
store_state | string | body | No | Store state/province code. |
order_mode | string | body | No | Order/payment mode: test or live. |
variation_view | string | body | No | Product variation display: both, grid, or list. |
variation_columns | string | body | No | Variation layout style: masonry or other layouts. |
enable_early_payment_for_installment | string | body | No | Allow early installment payments: yes or no. |
product_slug | string | body | No | Custom product URL slug. |
min_receipt_number | string | body | No | Minimum receipt/invoice number. |
inv_prefix | string | body | No | Invoice number prefix (e.g., INV-). |
frontend_theme | object | body | No | Theme 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
/fluent-cart/v2/settings/modules/plugin-addonsList 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
/fluent-cart/v2/settings/modules/plugin-addons/installInstall a registered plugin addon from its configured source (WordPress.org, GitHub, or CDN).
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
plugin_slug | string | body | Yes | The slug of the addon to install. Must match a registered addon slug. |
source_type | string | body | No | Source type: wordpress, github, or cdn. Defaults to the addon's registered source. |
source_link | string | body | No | URL to the addon source. Defaults to the addon's registered source link. |
asset_path | string | body | No | GitHub 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
/fluent-cart/v2/settings/modules/plugin-addons/activateActivate an already-installed plugin addon.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
plugin_file | string | body | Yes | The 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
/fluent-cart/v2/settings/modulesRetrieve 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": {
"turnstile": { "title": "Turnstile", "description": "...", "type": "...", "component": "..." },
"reviews": { "title": "Reviews", "hidden": false },
"stock_management": { "title": "Stock Management", "description": "...", "type": "...", "component": "...",
"settings": { "enable_advanced_inventory": { "label": "...", "default": "no" } } },
"license": { "title": "Licensing", "description": "...", "type": "...", "component": "..." },
"order_bump": { "title": "Order Bump", "description": "...", "type": "...", "component": "..." },
"dynamic_pricing": { "title": "Dynamic Pricing", "description": "...", "type": "...", "component": "..." },
"mcp": { "title": "MCP", "description": "...", "type": "...", "component": "..." }
}
}
},
"settings": {
"turnstile": {
"active": "no",
"site_key": "",
"secret_key": ""
},
"reviews": {
"active": "yes",
"review_permission_mode": "verified_buyers",
"auto_approve_reviews": "no",
"show_verified_badge": "yes",
"enable_star_rating": "yes",
"star_rating_required": "yes",
"reviews_per_page": 10
},
"stock_management": {
"active": "yes",
"enable_advanced_inventory": "no"
}
}
}fields.modules_settings.schema describes every module the admin can toggle, while settings carries only the modules that have stored values. A module absent from settings has never been configured on that store, so read defaults from the schema rather than assuming the key is present.
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
/fluent-cart/v2/settings/modulesEnable 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:
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
{module_key} | object | body | Yes | Module configuration object. Keys vary per module. |
{module_key}.active | string | body | Yes | Whether 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
/fluent-cart/v2/settings/confirmationUpdate the order confirmation/receipt page settings, including the confirmation type, message content, and the receipt page assignment.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
settings | object | body | Yes | Confirmation settings object. |
settings.confirmation_type | string | body | No | Confirmation behavior: same_page (show confirmation on same page) or custom_page (redirect to a custom page). |
settings.message_to_show | string | body | No | HTML content to display as the order confirmation message. Sanitized with wp_kses_post. |
settings.confirmation_page_id | integer | body | No | WordPress 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
/fluent-cart/v2/settings/confirmation/shortcodeRetrieve 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
/fluent-cart/v2/settings/storage-driversRetrieve all registered file storage drivers and their current status.
- Permission:
is_super_admin
Parameters
None.
Response
json
{
"drivers": {
"local": {
"title": "Local",
"route": "local",
"description": "Local allows to upload file in local file storage",
"logo": "https://example.com/wp-content/plugins/fluent-cart/assets/images/storage-drivers/local.svg",
"dark_logo": null,
"status": true,
"brand_color": "#136196",
"has_bucket": false,
"instance": { "slug": "local", "title": "Local", "brandColor": "#136196" }
},
"s3": {
"title": "Amazon S3",
"route": "s3",
"status": false,
"has_bucket": true,
"need_reconfigure": false,
"buckets": []
},
"r2": {
"title": "Cloudflare R2",
"route": "r2",
"status": false,
"has_bucket": true,
"need_reconfigure": false,
"buckets": []
}
}
}Example
bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers" \
-u "username:app_password"Save Storage Driver Settings
/fluent-cart/v2/settings/storage-driversCreate or update settings for a specific file storage driver.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
driver | string | body | Yes | The storage driver key (e.g., local, s3, bunny). |
settings | object | body | Yes | Driver-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
/fluent-cart/v2/settings/storage-drivers/active-driversRetrieve 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
/fluent-cart/v2/settings/storage-drivers/{driver}Retrieve the configuration settings and field schema for a specific storage driver.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
driver | string | path | Yes | The 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
/fluent-cart/v2/settings/storage-drivers/verify-infoTest the connection to a storage driver using the provided credentials without saving them.
- Permission:
is_super_admin
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
driver | string | body | Yes | The storage driver key (e.g., s3, bunny). |
settings | object | body | Yes | Driver-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
/fluent-cart/v2/checkout-fields/get-fieldsRetrieve 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
/fluent-cart/v2/checkout-fields/save-fieldsUpdate the checkout field visibility and required settings. The endpoint enforces name field logic automatically:
If
first_nameorlast_nameis enabled,full_nameis automatically disabled.If neither
first_namenorlast_nameis enabled,full_nameis automatically enabled and marked as required.If
first_nameis enabled, it is forced to be required. Same forlast_name.Permission:
store/sensitive
Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
settings | object | body | Yes | Checkout field settings object. Only keys matching existing settings are accepted. |
settings.basic_info | object | body | No | Basic information field settings. |
settings.basic_info.{field}.enabled | string | body | No | Whether the field is shown: yes or no. |
settings.basic_info.{field}.required | string | body | No | Whether the field is required: yes or no. |
settings.billing_address | object | body | No | Billing address field settings (same structure as basic_info). |
settings.shipping_address | object | body | No | Shipping 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"
}
}
}
}'