You might want to consider improving the documentation. After a fair amount of debugging, I figured out that the program IDs are converted from EP in the request to SH in the response, and the last four characters are set to 0000. That's not clear at all from the documentation on the above-referenced page. It makes it unnecessarily messy to retrieve the descriptions. I get that SD doesn't want to return multiple descriptions for each program and, of course, a program ID is different for each episode, but you could return them so that the actual program ID could be used as a lookup key, or have the program send the modified ID in the request (so that the mutation must be explicitly understood), or document it so that we know what we're looking for in the response.
The doc says:
and then:You may want to obtain the generic description of a program; this is only available for "EP" types.
The body of the request must contain the programIDs: