Apologies for the delay in responding to your query. Currently it would only be possible for agents to create tickets using API. Also, you could use API v2 for ticket creation. Here if you are using customer credential for creating a ticket, appropriate error message will be displayed in the response.
about 2 years ago
As a work around you could create the ticket as the agent and then use the API to update the requester_id on the ticket to your customer.