Public products listing
Read-only catalog endpoints for active products. Use these in storefronts, pricing pages, or in-app upgrades without calling admin CRUD.
Base URL
https://your-instance.pubflow.com/bridge-payment/productsAuthentication (PUBLIC_PRODUCT_LISTING)
PUBLIC_PRODUCT_LISTING | Behavior |
|---|---|
true | Public — no session required |
false | Authenticated — any valid Flowless session (requireUser) |
List products
GET /bridge-payment/productsQuery parameters
| Parameter | Description |
|---|---|
page, limit, offset | Pagination (page wins offset when both set) |
category_id | Filter |
product_type | physical | digital | service | subscription |
is_recurring | true / false |
search | Text search |
orderBy | name | subtotal_cents | created_at |
orderDir | asc | desc |
Only is_active: true products are returned.
Response
data[] includes catalog fields such as id, name, description, product_type, is_recurring, subtotal_cents, currency, billing_interval, image, metadata, category_id.
Membership mapping
If you encode membership_type_id inside metadata on the product record, downstream flows can tie a subscription to a tier—see Memberships API.
Get product
GET /bridge-payment/products/:idReturns the product when it exists and is active; otherwise 404.
Admin Product Management & Provider Sync
Administrative endpoints allow you to fully manage the lifecycle of your products, including updating pricing, names, and syncing them out to your configured Payment Providers (such as Stripe, PayPal, and Polar).
List Products (Admin)
Admin endpoint to list all products with advanced filtering, search, and pagination. Supports filtering by category, type, recurring status, active status, and full-text search. Results can be ordered by multiple fields.
Pagination Methods (choose one):
- Page-based: Use
pageparameter (1-based). Example:page=2&limit=10returns products 11-20 - Offset-based: Use
offsetparameter. Example:offset=20&limit=10skips first 20 products - If both are provided,
pagetakes priority - Default:
limit=20,page=1(oroffset=0)
Example Requests:
- Page-based:
?page=2&limit=10&product_type=subscription&is_active=true - Offset-based:
?offset=20&limit=10&search=premium&orderBy=name&orderDir=asc
Authorizations
Session ID from Flowless authentication
Parameters
Query Parameters
Page number for pagination (1-based). Alternative to offset. If provided, takes priority over offset.
11Number of products to return per page (default: 20)
20Number of products to skip for pagination (default: 0). Alternative to page parameter.
0Filter by category ID
Filter by product type
"physical""digital""service""subscription"Filter by recurring status (string 'true' or 'false')
"true""false"Filter by active status (string 'true' or 'false')
"true""false"Search term to filter products by name or description
Field to sort results by (default: created_at)
"name""subtotal_cents""created_at""updated_at"Sort direction: 'asc' for ascending, 'desc' for descending (default: desc)
"asc""desc"Responses
List of products with pagination metadata
Get Product by ID (Admin)
Create Product (Admin)
Admin endpoint to create a new product with intelligent pricing. You can provide either subtotal_cents or total_cents, and the system will calculate the missing fields automatically.
Authorizations
Session ID from Flowless authentication
Request Body
Responses
Product created successfully
Update Product (Admin)
Admin endpoint to update an existing product. Supports intelligent pricing updates.
Authorizations
Session ID from Flowless authentication
Parameters
Path Parameters
Product ID
Request Body
Responses
Product updated successfully
Delete Product (Admin)
Admin endpoint to delete a product. This will also remove it from payment providers if synced.
Authorizations
Session ID from Flowless authentication
Parameters
Path Parameters
Product ID
Responses
Product deleted successfully
Syncing Products to Providers (Polar / Stripe / PayPal)
When you make structural or pricing changes to a product, you may need to synchronize them with your payment provider configurations so that the correct mapping IDs and prices reflect on Polar or Stripe.
Bridge Payments offers atomic sync endpoints:
Sync Product with Provider (Admin)
Admin endpoint to synchronize a product with a payment provider (e.g., Stripe or Polar). Creates or updates the product in the provider's system.
Authorizations
Session ID from Flowless authentication
Parameters
Path Parameters
Product ID
Request Body
Responses
Product synced successfully
Sync Specific Products (Admin)
Admin endpoint to synchronize specific products with a payment provider. Useful for selective syncing instead of bulk operations.
Authorizations
Session ID from Flowless authentication
Request Body
Responses
Products synced successfully
Sync All Products with Specific Provider (Admin)
Admin endpoint to bulk synchronize all products with a specific payment provider (e.g., Stripe or Polar).
Authorizations
Session ID from Flowless authentication
Parameters
Path Parameters
Payment provider ID
"stripe""paypal""polar""authorize_net"Request Body
Responses
Provider sync completed
Polar Seamless Sync
When using Polar, calling the sync routes ensures your Bridge Payment products correctly provision or resolve the native Polar Benefit & Product IDs. This avoids manual data entry and prevents discrepancies between your local instance and your Polar dashboard.
Related
- Subscriptions API
- Memberships API
- Polar Support
- Environment Setup —
PUBLIC_PRODUCT_LISTING