API 0.8.55

The Flow Commerce REST API provides full access to the global ecommerce platform.

Resources

address_configuration

Operations

Method and Path Description
GET /:organization/address/configurations

Search checkout address configurations.

allocation

Operations

Method and Path Description
GET /:organization/orders/allocations/:number

Order-level price details allocated using a strategy among individual order item units.

attribute

An attribute can be configured to be used in different ways throughout Flow. A common example is to identify a meaningful attribute (e.g. brand) that can then be displayed throughout the Flow console.

Operations

Method and Path Description
GET /:organization/attributes

Search attributes. Always paginated.

POST /:organization/attributes

Add attribute

GET /:organization/attributes/versions

Provides visibility into recent changes of each object, including deletion

GET /:organization/attributes/:key

Returns information about a specific attribute.

PUT /:organization/attributes/:key

Create or update an attribute with the specified key.

DELETE /:organization/attributes/:key

Delete an attribute with the specified key.

catalog

Operations

Method and Path Description
GET /:organization/catalog

Returns information about a specific catalog.

GET /:organization/catalog/restrictions

Search global restrictions. Always paginated.

GET /:organization/catalog/restrictions/:number

Returns a specific globally restricted item.

PUT /:organization/catalog/restrictions/:number

Upsert a global restriction

DELETE /:organization/catalog/restrictions/:number

Delete the global restriction for this catalog item number

GET /:organization/catalog/statistics

Get statistics for this organization’s catalog.

checkout_attribute

A Checkout Attribute defines an attribute that will be made available via the checkout item content. This is useful if you would like to surface a specific attribute (like ‘size’ or ‘color’) in checkout.

Operations

Method and Path Description
GET /:organization/checkout/attributes
POST /:organization/checkout/attributes
GET /:organization/checkout/attributes/:id
PUT /:organization/checkout/attributes/:id
DELETE /:organization/checkout/attributes/:id

checkout_item_content

A Checkout Item Content provides information about an item to support rendering of that item in the context of checkout

Operations

Method and Path Description
GET /:organization/experiences/:experience_key/item/content/checkout

Returns a localized view of 1 or more items in the context of checkout, returning data specifically related to rendering a view of an item in a cart or checkout page.

credit_payment

A Credit Payment records a ‘non cash’ payment against an order (e.g. a store credit, gift card, etc.), recording the amount of that credit and additional details to reconcile payments. The primary purpose of the credit payment is to record that a payment has been made against an order so the remaining balance can be correctly computed.

Operations

Method and Path Description
GET /:organization/credit/payments
POST /:organization/credit/payments
GET /:organization/credit/payments/versions
GET /:organization/credit/payments/:key
PUT /:organization/credit/payments/:key
DELETE /:organization/credit/payments/:key

experience

Experiences define a local experience for a given geographic region

Operations

Method and Path Description
GET /:organization/experiences

Search experiences. Always paginated.

POST /:organization/experiences

Add experience

GET /:organization/experiences/conversions/:base/:amount

Formats the requested amount using the formatting settings for the experience.

GET /:organization/experiences/items

Returns localized information about 1 or more items. The items will be localized based on the experience selected by the query parameters in the order of experience, then country, then ip address.

GET /:organization/experiences/items/:number

Returns information about this item localized based on the query parameters

POST /:organization/experiences/query/builders

Builds a query to search experiences

GET /:organization/experiences/versions

Provides visibility into recent changes of each object, including deletion

GET /:organization/experiences/:experience_key/currency/formats
PUT /:organization/experiences/:experience_key/currency/formats
GET /:organization/experiences/:experience_key/local/items

Returns localized information about 0 or more items given a query for the specified experience.

GET /:organization/experiences/:experience_key/logistics/summary
GET /:organization/experiences/:experience_key/margins
POST /:organization/experiences/:experience_key/margins
GET /:organization/experiences/:experience_key/margins/versions
GET /:organization/experiences/:experience_key/margins/:key
PUT /:organization/experiences/:experience_key/margins/:key
DELETE /:organization/experiences/:experience_key/margins/:key
GET /:organization/experiences/:experience_key/payment-method-types
GET /:organization/experiences/:experience_key/payment/method/rules
PUT /:organization/experiences/:experience_key/payment/method/rules

Change the ordering or payment tags for an experience. Every post must include one entry for each payment method offered by Flow.

GET /:organization/experiences/:experience_key/price/books
POST /:organization/experiences/:experience_key/price/books
PUT /:organization/experiences/:experience_key/price/books
GET /:organization/experiences/:experience_key/price/books/:key
DELETE /:organization/experiences/:experience_key/price/books/:key
GET /:organization/experiences/:key

Returns information about a specific experience.

PUT /:organization/experiences/:key

Update experience with the specified key, creating if it does not exist.

