/v1/brands/{brand_id}/facts Update brand facts
Edit the brand's facts in place. Useful for hand-tuning facts after the asynchronous research has produced them.
PATCH semantics:
- Fields you send are merged into the persisted blob.
- Sending
nullclears a field. key_factsis replaced as a whole (not merged item-by-item).
Path parameters
-
Brand UUID.
Query parameters
-
Preview the call without executing it. Runs auth, scope, eligibility and body validation, then returns
200with adry_runobject reporting the request-unit and credit cost plus a non-consuming quota snapshot. Nothing is debited, reserved, dispatched or mutated. An invalid body still returns422.default: false
Header parameters
Request body
application/json required- company_size string (nullable) nullable
- description string (nullable) nullable
Long-form brand description. Pass
nullto clear, omit to leave unchanged. - founded_year integer (nullable) nullable
Year founded (1800-2100).
- headquarters string (nullable) nullable
- industry string (nullable) nullable
- key_facts array of string (nullable) nullable
Replacement list of bullet-style facts (max 20 items, 500 chars each). Pass
nullto clear, omit to leave unchanged. - key_people array of BrandFactsPerson (nullable) nullable
Replacement list of key people (max 10). Pass
nullto clear, omit to leave unchanged. - mission_statement string (nullable) nullable
- products array of BrandFactsProduct (nullable) nullable
Replacement list of products (max 10). Pass
nullto clear, omit to leave unchanged. - services array of BrandFactsProduct (nullable) nullable
Replacement list of services (max 10). Pass
nullto clear, omit to leave unchanged. - tagline string (nullable) nullable
- value_proposition string (nullable) nullable
Responses
-
Owning brand id (UUID).
- company_size string (nullable) nullable
Free-form size bucket (e.g.
11-50). - description string (nullable) nullable
Long-form brand description. Null when no research has produced one.
- founded_year integer (nullable) nullable
Year the brand was founded.
- headquarters string (nullable) nullable
City / region of the brand's headquarters.
- industry string (nullable) nullable
Free-form industry label (e.g.
Specialty coffee). - key_facts array of string
Short bullet-style facts surfaced by the latest research run.
- key_people array of BrandFactsPerson
Notable people at the brand (founders, executives, etc.).
- mission_statement string (nullable) nullable
Brand mission statement when published.
- object string
Always
brand_facts. - products array of BrandFactsProduct
Products offered by the brand.
- research_status enum (nullable) nullable
Outcome of the last regeneration (
complete,partial,not_found). Null when never run. - services array of BrandFactsProduct
Services offered by the brand.
- tagline string (nullable) nullable
Short marketing tagline if known.
- updated_at string (nullable) nullable
ISO-8601 timestamp of the last facts update.
- value_proposition string (nullable) nullable
Concise statement of the brand's primary value proposition.
Example response
{
"brand_id": "3f9c7e8a-1b6a-4d8e-92cf-7d9c8b1e2a04",
"company_size": "11-50",
"description": "Specialty coffee roaster founded in 2014, sourcing single-origin beans and serving wholesale cafes across the US.",
"founded_year": 2014,
"headquarters": "Brooklyn, NY",
"industry": "Specialty coffee",
"key_facts": [
"Direct-trade sourcing from 12 farms across Latin America",
"Roasts in 25 lb micro-batches"
],
"key_people": [
{
"name": "Avery Chen",
"role": "Founder & Head Roaster"
}
],
"object": "brand_facts",
"products": [
{
"description": "Seasonal lots from a rotating roster.",
"name": "Single-origin espresso"
}
],
"research_status": "complete",
"services": [
{
"description": "Weekly roasts shipped to cafes.",
"name": "Wholesale roasting"
}
],
"tagline": "Roasted with intent.",
"updated_at": "2024-09-01T11:08:42.117Z",
"value_proposition": "Direct-trade beans roasted weekly to order for cafes that care about provenance."
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "validation_error",
"message": "Request validation failed"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid credentials"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "forbidden",
"message": "You do not have permission to access this resource"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "not_found",
"message": "Resource not found"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "conflict",
"message": "Resource conflict"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "body_validation_error",
"message": "Request body did not match the expected schema"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "rate_limit_exceeded",
"message": "Per-minute rate limit exceeded"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "service_unavailable",
"message": "Service temporarily unavailable, please retry"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}