Skip to Content
APIEndpointsCreate fact

Create fact

Adds a verified statement about the brand. Brand Alignment compares what AI search engines say about the company against these, so you can catch misrepresentations before they shape buyer perception. Same list as the Facts tab of the Brand Profile page.

Requires the write:brand_profile scope, and the workspace must be enabled for API writes.

POST /v1/brands/{brand_id}/facts

Authorization

HeaderTypeRequired
AuthorizationBearer asky_sk_…required
Idempotency-Keystringrequired

Path parameters

ParameterTypeRequiredDescription
brand_iduuidrequiredFrom List brands

Query parameters

None.

Any parameter you pass returns 400 invalid_request naming the offending key, rather than being ignored silently.

Body

application/json

FieldTypeRequiredDescription
fact_textstring, 1–300 charsrequiredThe statement to check AI responses against
sort_orderinteger, 0–10000optionalDisplay position. Defaults to the end of the list

Request

curl --request POST \ --url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/facts' \ --header 'Authorization: Bearer <api-key>' \ --header 'Idempotency-Key: <unique-per-attempt>' \ --header 'Content-Type: application/json' \ --data '{"fact_text":"Asky was founded in 2025 and is headquartered in Stockholm."}'

Response

{ "data": { "fact": { "id": "9f2c1d84-6b31-4a2e-9c77-1e5b0a3f8d42", "fact": "Asky was founded in 2025 and is headquartered in Stockholm.", "sort_order": 3 } }, "request_id": "req_7d21b0af59c34e18b6ac" }

Response fields

FieldTypeDescription
data.fact.iduuidrequired. Use it to update or delete the fact
data.fact.factstringrequired. The statement text
data.fact.sort_orderintegerrequired. Display position
request_idstringrequired. Also returned as the x-request-id header

Errors

StatusCodeWhen
400invalid_requestAn unknown field, empty fact_text, or a value over its limit
401invalid_tokenThe key is missing, malformed, or does not exist
403insufficient_scopeThe key does not carry write:brand_profile
403plan_requiredThis workspace is not enabled for API writes
404not_foundThe brand does not exist, or this key is not allowed to reach it
429rate_limitedOver 60 requests per minute. See the Retry-After header

Notes

Facts are brand-level. Alignment categories can also carry their own facts; those are authored inside a category and are not reachable here, matching the Facts tab.

Read them back through Get brand profile, whose verified_facts array carries each id and sort_order.

Idempotency-Key is required. Send a unique value per attempt and reuse it when retrying that attempt, so a lost response does not become a duplicate fact. See Idempotency.

Last updated on