{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://api.redlineautohaus.com/docs/uds/schemas/installation-request.json","type":"object","properties":{"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"location":{"type":"string","minLength":1,"maxLength":191},"valid_from":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"valid_to":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["vehicle_id","ecu_id","evidence_id"],"additionalProperties":false}