Only this pageAll pages
1 of 54

Seller Center

General

Loading...

Loading...

Loading...

Loading...

User Guide

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

API

Loading...

Loading...

Loading...

Loading...

Products

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Shopify Plugin

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Additional Information

Loading...

Loading...

Loading...

Overview

Welcome to the Seller Center

Here, you’ll find everything you need to list your products on About You, handle orders, and manage shipment workflows. Each section provides step-by-step guidance—from setting up your products and editing stock or prices to fulfilling customer orders and processing returns. Additionally, you can read about the mode of operation and About You's service and logistic requirements.

For those who want deeper integration, there’s also an API documentation and a Shopify integration guide.

Whether you’re just getting started or exploring advanced features, this documentation will help you leverage the Seller Center for your business.


Upload and Manage Products

• Add products via the UI, Excel import, API, or Shopify Plugin.

• Update stock and pricing in a few clicks.

• Publish products to go live on About You.

You can find more information about this in the "User Guide" section.


Handle Orders and Shipments

• Monitor all incoming orders.

• Ship items individually or in batches, track cancellations, and manage returns.

You can find more information about this in the "User Guide" section.


Use the API (Optional)

  • Integrate your existing systems to automate product uploads, stock updates, and order processing.

You can find more information about this in the "API" section.


Use the Shopify Plugin (Optional)

  • Synchonize your products, stocks, orders, and shipments with the Shopify plugin.

You can find more information about this in the "Shopify Plugin" section.

Mode of Operation

What is the Marketplace model about?

As one of the four cooperation models, ABOUT YOU offers Partners to work in a marketplace model. Our marketplace partners benefit in particular from:

  • International growth with access to 11 Western European countries – covering >50% of revenue share

  • Full control over product range as well as warehousing and logistic processes

  • High efficiency and limited assortment risk

  • High customer satisfaction through first class customer service by ABOUT YOU

Fast and easy integration process of 6-8 weeks. This means 3-4 weeks of a preparing Partner Readiness Phase, followed by 3-4 week technical integration process, supported by an experienced Partner Integration team


Model Overview

The ABOUT YOU Marketplace offers fashion brands and retailers the opportunity to sell their products directly to customers across multiple European countries via ABOUT YOU’s online shop. The model enables Merchants to expand their international reach while ABOUT YOU manages customer orders and payment processing through SCAYLE Payments.

The technical flow is based on a seamless integration: Merchants connect their product catalog to ABOUT YOU through the Seller Center, transmitting all necessary product data. When a customer places an order, ABOUT YOU processes the transaction and forwards the order details to the Merchant via the same interface. The Merchant is responsible for warehousing, fulfillment, and shipping the goods directly to the customer. Customer returns are sent back to the Merchant.

Payments are collected by ABOUT YOU and processed through SCAYLE Payments, with monthly settlements to the Merchant. This setup ensures a smooth and efficient collaboration, allowing Merchants to focus on their assortment while ABOUT YOU handles the technical infrastructure and payment processes.

Key Services and Logistics Requirements

Below are the key services and logistics requirements for a successful integration and efficient live business. By fulfilling these requirements, you help ensure a smooth, reliable experience for both customers and partners. All details regarding shipment, returns, packaging, and communication have been carefully designed to uphold About You’s service quality and brand promise.


Shipment

Orders must be handed over to the specified Last Mile Carrier (LMC) within 72 to 96 hours of order creation.


Delivery Documents

All delivery documents should use the About You layout and include the merchant’s company information wherever applicable.


Packaging

Merchants are required to use About You–branded packaging, maintaining consistency in how products are presented to customers.


Return Label

Each package must contain a self-adhesive return label valid for 100 days, allowing customers to return items easily if needed.


Tracking Code

Tracking information for each shipment must be transferred to About You in dispatch messages, enabling customers to follow their orders.


Return Notification

Returned items should be processed and acknowledged (including any technical feedback) within 24 hours of arrival at the merchant’s facility.


Unfamiliar Returns

Any returned items that cannot be immediately identified need to be reconciled with About You on a weekly basis.


Customer Service

All customer service inquiries—whether received directly or via About You—must be answered within 24 hours.


Availability

Only products with sufficient stock should be made available for sale, reducing the likelihood of cancellations or delivery issues.


Cancellation Rate

The weekly cancellation rate for items that cannot be shipped should remain below 1.0% to maintain a positive customer experience.

Know Your Customer (KYC) FAQs

KYC (Know Your Customer) refers to the due diligence process employed by obligated entities within the meaning of domestic and European AML laws and regulations.

What is a KYC process?

A due diligence process which requires obligated entities within the meaning of anti-money laundering laws and regulations to verify the identities of their clients and assess potential risks associated with financial crimes such as money laundering and terrorist financing. This process is mandated by regulatory bodies and serves as a critical component of a robust compliance framework.

Why do I have to undergo a KYC process when selling on the AboutYou marketplace?

Selling your products on the AboutYou marketplace prerequisites entering a payment services framework agreement with SCAYLE Payments GmbH which sets out the terms for the accounting and payment of revenues. SCAYLE Payments GmbH is a licensed payments service provider pursuant to Section 1 (1) sentence 2 no. 5, 2nd alternative of the German Payment Services Supervision Act (Zahlungsdiensteaufsichtsgesetz - ZAG). As such SCAYLE Payments GmbH is an obligated entity according to Sec. 2 Para. 1 no. 3 of the Money Laundering Act (Geldwäschegesetz - GwG) and thus obligated to adhere to Customer Due Diligence (CDD) requirements set therein.

How long does the KYC process take?

The onboarding timeframe depends on the partner's responsiveness in providing requested information and evidence. Prompt submission of complete documentation allows SCAYLE Payments to expedite the process, often concluding the review within a few business days. Incomplete submissions or documents that do not meet the outlined requirements (e.g., regarding recency or certification) necessitate follow-up communication, which can significantly extend the processing time. Therefore, timely and accurate completion of the KYC questionnaire and follow-up requests is strongly encouraged.

What is the general KYC process flow from a partner perspective?

Upon receiving an email notification requesting submission of the KYC questionnaire and supporting documentation, the designated KYC contact person is required to complete and submit the questionnaire to SCAYLE Payments within 10 business days. The SCAYLE Payments KYC team will review the submitted documentation and contact the designated KYC contact person if any further clarification or additional supporting evidence is required.

Individuals listed in the questionnaire as acting on behalf of the contracting party will subsequently undergo a verification process, such as video identification. A seperate email including the link required to start the verification will be sent directly to the designated individuals. Completion of this verification is a prerequisite for KYC approval.

Upon completion of the review and verification process, the finalized KYC questionnaire will be sent via DocuSign to the designated individual(s) acting on behalf of the contracting party for signature. This step confirms the accuracy and completeness of the provided information and serves as an agreement to notify SCAYLE Payments of any subsequent changes to the data. Once the KYC process is completed, the KYC contact person receives a written confirmation on the completion.

Which occasions trigger a KYC process?

At SCAYLE Payments GmbH, KYC process are triggered upon three instances:

  • Prior to entering the business relationship

  • On regular basis (regular reviews)

  • On an event driven basis (in cases where KYC data changes, e.g. change of company address, change of ownership situation, change of bank account, etc.)

Whom should I appoint as a contact person for KYC?

The KYC contact person is responsible for completing and submitting the KYC questionnaire, and serves as the primary point of contact for any subsequent information requests. Given the sensitive nature of the required information regarding the contracting party's ownership and beneficial owners, this individual should possess comprehensive knowledge and access to all necessary documentation.

To ensure a smooth and efficient process, please promptly notify SCAYLE Payments of any changes to the designated KYC contact person. Maintaining accurate contact information is crucial to avoid delays in regular reviews. To update your KYC contact person, please reach out to the SCAYLE Payments KYC team at kyc@scayle-payments.com.

