CLI for sending files vs API

I am creating an wrapper in another language and would like to know what are the limits/restrictions between using the API vs CLI, if any. I intent to be able to upload via API the jsonl files and texts, accordingly to the need.
All the examples I found about file tunes are using the CLI, but I guess I could upload via API in the same way and sense, as we have methods to execute that.
Thanks