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 Info:
categorizations: Optional[List[Categorization]]

List of categorizations applied to this submission.

category: Optional[str]

Name of the category applied.

verification_status: Optional[str]

Result of human review for this categorization.

model_results: Optional[List[ModelResult]]

List of model results for completed scans.

model_name: Optional[str]

Name of the model.

model_score: Optional[float]

This is the score that is outputted by the model for this submission.

rule_matches: Optional[List[RuleMatch]]

List of signatures that matched against site content found when crawling the URL.

banning: Optional[bool]

For internal use.

blocking: Optional[bool]

For internal use.

description: Optional[str]

Description of the signature that matched.

name: Optional[str]

Name of the signature that matched.

scan_status: Optional[ScanStatus]

Status of the most recent scan found.

last_processed: Optional[str]

Timestamp of when the submission was processed.

scan_complete: Optional[bool]

For internal use.

status_code: Optional[int]

Status code that the crawler received when loading the submitted URL.

submission_id: Optional[int]

ID of the most recent submission.

screenshot_download_signature: Optional[str]

For internal use.

screenshot_path: Optional[str]

For internal use.

url: Optional[str]

URL that was submitted.

class Submit:
excluded_urls: Optional[List[ExcludedURL]]

URLs that were excluded from scanning because their domain is in our no-scan list.

url: Optional[str]

URL that was excluded.

skipped_urls: Optional[List[SkippedURL]]

URLs that were skipped because the same URL is currently being scanned.

url: Optional[str]

URL that was skipped.

url_id: Optional[int]

ID of the submission of that URL that is currently scanning.

submitted_urls: Optional[List[SubmittedURL]]

URLs that were successfully submitted for scanning.

url: Optional[str]

URL that was submitted.

url_id: Optional[int]

ID assigned to this URL submission. Used to retrieve scanning results.

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

Get queries
brand_protection.v2.queries.get(QueryGetParams**kwargs) -> QueryGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/domain/queries
ModelsExpand Collapse
List[QueryGetResponseItem]
created: str
parameters: Optional[QueryGetResponseItemParameters]
string_matches: List[QueryGetResponseItemParametersStringMatch]
max_edit_distance: float
maximum1
minimum0
pattern: str
minLength1
max_time: Optional[str]
min_time: Optional[str]
query_id: int
query_tag: str
scan: bool
updated: str

Brand ProtectionV2Matches

List saved query 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]
dismissed: bool
domain: str
first_seen: str
public_scans: Optional[MatchPublicScans]
submission_id: str
scan_status: str
scan_submission_id: Optional[int]
source: Optional[str]
total: int
minimum0

Brand ProtectionV2Logos

Insert 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}
Get 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]
class LogoDeleteResponse:
message: str
success: bool
List[LogoGetResponseItem]
id: int
r2_path: str
similarity_threshold: float
tag: str
uploaded_at: Optional[str]
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
matched_at: Optional[str]
query_id: int
similarity_score: float
url_scan_id: Optional[str]
content_type: Optional[str]
domain: Optional[str]
image_data: Optional[str]
total: int
minimum0