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
}
]