500 internal server error on update_procedure(PATCH)
PATCH {{baseUrl}}/api/procedures/:procedure_id?acc_token={{procedure_acc_token}}
{ "procurement_method": "renewables", "procuringEntity": { "name": {"uk_UA": "string"}, "identifier": { "id": "string", "scheme": "string", "uri": "http://string.com" }, "additional_identifiers": [ { "id": "string", "scheme": "string", "uri": "http://string.com" } ], "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string" }, "contract_point": { "name": {"uk_UA": "string"}, "email": "user@example.com", "telephone": "string", "fax_number": "string", "url": "http://string.com" } }, "lot_identifier": "string", "title": "string", "description": "string", "value": { "currency": "string", "amount": 0 }, "guarantee": { "currency": "string", "amount": 0 }, "minimal_step": { "currency": "string", "amount": 0 }, "tenderAttempts": 0, "items": [ { "description": "string", "classification": { "scheme": "string", "id": "string", "description": "string", "uri": "http://string.com" }, "additional_classifications": [ { "scheme": "string", "id": "string", "description": "string", "uri": "http://string.com" } ], "unit": { "code": "string", "name": "string" }, "quantity": 0, "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string" }, "location": "string" } ], "documents": [ { "title": {"uk_UA": "test"}, "description": {"uk_UA": "test"}, "document_of": "auction", "document_type": "illustration", "index": 0, "format": "string", "language": "string", "access_details": "x_dgfAssetFamiliarization" } ], "bids": [ { "owner": "string", "tenders": { "name": {"uk_UA": "test"}, "identifier": { "id": "string", "scheme": "string", "uri": "http://string.com" }, "additional_dentifiers": [ { "id": "string", "scheme": "string", "uri": "http://string.com" } ], "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string" }, "contract_point": { "name": {"uk_UA": "test"}, "email": "user@example.com", "telephone": "string", "fax_number": "string", "url": "http://string.com" } }, "status": "draft", "value": { "currency": "string", "amount": 0 }, "unit": { "code": "string", "name": "string" }, "quantity": 0, "x_minimal_quantity": 0, "documents": [ { "title": {"uk_UA": "new test"}, "description": {"uk_UA": "test"}, "document_of": "auction", "document_type": "illustration", "index": 0, "format": "string", "language": "string", "access_details": "x_dgfAssetFamiliarization" } ], "qualified": true } ] }
Response: 500 {"message": "Internal server error"}
Traceback:
[2019-10-31T09:46:30 +0000] | aiohttp.access | INFO - "172.27.0.1 POST /api/procedures HTTP/1.1 201 249 - PostmanRuntime/7.19.0 0.004155" [2019-10-31T09:48:40 +0000] | errors | ERROR - Unknown error caught in API - 'additional_identifiers' Traceback (most recent call last): File "/procedure/prozorro_sale/procedure/errors.py", line 74, in request_errors_middleware return await handler(request) File "/procedure/prozorro_sale/procedure/auth.py", line 35, in token_middleware return await handler(request) File "/procedure/prozorro_sale/procedure/auth.py", line 41, in accept_language_middleware return await handler(request) File "/procedure/prozorro_sale/procedure/auth.py", line 51, in request_type_middleware return await handler(request) File "/procedure/prozorro_sale/procedure/auth.py", line 57, in request_context_middleware return await handler(request) File "/procedure/prozorro_sale/procedure/utils.py", line 53, in handler return await func(request, *args, **kwargs) File "/procedure/prozorro_sale/procedure/api.py", line 160, in update_procedure procedure.update_procedure(data, request._context) File "/procedure/prozorro_sale/procedure/state_machine.py", line 126, in update_procedure self.procedure.import_data(raw_data=data) File "/usr/local/lib/python3.8/site-packages/schematics/models.py", line 152, in import_data return convert(self.class, self, raw_data, role=role, **kwargs) File "/usr/local/lib/python3.8/site-packages/schematics/transforms.py", line 458, in convert return import_loop(cls, mutable, raw_data, import_converter, **kwargs) File "/usr/local/lib/python3.8/site-packages/schematics/transforms.py", line 190, in import_loop value = _field_converter(field, value, field_context) File "/usr/local/lib/python3.8/site-packages/schematics/transforms.py", line 385, in call return self.func(*args) File "/usr/local/lib/python3.8/site-packages/schematics/transforms.py", line 413, in import_converter return field.convert(value, context) File "/usr/local/lib/python3.8/site-packages/schematics/types/compound.py", line 51, in convert return self._convert(value, context) File "/usr/local/lib/python3.8/site-packages/schematics/types/compound.py", line 162, in _convert return model_class.convert(value, context=context) File "/usr/local/lib/python3.8/site-packages/schematics/models.py", line 137, in convert return cls.trusted_load(value, context) File "/usr/local/lib/python3.8/site-packages/schematics/models.py", line 127, in trusted_load obj.__data[key] = obj.fieldskey KeyError: 'additional_identifiers'