Which individuals are subject to identification?

The beneficial owner(s) (BO)

A beneficial owner is an individual who ultimately owns or controls (directly or indirectly exercises significant control) a legal entity, other company or legal arrangement or at whose instigation a transaction is ultimately carried out or a business relationship is ultimately established.

Types of significant control (non exhaustive):

  • Direct or indirect ownership of more than 25.00% of capital shares or voting rights (cf. Sec. 3, Para. 2 GwG)

  • Exercise of control in a manner comparable to the above by other means such as the right to appoint or dismiss a majority of members of the board of directors or ownership of veto rights (cf. Sec. 3, Para. 2 GwG)

  • Control of any legal entity or legal arrangement by other means or above that in return exercises more than 50% control on the previous legal entity or legal arrangement in the ownership structure of the contractual merchant (cf. Interpretation and Application Guidance of the Money Laundering Act (Auslegungs- und Anwendungshinweise zum Geldwäschegesetz - AuA, Nr. 5.2.2.1.)

  • Position as legal representative or beneficiary of a foundation (cf. Sec. 3, Para. 3 GwG)

  • Position as settlor, trustee, protector or beneficiary of a trust (cf. Sec. 3, Para. 3 GwG)

  • Owner of a sole proprietorship

Who is identified if there is no beneficial owner?

Legal representatives or managing directors of the contracting party are considered notional beneficial owners (NBO) if thorough examination by the obligated entity have revealed that a beneficial owner as per Sec. 3 GwG does not exist.

Are there circumstances where identification of a BO or NBO is not required?

Yes. Beneficial owner (or notional beneficial owner) identification is not required if the contracting party, or a legal owner with at least a 75% interest in the contracting party, is listed on a public stock exchange within the EU, Iceland, Norway, Australia, Canada, Japan, Singapore, or the United States of America.

The person acting on behalf of the contracting party (PAOB)

The Person Acting on Behalf (PAOB) reviews and signs-off the final KYC investigation results. Their signature confirms the accuracy and completeness of the KYC information gathered and signifies their responsibility for addressing any discrepancies as well as future changes to said information. The PAOB must be authorized to act on behalf of the merchant, either as a legal representative or through a power of attorney (general or limited).

With regards to the PAOB, Section 13 of the German Money Laundering Act mandates data verification, which SCAYLE Payments conducts via video identification per internal policy.

Which documentation will I have to provide?

This section details typical documentation requirements for the KYC process. Please note that this list is not exhaustive, and the specific documents requested may vary based on factors such as your entity's legal structure and ownership. Additional documentation may be required.

Identification documents

  • For legal entities: Current commercial register excerpt (not older than three months)

  • For sole proprietorships: Certificate of business registration (not older than three months)

  • For civil partnerships: The most recent version of the partnership agreement

  • For natural persons: Valid e-ID or passport

What is a register excerpt?

A current commercial register excerpt provides up-to-date information on a registered entity. The excerpt originates from the registration court or office where the entity was initially incorporated or is currently registered (if different from the initial location). It normally contains the following:

  • Registration court/office

  • Commercial registration number

  • Entity name

  • Legal Form

  • Registered head office/principle place of business address

  • Nature of business

  • Names of the legal represnetative(s)

  • Total amount of share capital

Proof of address

A proof of address is required for (notional) beneficial owners and persons acting on behalf of the contracting party when the respective individual has a fixed abode within the EU. Accepted documents are, for example, electricity or landline bills. The date of issue of either document must not exceed six months at the date of submission of the KYC questionnaire.

Bank account confirmation

For all designated payout bank accounts, we require verification in the form of a recent bank statement or a written confirmation from the account-holding bank. This documentation must include the account holder's name (matching the contracting party), the bank's name, the IBAN, the BIC, and the issue date. The document must be dated within the last three months at the time of KYC submission.

Why must the payout bank account holder match the contracting party?

In accordance with Section 10 (1) No. 3 of the German Money Laundering Act (GWG), we are legally obligated to ascertain and verify the purpose of the business relationship. Given our business model, this necessitates confirming that marketplace sales proceeds are disbursed solely to the identified and verified contracting party, preventing payments to unauthorized third parties.

Evidence concerning the ownership situation

The determination of a contractual partner’s ownership situation in accordance with the requirement set out in Sec. 10 GwG requires the provision of additional supporting evidence in cases where the ownership interest and respective holders are not evident from the register excerpt or partnership agreement. Examples of such evidence are:

Shareholder list or shareholder’s register

A shareholder register (or list) is a document disclosing all legal and natural person shareholders of the contracting party or its legal owners (where applicable), including their ownership type and degree of control. It (or supporting documentation) must identify any share classes and, where distribution between capital shares and voting rights is not 1:1, respectively allocated voting rights. The register/list requires certification by an independent third party (e.g., notary, (syndic) lawyer, auditor) and must be less than two years old at the time of KYC questionnaire submission. If the aforementioned information is disclosed in the company’s statutes, submission of these is equally sufficient. Where the date of issue or certification of the statutes exceeds two years, a separate confirmation of continued validity is required.

Ownership and control structure

An ownership and control structure diagrammatically represents the control relationships between the contracting entity, its legal owners, and beneficial owners. This document may replace shareholder lists if accompanied by certification from an independent and reliable source, such as a notary, lawyer, or auditor. The certification date must be within six months of the KYC questionnaire submission date.

VAT-ID registration certificate

A VAT-ID registration certificate (also known as a VAT certificate or certificate of VAT registration) is an official document issued by a tax authority confirming that a business is registered for Value Added Tax (VAT) purposes. It typically includes the business's name, address, and VAT identification number. This certificate serves as proof of VAT registration and may be required for various business transactions, particularly those involving cross-border trade within the European Union. The specific format and information included on the certificate can vary slightly between countries.

Why are there restrictions concerning document issue dates?

Our internal AML policies and procedures mandate obtaining and maintaining up-to-date information at all times.

Can exceptions be made with regards to the regular requirements?

This is not possible. SCAYLE Payments GmbH, just as banks and further obligated institutions under GwG, is bound by the minimum requirements of the Money Laundering Act (GwG) and its Interpretation and Application Guidance (AuA), which form the foundation of our internal Anti-Money Laundering policies and procedures. Furthermore, the Federal Financial Supervisory Authority (BaFin) mandates external audits to assess not only legal and regulatory compliance but also adherence to our internal policies and processes. This rigorous approach ensures robust AML practices.

What happens if I can not meet a provision deadline?

We might be able to grant an extension to the applicable deadline. This decision is made on a case by case basis and prerequisites provision of the expected date of provision and the reason for the delay.

What happens if I refuse to provide requested information or evidence?

Adherence to the GwG, specifically Section 10 Paragraph 9, prohibits entering or maintenance of business relationships where Due Diligence Requirements, including KYC, are not fulfilled. Therefore, activation on the AboutYou marketplace is contingent upon successful KYC review. For existing partners, failure to conclude recurring KYCs will result in deactivation on the AboutYou marketplace.

Who is my contact person for questions throughout the KYC process?

Please direct all KYC process-related inquiries to the KYC department directly by addressing them in the corresponding email thread. This will expedite the handling of your questions and submissions.

How can I report changes concerning KYC data?

Please direct all corresponding notifications to the SCAYLE Payments KYC team at kyc@scayle-payments.com. Kindly ensure to include the registered name of the contractual party in your email subject in order to allow quick allocation of your request to the responsible processing instance.

Should I report upcoming changes?

Please refrain from notifying us about changes to KYC relevant information prior to said changes coming into force as this prevents us from obtaining and verifying corresponding evidence which thus hinders proceeding your case. Please make sure to notify us about changes after implementation, only, however, without due delay.

How do you ensure confidentiality and privacy of data?

SCAYLE Payments GmbH's Anti-Money Laundering (AML) program complies with the requirements of the German Anti-Money Laundering Act (GwG) by restricting information access to the AML team as well as internal and external auditors.

To expedite KYC request processing, SCAYLE payments GmbH engages with a third-party provider. We will ensure that the provider complies with all applicable laws, regulations, and our internal data privacy and protection standards. In accordance with legal requirements, provided information may be disclosed to federal authorities upon request.

How long is KYC data stored?

The retention period is five years, unless other legal provisions regarding recording and retention obligations provide for a longer period.

Manage Stock and Prices

Stock and prices can be updated through multiple methods in the Seller Center, ensuring you have flexibility in how you handle inventory and pricing changes. Whenever a customer orders a product, the system automatically reduces the stock for the corresponding variant, so you always have up-to-date availability. Below are the primary ways to manage stock and pricing:


Using “Products > Manage Products”

One quick way to make adjustments is through the “Manage Products” view. Simply click on a product master in the list, and a modal will open showing its color ways and variants. Here, you can see and modify the retail price, sale price (if applicable), and available stock for each variant. This approach is useful for smaller changes or immediate updates without needing an Excel import. For more details, see the “Manage Products” section of this documentation.


Stock & Price Excel

If you’d like to handle updates in bulk without coding, you can use the “Import Stock & Price” option under “Products > Import Products.” This generates an Excel file containing all your products, which you can adjust and reupload. The file is organized into three worksheets:

Help

Contains FAQs and instructions for updating stock and prices.

Manage Stock

Lists each product variant once, reflecting its total stock across all countries. Adjust stock levels here, then reupload the file. Remember that each variant has a single stock count, no matter how many countries it’s sold in.

Manage Prices

Displays each variant-country combination, making it easy to set distinct retail or sale prices per market. If you only need to modify prices, you can leave the “Manage Stock” tab untouched or even remove it entirely before uploading.

With this Excel approach, you have the flexibility to focus only on stock, only on prices, or both. After uploading, the Seller Center processes your changes and updates your listings accordingly.


API

For more automated or large-scale updates, you can integrate with the Seller Center via its API. This option allows your internal systems or third-party software to communicate directly with the Seller Center to update stock, retail prices, and sale prices programmatically. Refer to the API documentation for information on the endpoints and data formats required for these updates.


Shopify Plugin

If you run a Shopify store and have activated the Shopify Plugin, your stock and prices will automatically synchronize with the Seller Center. This means you can continue using your usual workflows in Shopify—changes you make there will reflect in the Seller Center without any extra steps.

General Product Information

Product Structure

Products in the Seller Center are organized into three hierarchical levels:

Master

A product master represents the overall product as it appears in the shop and has its own product detail page. Each product master has a style key that you define yourself. This style key must be unique so the system knows which color ways and sizes belong to that product.

Product (Color Ways)

A single product master can have multiple color ways, and customers can switch among these on the product detail page. Images and descriptions are tied to each color way, allowing the product presentation to change when a different color is selected.

Variants (Sizes)

Variants refer to the various sizes you offer for each color way. Every variant has its own stock, retail price, optional sale price, and VAT. Because variants sit under a particular color way, you can configure different sizes, prices, or stock for each color of the same product.


Multiple Languages and Countries

When you plan to sell a product in multiple countries, you must specify the price for each country. You can set these prices automatically and then adjust them at any time. Product descriptions also need to be provided for every language. By default, the Seller Center can generate translations automatically using DeepL, which you can later refine. Some countries, like Germany, support multiple languages—German and English—within a single market.


Product Name

The Seller Center automatically generates the product name using the selected category and color. However, you can add a unique name for branding by using the “Product Name” attribute at the product master level. This unique name will be wrapped in single quotes alongside the system-generated name. Avoid adding additional details (like color or size) to this field, since the default naming pattern is still applied.

Create Products

You can create products in four ways:

1. Add Products (via UI)

2. Excel Import

3. API

4. Shopify Plugin (coming soon)


Create a Product via UI

When you use the “Add Products” form, you only need to enter the most essential details, such as the product’s name, its category, the countries where it will be sold, and the color ways you want to offer. After you submit this short form, the system automatically generates the product with its corresponding color ways, variants, and countries. You can enrich the product with additional data later on.


Import Products via Excel

To bulk-create or update products, go to “Import Products” in the left navigation. From there, you can either click “Import Products” to add entirely new products or “Import Stock & Price” if you only want to update stock and prices. If you interrupt an import, you can continue it later via the “Continue last import” section, and you can always review completed imports in “Your Last Imports.”


Product Import Steps

The Excel import process includes three steps:

1. Select Category

Choose one or multiple categories for your products.

2. Generate Templates

The system creates one Excel template per category, which may take a few seconds. You can leave the page and return later if needed.

3. Fill and Upload

Download the templates, enter your product information, then upload them. If you have multiple files, compress them into a single ZIP before uploading.


Product Import Excel File

Each generated template has three worksheets:

Help

Offers FAQs and information about attributes for that category.

Product Feature Information

Lists each attribute that requires a specific selection (e.g., dropdown choices).

List Your Products Here

This is where you enter the actual product data. Every row represents a single variant (size + color way), and if you sell in multiple countries, you can duplicate rows and change the country-specific prices. The style key you provide groups rows under the same product master. You can also specify a unique product name or add direct URLs to your product images.


Product Import Upload

After uploading your Excel file, the Seller Center checks each row, groups them under the corresponding product master and color way, and creates the products. If you included image URLs, the products skip “Draft” status and go directly to “Pending Approval.” Without images, they stay in “Draft” until you add images.


Faulty Upload and Reports

If one or more rows contain errors, the valid rows will still be created. The system then provides a downloadable report highlighting the problematic rows and explaining the issues. You can fix these rows in the report and upload them again without affecting the rows that were correct.


Import Products using the API

For information about the available API endpoints, please have a look at the API section of this documentation.


Import Products using the Shopify Plugin

This feature is currently under development and will be available soon.

Manage and Publish Products

Once your products are created (via UI, Excel import, API, or Shopify plugin), you will find them in “Manage Products”. The view is organized by status tabs—Draft, Pending Approval, Active, Inactive, and Rejected. Clicking on a product master shows its color ways and variants. You can quickly adjust stock and prices or open “Edit Product Details” to add more data or publish.


Product Statuses

Active

Products that are published, approved, and currently live in the shop.

Inactive

Products that were live but have been taken offline. These can be reactivated without re-approval.

Pending Approval

Products you have published but that still need About You’s review before going live.

Draft

Newly created or incomplete products that aren’t ready to publish.

Rejected

Products that failed approval. You can review the rejection reasons, make adjustments, and publish again.


Edit and Publish Products

Clicking on a product master opens a modal containing its color ways and variants. This quick view lets you update stock, retail prices, and sale prices. For more detailed edits, choose “Edit Product Details.” You can upload product images, update descriptions, and then publish the product. Once approved, you can also toggle between active and inactive status without needing further approvals.

Product Image Requirements

General Image Requirements

To meet the minimum requirements, an apparel item must have at least one 1st bust view and one 1st model view (cropped). Overall, we recommend providing 1-2 bust images, 2-4 model images, and 1-2 detail images.

1st bust image

  • Is used as the first view in our shop (customer can select)

  • Must be photographed frontally

  • Shot on a mannequin/bust and exempted

  • Must have a plain transparent or white background (mandatory for online marketing measures)

1st model image

  • Is used as the first view in our shop (customer can select)

  • Must be cropped (focus on product)

  • Important for product presentation → better sales through better recognisability

  • Model images are not required for shoes, accessories, kids assortment and home & living


Image Format

Model images and (uncropped) bust shots must always be 3:4 (upright) in order to be displayed correctly.

If the 1st bust image has a white or transparent background, the format will be automatically adapted to our shop definition.

File format

JPEG: For images with white or grey background, maximum file size 2 MB

PNG: For images with transparent background, maximum file size 4 MB

Format of 3:4, min. 1500 x 2000 pxl at min. 96 dpi


Background

Model Images

For model images a bright grey is ideal, which is created directly by the corresponding light settings during the shooting and thus transports a light three-dimensionality. Backgrounds with strong colour variations are not permitted.

Bust Images

For bust images we require a white or transparent background and the background must be plain. ABOUT YOU will adjust the background in the shop automatically to light grey.

Please adhere to the following specifications:

  • RGB: 244 / 244 / 245

  • Hexa-Code: #F4F4F5


Bust View

Bust images must meet the following requirements:

  • Min. 1500 x 2000 pxl (3:4 format) at min. 96 dpi

  • Product must be shown from the front

  • Shot on a mannequin / bust and exempted

  • Cropped with white or transparent background

The article will be automatically be displayed in the maximum size (taking the grey protective frame on the left into account) and in the middle of the shop tile.


Model Image

Model images must meet the following requirements:

  • A plain light grey background, alternatively white

    or transparent

  • Min. 1500 x 2000 pxl (3:4 format) at min. 96 dpi

  • For the 1st model view, display the product without

    cutting the textile

  • For the 1st model view, ensure that the product is

    facing the front without any extreme cuts of the

    model

For the background, please adhere to the following specifications:

  • RGB: 244 / 244 / 245

  • Hexa-Code: #F4F4F5


Download the Image Requirements

You can download the image requirements here.

Make your first API request

Once you have generated your API Key, you are ready to send your first request to the Seller Center API.

Let's try to get all your products:

curl -X GET "https://partner.aboutyou.com/api/v1/products/" \
    --header "X-API-Key: YOUR_API_KEY"

Now let's try to get all the active products:

curl -X GET "https://partner.aboutyou.com/api/v1/products/?status=active" \
    --header "X-API-Key: YOUR_API_KEY"

Now you are ready to explore the full range of Seller Center API endpoints!

Orders and Shipments


Receive Orders and Order States

Once your products are active, they appear on About You. Every time a customer orders one or more of your products, that order appears in the “Orders” section of the Seller Center. Inside this section, you’ll find five subsections based on item statuses:

1. Open Orders

2. Shipped Orders

3. Returned Orders

4. Cancelled Orders

5. All Orders

It’s important to note that these statuses apply to individual items within an order, not necessarily to the entire order at once. For example, you could have one item in a two-item order listed as “Shipped” and the other as “Cancelled.” Because of that, this same order would appear in the “Shipped Orders,” “Cancelled Orders,” and “All Orders” subsections. When multiple items in a single order have different statuses, the order itself is labeled as “mixed.”


Create Shipments

When you’re ready to ship one or more items, you can do so from the “Open Orders” or “All Orders” views. Unlike other platforms where you must ship all items from one order at once, the Seller Center lets you select individual order items—even across different orders—as long as they share the “Open” status. This flexibility is useful if a single customer made multiple orders and you want to combine them in one shipment.

After selecting your items, click on “Shipment Action.” You’ll be prompted to enter a tracking code for the shipment. If you’re including a return label in the package, you can also enter an optional return tracking code at this stage. You’ll see the carrier that the customer selected for the order, and this cannot be changed because the marketplace only allows one assigned carrier per shipment.


Cancel Shipments

Occasionally, you may discover that an ordered item can’t be shipped—for example, if it turns out to be out of stock or there’s another unforeseen issue. In these cases, you can cancel the specific item by selecting it (still in “Open” status) and clicking “Shipment Actions.” Canceled items are assumed never to have been available in stock, so the system does not re-add them to your inventory. Once canceled, these items cannot be shipped later.


Create Return Shipments

If a customer returns a shipped item, you can reflect this in the Seller Center by creating a return shipment. To do this, go to the list of “Shipped” items (or “All Orders,” filtering as needed), select the returned item, and choose “Shipment Actions” to initiate a return. You will then be prompted to enter a return tracking code. If you originally added a return tracking code when you shipped the item, the field will already be pre-filled.

Only items with the status “Shipped” can be returned, so make sure you check the correct status when looking for items that might come back to your warehouse.

Sandbox Environment

The Sandbox feature allows Admin users to create an isolated testing environment where they can freely experiment and integrate the API without affecting their production data. All users of the merchant can switch between Live and Sandbox environment once the sandbox has been created.

Sandbox Guide

Creating a Sandbox Environment

  1. Navigate to Settings in the UI.

  2. Go to the Sandbox section.

  3. Click Create Sandbox to generate a new environment.

Your sandbox environment will have its own API key, resources, and data, completely separate from production. For convenience the sandbox creation process will create up to 10 copies of your products or create a dummy active product such that you can get started expermenting on the Seller Center.

Switching Between Sandbox and Production

For the UI, you can switch between Live and Sandbox environment through the sandbox settings section or in the header account menu.

For the API, you can use your Sandbox API Key when making requests to the sandbox environment and the Production API Key when working with live data.

Deleting a Sandbox

If you no longer need a sandbox, you can delete it from the Settings page. This will remove all sandbox-related data, API keys associated with it and move all users from sandbox to live.

Sandbox Exclusive Functionalities

Skipping Approval for Products

To maximize flexibility in the sandbox environment, the approval process for products is bypassed. This means that as soon as you attempt to publish a product in sandbox mode, it becomes active immediately. In contrast, in the production environment, all products must go through an approval process before they can be listed in the shop.

Simulating Orders

Since the sandbox environment is entirely isolated from real customers, no actual orders will be received. To facilitate testing, the Receive Orders button is available on the Orders page in the UI. This feature allows you to generate test orders using active products, enabling you to simulate order workflows and integration scenarios without affecting live operations.

Getting Started

Welcome to the Seller Center API! Our API allows seamless integration with your operations, enabling automation, data synchronization, and workflow customization beyond the user interface.

Key Features

  • Authentication & Security: Secured via API Key authentication, available only to Admin users.

  • Product & Order Management: Create, update, and retrieve products and orders programmatically.

  • Asynchronous Processing: Bulk operations and large data updates return a BatchRequestId for asynchronous processing. Use the results endpoint to track status and retrieve the final output.

  • Webhooks: Subscribe to real-time notifications for key events like order creation and status updates.

How to get started

To get started integrating and using the Seller Center API, there are two key components to set up: API Keys for authentication and the Sandbox Environment for safe testing and experimentation. Both features are exclusively available to Admin users, ensuring secure access and controlled testing.

User Management

You can find your user profile settings and further merchant specific settings on the top right by clicking on "Settings".


User Profile Settings

Every user has access to their profile settings, where they can:

  • View their email, name, and other basic profile information

  • Change their password


Users and Roles

On the settings page, you can view a list of users in your account. Depending on your role, this list is either for reference only or allows you to manage users.

The Seller Center has two role types: Admins and Members. Admins have elevated privileges, enabling them to:

  • Add new users

  • Delete users

  • Change user roles

API Authentication

Our API uses API Key authentication to ensure secure access. Only Admin users can generate API keys, while Member users do not have permission to create or manage keys. This ensures that only authorized users can access and integrate the API.

Generating an API Key

To obtain an API key:

  1. Navigate to Settings in the UI.

  2. Go to the API Keys section.

  3. Click + Add.

  4. Input a label for the key, optionally set an expiration date and click Add Key.

  5. Copy and securely store the key, as it will not be shown again.

Using the API Key

Once you have generated an API key, include it in the request header for authentication:

X-API-Key: YOUR_API_KEY

Example request using curl:

curl -X GET "https://partner.aboutyou.com/api/v1/products" \
     -H "X-API-Key: YOUR_API_KEY"

Create and Update Products

Get Products

List Product Categories

Get Product Batch Results

Update Product Status (and Publish)

Get Product Status Update Batch Results

Sandbox settings section
Receive Orders button
API Keys settings section

Stock and Prices

This section covers dedicated endpoints for managing stock levels and pricing.

While stock and price data can also be retrieved or updated through the product endpoints, these specialized endpoints provide a more efficient way to handle inventory and pricing updates.

Update Stock

Get Stock Batch Results

Get Price Batch Results

Orders and Shipment

This section details the endpoints for managing orders and shipments, including order item cancellations and returns.

For a complete overview, each endpoint is documented on its own subpage

List Product Attribute Groups

Update Price

Ship Order Items

Get Shipped Order Batch Results

Get Cancelled Order Item Batch Results

Cancel Order Items

Return Order Items

Get Orders

Get Returned Order Batch Results

Order Delegation Webhook

Add Custom App to your Store

Introduction

For the first version of the Plugin, you will need to create a custom app and install it. At a later point we will also offer installation via the Shopify App Ecosystem.

Create a Custom App

  1. Navigate to Settings -> Apps and sales Channels.

  2. Click on "Develop apps".

  1. Click on "Create an app".

  1. Choose a name of your liking.

Add Permissions

  1. Once created, we configure Scopes. Click On "Configure" for the "Admin API Integration".

  1. Add the following permissions

    1. write_orders

    2. read_orders

    3. read_products

    4. read_product_listings

    5. read_fulfillments

    6. read_returns

    7. read_files

    8. write_files

To learn more about the permissions and what they're used for, please refer to this page.

You can search for the permissions and click on them.

Once you've selected all the necessary permissions, it should look something like this.

  1. Click on Save and double-check the permissions.

Install the App

  1. Click on "Install App"

Save your Credentials

  1. Reveal the token and save it in a secure location, you won't be able to see the token again.

To activate the connection to the Seller Center, you will need the following Credentials:

Shopify Shop URL

You can find your Shop URL on the left hand side in your settings. If your shop already has a custom Domain, you can find the correct URL in your Login Screen.

Admin API Access Token, API Key, API Secret

You can find all these in Settings->Apps and sales channels->API credentials.

Credentials

Before proceeding to the next step, make sure you have all the following credentials:

  • Shopify Shop URL

  • Admin API Access Token

  • API Key

  • API Secret

When you're unsure about the needed permissions, consult this page.

Make sure the URL contains "*.myshopify.com"

It is important that you save your credentials in a secure location (your password manager). The admin API Access token will only be shown once!

ℹ️
⚠️
⚠️

Getting Started

Introduction

Shopify Plugin for ABOUT YOU Integration

The shopify plugin let's you easily synchronize your products to the Seller Center, enhance them and publish them and from there, enables you to keep your normal workflow, like adjusting prices and handling orders on shopify.

How it works

1. Sync & connect products

You first need to sync your products to the Seller Center and enhance them e.g. adding attributes like Material that are missing from shopify that we need to sync your products to the ABOUT YOU Platform.

This process already takes most of the information from the data you have in your Shopify Shop, so it decreases the time you need to spent on product data management significantly.

2. Publish your Products to ABOUT YOU

After syncing and enhancing your products, they will be published on ABOUT YOU and Customers can buy them.

3. Ship your Orders, handle Returns, update your prices from Shopify

You can handle Orders exactly as you are used to in the Shopify Admin. The Seller Center will take care of synchronizing the data.

Same goes for prices and Stock, which are still managed in the Shopify interface!

Intro

In a nutshell

We want to connect your Shopify Shop to ABOUT YOU. So at the end of this process, your products should be available in the ABOUT YOU store and be purchasable by the customer.

We will do that through the Seller Center, where we can enhance Products with Data that is needed for the ABOUT YOU shop. Your stock, prices and all order handling will still happen in the Shopify Admin Section, exactly like your used to.

What you will do in in this Tutorial

  1. You will Create a custom App in your Shopify Admin. This will enable us to get credentials for the Shopify API. We pull and push multiple entities from and to Shopify. For example we need to pull your products and we need to push orders that happen on ABOUT YOU to Shopify

  2. You will connect your Shop to the Seller Center using the Credentials we gather in the previous step

  3. You will learn about how to prepare your products to make the connection as seamless as possible, as we can automaticaly sync a lot of important data points from Shopify to ABOUT YOU

  4. You will connect and enhance your products in the Seller Center

  5. You publish your products to ABOUT YOU and soon handle your first Sale

Webhooks

This section of the API documentation provides details on the webhooks available in our system.

Subscription Management

This page lists helper endpoints that allow you to subscribe to and unsubscribe from webhooks.

Webhook Details

Each webhook is documented separately on individual subpages, providing specific information on their payload structure.


Endpoints for Subscription Management

Sync your Shop in the Sellers Center

Connect your Shop

Navigate to your Settings

Click on "Install Seller Center App"

Enter the Credentials we gathered in the previous step

Click on "Connect to Shopify"

When all data is entered correctly, you should be redirected to the following page:

Next Steps

Before clicking on "Get Shopify Products", let's quickly review how to prepare your products for the sync in the next step!

Product Preparations

Difference in Product Structure

The Seller Center and Shopify organize their products slightly differently.

Shopify

Shopify's product structure consists of two levels: Product and Variant, with Options serving as attributes that define the variants. Here's a clearer representation:

Component

Purpose

Examples

Product (Style)

Base item with general attributes like the name and in which collections the product is

"Men's T-Shirt"

Variant (Size, Color etc.)

Specific versions of the product, defined by options

"Medium Red T-Shirt"

Options(Attributes)

Characteristics used to differentiate variants

Size (Small, Medium), Color (Red)

Seller Center

The Seller Center (and ABOUT YOU) work with a slightly more restrictive product structure.

Component

Purpose

Examples

Master (Style)

Contains basic product information like the name and what brand and category it belongs to. Also named "Style".

"Men's T-Shirt"

Product (Color)

Differentiated by the Color of the Product

"Red T-Shirt"

Variant (Size)

Differentiated by the Size of the Product

"Red T-Shirt in Size S"

Optimize Shopify Product Structure for use in the Seller Center

The Seller Center will do its best to map the options defined at the variant level to the respective levels in the Seller Center. You can make that work easier for you by assigning certain Options to your products.

Using the Size Option

So if you define a "Size" Option, we will try to map it to the sizes we have attached for the Category you choose.

A basic example of this could be seen in the Shopify Admin Interface. A common pattern is that on Shopify, the products are separated by Color. So the product name indicates the color of the product e.g. "Red T-Shirt".

In this case, we can automatically map the Size, not the Color, and you must define it when syncing your products.

In this case you need to map the sizes manually.

Using Color and Size Option

To make mapping even easier you can define the color and size as options. In this case we automatically map your product to our product layout

SKU and Barcode

Make sure that every variant has an SKU. This SKU must be unique for your shop. We use it to identify this product in your system, so also reusing SKUs for new Variants might lead to problems.

The barcode is optional

Shipping Information

You must mark every variant you want to use as a physical product.

Law requires the weight, country of origin and HS Code.

Vendor

To make sure we can match the brand in the Seller Center, make sure to add the brandname in the Vendor section of your product.

Next Steps

Once you've done these steps, you're ready to sync your products in the next step!

Sync Products

Fetching products

After connecting your Shopify Shop to the Seller Center you will find the following view under Shopify Connect->Sync products.

Click on "Get Shopify Products".

After a short loading screen you should see a list of your products.

When expanding rows, you can see if there is missing information:

Order Handling

Once you setup the Shopify integration and connected your products, you can handle everything related to orders directly from Shopify.

Whenever you receive an order from AboutYou, the Seller Center syncs it to Shopify including all relevant information such as the delivery document. In Shopify you can view, fulfill and cancel orders. If you have to register a return, you can do that as well.

Limitations

Please keep in mind that AboutYou does not support all functionality that Shopify supports. The following actions can not be processed by AboutYou:

  • Cancelling fulfillments/returns. AboutYou will not process the cancellation of any shipment or return.

  • Updating fulfillments/returns. AboutYou will not process any updates of a fulfillment or return. You can not change the tracking number after a fulfillment/return has been created.

  • Refunds: AboutYou does not support refunds in any way via Shopify currently.

Connect Products to the Seller Center

Once all products are fetched, you can connect them to the Seller Center.

Choose Variants to Connect

Select Variants

In order to do that choose a product you want to connect and click on "Select Variants".

You can either connect all variants, or just a few. Usually you want to connect all variants of a product.

Connect Variants

After selecting the desired variants, click on "Connect Variants".

Connecting your first Variant

When connecting variants, you will use the following Wizard.

Assigning a Category

In our example we want to connect a Blouse for Women. We can screen the available categories in ABOUT YOU.

For this Product we can choose: Fashion->Women->Tops->Blouse->Blouse

Once you've assigned a brand and category click on "Continue"

Map Variants

Product Name

In this example the product name includes the color of the product. As we will map into the Seller Center structure, we only want to keep the proper noun "Maxim".

You can see a preview of the product name as it will be displayed in the shop on the top right.

For example we change "Blusentop 'Maxim' in Beige, Schwarz".

To "Maxim".

Assign Sizes

Assign Colors

In this example the product has one color, we want to choose the primary color of the product. So Beige.

Once we've assigned the colors we can click on "Create Product".

Next Steps

You can now choose to either Go to the product to enhance it with more needed information that we couldn't prefill from Shopify, or connect further Variants.

Connecting a Second Product and adding it to an existing one

Let's now connect a second shopify product.

In our example this is the same Blouse, but in a different color.

In ABOUT YOU Terms, the blouse "Maxim" is the Master Product or Style and the color variation, a new product. So we want to connect this new color to our already connected product. As before Select the Variants and click on "Connect Variants".

We can now add this product to an existing product-(style).

Choose the previosly connected product and click on "Continue".

We can now choose a color, and click on continue.

After clicking "Create Product" and "Go to product",. Let's look at the result.

You can see that we now have the "Blouse 'Maxim'" with two colors. Beige and white.

In the variants section, you will find the variants synced from Shopify.

Enhancing and publishing products

Before publishing a product (and customers being able to buy them), we have to add informations, that we can't extract from Shopify.

Sometimes we can't map the sizes you defined to our system. For example when you have defined a kid's Top with the sizes S,M and L and ABOUT YOU expects international sizes like 32, 38, 40, 44 etc.

Make sure you've prepared products as described in the previous section. There are some conditions that might result in your products not being shown, for example if you didn't mark a product as a physical product.

Once you made changes in your Shopify Admin, just click on "Get Shopify Producs" again to update them in the Seller Center.

Selecting your preferred carrier when fulfilling/returning an order. AboutYou requires you to ship/return the order with the provided carrier and with a tracking key. A different carrier key will be ignored and the tracking will not work.

For your first product, we will focus on the "Create new product" section. We need to select a brand, which will be preselected in most cases if the products are or if you have only one brand you want to sell on the platform.

If you can't find a category fitting the product, don't hesitate to get in touch with us.

If you assigned the to your product, the size will be prefilled and you don't need to adjust them. When the Seller Center doesn't recognize the Size, you must find a corresponding size.

( Are there size conversion charts? )

This step is only helpful if you have products with multiple colors. If all your products are unique, you can skip the the next section.

By default we take all stock you have defined in Shopify into account. You might want to define a , if you want to make sure that not all your stock can be sold on ABOUT YOU.

You can now follow on how to publish your products to ABOUT YOU.

⚠️
⚠️
ℹ️
configured correctly
"Size" Option
this tutorial

Permissions

Here is a breakdown of the needed permissions, and why we need them.

write_orders

When a customer issues an order on ABOUT YOU, we will create an order in Shopify, so you can keep your workflow when dealing with orders

read_orders

This permission is automatically added with the write_orders permission. We will only read orders, that the Sellers Center has issued.

read_products

We need this permission to sync the products from your shop to the Seller Center in order to push them to ABOUT YOU

read_product_listings

We read the collections your products belong to in order to make it easier for you to recognize to which ABOUT YOU you category they should be synced to.

read_fulfillments

You can handle all your orders in Shopify, including the ones that we're issued on ABOUT YOU. When fulfilling a order from the shopify interface, we need to sync the shipment to the ABOUT YOU system to let the user know their order is on the way

read_returns

You can handle all your orders in Shopify, including the ones that we're issued on ABOUT YOU. When you accept an return, we need to let the ABOUT YOU customer know that all went well.

write_files

We must write files in order to upload the ABOUT YOU delivery document and attach it to your order.

read_files

We must read files when linking the order delivery document to the order.

⚠️
⚠️
Safety Margin
⚠️

Price Markup

What is a price markup?

When using the Shopify integration, Seller Center retrieves the Price and Compare at Price values directly from your Shopify product listings. However, you may wish to sell your products at different prices on AboutYou than in your Shopify store. To accommodate this, you can define a price markup for each target country. This markup will be added to both the Price and Compare at Price, allowing you to adjust pricing per country.

Setting a price markup

You can navigate to Settings->Your Shopify Shop to set a price markup. The default is 0.

Adjust the price markup per country and click save to persist your changes. Your changes will not take effect immediately. It might take a few seconds to several minutes for all products to be adjusted.

Stock Safety Margin

Why define a safety margin?

It might be helpful to define a stock safety margin in case you don't want to sell all the stock you have available in your Shop to be sold to ABOUT YOU. It can also prevent overselling of products, in case there are delays in syncing your stock from Shopify to ABOUT YOU

Setting a safety margin

You can navigate to Settings->Your Shopify Shop to set a safety magin. The default is 5.

Adjust the count of stock you want to reserve for your Shopify Shop and click on save to update it.

Jasper Berkel

Get Products

get
Authorizations
Query parameters
style_keyany ofOptional

Style key to search for

stringOptional
or
nullOptional
skuany ofOptional

SKU to search for

stringOptional
or
nullOptional
statusany ofOptional

Status of the product to filter by. Choose from: "draft", "pending_approval", "rejected", "pending_active", "active", "inactive", "archived".

string · enumOptionalPossible values:
or
nullOptional
pageinteger · min: 1Optional

Page number to retrieve items from.

Default: 1
per_pageinteger · min: 1 · max: 100Optional

Number of items per page.

Default: 20
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
get
GET /api/v1/products/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "style_key": "text",
      "status": "text",
      "sku": "text",
      "ean": "text",
      "hs_code": "text",
      "name": "text",
      "descriptions": {
        "de": "This is a description"
      },
      "color": 1,
      "size": 1,
      "second_size": 1,
      "brand": 1,
      "category": 1,
      "quantity": 100,
      "quantity_fbm": 100,
      "weight": 1,
      "countries": [
        "text"
      ],
      "country_of_origin": "text",
      "attributes": [
        1
      ],
      "material_composition_textile": [
        {
          "cluster_id": 1,
          "components": [
            {
              "material_id": 1,
              "fraction": 100
            }
          ]
        }
      ],
      "material_composition_non_textile": [
        {
          "cluster_id": 1,
          "components": [
            {
              "material_id": 1
            }
          ]
        }
      ],
      "prices": [
        {
          "country_code": "DE",
          "retail_price": 100,
          "sale_price": 80
        }
      ],
      "images": [
        "text"
      ]
    }
  ],
  "pagination": {
    "per_page": 1,
    "page": 1,
    "pages": 1,
    "total": 1,
    "next": "text",
    "prev": "text"
  }
}

