diff --git a/opencti-platform/opencti-graphql/src/schema/schema-attributes.ts b/opencti-platform/opencti-graphql/src/schema/schema-attributes.ts index 555c011852a21..2984071edb37f 100644 --- a/opencti-platform/opencti-graphql/src/schema/schema-attributes.ts +++ b/opencti-platform/opencti-graphql/src/schema/schema-attributes.ts @@ -240,18 +240,16 @@ const validateInputAgainstSchema = (input: any, schemaDef: AttributeDefinition) } if (isNonFlatObjectAttributeMapping(schemaDef)) { - // check 'multiple' constraint - if (isMandatory) { - if (schemaDef.multiple && !Array.isArray(input)) { - throw FunctionalError(`Validation against schema failed on attribute [${schemaDef.name}]: value must be an array`, { value: input }); - } - if (!schemaDef.multiple && (Array.isArray(input) || !R.is(Object, input))) { - throw FunctionalError(`Validation against schema failed on attribute [${schemaDef.name}]: value must be an object`, { value: input }); - } - } if (!isMandatory && R.isNil(input)) { return; // nothing to check (happens on 'remove' operation for instance } + // check 'multiple' constraint + if (schemaDef.multiple && !Array.isArray(input)) { + throw FunctionalError(`Validation against schema failed on attribute [${schemaDef.name}]: value must be an array`, { value: input }); + } + if (!schemaDef.multiple && (Array.isArray(input) || !R.is(Object, input))) { + throw FunctionalError(`Validation against schema failed on attribute [${schemaDef.name}]: value must be an object`, { value: input }); + } const inputValues = Array.isArray(input) ? input : [input]; inputValues.forEach((value) => {