This isn't Golang specific; most statically typed languages are going to fall back on a similar pattern(TypeScript, C#, Javascript, etc). Take a look at AWS's API schemas and you will see. Personally, I loath API schemas designed with the assumption of a dynamically typed language.
What steams my clams is folks using go type names in f
Label fields, or making surprisingly behavior with fusion types that and up actually seeing use in the wild.