List Categories

get
Authorizations
Query parameters
queryany ofOptional

Search term to filter items by path name

stringOptional
or
nullOptional
parent_categoryany ofOptional

Filter items by parent category ID

integer · min: 1Optional

ID (integer) of this property

Example: 1
or
nullOptional
pageinteger · min: 1Optional

Page number to retrieve items from.

Default: 1
per_pageinteger · min: 1 · max: 100Optional

Number of items per page.

Default: 20
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
get
GET /api/v1/categories/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "id": 1,
      "name": "Caps",
      "path": "Fashion|Women|Caps",
      "parent_id": 123,
      "parent": 1
    }
  ],
  "pagination": {
    "per_page": 1,
    "page": 1,
    "pages": 1,
    "total": 1,
    "next": "text",
    "prev": "text"
  }
}

Get Product Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/products?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "style_key": "master_1",
        "sku": "my_sku_1",
        "ean": "1234567890123",
        "hs_code": "1234.56",
        "name": "Cap 'Gwendolyn'",
        "descriptions": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "color": 1,
        "size": 1,
        "second_size": 1,
        "brand": 1,
        "category": 1,
        "quantity": 100,
        "weight": 400,
        "countries": [
          "DE"
        ],
        "country_of_origin": "DE",
        "attributes": [
          1
        ],
        "material_composition_textile": [
          {
            "cluster_id": 1,
            "components": [
              {
                "material_id": 1,
                "fraction": 100
              }
            ]
          }
        ],
        "material_composition_non_textile": [
          {
            "cluster_id": 1,
            "components": [
              {
                "material_id": 1
              }
            ]
          }
        ],
        "prices": [
          {
            "country_code": "DE",
            "retail_price": 100,
            "sale_price": 80
          }
        ],
        "images": [
          "https://aboutyou.com/image_1500x2000.jpg"
        ]
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Product Status Update Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/status?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "style_key": "EDT1110-5",
        "status": "published"
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Stock Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/stocks?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "sku": "my_sku_1",
        "quantity": 1
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Price Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/prices?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "sku": "my_sku_1",
        "price": {
          "country_code": "DE",
          "retail_price": 100,
          "sale_price": 80
        }
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

