---
title: "Create an order"
method: POST
path: "/orders"
tags: ["Orders"]
---

# Create an order

`POST /orders`

Place a new order in the API. You can choose the simple way and set the shipping type and the confirmed state in one request. Or you can create the order first and set the shipping type and the confirmed state later. It is also possible to mix both ways and set the shipping type direct and confirm later.
You can order existing articles, or one-time items, which are created just for the respective order, and deleted afterwards. You need to add at least one orderItem or oneTimeItem.

## Request body

- CreateOrder — payload for a new order
  - `orderItems` CreateOrderItem[], required — order items
    - `sku` string, required — stock keeping unit id from spreadconnect. Must not be blank.
    - `quantity` integer, required — quantity of items. Must be greater than 0.
    - `externalOrderItemReference` string — external order item reference from merchant (you)
    - `customerPrice` CustomerPrice, required — customer price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `oneTimeItems` object[] — items which are created only for this order, and deleted afterwards.
    - `quantityItems` object[] — Each quantity item represents the relationship between an article variant and the quantities required for the variant
      - `quantity` number
      - `sizeId` number
      - `appearanceId` unknown
    - `configurations` object[] — product
      - `image` object, required
        - `url` string
        - `designId` string
      - `view` 'FRONT' | 'BACK' | 'LEFT' | 'RIGHT' | 'HOOD_LEFT' | 'HOOD_RIGHT', required
      - `hotspot` 'FULL_FRONT' | 'MEDIUM_FRONT' | 'LEFT_CHEST' | 'RIGHT_CHEST' | 'FULL_BACK' | 'MEDIUM_BACK' | 'BACK_COLLAR' | 'RIGHT' | 'LEFT' | 'CENTER_CHEST'
      - `position` object — Custom print position. Before using a custom print position, check the product type's printAreas to ensure the position is valid for the selected view.
        - `offsetX` number, double, required
        - `offsetY` number, double, required
        - `width` number, double, required
        - `height` number, double, required
    - `productTypeId` number
    - `externalOrderItemReference` string
    - `customerPricePerItem` CustomerPrice — customer price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `shipping` object, required — shipping informations
    - `address` Address, required — physical mailing address
      - `company` string — company name
      - `firstName` string — first name
      - `lastName` string, required — last name
      - `street` string, required — street. Must not be blank.
      - `streetAnnex` string — street annex, optional
      - `city` string, required — city name. Must not be blank.
      - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
      - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
      - `zipCode` string, required — zip code, for some countries optional
    - `fromAddress` Address — physical mailing address
      - `company` string — company name
      - `firstName` string — first name
      - `lastName` string, required — last name
      - `street` string, required — street. Must not be blank.
      - `streetAnnex` string — street annex, optional
      - `city` string, required — city name. Must not be blank.
      - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
      - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
      - `zipCode` string, required — zip code, for some countries optional
    - `preferredType` 'STANDARD' | 'PREMIUM' | 'EXPRESS' — preferred shipping type
    - `customerPrice` CustomerPrice, required — customer price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `billingAddress` Address — physical mailing address
    - `company` string — company name
    - `firstName` string — first name
    - `lastName` string, required — last name
    - `street` string, required — street. Must not be blank.
    - `streetAnnex` string — street annex, optional
    - `city` string, required — city name. Must not be blank.
    - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
    - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
    - `zipCode` string, required — zip code, for some countries optional
  - `phone` string, required — Phone used for the communication with the customer. Must not be blank.
  - `email` string, email, required — Email used for the communication with the customer. Must be a valid email address.
  - `externalOrderReference` string, required — external order reference from merchant (you). Must not be blank.
  - `externalOrderName` string — external order name from merchant (you)
  - `state` 'NEW' | 'CONFIRMED' — order state
  - `customerTaxType` 'SALESTAX' | 'VAT' | 'NOT_TAXABLE' — tax type, salestax or vat
  - `origin` string — optional origin field

## Response `201`

Created

