I think you should be able to publish using the update https://www.adobe.io/apis/experiencecloud/analytics/docs.html#!AdobeDocs/analytics-2.0-apis/master/segments-guide.md
"Updating a Segment
You can edit existing segments with the PUT /segments/{id} endpoint. Some fields cannot be edited on a segment with the PUT endpoint, including tags, compatibility, and reportSuiteName. Other fields, including owner, name, description, rsid, and definition, can be edited.
The PUT endpoint also supports partial updates. This means that instead of sending the entire JSON object to the API, you can simply send fields that you want to update. For example, if you only want to update the name, use the JSON {"name":"Updated name"}. The entire object is returned in the response, modified by the requested expansions."
When I look at the request made when I publish in the UI the updated field appears to be:
publishingStatus: {lookbackPeriod: 0, published: true}