List Attribute Groups

get
Authorizations
Path parameters
category_idintegerRequired
Responses
200
OK
application/json
get
GET /api/v1/categories/{category_id}/attribute-groups HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "attributes": [
      {
        "id": 1,
        "name": "text",
        "frontend_name": "text"
      }
    ],
    "id": 1,
    "name": "type_of_hat",
    "frontend_name": "Hat Style",
    "is_multiselect": true
  }
]

Get Ship Order Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/ship-orders?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "order_items": [
          1
        ],
        "carrier_key": "DHL_STD_NATIONAL",
        "shipment_tracking_key": "123456789",
        "return_tracking_key": "123456789"
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Cancel Order Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/cancel-orders?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "id": 1
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Orders

get
Authorizations
Query parameters
order_numberany ofOptional

Order number to search for.

stringOptional
or
nullOptional
customer_keyany ofOptional

Customer key to search for.

stringOptional
or
nullOptional
carrier_keyany ofOptional

Carrier of the order to filter by. Choose from: "DHL_STD_NATIONAL", "HERMES_KLV", "HERMES_STD_NATIONAL", "DHL_AT", "DHL_POST_AUT", "HERMES_POST_AUT", "POST_CH", "QUICK_CH", "POST_NL", "DHL_NL", "DHL_PL", "PPL", "ZASIL_CZ", "BPOST_BE", "DHL_BPOST_BEL", "COLI_FR", "UB_GLS_DK", "UB_CORR_ES", "DS_TB_ES", "UB_CTT_PT", "DS_TB_PT", "ECONT_BG", "ACS_CY", "UB_OMNIVA_EE", "UB_POST_FI", "UB_TAXY_GR", "ACS_GR", "POST_HR", "POST_HU", "GLS_HU", "UB_FAST_IE", "POST_IT", "DS_TB_IT", "UB_OMNIVA_LT", "BPOST_LU", "UB_OMNIVA_LV", "UB_POST_NO", "FAN_RO", "UB_DHL_SE", "POST_SI", "POST_SK", "ZASIL_SK".

