Skip to content
Start here

Brand Protection

Create new URL submissions
brand_protection.submit(BrandProtectionSubmitParams**kwargs) -> BrandProtectionSubmitResponse
POST/accounts/{account_id}/brand-protection/submit
Read submitted URLs by ID
brand_protection.url_info(BrandProtectionURLInfoParams**kwargs) -> SyncSinglePage[BrandProtectionURLInfoResponse]
GET/accounts/{account_id}/brand-protection/url-info
ModelsExpand Collapse
class BrandProtectionSubmitResponse: …
skipped_urls: Optional[List[Dict[str, object]]]
submitted_urls: Optional[List[Dict[str, object]]]
Dict[str, object]

Brand ProtectionQueries

Create new saved string queries
brand_protection.queries.create(QueryCreateParams**kwargs)
POST/accounts/{account_id}/brand-protection/queries
Delete saved string queries by ID
brand_protection.queries.delete(QueryDeleteParams**kwargs)
DELETE/accounts/{account_id}/brand-protection/queries
Create new saved string queries in bulk
brand_protection.queries.bulk(QueryBulkParams**kwargs)
POST/accounts/{account_id}/brand-protection/queries/bulk

Brand ProtectionMatches

Read matches for string queries by ID
brand_protection.matches.get(MatchGetParams**kwargs) -> MatchGetResponse
GET/accounts/{account_id}/brand-protection/matches
Download matches for string queries by ID
brand_protection.matches.download(MatchDownloadParams**kwargs) -> MatchDownloadResponse
GET/accounts/{account_id}/brand-protection/matches/download
ModelsExpand Collapse
class MatchGetResponse: …
matches: Optional[List[Dict[str, object]]]
total: Optional[int]
class MatchDownloadResponse: …
matches: Optional[List[Dict[str, object]]]
total: Optional[int]

Brand ProtectionLogos

Create new saved logo queries from image files
brand_protection.logos.create(LogoCreateParams**kwargs) -> LogoCreateResponse
POST/accounts/{account_id}/brand-protection/logos
Delete saved logo queries by ID
brand_protection.logos.delete(strlogo_id, LogoDeleteParams**kwargs)
DELETE/accounts/{account_id}/brand-protection/logos/{logo_id}
ModelsExpand Collapse
class LogoCreateResponse: …
id: Optional[int]
tag: Optional[str]
upload_path: Optional[str]

Brand ProtectionLogo Matches

Read matches for logo queries by ID
brand_protection.logo_matches.get(LogoMatchGetParams**kwargs) -> LogoMatchGetResponse
GET/accounts/{account_id}/brand-protection/logo-matches
Download matches for logo queries by ID
brand_protection.logo_matches.download(LogoMatchDownloadParams**kwargs) -> LogoMatchDownloadResponse
GET/accounts/{account_id}/brand-protection/logo-matches/download
ModelsExpand Collapse
class LogoMatchGetResponse: …
matches: Optional[List[Dict[str, object]]]
total: Optional[int]
class LogoMatchDownloadResponse: …
matches: Optional[List[Dict[str, object]]]
total: Optional[int]

Brand ProtectionV2

Brand ProtectionV2Queries

List domain queries
brand_protection.v2.queries.get(QueryGetParams**kwargs) -> QueryGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/domain/queries
ModelsExpand Collapse
One of the following:
List[UnionMember0]
created: str
parameters: Optional[UnionMember0Parameters]
string_matches: List[UnionMember0ParametersStringMatch]
pattern: str
maxLength200
minLength1
max_time: Optional[str]
min_time: Optional[str]
query_id: int
query_tag: str
scan: bool
updated: str
class UnionMember1: …
created: str
parameters: Optional[UnionMember1Parameters]
string_matches: List[UnionMember1ParametersStringMatch]
pattern: str
maxLength200
minLength1
max_time: Optional[str]
min_time: Optional[str]
query_id: int
query_tag: str
scan: bool
updated: str

Brand ProtectionV2Matches

List domain matches
brand_protection.v2.matches.get(MatchGetParams**kwargs) -> MatchGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/domain/matches
ModelsExpand Collapse
class MatchGetResponse: …
matches: List[Match]
domain: str

The matched domain name.

first_seen: str

When the domain was matched. For multi-query requests, the most recent match time across the requested queries.

public_scans: Optional[MatchPublicScans]
submission_id: str
registrar: Optional[str]

Registrar of the matched domain, if known.

scan_status: str
scan_submission_id: Optional[int]
source: Optional[str]
dismissed: Optional[bool]

Whether the match is dismissed. Only present for single-query requests. For multi-query requests, use the dismissed field in each match_details entry.

domain_id: Optional[int]

ID of the matched domain. Present only when include_domain_id=true. Use it with query_id to dismiss or undismiss the match.

match_details: Optional[List[MatchMatchDetail]]

Per-match detail objects with query metadata and individual dismissed state. Only present when multiple query_ids are requested.

dismissed: bool

Individual dismissed state for this specific match.

match_id: int

ID of the match. Accepted by the legacy match_ids format.

query_id: int

ID of the domain query that produced this match.

query_tag: Optional[str]

Tag associated with the query, if one exists.

total: int

Number of matching domains available for pagination. For requests with several query_id values, matches are deduplicated from at most 5,000 query-domain rows, so total can be lower than the actual number of matches.

minimum0

Brand ProtectionV2Logos

Create logo query
brand_protection.v2.logos.create(LogoCreateParams**kwargs) -> LogoCreateResponse
POST/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries
Delete logo query
brand_protection.v2.logos.delete(strquery_id, LogoDeleteParams**kwargs) -> LogoDeleteResponse
DELETE/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries/{query_id}
List logo queries
brand_protection.v2.logos.get(LogoGetParams**kwargs) -> LogoGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries
ModelsExpand Collapse
class LogoCreateResponse: …
message: str
success: bool
query_id: Optional[int]

ID of the created logo query.

class LogoDeleteResponse: …
message: str
success: bool
List[LogoGetResponseItem]
id: int

ID of the logo query.

r2_path: str
similarity_threshold: float

Minimum similarity score (0-1) required for a visual match.

tag: str

Name of the logo query.

uploaded_at: Optional[str]

When the logo was uploaded.

content_type: Optional[str]

MIME type of the image (only present when download=true)

image_data: Optional[str]

Base64-encoded image data (only present when download=true)

Brand ProtectionV2Logo Matches

List logo matches
brand_protection.v2.logo_matches.get(LogoMatchGetParams**kwargs) -> LogoMatchGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/matches
ModelsExpand Collapse
class LogoMatchGetResponse: …
matches: List[Match]
id: int

ID of the logo match.

domain: Optional[str]

Domain where the matching image was found, if known.

matched_at: Optional[str]

When the match was recorded.

query_id: int

ID of the logo query that produced this match.

registrar: Optional[str]

Registrar of domain, if known.

similarity_score: float

Visual similarity between the matched image and the query logo. Higher is closer.

url_scan_id: Optional[str]
content_type: Optional[str]

MIME type of the matched image (only present when download=true)

image_data: Optional[str]

Base64-encoded matched image (only present when download=true)

total: int
minimum0