Gelee API v1
Overview
Everything you can do in the Gelee app, from your own code. Read every lead with its whole story, send and edit LinkedIn messages, run campaigns and seats, set up the AI SDR, and get a webhook the moment anything happens. JSON over HTTPS with a Bearer key.
https://www.gelee.ai/api/v1Authorization: Bearer gk_…JSONweb.gelee.ai/api/v1/mcpYour first call
Make a key in the Gelee app under Settings, Integrations, API Keys. Pick Read to look, Read + write to change things, or Read + write + send messages if your code will message people. Then check it works:
curl "https://www.gelee.ai/api/v1/me" \
-H "Authorization: Bearer gk_your_key"{ "data": {
"org_id": "0f2c…",
"workspace": { "id": "0f2c…", "name": "Acme Growth" },
"key": { "id": "k_81…", "scope": "read_write" },
"scope": "read_write",
"api_version": "v1",
"seats": [ { "seat_id": "SExF…", "name": "Sofia Salazar",
"public_identifier": "sofiasalazar",
"linkedin_url": "https://www.linkedin.com/in/sofiasalazar",
"connected": true, "sales_navigator": false } ] } }The bare domain redirects, and most HTTP clients drop the Authorization header when they follow a redirect to another host, so your key would be silently lost.
What you can build
Using an AI agent?
Give your agent the whole reference as one Markdown file: www.gelee.ai/api.md. Agents that look for llms.txt will find it too. To let Claude or ChatGPT run your workspace directly, connect the Gelee MCP server.
How every endpoint behaves
- Successful answers are wrapped as
{ "data": … }. Lists addpagination. - Errors are
{ "error": { "code", "message" } }, always in plain words. See Errors. - A key only ever sees its own workspace. Anything from another workspace answers
404, exactly like something that does not exist. - Anything unknown about a person is
null, never left out, so every row has the same shape. - Sends take an
Idempotency-Keyheader, so a retry never messages someone twice.