API reference
List exclusions
Who the organization never contacts, in any channel: domains (everyone there and its subdomains), addresses, company names and LinkedIn profiles (one person, kind linkedin, value the profile slug), each with a type. POST /outreach/check and LinkedIn sequences always read them. The user has no screen for them: they see who is on them as Do not contact in the Leads and Companies tables (do_not_contact on GET /tables/*), so you keep the list. The excluded companies set in the organization's settings count too (they are not listed here).
Authentication
Send Authorization: Bearer gtk_…. Create the key under Connect assistant → API keys. Every gtk_ key can call these routes, also while the Signals API is closed. A missing, invalid or revoked key is 401.
Query parameters
typestring— Only this type. One of:customer,trial,test,former_customer,pipeline,unsubscribed,bounced,competitor,other.kindstring— Only this kind. One of:domain,email,company,linkedin.qstring— Part of a domain, address or name.limitinteger— From 1 to 500. Defaults to 100.offsetinteger— Passnext_offsetof the previous page.
Response
objectstring· required — Alwayslist. One of:list.totalinteger· required — Exclusions that match.dataobject[]· required —id(exc_…),kind,value(normalized),label(as written),type,reason,source,created_at.next_offsetinteger | null· required — The offset of the next page, or null.dashboard_urlstring· required — Companies in mySDR, filtered on Do not contact.
Credits
Free. This call never uses credits.
Errors
- 400
invalid_request— An unknowntypeorkind, alimitoutside 1 to 500, or a negativeoffset. - 401
authentication_error— The Authorization header is missing, or the key is unknown or revoked. - 403
permission_error— API access is not part of your plan, or your account is suspended. - 429
rate_limit_error— More than 60 requests per minute, or more than 3 at the same time, on one key. Wait for the Retry-After header. - 503
service_unavailable— The API is temporarily unavailable. Retry later. - 500
internal_error— Something went wrong on our side.
Example
cURL
curl "https://mysdr.app/api/v1/exclusions?type=customer" \
-H "Authorization: Bearer $MYSDR_API_KEY"
JavaScript
const response = await fetch('https://mysdr.app/api/v1/exclusions?type=customer', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.MYSDR_API_KEY}`
}
});
const body = await response.json();
Python
import json
import os
import urllib.request
request = urllib.request.Request(
"https://mysdr.app/api/v1/exclusions?type=customer",
headers={
"Authorization": f"Bearer {os.environ['MYSDR_API_KEY']}"
},
method="GET",
)
with urllib.request.urlopen(request) as response:
body = json.load(response)
Example response
{
"object": "list",
"total": 1,
"data": [
{
"id": "exc_9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"kind": "domain",
"value": "customer.example",
"label": "customer.example",
"type": "customer",
"reason": "Customer since 2024",
"source": "CRM export",
"created_at": "2026-10-19T08:00:00.000Z"
}
],
"next_offset": null,
"dashboard_url": "https://mysdr.app/en/gtm/companies?excluded=1"
}