Describe the problem you would like to solve
As part of https://github.com/ror-community/ror-roadmap/issues/122, add API functionality to ROR API that supports generating new or updated record files based on data submitted to the API.
Describe the solution you'd like
Functionality should behave as follows:
User submits a JSON object to API endpoint with an existing ROR ID in the ROR ID field.
Aside from ROR ID, only fields to be added/changed must be included in the JSON object.
Fields values can be deleted by include the field name and setting its value to null, empty list or empty object, depending on the field type
Relationship updates can be included or not; any included relationships will only be validated against the schema, and not additional rules such as requiring inverse relationships.
API attempts to retrieve existing record. If successful:
Existing record data is retrieved and new/updated fields from the submitted JSON are added. Updated fields are entirely overwritten by the new data (ie: if the field is a list/object, all existing list/object items must be included in the submitted data)
JSON is validated against ROR schema v2
If JSON is valid, API returns a file object with name [ROR ID].json
If JSON is invalid, API returns an error message listing validation errors
If unsuccessful (ie, record does not exist), an 404 not found error message is returned
Who would benefit from this feature?
ROR curation team
Describe the problem you would like to solve As part of https://github.com/ror-community/ror-roadmap/issues/122, add API functionality to ROR API that supports generating new or updated record files based on data submitted to the API.
Describe the solution you'd like Functionality should behave as follows:
Who would benefit from this feature? ROR curation team
Additional information See full specification for more details