{"openapi":"3.1.0","info":{"title":"Red Sift Brand Trust (BYOK) API","version":"0.1.0","description":"Red Sift Brand Trust (BYOK) lets an AI assistant read your own Red Sift Brand Trust data through the Red Sift Brand Trust API with a key you supply (Red Sift Brand Trust API key). Read-only: 9 tools (list_brands, list_domains, search_lookalikes, get_lookalike, get_lookalike_stats, get_activity_summary, get_dashboard_stats, list_detectable_keywords, list_subdomains). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-redsift-brandtrust.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-redsift-brandtrust/docs"},"termsOfService":"https://connectorbay.com/byok-redsift-brandtrust/terms"},"servers":[{"url":"https://byok-redsift-brandtrust.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-redsift-brandtrust/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_brands":{"post":{"operationId":"list_brands","summary":"List the brands the account monitors with the number of related profiles. Use for \"Which brands does Brand Trust monitor","description":"List the brands the account monitors with the number of related profiles. Use for \"Which brands does Brand Trust monitor for us\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_brandsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_domains":{"post":{"operationId":"list_domains","summary":"List the domains monitored by the account with activity, classification, industry, reputation and threat email counts. U","description":"List the domains monitored by the account with activity, classification, industry, reputation and threat email counts. Use for \"Which of our domains does Brand Trust monitor\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_domainsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_lookalikes":{"post":{"operationId":"search_lookalikes","summary":"Search lookalike domains in a category (high-risk, low-risk, unclassified or general) with risk rating, similarity, emai","description":"Search lookalike domains in a category (high-risk, low-risk, unclassified or general) with risk rating, similarity, email and web readiness; screenshots and face data are left out. Use for \"Which high-risk lookalike domains of ours were seen this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"Lookalike category: unclassified, low-risk, high-risk or general.","enum":["unclassified","low-risk","high-risk","general"],"title":"Category","type":"string"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (max 100).","title":"Page Size"},"domain_contains":{"anyOf":[{"maxLength":253,"type":"string"},{"type":"null"}],"default":null,"description":"Only lookalikes whose unicode domain contains this text.","title":"Domain Contains"},"email_ready":{"anyOf":[{"enum":["true","false","any"],"type":"string"},{"type":"null"}],"default":null,"description":"Filter by email infrastructure presence.","title":"Email Ready"},"min_risk_rating":{"anyOf":[{"maximum":100,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only lookalikes with a risk rating above this value (0 to 100).","title":"Min Risk Rating"},"observed_after":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only lookalikes observed after this date, YYYY-MM-DD.","title":"Observed After"}},"required":["category"],"title":"search_lookalikesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_lookalike":{"post":{"operationId":"get_lookalike","summary":"Get one lookalike domain by its domain hash with classification, risk rating, email and web presence, reputation and lin","description":"Get one lookalike domain by its domain hash with classification, risk rating, email and web presence, reputation and linked takedown ids. Use for \"Show details for the lookalike domain examp1e.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_hash":{"description":"Domain hash: Base64 of the domain's punycode form (as returned in the id field).","maxLength":200,"title":"Domain Hash","type":"string"}},"required":["domain_hash"],"title":"get_lookalikeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_lookalike_stats":{"post":{"operationId":"get_lookalike_stats","summary":"Get risk rating, category and DNS provider breakdowns for lookalikes in a category, optionally filtered. Use for \"What i","description":"Get risk rating, category and DNS provider breakdowns for lookalikes in a category, optionally filtered. Use for \"What is the risk rating breakdown of our high-risk lookalikes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"description":"Lookalike category.","enum":["unclassified","low-risk","high-risk"],"title":"Type","type":"string"},"domain_contains":{"anyOf":[{"maxLength":253,"type":"string"},{"type":"null"}],"default":null,"description":"Only lookalikes whose unicode domain contains this text.","title":"Domain Contains"},"email_ready":{"anyOf":[{"enum":["true","false","any"],"type":"string"},{"type":"null"}],"default":null,"description":"Filter by email infrastructure presence.","title":"Email Ready"},"min_risk_rating":{"anyOf":[{"maximum":100,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only lookalikes with a risk rating above this value (0 to 100).","title":"Min Risk Rating"},"observed_after":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only lookalikes observed after this date, YYYY-MM-DD.","title":"Observed After"}},"required":["type"],"title":"get_lookalike_statsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_activity_summary":{"post":{"operationId":"get_activity_summary","summary":"Get threat counts per bucket (unclassified, low risk, high risk) such as logos, keywords, detected emails and takedown c","description":"Get threat counts per bucket (unclassified, low risk, high risk) such as logos, keywords, detected emails and takedown candidates. Use for \"How many lookalikes need review\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_activity_summaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_dashboard_stats":{"post":{"operationId":"get_dashboard_stats","summary":"Get lookalike dashboard statistics (counts with screenshots, logos, Google Safe Browsing flags, web and email readiness)","description":"Get lookalike dashboard statistics (counts with screenshots, logos, Google Safe Browsing flags, web and email readiness) and social monitoring stats when enabled. Use for \"Show the Brand Trust dashboard numbers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_dashboard_statsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_detectable_keywords":{"post":{"operationId":"list_detectable_keywords","summary":"List the keywords Brand Trust detects on lookalike sites for the account. Use for \"Which keywords does Brand Trust look ","description":"List the keywords Brand Trust detects on lookalike sites for the account. Use for \"Which keywords does Brand Trust look for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_detectable_keywordsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_subdomains":{"post":{"operationId":"list_subdomains","summary":"List detected subdomains of a monitored domain with timestamp, DMARC, SPF, MX, DNS and CNAME status. Use for \"Which subd","description":"List detected subdomains of a monitored domain with timestamp, DMARC, SPF, MX, DNS and CNAME status. Use for \"Which subdomains of example.com were detected\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_hash":{"description":"Domain hash: Base64 of the domain's punycode form (as returned in the id field).","maxLength":200,"title":"Domain Hash","type":"string"}},"required":["domain_hash"],"title":"list_subdomainsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}