At some level everything an agent does is through a "programmatic interface" (tool calls).
Some people might use skill-based scripts, MCPs, or some kind of raw access to a database. My point is that well designed CLIs are the optimal programmatic interface, for many reasons.
Sorry what other option is there? Is it going to create an API call from scratch every time after reading a page of documentation?
Wait raw access to the database? That’s one of the options for issuing a refund?