curl --request POST \
--url https://api.retriever.run/v1/exclusions/{kind} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domains": [
"stripe.com",
"https://www.salesforce.com"
]
}
'{
"inserted": 1,
"existing": 1,
"invalid": [
{
"value": "not a domain",
"reason": "company_domain_required"
}
]
}{
"error": {
"code": "invalid_request",
"message": "prompt: prompt must not be blank",
"details": [
{
"path": "prompt",
"message": "prompt must not be blank"
}
]
}
}{
"error": {
"code": "not_authenticated",
"message": "A valid API key is required."
}
}{
"error": {
"code": "not_found",
"message": "Unknown exclusion list."
}
}{
"error": {
"code": "body_too_large",
"message": "The request body exceeds the 10 MiB limit (10485760 bytes)."
}
}{
"error": {
"code": "invalid_request",
"message": "Content-Type must be application/json."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded. Retry in 12 s."
}
}Add values (upsert)
1 to 1,000 values per call. Sending an existing value again adds
nothing and is counted in existing. A value that came from a CRM
integration of the app (HubSpot, Attio) becomes owned by the API, and
that integration no longer removes it.
An empty string, null, a value that is not a string, or an unknown
body field fails the whole request with 400 invalid_request. Any
other string that is not a domain (companies) or a linkedin.com/in/…
URL (people) is listed in invalid, and the rest is applied. A
LinkedIn handle may contain only letters a-z (any case), 0-9, _, %, . and
-, starting with a letter or a digit: /in/andré-dupont and
/in/o'brien are invalid.
Idempotent by value: a replay leaves the same list. Idempotency-Key
is ignored.
curl --request POST \
--url https://api.retriever.run/v1/exclusions/{kind} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domains": [
"stripe.com",
"https://www.salesforce.com"
]
}
'{
"inserted": 1,
"existing": 1,
"invalid": [
{
"value": "not a domain",
"reason": "company_domain_required"
}
]
}{
"error": {
"code": "invalid_request",
"message": "prompt: prompt must not be blank",
"details": [
{
"path": "prompt",
"message": "prompt must not be blank"
}
]
}
}{
"error": {
"code": "not_authenticated",
"message": "A valid API key is required."
}
}{
"error": {
"code": "not_found",
"message": "Unknown exclusion list."
}
}{
"error": {
"code": "body_too_large",
"message": "The request body exceeds the 10 MiB limit (10485760 bytes)."
}
}{
"error": {
"code": "invalid_request",
"message": "Content-Type must be application/json."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded. Retry in 12 s."
}
}Authorizations
API key ret_live_… created in Settings → API keys.
Path Parameters
companies, people Body
- Option 1
- Option 2
1 - 1000 elements1