---
title: "Get salesorder material"
method: GET
path: "/sales-order-materials/{id}"
tags: ["SalesOrdersMaterials"]
---

# Get salesorder material

`GET /sales-order-materials/{id}`

## Request

- Base URL: `https://api.c1st.com/api`
- URL: `https://api.c1st.com/api/sales-order-materials/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` integer, required

## Response `200`

OK

- SalesOrderMaterialResponse
  - `content` SalesOrderMaterial
    - `id` integer
    - `sales_order_id` integer
    - `title` string
    - `description` string
    - `product_id` integer, nullable
    - `quantity` number
    - `missing_quantity` number
    - `fulfilled_quantity` number
    - `rejected_quantity` number
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `fulfillments` SalesOrderFulfillmentMaterial[], nullable
      - `id` integer
      - `title` string
      - `description` string
      - `product_id` integer, nullable
      - `quantity` number
      - `fulfilled_quantity` number
      - `cancelled_quantity` number
      - `rejected_quantity` number
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `salesOrderFulfillment` SalesOrderFulfillmentLink, nullable
        - `id` integer
        - `storeid` integer
        - `fulfillment_method` 'pickup' | 'ship' | 'transfer'
        - `status` 'pending' | 'accepted' | 'processing' | 'ready' | 'completed' | 'cancelled' | 'rejected'
        - `open` boolean
        - `draft` boolean
      - `product` Product: The representation of a product.
        - `id` integer, nullable: A unique product ID
        - `title` string: Product name
        - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
        - `barcode` string, nullable: A unique barcode
        - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
        - `serieno` string, nullable
        - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
        - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
        - `costprice` number, double, nullable: Cost price of the product excl. VAT
        - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
        - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
        - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
        - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
        - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
        - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
        - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
        - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
          - `id` integer, nullable: A unique id for a supplier
          - `name` string: The name of a supplier
          - `email` string, nullable: The mail of a supplier
          - `customerno` string, nullable: Customer number for the supplier
          - `address` string, nullable: Address of the supplier
          - `city` string, nullable: Which city the supplier is from
          - `zipcode` string, nullable: Zipcode of the supplier
          - `note` string, nullable
          - `handle` string, nullable: Slug for the supplier based on the name
          - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
          - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
          - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
          - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
          - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
          - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
          - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
          - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
          - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
          - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
          - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
          - `verified_supplier` VerifiedSupplierSummary
            - `id` integer, required
            - `name` string, required
            - `email` string, required
            - `image_url` string, nullable, required
        - `color` string, nullable
        - `styleno` string, nullable
        - `size` string, nullable
        - `brand` string, nullable
        - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
        - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
        - `vat_type` VatType
          - `id` integer
          - `name` string
          - `rate` number
          - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
          - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
          - `vat_account_no` string, nullable: VAT account number for the revenue vat part
        - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
        - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `customfield1` string, nullable: Field for custom product data
        - `customfield2` string, nullable
        - `customfield3` string, nullable
        - `customfield4` string, nullable
        - `created` string, nullable
        - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
        - `totalstock` integer, nullable: The sum of serial products in stock
        - `totalavailablestock` integer, nullable: The sum of serial products available
        - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
        - `onshoppinglist` integer, nullable: Number of items already on shopping list.
        - `ordered` integer, nullable: Number of items currently in order
        - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
        - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
        - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
        - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
        - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
        - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
        - `storeid` integer, nullable: The owner storeid
        - `image` ProductImage: A Product's image
          - `blurhash` string, nullable
          - `preview_url` string
          - `full_url` string
        - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
        - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
        - `deleted_at` string, nullable: Deleted date, if product is soft deleted
    - `pendingOrCompletedFulfillments` SalesOrderFulfillmentMaterial[], nullable
      - `id` integer
      - `title` string
      - `description` string
      - `product_id` integer, nullable
      - `quantity` number
      - `fulfilled_quantity` number
      - `cancelled_quantity` number
      - `rejected_quantity` number
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `salesOrderFulfillment` SalesOrderFulfillmentLink, nullable
        - `id` integer
        - `storeid` integer
        - `fulfillment_method` 'pickup' | 'ship' | 'transfer'
        - `status` 'pending' | 'accepted' | 'processing' | 'ready' | 'completed' | 'cancelled' | 'rejected'
        - `open` boolean
        - `draft` boolean
      - `product` Product: The representation of a product.
        - `id` integer, nullable: A unique product ID
        - `title` string: Product name
        - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
        - `barcode` string, nullable: A unique barcode
        - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
        - `serieno` string, nullable
        - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
        - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
        - `costprice` number, double, nullable: Cost price of the product excl. VAT
        - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
        - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
        - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
        - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
        - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
        - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
        - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
        - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
          - `id` integer, nullable: A unique id for a supplier
          - `name` string: The name of a supplier
          - `email` string, nullable: The mail of a supplier
          - `customerno` string, nullable: Customer number for the supplier
          - `address` string, nullable: Address of the supplier
          - `city` string, nullable: Which city the supplier is from
          - `zipcode` string, nullable: Zipcode of the supplier
          - `note` string, nullable
          - `handle` string, nullable: Slug for the supplier based on the name
          - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
          - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
          - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
          - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
          - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
          - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
          - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
          - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
          - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
          - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
          - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
          - `verified_supplier` VerifiedSupplierSummary
            - `id` integer, required
            - `name` string, required
            - `email` string, required
            - `image_url` string, nullable, required
        - `color` string, nullable
        - `styleno` string, nullable
        - `size` string, nullable
        - `brand` string, nullable
        - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
        - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
        - `vat_type` VatType
          - `id` integer
          - `name` string
          - `rate` number
          - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
          - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
          - `vat_account_no` string, nullable: VAT account number for the revenue vat part
        - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
        - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `customfield1` string, nullable: Field for custom product data
        - `customfield2` string, nullable
        - `customfield3` string, nullable
        - `customfield4` string, nullable
        - `created` string, nullable
        - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
        - `totalstock` integer, nullable: The sum of serial products in stock
        - `totalavailablestock` integer, nullable: The sum of serial products available
        - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
        - `onshoppinglist` integer, nullable: Number of items already on shopping list.
        - `ordered` integer, nullable: Number of items currently in order
        - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
        - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
        - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
        - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
        - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
        - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
        - `storeid` integer, nullable: The owner storeid
        - `image` ProductImage: A Product's image
          - `blurhash` string, nullable
          - `preview_url` string
          - `full_url` string
        - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
        - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
        - `deleted_at` string, nullable: Deleted date, if product is soft deleted
    - `product` object, nullable
      - `id` integer
      - `title` string
      - `productno` string
      - `size` string, nullable
      - `color` string, nullable
      - `image` ProductImage: A Product's image
        - `blurhash` string, nullable
        - `preview_url` string
        - `full_url` string

---

[API](https://skmtc.dev/c1st/apis/customers-1st-api.md) - [All operations](https://skmtc.dev/c1st/apis/customers-1st-api/llms.txt) - [OpenAPI document](https://skmtc.dev/c1st/apis/customers-1st-api/revisions/4250bb326f2a?raw)