DELETE /:organization/experiences/:key

Delete the experience with this key

POST /:organization/experiences/:key/clone

Clones the experience with the specified key, using data from experience_clone_form.

GET /:organization/experiences/:key/clone/:id

Returns the experience_clone associated with the id.

GET /:organization/experiences/:key/items/:number/price

Returns detailed information on the pricing of this item within this experience

GET /:organization/experiences/:key/pricing

Get the pricing settings for this experience

PUT /:organization/experiences/:key/pricing

Update the pricing settings for this experience

GET /:organization/experiences/:key/promotions/available

Get available promotions for the experience

PUT /:organization/experiences/:key/status

Updates the status of a given experience.

experience_checkout_settings

Operations

Method and Path Description
GET /:organization/experiences/:experience_key/settings/checkout
PUT /:organization/experiences/:experience_key/settings/checkout

experience_defaults

Defines a set of defaults for a given organization and region

Operations

Method and Path Description
GET /:organization/experience/defaults

Returns recommended default settings when creating a new experience

experience_logistics_settings

Controls logistics related settings per experience

Operations

Method and Path Description
GET /:organization/experiences/:experience_key/settings/logistics
PUT /:organization/experiences/:experience_key/settings/logistics

item

The Flow item defines a specific item that can be purchased by a consumer. For many clients, this will map to a Sku.

Operations

Method and Path Description
GET /:organization/catalog/items

Search items. Always paginated.

POST /:organization/catalog/items

Add catalog item(s)

GET /:organization/catalog/items/versions

Provides visibility into recent changes of each object, including deletion

GET /:organization/catalog/items/:number

Returns information about a specific item.

PUT /:organization/catalog/items/:number

Update item with the specified number, creating if it does not exist.

DELETE /:organization/catalog/items/:number

Delete the item with this number

PATCH /:organization/catalog/items/:number/attributes

Update item with the specified attributes.

PUT /:organization/catalog/items/:number/price

Update item with the specified number, creating if it does not exist.

item_form_overlay

The item form overlay defines data to merge into an item form.

Operations

Method and Path Description
GET /:organization/catalog/item/overlays
POST /:organization/catalog/item/overlays

Adds an overlay data to merge into a catalog item

GET /:organization/catalog/item/overlays/:key
PUT /:organization/catalog/item/overlays/:key

Update item overlay with the specified key, creating if it does not exist.

DELETE /:organization/catalog/item/overlays/:key

order

An order represents all of the information about a particular set of line items, including pricing, currency rates, delivery options, etc. All information in an order is guaranteed by Flow - if an order is submitted before its expiration. The intended use case is to create an order as a consumer enters checkout, then to submit that order as part of the user submitting their order. Note that Flow will automatically mark an order submitted if we see payment authorization(s) covering the full balance of an order.

Operations

Method and Path Description
GET /:organization/orders

Search orders. Always paginated.

POST /:organization/orders

Create an order, using the localized information from the experience selected by the query parameters. Note the order must be submitted before its expiration

GET /:organization/orders/identifier/:identifier

Returns information about a specific order using an identifier number

GET /:organization/orders/versions

Provides visibility into recent changes of each order, including deletion

GET /:organization/orders/:number

Returns information about a specific order.

PUT /:organization/orders/:number

Upserts an order. using the localized information from the experience selected by the query parameters. Note the order must be submitted before its expiration

DELETE /:organization/orders/:number

Delete an order. Note that production orders that have already been submitted cannot be deleted (you will see a 422 response in these cases).

GET /:organization/orders/:number/allocations

Order allocations provide a granular view of an order that is targeted for accounting / financial views of an order

POST /:organization/orders/:number/authorizations

Creates an authorization, automatically associating to this order.

PUT /:organization/orders/:number/destination

Updates an order’s destination address

POST /:organization/orders/:number/installment/plan/authorizations

Creates an installment plan for this order, automatically associating to this order.

PUT /:organization/orders/:number/inventory/reservations
PUT /:organization/orders/:number/promotions/:key/free_shipping

Creates a free shipping promotion for this order, automatically applying it to the order if the order meets the defined promotion trigger.

POST /:organization/orders/:number/service/changes
PUT /:organization/orders/:number/submissions

Submits an order. You will get a validation error if the order has already expired (and a new quote could not be automatically recreated for a lower or same price). This method is idempotent - submitting an order a second time has no effect.

PUT /:organization/orders/:number/tax/registration

Validates a tax registration number, proxying to underlying services and recording the result on the order.

DELETE /:organization/orders/:number/tax/registration/:key
GET /:organization/orders/:number/status/fraud

Retrieve the current fraud status for an order.

POST /:organization/orders/:number/labels/documents/invoice

Generate a commercial invoice for the order without providing a label.

order_builder

