Skip to content

List brands

GET
/core/api/brands/
curl --request GET \
--url https://app.nebty.de/core/api/brands/ \
--header 'Authorization: <Authorization>'

Returns the brands the API key’s user is a member of, ordered by name (case-insensitive).

Paginated: page and page_size (default 50, maximum 100). See the pagination note in the API description.

Query parameters:

  • compact=true returns a short row per brand (id, name, domain, plan, monitoring_enabled, brand_markets) and is the recommended form for listing.
  • include_stats=true (or 1) adds headline figures to each full brand row: domain and scan counts, latest scan date, high-risk count, average risk score and the risk, verdict and HTTP-status breakdowns. It has no effect with compact=true.
compact
boolean

Return compact list summaries without embedded history. Use domain detail for evidence.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

Media typeapplication/json
object
count
required
integer
next
string format: uri
nullable
previous
string format: uri
nullable
results
required
Array
Any of:

A monitored brand and its customer-editable monitoring configuration.

object
id
required
string format: uuid
domain
required

The domain of the brand.

string
<= 255 characters
trusted_domains
required

Return trusted domain names, using prefetch cache when available.

Array
all_keywords
required
Array
negative_keywords

Newline-separated terms to exclude from generated variations and domain matches for this brand. Replaces negative_variations and negative_domain_keywords, which are now read-only.

string
nullable
seat_limit
required
integer
nullable
seats_used
required
integer
my_role
required
string
nullable
created_at
required
string format: date-time
updated_at
required
string format: date-time
name
required

The name of the brand, e.g. ‘Cashlink’.

string
<= 255 characters
has_own_website
required

Whether the customer has a website of their own. When False, domain holds a derived .invalid sentinel that anchors similarity scoring but is NOT treated as an identity term.

boolean
plan
required

Per-brand subscription tier. Determines seat limit and write capability for members without a multi-brand AccountType. See docs/subscription-plans.md.

  • free - Free
  • basic - Basic
  • business - Business
  • unlimited - Unlimited
string
Allowed values: free basic business unlimited
last_variation_at

When was the last variation of the domain generated?

string format: date-time
nullable
negative_variations
required

Negative keywords separated by newlines. Variations containing these keywords will be removed.

string
nullable
negative_domain_keywords
required

Negative domain keywords separated by newlines. Domains containing these keywords will be excluded from monitoring.

string
nullable
brand_keywords

Brand keywords separated by newlines. These keywords are associated with the brand for monitoring purposes. The brand name is always included automatically.

string
nullable
monitoring_enabled
required

Product-level switch and source of truth for tab-locking and the inert-brand scan/AI gates. Defaults True so every normal creation path keeps producing fully-monitored brands. Only the takedown-only onboarding flow sets this False (an inert brand has both this and continuous_scanning / continuous_visual_scan False).

boolean
origin
required

Provenance for conversion-funnel analytics. Not the gate for tab-locking (that is monitoring_enabled) — this is the positive segmentation marker.

  • self_signup - Self Signup
  • staff_onboarding_takedown - Staff Onboarding (Takedown)
  • staff_onboarding_monitoring - Staff Onboarding (Monitoring)
  • sales - Sales
  • partner - Partner
string
Allowed values: self_signup staff_onboarding_takedown staff_onboarding_monitoring sales partner
executives

Executive names separated by newlines. Used for LinkedIn social media scanning and included in brand keywords.

string
nullable
trusted_social_media_profiles

List of trusted social media profiles, e.g. [{“channel”: “instagram”, “username”: “acmecorp”}].

dismissed_social_media_profiles

List of dismissed social media profiles, e.g. [{“channel”: “instagram”, “username”: “spammer123”}].

trusted_meta_page_ids

List of trusted Meta page IDs (Facebook/Instagram pages) that should be skipped during Meta Ad Library relevance scoring, e.g. [“123456789”]. Useful for the brand’s own pages and known legitimate partners.

dismissed_meta_page_ids

List of dismissed Meta page IDs that should be skipped during Meta Ad Library relevance scoring, e.g. [“987654321”].

dismissed_meta_ad_ids

List of dismissed Meta ad IDs (the ad.id from the Meta Ad Library), e.g. [“123456789012345”]. Ads in this list are hidden from the user’s view by default and skipped during AI relevance scoring. User-controlled per-ad dismiss.

company_name
required

Official company/legal entity name (e.g. ‘Cashlink Technologies GmbH’). AI-generated via OpenAI web search. Editable in admin for manual override.

string
nullable
brand_markets
required

ISO 3166-1 alpha-2 country codes for the brand’s main markets, e.g. [‘US’, ‘DE’]. AI-generated.

triage_enabled

Per-brand switch for common-word triage. Off by default so a generated profile cannot act on a brand until it has been reviewed by hand (§5).

boolean
linkedin_company_url

LinkedIn company page URL, e.g. https://www.linkedin.com/company/coinroutes/

string format: uri
<= 200 characters
Example
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"plan": "free",
"origin": "self_signup"
}
]
}

The API key is missing, invalid, revoked or belongs to an inactive user.

Media typeapplication/json
object
detail
required
string
Examplegenerated
{
"detail": "example"
}

The requested page or record does not exist or cannot be accessed.

Media typeapplication/json
object
detail
required
string
Examplegenerated
{
"detail": "example"
}

Too many requests or failed authentication attempts. Try again later.

Media typeapplication/json
object
detail
required
string
Examplegenerated
{
"detail": "example"
}