- GetOrder
  - `id` integer — order id from spreadconnect
  - `orderReference` integer — order reference from spreadconnect, can be changed after order updates
  - `externalOrderReference` string — external order reference from merchant (you)
  - `externalOrderName` string — external order name from merchant (you)
  - `state` 'NEW' | 'CONFIRMED' | 'PROCESSED' | 'CANCELLED' — order state
  - `orderItems` GetOrderItem[] — order items
    - `orderItemReference` integer — spreadconnect order item reference
    - `externalOrderItemReference` string — external order item reference from merchant (you)
    - `state` 'NEW' | 'CHECKED' | 'CANCELLED' | 'PRODUCTION_ISSUE' | 'IN_PRODUCTION' | 'SENT' — order item state
    - `sku` string — stock keeping unit id from spreadconnect
    - `quantity` integer — item quantity
    - `price` Price — price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `taxRate` number — included vat rate in percent, only for tax type VAT
      - `taxAmount` number — included sales tax, only for tax type SALETAX
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
    - `customerPrice` CustomerPrice — customer price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `shipping` object — shipping information
    - `address` Address — physical mailing address
      - `company` string — company name
      - `firstName` string — first name
      - `lastName` string, required — last name
      - `street` string, required — street. Must not be blank.
      - `streetAnnex` string — street annex, optional
      - `city` string, required — city name. Must not be blank.
      - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
      - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
      - `zipCode` string, required — zip code, for some countries optional
    - `fromAddress` Address — physical mailing address
      - `company` string — company name
      - `firstName` string — first name
      - `lastName` string, required — last name
      - `street` string, required — street. Must not be blank.
      - `streetAnnex` string — street annex, optional
      - `city` string, required — city name. Must not be blank.
      - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
      - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
      - `zipCode` string, required — zip code, for some countries optional
    - `type` ShippingType — shipping type with id, name and description
      - `id` string — shipping type id, needed for set shipping type
      - `company` string — shipping company such as DHL, UPS, DPD, USPS, DHL Express, FedEx, Post AT, Deutsche Post
      - `name` string
      - `description` string
    - `price` Price — price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `taxRate` number — included vat rate in percent, only for tax type VAT
      - `taxAmount` number — included sales tax, only for tax type SALETAX
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
    - `customerPrice` CustomerPrice — customer price
      - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
      - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `billingAddress` Address — physical mailing address
    - `company` string — company name
    - `firstName` string — first name
    - `lastName` string, required — last name
    - `street` string, required — street. Must not be blank.
    - `streetAnnex` string — street annex, optional
    - `city` string, required — city name. Must not be blank.
    - `country` string, required — country code, is the ISO 3166-1 alpha-2 code of the country to deliver to, e.g. 'DE' or 'US'.
    - `state` string — state code, is the country-specific 2-letter upper-case, e.g. AL for Alabama in the USA This field is required when delivering to the USA or Canada
    - `zipCode` string, required — zip code, for some countries optional
  - `phone` string — Phone used for the communication with the customer.
  - `email` string — Email used for the communication with the customer.
  - `price` Price — price
    - `amount` number, required — total amount, with vat or sales tax. Must be zero or greater.
    - `taxRate` number — included vat rate in percent, only for tax type VAT
    - `taxAmount` number — included sales tax, only for tax type SALETAX
    - `currency` string, required — currency iso code (ISO 4217, 3 letters)
  - `taxType` 'SALESTAX' | 'VAT' | 'NOT_TAXABLE' — tax type, salestax or vat
  - `customerTaxType` 'SALESTAX' | 'VAT' | 'NOT_TAXABLE' — tax type, salestax or vat

## Other responses

- `400` — Request body is missing required fields or contains invalid field values
- `422` — Order payload invalid

---

[API](https://skmtc.net/spreadconnect/apis/spreadconnect-fulfillment-service-rest-api.md) · [All operations](https://skmtc.net/spreadconnect/apis/spreadconnect-fulfillment-service-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spreadconnect/spreadconnect-fulfillment-service-rest-api/revisions/c5159bc39a84/schema)