The Order Builder resource provides an incremental approach to building an order - returning the order details as they exist along with validation errors. The main difference is that this API will never return a 422 - rather it provides a container to view the order in its current state as well as all validation errors

Operations

Method and Path Description
POST /:organization/order/builders
PUT /:organization/order/builders/carts/:number
GET /:organization/order/builders/:number

Returns information about a specific order and any errors associated with the order.

PUT /:organization/order/builders/:number
PUT /:organization/order/builders/:number/attributes
PUT /:organization/order/builders/:number/country
PUT /:organization/order/builders/:number/destination
PUT /:organization/order/builders/:number/duty
PUT /:organization/order/builders/:number/invoice/address

Update the customer invoice address

PUT /:organization/order/builders/:number/tax/registration

Validates a tax registration number, proxying to underlying services and recording the result on the order.

order_estimate

Lightweight estimate for a group of items without any customer-related information. This will contain available estimates on shipping, taxes, and duties.

Operations

Method and Path Description
POST /:organization/order-estimates

Create an order estimate, using the localized information from the experience selected by the query parameters. This is similar to the POST orders endpoint, except this just returns an estimate and cannot be submitted.

GET /:organization/order-estimates/:number
PUT /:organization/order-estimates/:number

order_identifier

Represents alternate identifiers that can be used to lookup an order. Common use cases are to support attaching a primary identifier (e.g. a nice order number) post order submission or attaching IDs that are used by the warehouse to ship the orders.

Operations

Method and Path Description
GET /:organization/order-identifiers
POST /:organization/order-identifiers
GET /:organization/order-identifiers/versions
GET /:organization/order-identifiers/:identifier
PUT /:organization/order-identifiers/:identifier
DELETE /:organization/order-identifiers/:identifier

order_number_generator

Operations

Method and Path Description
GET /:organization/order/number/generators
PUT /:organization/order/number/generators
DELETE /:organization/order/number/generators

order_promotion

Operations

Method and Path Description
DELETE /:organization/order/promotions/:key

Deletes the order promotion with the specified key

order_summary

The order summary is a view of the order summary object with the order prices flattened to keys.

Operations

Method and Path Description
GET /:organization/order/summaries/:number

organization

Operations

Method and Path Description
GET /:organization/countries

The countries resources provides a unique list of all of the countries for which an experience exists. We generate this list of countries by iterating through all of the experience regions, and collecting all of the countries.

GET /:organization/countries/destinations

List of all destination countries available for this organization, including countries within a world experience.

GET /organizations

Search organizations. Always paginated.

POST /organizations

Create a new organization.

GET /organizations/versions

Provides visibility into recent changes of each object, including deletion

GET /organizations/:organization_id

Returns information about a specific organization.

PUT /organizations/:organization_id

Update or create an organization with the specified id.

DELETE /organizations/:organization_id

Delete the organization with this id

GET /organizations/:organization_id/settings/currencies

Returns currencies for a specific organization.

GET /organizations/:organization_id/settings/regions

Returns the region settings associated to a specific organization.

GET /organizations/:organization_id/settings/regions/countries/available

Returns the list of enabled countries based on the region settings for a specific organization

PUT /organizations/:organization_id/settings/regions/:region

Updates or creates a region setting for a specific organization

DELETE /organizations/:organization_id/settings/regions/:region

Removes the setting for this region for a specific organization

payment_method_rule

Returns payment methods that are enabled for an organization and available for the provided country and currency.

Operations

Method and Path Description
GET /:organization/payment-method-rules deprecated:

Path is deprecated. Use /:organization/payment/method/rules

GET /:organization/payment/method/rules

price_book

Operations

Method and Path Description
GET /:organization/price/books
POST /:organization/price/books

Create a price book.

GET /:organization/price/books/:key

Returns information about a specific price book.

PUT /:organization/price/books/:key

Create or update a price book.

DELETE /:organization/price/books/:key

Deletes the specified price book

price_book_item

Operations

Method and Path Description
GET /:organization/price/books/:price_book_key/items
POST /:organization/price/books/:price_book_key/items

Create a price book item.

GET /:organization/price/books/:price_book_key/items/:key

Returns information about a specific price book item.

PUT /:organization/price/books/:price_book_key/items/:key

Create or update a price book item.

DELETE /:organization/price/books/:price_book_key/items/:key

Deletes the specified price book item

subcatalog

A configuration with custom query to select a subset of master catalog items for a localized experience

Operations

Method and Path Description
GET /:organization/catalog/subcatalogs

Search subcatalogs. Always paginated.

POST /:organization/catalog/subcatalogs

Add subcatalog

GET /:organization/catalog/subcatalogs/versions

Provides visibility into recent changes of each object, including deletion

GET /:organization/catalog/subcatalogs/:id

Returns information about a specific subcatalog.

PUT /:organization/catalog/subcatalogs/:id

