Ok, using Fiddler to watch queries to the report server, I found it makes calls to
PUT .../CatalogItems({id})/Model.Report/DataSources
I don't see that endpoint documented in the
Swagger Documentation, but it seems to work. The body is a list of data source references like this:
[
{
"Name":"MyDataSource",
"Path":"/Path/to/MyDataSource",
"IsReference":true
}
]