Skip to content
Start here

Brand Protection

Create new URL submissions
client.brandProtection.submit(BrandProtectionSubmitParams { account_id } params, RequestOptionsoptions?): BrandProtectionSubmitResponse { skipped_urls, submitted_urls }
POST/accounts/{account_id}/brand-protection/submit
Read submitted URLs by ID
client.brandProtection.urlInfo(BrandProtectionURLInfoParams { account_id } params, RequestOptionsoptions?): SinglePage<BrandProtectionURLInfoResponse>
GET/accounts/{account_id}/brand-protection/url-info
ModelsExpand Collapse
BrandProtectionSubmitResponse { skipped_urls, submitted_urls }
skipped_urls?: Array<Record<string, unknown>>
submitted_urls?: Array<Record<string, unknown>>
BrandProtectionURLInfoResponse = Record<string, unknown>

Brand ProtectionQueries

Create new saved string queries
client.brandProtection.queries.create(QueryCreateParams { account_id, id, body_scan, 4 more } params, RequestOptionsoptions?): void
POST/accounts/{account_id}/brand-protection/queries
Delete saved string queries by ID
client.brandProtection.queries.delete(QueryDeleteParams { account_id, id, scan, tag } params, RequestOptionsoptions?): void
DELETE/accounts/{account_id}/brand-protection/queries
Create new saved string queries in bulk
client.brandProtection.queries.bulk(QueryBulkParams { account_id, queries } params, RequestOptionsoptions?): void
POST/accounts/{account_id}/brand-protection/queries/bulk

Brand ProtectionMatches

Read matches for string queries by ID
client.brandProtection.matches.get(MatchGetParams { account_id, id, include_dismissed, 3 more } params, RequestOptionsoptions?): MatchGetResponse { matches, total }
GET/accounts/{account_id}/brand-protection/matches
Download matches for string queries by ID
client.brandProtection.matches.download(MatchDownloadParams { account_id, id, include_dismissed, 3 more } params, RequestOptionsoptions?): MatchDownloadResponse { matches, total }
GET/accounts/{account_id}/brand-protection/matches/download
ModelsExpand Collapse
MatchGetResponse { matches, total }
matches?: Array<Record<string, unknown>>
total?: number
MatchDownloadResponse { matches, total }
matches?: Array<Record<string, unknown>>
total?: number

Brand ProtectionLogos

Create new saved logo queries from image files
client.brandProtection.logos.create(LogoCreateParams { account_id, match_type, tag, 2 more } params, RequestOptionsoptions?): LogoCreateResponse { id, tag, upload_path }
POST/accounts/{account_id}/brand-protection/logos
Delete saved logo queries by ID
client.brandProtection.logos.delete(stringlogoID, LogoDeleteParams { account_id } params, RequestOptionsoptions?): void
DELETE/accounts/{account_id}/brand-protection/logos/{logo_id}
ModelsExpand Collapse
LogoCreateResponse { id, tag, upload_path }
id?: number
tag?: string
upload_path?: string

Brand ProtectionLogo Matches

Read matches for logo queries by ID
client.brandProtection.logoMatches.get(LogoMatchGetParams { account_id, limit, logo_id, offset } params, RequestOptionsoptions?): LogoMatchGetResponse { matches, total }
GET/accounts/{account_id}/brand-protection/logo-matches
Download matches for logo queries by ID
client.brandProtection.logoMatches.download(LogoMatchDownloadParams { account_id, limit, logo_id, offset } params, RequestOptionsoptions?): LogoMatchDownloadResponse { matches, total }
GET/accounts/{account_id}/brand-protection/logo-matches/download
ModelsExpand Collapse
LogoMatchGetResponse { matches, total }
matches?: Array<Record<string, unknown>>
total?: number
LogoMatchDownloadResponse { matches, total }
matches?: Array<Record<string, unknown>>
total?: number

Brand ProtectionV2

Brand ProtectionV2Queries

List domain queries
client.brandProtection.v2.queries.get(QueryGetParams { account_id, id, page, per_page } params, RequestOptionsoptions?): QueryGetResponse
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/domain/queries
ModelsExpand Collapse
QueryGetResponse = Array<UnionMember0> | UnionMember1 { created, parameters, query_id, 3 more }
One of the following:
Array<UnionMember0>
created: string
parameters: Parameters | null
string_matches: Array<StringMatch>
pattern: string
maxLength200
minLength1
max_time?: string
min_time?: string
query_id: number
query_tag: string
scan: boolean
updated: string
UnionMember1 { created, parameters, query_id, 3 more }
created: string
parameters: Parameters | null
string_matches: Array<StringMatch>
pattern: string
maxLength200
minLength1
max_time?: string
min_time?: string
query_id: number
query_tag: string
scan: boolean
updated: string

Brand ProtectionV2Matches

List domain matches
client.brandProtection.v2.matches.get(MatchGetParams { account_id, query_id, domain_search, 6 more } params, RequestOptionsoptions?): MatchGetResponse { matches, total }
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/domain/matches
ModelsExpand Collapse
MatchGetResponse { matches, total }
matches: Array<Match>
domain: string

The matched domain name.

first_seen: string

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

public_scans: PublicScans | null
submission_id: string
registrar: string | null

Registrar of the matched domain, if known.

scan_status: string
scan_submission_id: number | null
source: string | null
dismissed?: boolean

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?: number

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?: Array<MatchDetail>

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

dismissed: boolean

Individual dismissed state for this specific match.

match_id: number

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

query_id: number

ID of the domain query that produced this match.

query_tag: string | null

Tag associated with the query, if one exists.

total: number

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
client.brandProtection.v2.logos.create(LogoCreateParams { account_id, image_data, similarity_threshold, 2 more } params, RequestOptionsoptions?): LogoCreateResponse { message, success, query_id }
POST/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries
Delete logo query
client.brandProtection.v2.logos.delete(stringqueryID, LogoDeleteParams { account_id } params, RequestOptionsoptions?): LogoDeleteResponse { message, success }
DELETE/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries/{query_id}
List logo queries
client.brandProtection.v2.logos.get(LogoGetParams { account_id, id, download } params, RequestOptionsoptions?): LogoGetResponse { id, r2_path, similarity_threshold, 4 more }
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/queries
ModelsExpand Collapse
LogoCreateResponse { message, success, query_id }
message: string
success: boolean
query_id?: number

ID of the created logo query.

LogoDeleteResponse { message, success }
message: string
success: boolean
LogoGetResponse = Array<LogoGetResponseItem>
id: number

ID of the logo query.

r2_path: string
similarity_threshold: number

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

tag: string

Name of the logo query.

uploaded_at: string | null

When the logo was uploaded.

content_type?: string

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

image_data?: string

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

Brand ProtectionV2Logo Matches

List logo matches
client.brandProtection.v2.logoMatches.get(LogoMatchGetParams { account_id, query_id, download, 4 more } params, RequestOptionsoptions?): LogoMatchGetResponse { matches, total }
GET/accounts/{account_id}/cloudforce-one/v2/brand-protection/logo/matches
ModelsExpand Collapse
LogoMatchGetResponse { matches, total }
matches: Array<Match>
id: number

ID of the logo match.

domain: string | null

Domain where the matching image was found, if known.

matched_at: string | null

When the match was recorded.

query_id: number

ID of the logo query that produced this match.

registrar: string | null

Registrar of domain, if known.

similarity_score: number

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

url_scan_id: string | null
content_type?: string

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

image_data?: string

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

total: number
minimum0