Update subcatalog with the specified id, creating if it does not exist.

DELETE /:organization/catalog/subcatalogs/:id

Delete the subcatalog with this id

GET /:organization/catalog/subcatalogs/:id/settings

Returns information about a specific subcatalog’s settings.

PUT /:organization/catalog/subcatalogs/:id/settings

Update subcatalog settings for the specified subcatalog.

GET /:organization/catalog/subcatalogs/:subcatalog_id/exclusions

Search exclusions. Always paginated.

GET /:organization/catalog/subcatalogs/:subcatalog_id/exclusions/:number

Returns information about a specific exclusion by catalog item number.

PUT /:organization/catalog/subcatalogs/:subcatalog_id/exclusions/:number

Add exclusion

DELETE /:organization/catalog/subcatalogs/:subcatalog_id/exclusions/:number

Delete an exclusion with this catalog item number

GET /:organization/catalog/subcatalogs/:subcatalog_id/inclusions

Search inclusions. Always paginated.

GET /:organization/catalog/subcatalogs/:subcatalog_id/inclusions/:number

Returns information about a specific inclusion by catalog item number.

PUT /:organization/catalog/subcatalogs/:subcatalog_id/inclusions/:number

Add inclusion

DELETE /:organization/catalog/subcatalogs/:subcatalog_id/inclusions/:number

Delete an inclusion with this catalog item number

GET /:organization/catalog/subcatalogs/:subcatalog_id/queries

Search queries. Always paginated.

POST /:organization/catalog/subcatalogs/:subcatalog_id/queries

Add query

GET /:organization/catalog/subcatalogs/:subcatalog_id/queries/:id

Returns information about a specific query.

DELETE /:organization/catalog/subcatalogs/:subcatalog_id/queries/:id

Delete a query with this id

GET /:organization/catalog/subcatalogs/:subcatalog_id/statistics

Get statistics for the specified subcatalog

subcatalog_item

Represents information specific to an item in a given subcatalog

Operations

Method and Path Description
GET /:organization/catalog/subcatalogs/:subcatalog_id/items

Search subcatalog items. Always paginated.

GET /:organization/catalog/subcatalogs/:subcatalog_id/items/versions

Provides visibility into recent changes of each object, including deletion

GET /:organization/catalog/subcatalogs/:subcatalog_id/items/:number

Returns information about specific subcatalog items.

subcatalog_query

Represents a typed query to indicate which items to include or exclude in a subcatalog

Operations

Method and Path Description
POST /:organization/query/validations

targeting

Operations

Method and Path Description
GET /:organization/catalog/targetings
POST /:organization/catalog/targetings
GET /:organization/catalog/targetings/:key
PUT /:organization/catalog/targetings/:key
DELETE /:organization/catalog/targetings/:key

targeting_item

Represents catalog items where a targeting query is applicable

Operations

Method and Path Description
GET /:organization/catalog/targeting-items

organization_currency_setting

Represents organization-specific currency conversion adjustments.

Operations

Method and Path Description
GET /:organization/currency/settings

Search organization currency settings. Always paginated.

POST /:organization/currency/settings

Create organization currency settings.

GET /:organization/currency/settings/versions

Provides visibility into recent changes of each object, including deletion.

GET /:organization/currency/settings/:id
PUT /:organization/currency/settings/:id

Update an existing organization currency setting by id.

DELETE /:organization/currency/settings/:id

Delete the organization currency setting with this id.

rate

Represents an organization-specific currency conversion rate at a point in time.

Operations

Method and Path Description
GET /:organization/currency/rates

Search organization currency conversion rates. Always paginated.

GET /:organization/currency/rates/versions

Provides visibility into recent changes of each object, including deletion.

harmonized_category

Categories optimized for harmonization

Operations

Method and Path Description
GET /:organization/harmonization/categories

harmonized_landed_cost

Summary of landed cost data (taxes and duties) for 1 or more items going to a single destination country. Records are unique based on (item.number, country of origin).

Operations

Method and Path Description
POST /:organization/harmonization/landed-costs

Single operation that provides harmonization landed costs (i.e. duties and taxes) for 1 or more items. This method is designed to enable a single call from applications that need it (like checkout) to get all data for a collection of items

hs10

API to fetch HS-10 codes assigned to your items. Note that if your item has been classified multiple times or its classification has changed, this API will provide you with the most recent harmonization code for that item. That is, each code is unique across your item number, country of origin and destination.

Operations

Method and Path Description
GET /:organization/harmonization/hs10
GET /:organization/harmonization/hs10/versions

Provides visibility into recent changes of each object, including deletion

tax_registration

Result of looking up a specific tax registration number. Indicates validity of a number for a specific country and (if valid) the associated person/company.

Operations

Method and Path Description
POST /:organization/tax/registrations