The CLI creates a service token in a file, which is not replicated.
The API creates a service token in an index, which is replicated.
The URL method and path are of the form:
POST /_security/service/<namespace>/<service>/credential/token/<token_name>
Perhaps one of these curl examples would work:
$ curl -s -X POST -u elastic:PASSWORD "ADDRESS:9200/_security/service/elastic/kibana/credential/token/token1"
$ curl -s -X POST -H 'Authorization: Bearer TOKEN' "ADDRESS:9200/_security/service/elastic/kibana/credential/token/token1"
Here is a link to the doc page if that is helpful.