string · enumOptionalPossible values:
or
nullOptional
shop_countryany ofOptional

Shop country to search for.

stringOptional
or
nullOptional
order_statusany ofOptional

Status of the order to filter by. Choose from: "open", "shipped", "cancelled", "returned", "mixed".

string · enumOptionalPossible values:
or
nullOptional
order_item_statusany ofOptional

Status of the order item to filter by. Choose from: "open", "shipped", "cancelled", "returned".

string · enumOptionalPossible values:
or
nullOptional
orders_fromany ofOptional

Orders from date to filter by.

string · date-timeOptional
or
nullOptional
orders_toany ofOptional

Orders to date to filter by.

string · date-timeOptional
or
nullOptional
fulfillment_typeany ofOptional

Fulfillment type to filter by.

string · enumOptionalPossible values:
or
nullOptional
pageinteger · min: 1Optional

Page number to retrieve items from.

Default: 1
per_pageinteger · min: 1 · max: 100Optional

Number of items per page.

Default: 20
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
get
GET /api/v1/orders/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "order_items": [
        {
          "return_tracking_key": "text",
          "shipment_tracking_key": "text",
          "sku": "text",
          "id": 1,
          "product_variant": 1,
          "vat": 19,
          "price_without_tax": 1,
          "price_with_tax": 1,
          "custom_data": {},
          "status": "open"
        }
      ],
      "order_number": "text",
      "delivery_document_url": "text",
      "created_at": "2025-06-19T02:57:25.573Z",
      "updated_at": "2025-06-19T02:57:25.573Z",
      "customer_key": "text",
      "custom_data": {},
      "shop": 1,
      "carrier_key": "text",
      "payment_method": "text",
      "billing_street": "text",
      "billing_zip_code": "text",
      "billing_city": "text",
      "billing_country_code": "text",
      "billing_recipient_gender": "text",
      "billing_recipient_first_name": "text",
      "billing_recipient_last_name": "text",
      "billing_additional": "text",
      "shipping_street": "text",
      "shipping_zip_code": "text",
      "shipping_city": "text",
      "shipping_country_code": "text",
      "shipping_additional": "text",
      "shipping_collection_point_key": "text",
      "shipping_collection_point_type": "text",
      "shipping_collection_point_customer_key": "text",
      "shipping_collection_point_description": "text",
      "shipping_recipient_gender": "text",
      "shipping_recipient_first_name": "text",
      "shipping_recipient_last_name": "text",
      "currency_code": "text",
      "cost_without_tax": 1,
      "cost_with_tax": 1,
      "shopify_order_id": "text",
      "status": "open",
      "fulfillment_type": "dropshipping"
    }
  ],
  "pagination": {
    "per_page": 1,
    "page": 1,
    "pages": 1,
    "total": 1,
    "next": "text",
    "prev": "text"
  }
}

