1. Products & Combinations
Example be.open API
  • be.open API
    • be.open API
    • Samples
    • Auth
      • Get api auth token
    • Attributes & Options
      • attributes
        • get country options of a product
      • get all available attributes
      • create or update an attribute
      • get a single attribute by id
      • adds or updates an option
      • list attribute categories
      • returns options for an attribute type of a service provider
    • Basket
      • get Basket
    • Price
      • get Price list
    • Categories
      • get product categories
      • Returns the products of a category.
    • Products & Combinations
      • get product configuration
        POST
      • get option configuration
        POST
      • get product attributes
        GET
      • get product independent attributes
        GET
      • Returns the products.
        GET
      • adds or updates a product with attributes, options and combinations.
        POST
      • Returns the single product.
        GET
      • adds or updates attributes, options and combinations of a product. Used to import combinations in parts
        POST
      • delete combinations.
        DELETE
      • get country attribute with options
        GET
    • Serviceprovider
      • change attribute settings just for this service provider
      • change option settings just for this service provider
      • change attribute category setting just for this service provider
      • list orders for a service provider
      • get an order for a service provider
      • update order status from service provider
    • Order
      • create an order
      • get order
    • change attribute category setting just for this service provider
      PATCH
    • change attribute category setting just for this service provider
      PATCH
    • Schemas
      • Schemas
        • Attribute
        • AttributeCategory
        • CategoryModel
        • Product
        • BasicOrder
        • Order
        • Option
        • ProductMetaInformation
        • Client
        • OrderDetail
        • OrderCustomField
        • OrderFile
        • OrderUpload
        • File
        • PartialDelivery
        • OrderDetailFile
        • ProductCombination
        • Address
        • OrderDetailPrice
        • OrderDetailCombination
        • Address2
        • PriceConfiguration
        • Currency
        • ConfigurationOption
        • Price
        • ConfigurationOptionSize
      • Improved Schemas
        • ExampleAttributesCollection
        • Attribute
        • AttributeMetaData
        • Category
      • Responses
      • Custom Schemas
        • UpdateServiceproviderOrderResponse
      • AttributeOption
      • CreateProduct
      • QuantityShipping
      • QuantityDelivery
      • DeleteQuantityShipping
      • placedOrder
      • DeleteQuantityDelivery
      • Authentication
      • AuthenticationResponse
      • CreateAttribute
      • CreateOption
      • CreateProductCombination
      • DeleteProductCombination
      • ProductTypeData
      • DependableAttribute
      • ProductVariant
      • DeleteProductVariant
      • ServiceproviderOrderDetail
      • DependableOption
      • ProductQuantity
      • ProductAttribute
      • DeleteProductQuantity
      • OrderDetailPage
      • OptionOfAttribute
      • ProductResponse
      • LooseLeafData
      • AttributeResponse
      • OrderResponse
      • OrderDetailResponse
      • OrderAttributeOption
      • BasketPrice
      • OrderAddressResponse
      • CreateOrderAddress
      • CreateOrder
      • PatchServiceProviderOrder
      • JsonApi
      • PaginationMeta
      • PaginationLinks
      • AttributesListResponse
      • AttributeSingleResponse
      • OptionSingleResponse
      • AttributeResource
      • OptionIdentifier
      • AttributeCategoryEmbedded
      • AttributeCategoryResource
      • OptionResource
  • Druckshop API
    • Cart
      • getByJobNumber
    • Tracking
      • getByJobNumber
      • addTrackingId
    • Order
      • getOrder
      • getOrders
      • getOrderByReference
      • getOrderCart
    • FreeOrder
      • addFreeOrder
    • Schemas
      • FreeOrder
      • FreeOrderResponse
      • ApiAddress
      • FreeOrderPrice
      • FreeOrderCart
      • FreeOrderArticle
      • FreeOrderDataKeyValuePrice
  • be.print Dashboard API
    • PlacedOrder
      • Store a newly created placedOrder
      • Update an existing placedOrder
    • PlacedOrderCart
      • Store a newly created placedOrderCart
      • Update an existing placedOrderCart
    • Sso
      • sso.getTokenCheck
      • sso.setUserMapping
    • ValidateCustomerApi
      • validateCustomerApi.whoAmI
      • validateCustomerApi.postExternalClient
    • Dashboard API (MOVE TO ANOTHER PROJECT)!
      • Customer
        • whoAmI
        • addExternalClient
      • Orders
        • create order
        • update order
        • update order cart
    • Schemas
      • Schemas
        • AddExternalClientRequest
        • PlacedOrderCartRequest
        • PlacedOrderRequest
        • SsoExternalLinkRequest
        • SsoExternalUserMapping
      • Response
        • AuthenticationException
        • ValidationException
        • AuthorizationException
        • ModelNotFoundException
      • placedOrder
  1. Products & Combinations

adds or updates a product with attributes, options and combinations.

POST
/api/products
Creates or updates a product including its attributes, options and combinations. Combinations are replaced, not appended: every combination not present in the submitted product_variants is deleted from the product after import. Same semantic applies to variant_sets.
IMPORTANT: the request is processed asynchronously. HTTP 200 only confirms acceptance — actual persistence is handled by a worker that runs every 10 minutes (at minute :00, :10, :20, … UTC). Wait time until visible = remaining minutes to the next slot + processing time, which scales with the import size (small imports: a few minutes after the slot; large imports — many variants/combinations — can take significantly longer).
Product payload sections — see the introduction document for full context:
dependable_attributes: Isolated options that are always available in every combination without price effect.
independent_options: Add-on options with their own price surcharge (referenced later in basket / order).
product_variants: The primary combination + pricing matrix.
Upload size: keep each submitted import file at or below 10 MB. To import a larger combination dataset, split it into multiple chunks and submit them sequentially via POST /api/products/combinations.

Request

Header Params

Body Params application/json

Example
{
    "key": "ext-product-1",
    "category_id": "c1111111-1111-1111-1111-111111111111",
    "currency": "EUR",
    "name": "Visitenkarten Standard",
    "country_code": "DE",
    "product_type": "standard",
    "product_variants": [],
    "independent_options": [],
    "dependable_attributes": []
}

Responses

🟢200Returns the product.
application/json
Bodyapplication/json

Example
{
    "jsonapi": {
        "version": "1.0"
    },
    "data": {
        "type": "products",
        "id": "p1111111-1111-1111-1111-111111111111",
        "attributes": {
            "key": "ext-product-1",
            "name": "Visitenkarten Standard"
        }
    }
}
🟠401Unauthorized request
Modified at 2026-05-29 10:44:16
Previous
Returns the products.
Next
Returns the single product.
Built with