New You can now talk to your Gelee agent from Claude, ChatGPT or Cursor through our MCP. Read the docs →

Reference

Do not contact

Three levels: sync a list nobody should be contacted from, stop messaging one person, or block them for good. The blocklist is checked when a lead enters a campaign and again before anything is sent.

Last updated 22 October 2026

Sync your do-not-contact list

POST/blacklistread_write

Current customers, open deals, churned accounts. Enforced across the whole workspace.

Body
entriesarrayrequired
1 to 500 entries.
entries[].valuestringrequired
A LinkedIn profile URL, a company URL, or a company name.
entries[].typestringrequired
account for a person, or company.

Re-sending a list is a no-op, so a nightly full sync from your CRM is fine. Companies match on the name as well as the company URL. Read it back with GET /blacklist?type=company, and take one entry off with DELETE /blacklist/{id}. People it blocked are not put back into campaigns automatically.

curl -X POST "https://www.gelee.ai/api/v1/blacklist" \
  -H "Authorization: Bearer gk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "entries": [
      {
        "value": "https://www.linkedin.com/in/janedoe",
        "type": "account"
      },
      {
        "value": "Acme Corp",
        "type": "company"
      }
    ]
  }'
Response
{ "added": 2, "already_present": 0, "rejected": [],
  "counts": { "received": 2, "accepted": 2, "rejected": 0 } }

Stop messaging someone

POST/inbox/stopread_write

Gelee goes quiet on them three ways: no more drafted replies, scheduled follow-ups cancelled, and paused in every campaign sequence they are in. That last one matters when your rep books the call by phone: the person never replied on LinkedIn, so the sequence would otherwise keep going.

Body
linkedin_urlsarrayrequired
1 to 200 profile URLs or member ids. linkedin_url takes one.

It pauses rather than ends, so undoing it in Gelee puts them back exactly where they were. not_found means Gelee holds nothing for that person. One bad entry never fails the batch.

curl -X POST "https://www.gelee.ai/api/v1/inbox/stop" \
  -H "Authorization: Bearer gk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "linkedin_urls": [
      "https://www.linkedin.com/in/janedoe"
    ]
  }'
Response
{ "data": [ { "input": "https://www.linkedin.com/in/janedoe",
              "matched_conversations": 1, "replies_stopped": true,
              "followups_closed": 2, "campaigns_paused": 2,
              "not_found": false } ],
  "requested": 1, "applied": 1 }

Block someone for good

POST/inbox/blockread_write

Adds them to the blocklist, stops replies and cancels follow-ups. Because the blocklist is checked before every send, this also pulls them out of running campaigns. Treat it as permanent.

Body
linkedin_urlsarrayrequired
1 to 200 profile URLs or member ids.
reasonstring
Your own label, stored on the blocklist entry.
curl -X POST "https://www.gelee.ai/api/v1/inbox/block" \
  -H "Authorization: Bearer gk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "linkedin_urls": [
      "https://www.linkedin.com/in/janedoe"
    ],
    "reason": "crm_do_not_contact"
  }'
Response
{ "data": [ { "input": "https://www.linkedin.com/in/janedoe", "blocked": true,
              "matched_conversations": 1, "followups_closed": 2,
              "drafts_dismissed": 1 } ],
  "requested": 1, "blocked": 1 }