Get Return Order Batch Results

get
Authorizations
Query parameters
batch_request_idstring · uuidRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/results/return-orders?batch_request_id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "completed",
  "items": [
    {
      "requestItem": {
        "order_items": [
          1
        ],
        "return_tracking_key": "123456789"
      },
      "success": true,
      "errors": [
        "Could not complete operation due to..."
      ]
    }
  ]
}

Get Webhook Event Types

get
Authorizations
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
get
GET /api/v1/webhooks/types HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
[
  {
    "description": "text",
    "event": "text"
  }
]

Get Webhook Subscriptions

get
Authorizations
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
get
GET /api/v1/webhooks/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
[
  {
    "events": [
      "order.created"
    ],
    "url": "https://example.com",
    "id": 1,
    "description": "text",
    "enabled": true,
    "created_at": "2025-06-19T02:57:25.573Z"
  }
]

Get Webhook Subscription

get
Authorizations
Path parameters
subscription_idintegerRequired
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
get
GET /api/v1/webhooks/{subscription_id} HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "events": [
    "order.created"
  ],
  "url": "https://example.com",
  "id": 1,
  "description": "text",
  "enabled": true,
  "created_at": "2025-06-19T02:57:25.573Z"
}

Delete Webhook Subscription

delete
Authorizations
Path parameters
subscription_idintegerRequired
Responses
204
No Content
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
delete
DELETE /api/v1/webhooks/{subscription_id} HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Accept: */*

No content

Upsert Product

post
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
post
POST /api/v1/products/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 624

{
  "items": [
    {
      "style_key": "master_1",
      "sku": "my_sku_1",
      "ean": "1234567890123",
      "hs_code": "1234.56",
      "name": "Cap 'Gwendolyn'",
      "descriptions": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "color": 1,
      "size": 1,
      "second_size": 1,
      "brand": 1,
      "category": 1,
      "quantity": 100,
      "weight": 400,
      "countries": [
        "DE"
      ],
      "country_of_origin": "DE",
      "attributes": [
        1
      ],
      "material_composition_textile": [
        {
          "cluster_id": 1,
          "components": [
            {
              "material_id": 1,
              "fraction": 100
            }
          ]
        }
      ],
      "material_composition_non_textile": [
        {
          "cluster_id": 1,
          "components": [
            {
              "material_id": 1
            }
          ]
        }
      ],
      "prices": [
        {
          "country_code": "DE",
          "retail_price": 100,
          "sale_price": 80
        }
      ],
      "images": [
        "https://aboutyou.com/image_1500x2000.jpg"
      ]
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Update Product Status

put
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
put
PUT /api/v1/products/status HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "items": [
    {
      "style_key": "EDT1110-5",
      "status": "published"
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Update Stock

put
Authorizations
Body
Responses
200
OK
application/json
401
Unauthorized
application/json
put
PUT /api/v1/products/stocks HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "items": [
    {
      "sku": "my_sku_1",
      "quantity": 1
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Update Price

put
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
put
PUT /api/v1/products/prices HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 95

{
  "items": [
    {
      "sku": "my_sku_1",
      "price": {
        "country_code": "DE",
        "retail_price": 100,
        "sale_price": 80
      }
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Ship Order Items

post
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
post
POST /api/v1/orders/ship HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 134

{
  "items": [
    {
      "order_items": [
        1
      ],
      "carrier_key": "DHL_STD_NATIONAL",
      "shipment_tracking_key": "123456789",
      "return_tracking_key": "123456789"
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Cancel Order Items

post
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
post
POST /api/v1/orders/cancel HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "items": [
    {
      "id": 1
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Return Order Items

post
Authorizations
Body
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
post
POST /api/v1/orders/return HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "items": [
    {
      "order_items": [
        1
      ],
      "return_tracking_key": "123456789"
    }
  ]
}
{
  "batchRequestId": "123e4567-e89b-12d3-a456-426614174000"
}

Order Created Webhook

post

This is a dummy endpoint that demonstrates the webhook payload structure that will be sent to webhook subscribers when an order.created event occurs.

The actual webhooks will be sent asynchronously to the URLs specified in the webhook subscriptions that are subscribed to the order.created event type.

The webhook payload includes:

  • id: ID of the webhook message

  • event: The event type (order.created)

  • timestamp: When the event occurred

  • subscription_id: ID of the webhook subscription

  • message: The order data in the same format as the GET /orders/{id} endpoint

Authorizations
Body
idinteger · min: 1Required

ID of the webhook message

Example: 1
eventstringRequired

Event type of webhook message

timestampstring · date-timeOptional

UTC timestamp when the event was created

subscription_idany ofOptional

ID of the subscription

integer · min: 1Optional

ID (integer) of this property

Example: 1
or
nullOptional
Responses
200
OK
post
POST /api/v1/webhooks/order-created HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1319

{
  "id": 1,
  "event": "text",
  "timestamp": "2025-06-19T02:57:25.573Z",
  "message": {
    "order_items": [
      {
        "return_tracking_key": "text",
        "shipment_tracking_key": "text",
        "sku": "text",
        "id": 1,
        "product_variant": 1,
        "vat": 19,
        "price_without_tax": 1,
        "price_with_tax": 1,
        "custom_data": {},
        "status": "open"
      }
    ],
    "order_number": "text",
    "delivery_document_url": "text",
    "created_at": "2025-06-19T02:57:25.573Z",
    "updated_at": "2025-06-19T02:57:25.573Z",
    "customer_key": "text",
    "custom_data": {},
    "shop": 1,
    "carrier_key": "text",
    "payment_method": "text",
    "billing_street": "text",
    "billing_zip_code": "text",
    "billing_city": "text",
    "billing_country_code": "text",
    "billing_recipient_gender": "text",
    "billing_recipient_first_name": "text",
    "billing_recipient_last_name": "text",
    "billing_additional": "text",
    "shipping_street": "text",
    "shipping_zip_code": "text",
    "shipping_city": "text",
    "shipping_country_code": "text",
    "shipping_additional": "text",
    "shipping_collection_point_key": "text",
    "shipping_collection_point_type": "text",
    "shipping_collection_point_customer_key": "text",
    "shipping_collection_point_description": "text",
    "shipping_recipient_gender": "text",
    "shipping_recipient_first_name": "text",
    "shipping_recipient_last_name": "text",
    "currency_code": "text",
    "cost_without_tax": 1,
    "cost_with_tax": 1,
    "shopify_order_id": "text",
    "status": "open",
    "fulfillment_type": "dropshipping"
  },
  "subscription_id": 1
}
200

OK

No content

Post Webhook Subscription

post
Authorizations
Body
urlstring · uri · min: 1 · max: 2083RequiredExample: https://example.com
descriptionany ofOptional
stringOptional
or
nullOptional
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
post
POST /api/v1/webhooks/ HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 77

{
  "events": [
    "order.created"
  ],
  "url": "https://example.com",
  "description": "text"
}
{
  "events": [
    "order.created"
  ],
  "url": "https://example.com",
  "id": 1,
  "description": "text",
  "enabled": true,
  "created_at": "2025-06-19T02:57:25.573Z",
  "client_secret": "text"
}

Update Webhook Subscription Patch

patch
Authorizations
Path parameters
subscription_idintegerRequired
Body
eventsany ofOptional
or
nullOptional
urlany ofOptional
string · uri · min: 1 · max: 2083OptionalExample: https://example.com
or
nullOptional
descriptionany ofOptional
stringOptional
or
nullOptional
enabledany ofOptional
booleanOptional
or
nullOptional
Responses
200
OK
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
404
Not Found
application/json
patch
PATCH /api/v1/webhooks/{subscription_id} HTTP/1.1
Host: 
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 92

{
  "events": [
    "order.created"
  ],
  "url": "https://example.com",
  "description": "text",
  "enabled": true
}
{
  "events": [
    "order.created"
  ],
  "url": "https://example.com",
  "id": 1,
  "description": "text",
  "enabled": true,
  "created_at": "2025-06-19T02:57:25.573Z"
}