I use the LoRa App Server REST API. All json values in the body for the /api/devices/{device_activation.dev_eui}/activate request are define optional. But when using the request it shows, that all string values are necessary.

I believe this is because the REST API is generated using the Protobuf API definition. Technically all fields are optional (in Protobuf), as they will fallback to the empty value of each field type (e.g. empty string, 0 for integer types, false for bools, …).