Breaking Changes
You cannot migrate fromV2 endpoints to V3 directly as it’s a breaking change and we’ve rewritten our entire API from the ground up. It took us a year but it was well worth it for the future of our platform.All endpoints from api.pandabase.io/{v1}-{v2} will be reachable until January 1st, 2026, after which we will fully deprecate the old endpoints.New Base URL
The new base URL ispandabase.io/apiAPI Key Changes
For new V3 API keys, you no longer need to specify/shops/{shopId}/<object-name> as the X-Storefront-Id header automatically infers that if you use our SDKs.We have also renamed shop objects to store objects.Example V3 API Key:Available Endpoints
The V3 API includes the following endpoints:/payments/storefront/orders/coupons/products/licenses(only available if you use managed licenses)
/customers
Webhooks
Webhooks now have a new response format. Here’s an example of what you can expect:Features
- Introduced stricter moderation policies for specific categories.
- Enhanced support for moderation on multiple types of content.
- Added support for applying coupons during checkout.
- Enhanced validation and error handling for smoother payment experiences.
- Introduced support for additional currencies, including
EURfor European customers. - New schema improvements to support advanced use cases.
- Added features for guest and authenticated customer management.
- Improved session management and user lifecycle handling.
Fixes
- Resolved issues with file validation and error handling during uploads.
- Improved the accuracy of category and slug validations.
- Addressed bugs in session retrieval and pagination.
Performance
- Enhanced database performance with optimized queries.
- Improved system efficiency by reducing unnecessary computations.
Other
- Refactored several internal services for better maintainability.
New Properties
tax_calculation_enabledlocalized_pricing_enabledregional_pricing_enabledcheckout_collect_phone_enabledcheckout_verify_email_enabledplan
Endpoints Affected
/shops/shops/flags/products/categories/coupons
Renamed Property
cash_apphas been renamed tocashappin thePaymentMethod[]flag object.
Added Payment Methods
venmopaypalmultiple_cards(supporting Visa, MasterCard, etc.)
Removed Property
stripe_connecthas been removed from theFlagobject.
Products
- Added
images[{ id, hash, path, preview_url, resolution }]toProduct[]and theProductobject. - Added
categories[]toProduct[]and theProductobject.
Shops
- Added
icon_urltoShop[]and theShopobject.
Pagination
List request responses now include ameta object with pagination information. The default values are:page_size:10page:1
Filtering and Sorting
Optional capabilities for advanced sorting, filtering and searching has been added to list endpoints.filter(Applies filters to the query using defined operators)- Operators:
eq,ne,gt,gte,lt,lte,in,nin,contains.
- Operators:
sort(Defines the sorting criteria for the results)search(A search term that looks for matches)
- Fixed bugs with File API.
- Advanced sorting and filtering capabilities for the following endpoints:
/products/categories/coupons
- Beta support for subscriptions.
- Beta support for new serial keys.
- Performance enhancements across the API.
New Features
- MoR Model: Introduced an optional MoR model for users who wish to opt in.
- Advanced Analytics: Added support for advanced analytics.
- Dynamic Payments: Implemented support for dynamic payments.
- Idempotency Support: Added idempotency support for
POST,PUT, andPATCHrequests. - Payments Endpoint: Launched a new
/paymentsendpoint to support finite-based payments. - Intent-Based Flags: Introduced new intent-based flags.
- File API: Added a new intent-based file API at
/files.
Updated Endpoints
Updated responses and requests for the following endpoints:/shops/products/categories/coupons/orders/refunds/disputes/carts/webhooks
- Added new
/publicendpoints with multiple options for filtering. - Added new
/onboardingand/loginendpoints. - Deprecated support for
transactions[]and replaced withpayment[]. - Added
flagstoshops.
- Added
/{shopId}/cartsto initiate a new cart. - Added
cartId?optional param to order intent creation object.
Added
/categoriesroute with support for listing categories, creating, getting, deleting, and updating.categoriesfield to the product model.
Changed
Renamed response payloads for the following endpoints:- POST
/products: Now returns{ product: { ... } }instead of directly returning the product object. - GET
/products: Now returns{ products: [{ ... }] }instead of directly returning the product list. - GET
/products/{id}: Now returns{ product: { ... } }instead of directly returning the product object.
Changed
- Renamed
shoproute toshops.
Added
payoutroute with support forpageandpageSizeparameters.recipientsroute for adding payout information.flags.requirements.payoutsandflags.requirements.kyc{status, checked_at}to the/userobject.customerroute with support for auth tokens of types["login", "register", "token"](action-based auth).- Sending of payout emails.
documentsroute for KYC-related tasks.
Removed
paid_atattribute from the payout object.
Updated
recipient.compliance.statusadded to/user.- Successful API operations now return
OKstatus instead ofSUCCESS. - Supported Stripe Express accounts.
- New health check message on
/healthcheckroute. image_hashreturned on public endpoints.coupon.enabledadded to coupons.paymentsroute for payment flow creation.
Updated
- Event terminology from
transactiontoorderobject. - The event type previously referred to as
transactionhas been standardized asorderobject. The associated identifier now returns asorder.id. - Renamed all
transactionevent types toorderfor consistency.
Added
New event types related to payments:paymentevent type.- New status events under
payment:payment.pending: Indicates a pending payment.payment.paid: Denotes a successfully processed payment.payment.success: Signifies a successfully completed payment transaction.payment.failed: Indicates a failed payment transaction.
Added Properties
Account Object
account["flags"]["verified"]account["flags"]["two_fa_enabled"]account["flags"]["deleted"]account["flags"]["requirements"]{"activated"}
Shop Object
shop["analytics"]["total_sales"]shop["analytics"]["total_earned"]shop["analytics"]["pending_balance"]shop["analytics"]["dispute_rate"]shop["flags"]["statement_descriptor"]shop["flags"]["features"]["pmp_enabled"]shop["flags"]["features"]["chargeback_protection_enabled"]shop["flags"]["features"]["storefront_enabled"]shop["flags"]["features"]["checkout_api_enabled"]shop["flags"]["features"]["domain_enabled"]shop["flags"]["features"]["ssl_enabled"]shop["flags"]["connect"]{"id", "enabled", "type"}
Transaction Object
transactions["fee"]transactions["early_fraud_warning"]
Order Object
order["discounted"]order["discount_code"]order["customer"]["customer_id"]order["customer"]["shipping_address_id"]order["customer"]["billing_address_id"]
Order Item
product["name"]asorder_item["name"]product["id"]asorder_item["product_id"]order_itemp["quantity"]
Refund Object
refund["reason"]refund["status"]
Dispute Object
dispute["dispute_id"]dispute["reason"]dispute["status"]dispute["method"]dispute["amount"]dispute["total_amount"]dispute["fee"]
Coupon Object
coupon["name"]coupon["code"]coupon["type"]coupon["value"]coupon["limit"]coupon["limit_enabled"]
Address Objects
address["state"]to theshipping_addressandbilling_addressobjects.analytics["dispute"]to theanalyticsobject.
- General Team release
- Implemented support for
sortBy.status, andsortBy.datequery parameters in the List Orders route.
