v2 > Services > MaterialsUpdate


Update one or more materials in Origin.

  • URL

    /connect/v2/materials/update

    /connect/v2/async/materials/update

  • Method:

    POST

  • URL Params

    none

  • Request :

Field Type Required Description Domain of value
materials[] array of object At least one The list of materials to update Material object(s)
materials[].locale string Yes An Origin supported locale 'de', 'es_MX', 'en', 'fr' or 'zh_CN'
materials[].originId string Only if no materials[].externalId The material unique origin ID Any string
materials[].externalId string Only if no materials[].originId The material unique ID in your system Any string
materials[].productId string No An identification code (ex: a catalog id, SKU code) Any string
materials[].managementPermission string No The access permission profile COMPANY_READONLY, COMPANY_EDITABLE, ONLY_ME
materials[].name string No The material name Any string
materials[].description string No The material description Any string
materials[].brand object No The material brand A brand object
materials[].brand.name string Only if materials[].brand is present The brand name Any string
materials[].brand.website string No The brand website A valid public facing URL
materials[].logoUrl object No The material logo URL. In Origin, It refers to the material thumbnail image and the first image of the material. This image can also be set in Origin Website -> Material edit page -> Image Section -> Featured Image checkbox. A logoUrl object
materials[].logoUrl.originalUrl string Only if materials[].logoUrl is present The logo URL A valid public facing URL
materials[].collection object No The Material collection (ex: winter collection) A collection object
materials[].collection.name string Only if materials[].collection is present The collection name Any string
materials[].libraries[] array of object No The list of libraries for the material Library object(s)
materials[].libraries[].collectionBehavior string Only if materials[].libraries[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].libraries[].name string Only if materials[].libraries[] is present The library name Any string
materials[].category object No The category for the material A category object
materials[].category.code string Only if materials[].category is present and materials[].category.name is empty The category code data[].code in CategoriesLookup
materials[].category.name string Only if materials[].category is present and materials[].category.code is empty The category name. It's highly recommended to use materials[].category.code instead of materials[].category.name data[].name in CategoriesLookup
materials[].csiDivisions[] array of object No The CSI Divisions for the material CsiDivision object(s)
materials[].csiDivisions[].collectionBehavior string Only if materials[].csiDivisions[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].csiDivisions[].code string Only if materials[].csiDivisions[] is present and if materials[].csiDivisions.name is empty The CSI Division code data[].code in CsiDivisionsLookup
materials[].csiDivisions[].name string Only if materials[].csiDivisions[] is present and if materials[].csiDivisions.code is empty The CSI Division name. It's highly recommended to use materials[].csiDivisions[].code instead of materials[].csiDivisions.name data[].name in CsiDivisionsLookup
materials[].images[] array of object No The list of images for the material Image object(s)
materials[].images[].collectionBehavior string Only if materials[].images[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].images[].originalUrl string Only if materials[].images[] is present URL of an image related to the material A valid public facing URL
materials[].additionalsDocuments[] array of object No The list of document for the material Document object(s)
materials[].additionalsDocuments[].collectionBehavior string Only if materials[].additionalsDocuments[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].additionalsDocuments[].originalUrl string Only if materials[].additionalsDocuments[] is present URL of a document related to the material A valid public facing URL
materials[].contacts[] array of object No The related contacts Contact object(s)
materials[].contacts[].collectionBehavior string Only if materials[].contacts[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].contacts[].externalId string Only if materials[].contacts[] is present A unique identifier of your choosing that serves as a unique key for the contact Any string
materials[].contacts[].type string No The contact type MANUFACTURER, AUDITOR or VENDOR
materials[].contacts[].companyName string No The contact company name Any string
materials[].contacts[].name string No The contact name Any string
materials[].contacts[].website string No The contact website A valid public facing URL
materials[].contacts[].postalAddress string No The contact postal address Any string
materials[].contacts[].phone string No The contact phone Any string
materials[].contacts[].email string No The contact email A valid email
materials[].channels[] array of object No The list of channels on which the material will be published or posted Channel object(s). Not published if empty.
materials[].channels[].collectionBehavior string Only if materials[].channels[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD will publish or save to. REMOVE will unpublish or remove from. ADD, REMOVE
materials[].channels[].name string Only if materials[].channels[] is present The channel name.
If you set the name to 'ORIGIN' this is equivalent to publish or unpublish your material on Origin (only for Manufacturer and Reporting Body users).
If you set the name to 'COMPANY_LIBRARY' this is equivalent to save to or remove from your company library on Matter (only for AEC users)
ORIGIN, COMPANY_LIBRARY
materials[].featuresCustoms[] array of object No The Custom features for the material Custom feature object(s)
materials[].featuresCustoms[].collectionBehavior string Only if materials[].featuresCustoms[] is present The update action. ADD is used to create or update. REMOVE is used to remove. ADD, REMOVE
materials[].featuresCustoms[].originId string - To create (collectionBehavior = ADD) a feature : No
- To update (collectionBehavior = ADD) a feature : No, but it's highly recommanded.
- To remove (collectionBehavior = REMOVE) a feature : No, but it's highly recommanded.
If it's present, the action will be performed on the right feature
The custom feature unique origin ID A UUID
materials[].featuresCustoms[].name string Only if materials[].featuresCustoms[] is present The custom feature name Any string
materials[].featuresCustoms[].code string Only if materials[].featuresCustoms[] is present The custom feature property code data[].code prefixed with CUSTOM in PropertiesLookup
materials[].featuresCustoms[].value object Only if materials[].featuresCustoms[] is present The custom feature value Value object
materials[].featuresCustoms[].value.code string If the property require a reference code The custom feature value reference code possibleValues[].code in PropertyDetailsLookup
materials[].featuresCustoms[].value.content string If the property does not require a reference code The custom feature value content Any string
materials[].featuresProperties[] array of object No The feature properties for the material Feature property object(s)
materials[].featuresProperties[].collectionBehavior string Only if materials[].featuresProperties[] is present The update action. ADD is used to create or update. REMOVE is used to remove. ADD, REMOVE
materials[].featuresProperties[].originId string - To create (collectionBehavior = ADD) a feature : No
- To update (collectionBehavior = ADD) a feature : No, but it's highly recommanded.
- To remove (collectionBehavior = REMOVE) a feature : No, but it's highly recommanded.
If it's present, the action will be performed on the right feature
The property feature unique origin ID A UUID
materials[].featuresProperties[].code string Only if materials[].featuresProperties[] is present The property feature code data[].code NOT prefixed with CUSTOM in PropertiesLookup
materials[].featuresProperties[].value object Only if materials[].featuresProperties[] is present The property feature value Value object
materials[].featuresProperties[].value.code string If the property require a reference code The property feature value reference code possibleValues[].code in PropertyDetailsLookup
materials[].featuresProperties[].value.content string If the property does not require a reference code The property feature value content Any string
materials[].featuresProperties[].unit string No The property feature unit Unit object
materials[].featuresProperties[].unit.code string No The property feature unit code possibleUnits[].code in PropertyDetailsLookup
materials[].tags[] array of object No The list of tags for the material Tag object(s)
materials[].tags[].collectionBehavior string Only if materials[].tags[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].tags[].name string Only if materials[].tags[] is present The tag name Any string
materials[].skus[] array of object No The list of SKUs for the material Sku object(s)
materials[].skus[].collectionBehavior string Only if materials[].skus[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].skus[].originId string - To create (collectionBehavior = ADD) a sku : No
- To update (collectionBehavior = ADD) a sku : No, but it's highly recommanded.
- To remove (collectionBehavior = REMOVE) a sku : No, but it's highly recommanded.
If it's present, the action will be performed on the right sku
The sku unique origin ID A UUID
materials[].skus[].name string Only if materials[].skus[] is present The SKU name Any string
materials[].skus[].productId string No An identification code (ex: a catalog id, SKU code) Any string
materials[].skus[].images[] array of object No The list of images for the SKU Image object(s)
materials[].skus[].images[].collectionBehavior string Only if materials[].skus[].images[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].skus[].images[].originalUrl string Only if materials[].skus[].images[] is present URL of an image related to the SKU A valid public facing URL
materials[].skus[].additionalsDocuments[] string No The list of document for the SKU Document object(s)
materials[].skus[].additionalsDocuments[].collectionBehavior string Only if materials[].skus[].additionalsDocuments[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].skus[].additionalsDocuments[].originalUrl string Only if materials[].skus[].additionalsDocuments[] is present URL of a document related to the SKU A valid public facing URL
materials[].skus[].featuresCustoms[] array of object No The Custom features for the sku Custom feature object(s)
materials[].skus[].featuresCustoms[].collectionBehavior string Only if materials[].skus[].featuresCustoms[] is present The update action. ADD is used to create or update. REMOVE is used to remove. ADD, REMOVE
materials[].skus[].featuresCustoms[].originId string - To create (collectionBehavior = ADD) a feature : No
- To update (collectionBehavior = ADD) a feature : No, but it's highly recommanded.
- To remove (collectionBehavior = REMOVE) a feature : No, but it's highly recommanded.
If it's present, the action will be performed on the right feature
The custom feature unique origin ID A UUID
materials[].skus[].featuresCustoms[].name string Only if materials[].skus[].featuresCustoms[] is present The custom feature name Any string
materials[].skus[].featuresCustoms[].code string Only if materials[].skus[].featuresCustoms[] is present The custom feature property code data[].code prefixed with CUSTOM in PropertiesLookup
materials[].skus[].featuresCustoms[].value object Only if materials[].skus[].featuresCustoms[] is present The custom feature value Value object
materials[].skus[].featuresCustoms[].value.code string If the property require a reference code The custom feature value reference code possibleValues[].code in PropertyDetailsLookup
materials[].skus[].featuresCustoms[].value.content string If the property does not require a reference code The custom feature value content Any string
materials[].skus[].featuresProperties[] array of object No The feature properties for the sku Feature property object(s)
materials[].skus[].featuresProperties[].collectionBehavior string Only if materials[].skus[].featuresProperties[] is present The update action. ADD is used to create or update. REMOVE is used to remove. ADD, REMOVE
materials[].featuresProperties[].originId string - To create (collectionBehavior = ADD) a feature : No
- To update (collectionBehavior = ADD) a feature : No, but it's highly recommanded.
- To remove (collectionBehavior = REMOVE) a feature : No, but it's highly recommanded.
If it's present, the action will be performed on the right feature
The property feature unique origin ID A UUID
materials[].skus[].featuresProperties[].code string Only if materials[].skus[].featuresProperties[] is present The property feature code data[].code NOT prefixed with CUSTOM in PropertiesLookup
materials[].skus[].featuresProperties[].value object Only if materials[].skus[].featuresProperties[] is present The property feature value Value object
materials[].skus[].featuresProperties[].value.code string If the property require a reference code The property feature value reference code possibleValues[].code in PropertyDetailsLookup
materials[].skus[].featuresProperties[].value.content string If the property does not require a reference code The property feature value content Any string
materials[].skus[].featuresProperties[].unit string No The property feature unit Unit object
materials[].skus[].featuresProperties[].unit.code string No The property feature unit code possibleUnits[].code in PropertyDetailsLookup
materials[].connectedCertifications[] array of object No The list of certifications connected to the material Certification object(s)
materials[].connectedCertifications[].collectionBehavior string Only if materials[].connectedCertifications[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].connectedCertifications[].originId string Only if materials[].connectedCertifications[] is present The certification unique origin ID Any string
materials[].connectedDeclarations[] array of object No The list of declarations connected to the material Declaration object(s)
materials[].connectedDeclarations[].collectionBehavior string Only if materials[].connectedDeclarations[] is present The way the current collection element is updated. ADD will update attribute of existing element. ADD, REMOVE
materials[].connectedDeclarations[].originId string Only if materials[].connectedDeclarations[] is present The declaration unique origin ID Any string
materials[].url string No The material URL A valid public facing URL
  • Sample Request (Update of materials attributes):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "productId": "MY-MAT-001",
            "managementPermission": "ONLY_ME",
            "name": "My material",
            "description": "a new material description",
            "url": "https://public.facing.url/mynewmaterial.html"
        }
    ]
}
  • Sample Request (Update of brand):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "brand": {
                "name": "ACME new brand.",
                "website": "www.acmenewxyz.com"
            }
        }
    ]
}
  • Sample Request (Update of category with category code):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "category": {
                "code": "gc_22"
            }
        }
    ]
}
  • Sample Request (Update of category with category name):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "category": {
                "name": "Doors"
            }
        }
    ]
}
  • Sample Request (Update of logoUrl):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "logoUrl": {
                "originalUrl": "https://public.facing.url/newlogo.jpg"
            }
        }
    ]
}
  • Sample Request (Update of collection):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "collection": {
                "name": "Summer Collection"
            }
        }
    ]
}
  • Sample Request (Update the material by ADDING a library):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "libraries": [
                {
                    "collectionBehavior": "ADD",
                    "name": "My new Library"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a library):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "libraries": [
                {
                    "collectionBehavior": "REMOVE",
                    "name": "My Acme Library"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a CSI division):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "csiDivisions": [
                {
                    "collectionBehavior": "ADD",
                    "code": "126800",
                    "name": "Seat and Table Assemblies"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a CSI division):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "csiDivisions": [
                {
                    "collectionBehavior": "REMOVE",
                    "code": "126800"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING an image):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "images": [
                {
                    "collectionBehavior": "ADD",
                    "originalUrl": "https://public.facing.url/image2.jpg"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING an image):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "images": [
                {
                    "collectionBehavior": "REMOVE",
                    "originalUrl": "https://public.facing.url/image2.jpg"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a document):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "additionalsDocuments": [
                {
                    "collectionBehavior": "ADD",
                    "originalUrl": "https://public.facing.url/document.doc"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a document):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "additionalsDocuments": [
                {
                    "collectionBehavior": "REMOVE",
                    "originalUrl": "https://public.facing.url/document.doc"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a contact):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "contacts": [
                {
                    "collectionBehavior": "ADD",
                    "externalId": "JOHNSMITHAUDITOR1",
                    "type": "AUDITOR",
                    "companyName": "ACME Inc.",
                    "name": "John Smith",
                    "website": "https://www.acme.com/",
                    "postalAddress": "2500 Street Avenues",
                    "phone": "1-999-123-1234",
                    "email": "auditsrep@acme.com"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by UPDATING a contact website):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "contacts": [
                {
                    "collectionBehavior": "ADD",
                    "externalId": "JOHNSMITHAUDITOR1",
                    "website": "https://www.acme-2000.com/"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a contact):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "contacts": [
                {
                    "collectionBehavior": "REMOVE",
                    "externalId": "JOHNSMITHAUDITOR1"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material visibility. ADD channel = PUBLISH on that channel):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "channels": [
                {
                    "collectionBehavior": "ADD",
                    "name": "ORIGIN"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material visibility. REMOVE channel = UNPUBLISH from that channel):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "channels": [
                {
                    "collectionBehavior": "REMOVE",
                    "name": "ORIGIN"
                }
            ]
        }
    ]
}
  • Sample Request (Save the material to the company library. ADD channel = SAVE TO that channel):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "channels": [
                {
                    "collectionBehavior": "ADD",
                    "name": "COMPANY_LIBRARY"
                }
            ]
        }
    ]
}
  • Sample Request (Remove the material from th company library. REMOVE channel = REMOVE FROM that channel):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "channels": [
                {
                    "collectionBehavior": "REMOVE",
                    "name": "COMPANY_LIBRARY"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a custom feature):

Note : If the feature already exist, nothing happen.

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresCustoms":[
        {
          "collectionBehavior":"ADD",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"1550C"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by UPDATING a custom feature) New and Recommanded way with originId:

Note : To update a custom feature, the custom feature code and originId must be identical to those returned by the MaterialsSearch to be updated

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresCustoms":[
        {
          "collectionBehavior":"ADD",
          "originId": "1aaaf230-1fb4-4213-9b26-dd7c4489bea6",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"2000C"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by UPDATING a custom feature) Old and Not Recommanded way:

Note : To update a custom feature, you must delete the old custom feature and add the new custom feature. The old custom feature payload must be identical to the payload returned by the MaterialsSearch to be removed

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresCustoms":[
        {
          "collectionBehavior":"REMOVE",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"1550C"
          }
        },
        {
          "collectionBehavior":"ADD",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"2000C"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING a custom feature.) New and Recommanded way with originId:

Note : If the feature does not exist, nothing happen. The custom feature code and originId must be identical to those returned by the MaterialsSearch to be removed

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresCustoms":[
        {
          "collectionBehavior":"REMOVE",
          "originId": "1aaaf230-1fb4-4213-9b26-dd7c4489bea6",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"1550C"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING a custom feature.) Old and Not Recommanded way:

Note : If the feature does not exist, nothing happen. The custom feature payload must be identical to the payload returned by the MaterialsSearch to be removed

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresCustoms":[
        {
          "collectionBehavior":"REMOVE",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"1550C"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by ADDING a property feature):

Note : If the feature already exist, nothing happen.

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresProperties":[
        {
          "collectionBehavior":"ADD",
          "code":"LENGTH",
          "value":{
            "content":"60"
          },
          "unit":{
            "code":"CENTIMETER"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by UPDATING a property feature) New and Recommanded way with originId:

Note : To update a property feature, the property feature code and originId must be identical to those returned by the MaterialsSearch to be updated.

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresProperties":[
        {
          "collectionBehavior":"ADD",
          "originId":"f90d751d-c7ad-48b4-932b-6b1ce80469e8",
          "code":"LENGTH",
          "value":{
            "content":"24"
          },
          "unit":{
            "code":"INCH"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by UPDATING a property feature) Old and Not Recommanded way:

Note : To update a property feature, you must delete the old property feature and add the new property feature. The old property feature payload must be identical to the payload returned by the MaterialsSearch to be removed.

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresProperties":[
        {
          "collectionBehavior":"REMOVE",
          "code":"LENGTH",
          "value":{
            "content":"60"
          },
          "unit":{
            "code":"CENTIMETER"
          }
        },
        {
          "collectionBehavior":"ADD",
          "code":"LENGTH",
          "value":{
            "content":"24"
          },
          "unit":{
            "code":"INCH"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING a property feature) New and Recommanded way with originId:

Note : If the feature does not exist, nothing happen. The property feature code and originId must be identical to those returned by the MaterialsSearch to be removed

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresProperties":[
        {
          "collectionBehavior":"REMOVE",
          "originId":"f90d751d-c7ad-48b4-932b-6b1ce80469e8",
          "code":"LENGTH",
          "value":{
            "content":"60"
          },
          "unit":{
            "code":"CENTIMETER"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING a property feature) Old and Not Recommanded way:

Note : If the feature does not exist, nothing happen. The property feature payload must be identical to the payload returned by the MaterialsSearch to be removed.

{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "featuresProperties":[
        {
          "collectionBehavior":"REMOVE",
          "code":"LENGTH",
          "value":{
            "content":"60"
          },
          "unit":{
            "code":"CENTIMETER"
          }
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by ADDING a tag):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "tags": [
                {
                    "collectionBehavior": "ADD",
                    "name": "modern"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a tag):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "tags": [
                {
                    "collectionBehavior": "REMOVE",
                    "name": "modern"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a SKU):
{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "skus":[
        {
          "collectionBehavior":"ADD",
          "name":"New sku",
          "productId":"SKU-A01",
          "images":[
            {
              "collectionBehavior":"ADD",
              "originalUrl":"https://public.facing.url/001.jpg"
            }
          ],
          "additionalsDocuments":[
            {
              "collectionBehavior":"ADD",
              "originalUrl":"https://public.facing.url/001.pdf"
            }
          ],
          "featuresCustoms":[
            {
              "collectionBehavior":"ADD",
              "code":"CUSTOM_TEXT_ATTRIBUTE",
              "name":"Supported temperature",
              "value":{
                "content":"1550C"
              }
            }
          ],
          "featuresProperties":[
            {
              "collectionBehavior":"ADD",
              "code":"LENGTH",
              "value":{
                "content":"60"
              },
              "unit":{
                "code":"CENTIMETER"
              }
            }
          ]
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by UPDATING a SKU name and productId) New and Recommanded way with originId:
{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "skus":[
        {
          "collectionBehavior":"ADD",
          "originId":"cf020a53-f766-4320-949a-9173d3816a3a",
          "name":"New sku updated",
          "productId":"SKU-A01-UPDATED",
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING custom feature and property feature of a SKU) New and Recommanded way with originId:
{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "skus":[
        {
          "collectionBehavior":"ADD",
          "originId":"cf020a53-f766-4320-949a-9173d3816a3a",
          "name":"New sku",
          "productId":"SKU-A01",
          "featuresCustoms":[
            {
              "collectionBehavior":"REMOVE",
              "originId":"4097a9a1-8ccb-4e1b-b609-2cdf10fccf2e",
              "code":"CUSTOM_TEXT_ATTRIBUTE",
              "name":"Supported temperature",
              "value":{
                "content":"1550C"
              }
            }
          ],
          "featuresProperties":[
            {
              "collectionBehavior":"REMOVE",
              "originId":"5b3119a7-e9fc-4a84-9f4e-157eedf11e4e",
              "code":"LENGTH",
              "value":{
                "content":"60"
              },
              "unit":{
                "code":"CENTIMETER"
              }
            }
          ]
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING custom feature and property feature of a SKU )Old and Not Recommanded way:
{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "skus":[
        {
          "collectionBehavior":"ADD",
          "name":"New sku",
          "productId":"SKU-A01",
          "featuresCustoms":[
            {
              "collectionBehavior":"REMOVE",
              "code":"CUSTOM_TEXT_ATTRIBUTE",
              "name":"Supported temperature",
              "value":{
                "content":"1550C"
              }
            }
          ],
          "featuresProperties":[
            {
              "collectionBehavior":"REMOVE",
              "code":"LENGTH",
              "value":{
                "content":"60"
              },
              "unit":{
                "code":"CENTIMETER"
              }
            }
          ]
        }
      ]
    }
  ]
}
  • Sample Request (Update the material by REMOVING a SKU) New and Recommanded way with originId:
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "skus": [
                {
                    "collectionBehavior": "REMOVE",
                    "originId":"cf020a53-f766-4320-949a-9173d3816a3a",
                    "name": "New sku"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a SKU) Old and Not Recommanded way:
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "skus": [
                {
                    "collectionBehavior": "REMOVE",
                    "name": "New sku"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a connecting certification):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedCertifications": [
                {
                    "collectionBehavior": "ADD",
                    "originId": "f6f2c73e-4054-44bc-95f2-9e033b9c2282"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a connecting certification):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedCertifications": [
                {
                    "collectionBehavior": "REMOVE",
                    "originId": "f6f2c73e-4054-44bc-95f2-9e033b9c2282"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a connecting declaration):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedDeclarations": [
                {
                    "collectionBehavior": "ADD",
                    "originId": "ca3dcfc2-c8b6-4348-93ff-1f7a0cd84350"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a connecting declaration):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedDeclarations": [
                {
                    "collectionBehavior": "REMOVE",
                    "originId": "ca3dcfc2-c8b6-4348-93ff-1f7a0cd84350"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by ADDING a connecting test report):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedTestReports": [
                {
                    "collectionBehavior": "ADD",
                    "originId": "71d2b7cf-686a-4b9b-9385-2560777a6a71"
                }
            ]
        }
    ]
}
  • Sample Request (Update the material by REMOVING a connecting test report):
{
    "materials": [
        {
            "locale": "en",
            "originId": "88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
            "connectedTestReports": [
                {
                    "collectionBehavior": "REMOVE",
                    "originId": "71d2b7cf-686a-4b9b-9385-2560777a6a71"
                }
            ]
        }
    ]
}
  • Sample Request (All fields):
{
  "materials":[
    {
      "locale":"en",
      "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
      "productId":"MY-MAT-001",
      "managementPermission":"COMPANY_EDITABLE",
      "name":"My material",
      "description":"a new material description",
      "brand":{
        "name":"ACME Super brand.",
        "website":"www.acmesuperxyz.com"
      },
      "logoUrl":{
        "originalUrl":"https://public.facing.url/newlogo.jpg"
      },
      "collection":{
        "name":"Spring Collection"
      },
      "libraries":[
        {
          "collectionBehavior":"ADD",
          "name":"My Acme Library"
        }
      ],
      "category":{
        "name":"Tables"
      },
      "csiDivisions":[
        {
          "collectionBehavior":"ADD",
          "code":"126800",
          "name":"Seat and Table Assemblies"
        }
      ],
      "images":[
        {
          "collectionBehavior":"ADD",
          "originalUrl":"https://public.facing.url/image2.jpg"
        }
      ],
      "additionalsDocuments":[
        {
          "collectionBehavior":"ADD",
          "originalUrl":"https://public.facing.url/document.doc"
        }
      ],
      "contacts":[
        {
          "collectionBehavior":"ADD",
          "externalId":"JOHNSMITHAUDITOR1",
          "type":"AUDITOR",
          "companyName":"ACME Inc.",
          "name":"John Smith",
          "website":"https://www.acme.com/",
          "postalAddress":"2500 Street Avenues",
          "phone":"1-999-123-1234",
          "email":"auditsrep@acme.com"
        }
      ],
      "channels":[
        {
          "collectionBehavior":"ADD",
          "name":"ORIGIN"
        }
      ],
      "featuresCustoms":[
        {
          "collectionBehavior":"ADD",
          "code":"CUSTOM_TEXT_ATTRIBUTE",
          "name":"Supported temperature",
          "value":{
            "content":"1550C"
          }
        }
      ],
      "featuresProperties":[
        {
          "collectionBehavior":"ADD",
          "code":"LENGTH",
          "value":{
            "content":"60"
          },
          "unit":{
            "code":"CENTIMETER"
          }
        }
      ],
      "tags":[
        {
          "collectionBehavior":"ADD",
          "name":"modern"
        }
      ],
      "skus":[
        {
          "collectionBehavior":"ADD",
          "name":"New sku",
          "productId":"SKU-A01",
          "images":[
            {
              "collectionBehavior":"ADD",
              "originalUrl":"https://public.facing.url/001.jpg"
            }
          ],
          "additionalsDocuments":[
            {
              "collectionBehavior":"ADD",
              "originalUrl":"https://public.facing.url/001.pdf"
            }
          ],
          "featuresCustoms":[
            {
              "collectionBehavior":"ADD",
              "code":"CUSTOM_TEXT_ATTRIBUTE",
              "name":"Supported temperature",
              "value":{
                "content":"1550C"
              }
            }
          ],
          "featuresProperties":[
            {
              "collectionBehavior":"ADD",
              "code":"LENGTH",
              "value":{
                "content":"60"
              },
              "unit":{
                "code":"CENTIMETER"
              }
            }
          ]
        }
      ],
      "connectedCertifications":[
        {
          "collectionBehavior":"REMOVE",
          "originId":"f6f2c73e-4054-44bc-95f2-9e033b9c2282"
        }
      ],
      "url":"https://public.facing.url/mynewmaterial.html"
    }
  ]
}
  • Response (sync mode) :
Field Type Presence Description Domain of value
status object Always The execution status A status object
status.state string Always The state of execution 'SUCCESS' or 'ERROR'
status.code string On error The general error code and message See Errors reference
status.messages[] array of string On error List of error causes A validation message or other causes
result object On success The execution result A result object
result.entityType string On success The type of entity this result is about 'MATERIAL'
result.result object On success A simple completion message 'Update completed.'
connectRequest object Always The exact request sent that produced this response A MaterialsUpdate request
  • Sample Response (Success in sync mode):

    HTTP Code : 200

{
    "status":{
        "state":"SUCCESS"
    },
    "result":{
        "entityType":"MATERIAL",
        "result":"Update completed."
    },
    "connectRequest":{
        "materials":[
            {
                "locale":"en",
                "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
                "url":"https://public.facing.url/material"
            }
        ]
    }
}
  • Response (async mode):
Field Type Presence Description Domain of value
status object Always The execution status A status object
status[].state string Always The state of execution 'SUCCESS' or 'ERROR'
status[].code string On error The general error code and message See Errors reference
status[].messages[] array of string On error List of error causes A validation message or other causes
result object On success The execution result A result object
result.poolingCallback string On success The URL callback to pool using the ResultGet endpoint A URL
connectRequest object Always The exact request you sent that produced this response A MaterialsUpdate request
  • Sample Response (Success in async mode):

    HTTP Code : 200

{
    "status":{
        "state":"SUCCESS"
    },
    "result":{
        "poolingCallback":"https://origin.build/equinox/connect/v2/result/materials_update/batch/1c8a06b6-45be-4e68-9e2d-5c1f075e6ca2"
    },
    "connectRequest":{
        "materials": [
            {
                "locale": "en",
                "originId":"88dada05-5d38-4b60-91b9-f1bf9d6bf5dd",
                "url":"https://public.facing.url/material"
            }
        ]
    }
}
  • Sample Response (Error):

    HTTP Code : 400, 500

{
    "status": {
        "state": "ERROR",
        "code": "CE00001 - Connect request failed validation. Refer to provided messages for details.",
        "messages": [
            "materials[1] has invalid value 'eee' for field locale. Allowed value(s) : [de, es_MX, en, fr, zh_CN]",
            "materials[1] has invalid value 'Empty string' for field name. Allowed value(s) : [Non-empty string]",
            "materials[1] require one brand.name.",
            "materials[1] has invalid value 'COMPANY_WRITE' for field managementPermission. Allowed value(s) : [COMPANY_EDITABLE,COMPANY_READONLY,ONLY_ME]",
            "materials[1] require one originId or externalId.",
            "materials[1] has invalid value 'Empty string' for field productId. Allowed value(s) : [Non-empty string]",
            "materials[1] require one csiDivisions[1].code or csiDivisions[1].name.",
            "materials[1] has invalid value 'ADD_ITEM' for field libraries[1].collectionBehavior. Allowed value(s) : [ADD,REMOVE]",
            "materials[1] require one contacts[1].externalId.",
            "materials[1] require one skus[1].name.",
            "materials[1] require one logoUrl.originalUrl."
        ]
    },
    "connectRequest": {
        "materials": [
            {
                "locale": "eee",
                "productId": " ",
                "managementPermission": "COMPANY_WRITE",
                "name": "",
                "description": "a new material description",
                "brand": {
                    "website": "www.acmesuperxyz.com"
                },
                "logoUrl": {
                },
                "libraries": [
                    {
                        "collectionBehavior": "ADD_ITEM",
                        "name": "My Acme Library"
                    }
                ],
                "csiDivisions": [
                    {
                        "collectionBehavior": "ADD"
                    }
                ],
                "contacts": [
                    {
                        "collectionBehavior": "ADD",
                        "type": "AUDITOR",
                        "name": "John Smith",
                        "companyName": "ACME Inc.",
                        "website": "https://www.acme.com/",
                        "postalAddress": "2500 Street Avenues",
                        "phone": "1-999-123-1234",
                        "email": "auditsrep@acme.com"
                    }
                ],
                "skus": [
                    {
                        "collectionBehavior": "ADD",
                        "productId": "SKU-A01"
                    }
                ]
            }
        ]
    }
}

results matching ""

    No results matching ""