Ready-made commands
What to ask and what to do in one line — from setup to a broadcast
Updated October 17, 2026
Put your key in place of gk_YOUR_KEY, the identifier of your project in place of <project>, and the identifier of a person or a broadcast in place of <id>.
Set everything up with one command
You can hand this line to your AI agent as is — it installs the program and connects:
curl -fsSL https://api.geckochat.app/cli/install.sh | bash && geckochat login gk_YOUR_KEY
An answer with the address and the number of commands means you are done.
Find the identifiers
geckochat project_list --table id,name geckochat bot_list --table id,username,status
The identifier of a project is the first column of project_list. The identifier of a bot, if you need one, is the first column of bot_list.
See how things are going
geckochat bot_list --table username,usersCount,status geckochat order_list --projectId <project> --limit 100 --sum amount --by currency geckochat broadcast_list --projectId <project> --count-by status geckochat user_list --projectId <project> --limit 10 --table id,firstName,lastInteractionAt
Find a person and open their history
geckochat user_list --projectId <project> --search Maria --table id,firstName,username geckochat user_chat_timeline --projectId <project> --userId <id>
<id> is the identifier of the user from the first column. It is what names a person in every command; a Telegram ID does not work in its place.
A broadcast: test first, then send
geckochat broadcast_list --projectId <project> --limit 5 --table id,name,status geckochat broadcast_test --projectId <project> --broadcastId <id> --recipientTelegramId <your telegramId> geckochat broadcast_start --projectId <project> --broadcastId <id>
Ask the agent of the project to do the work
geckochat agent_send --projectId <project> --message "Put together a broadcast for everyone who opened the offer and didn't pay"
The command waits until the agent is done and prints its answer — the same agent and the same conversation you see in the cabinet.
Find out what exists
geckochat --help # the whole list geckochat --help offer # offers only geckochat offer_list --help # the arguments of one command
For scripts
geckochat order_list --projectId <project> --limit 100 --json | jq '.items[] | select(.status=="OPEN")'
--json prints the answer on one line. The exit code tells the outcome: zero means it worked, non-zero means it didn't and says what kind of refusal it was — so if and && in a script behave as usual.