Extract brand style
Renders url in a browser, reads its computed fonts, colours and shapes, and stores its logos, self-hosted font files, two screenshots and up to six of its own images (the hero, the og:image or twitter:image, and the largest content images) as brand assets. Synchronous; allow up to four minutes.
bearerAuthAuthorizationBearer <token>An organization API key (koast_sk_…) with the API surface enabled, or an OAuth access token issued by Koast (koast_at_…) whose audience covers this API. REST access requires an active Agency plan.
brandId*integerThe brand the request acts on. Every brand-scoped resource lives under its brand.
Idempotency-Key?stringRetrying with the same key within 24 hours returns the first response without acting again.
length <= 255application/json- body
url*stringThe website to read, such as "koast.ai" or a full https address.
1 <= length <= 2048Extract brand style
application/json- response
url*stringfinalUrl*stringtitle*string|nulldescription*string|nullnavLinks*array<>items <= 20fonts*colors*shapes*logos*array<>screenshots*array<>images*array<>The site's own images: product shots, app screens, the hero and its social image, stored as brand assets. Pass a url as an imageUrl reference to generate-creatives, or use it as an src in render-creative html.
items <= 6modelImages*array<>Images shown to you after this call
items <= 12[key: string]?unknowncurl -X POST "https://example.com/v1/brands/0/style-guide/extractions" \ -H "Authorization: Bearer koast_sk_..." \ -H "Content-Type: application/json" \ -d '{ "url": "string" }'{ "url": "string", "finalUrl": "string", "title": "string", "description": "string", "navLinks": [ { "text": "string", "url": "string", "property1": null, "property2": null } ], "fonts": { "heading": { "family": "string", "weight": 0, "stack": "string", "property1": null, "property2": null }, "body": { "family": "string", "weight": 0, "stack": "string", "property1": null, "property2": null }, "faces": [ { "family": "string", "weight": "string", "style": "string", "assetId": -9007199254740991, "assetUrl": "string", "source": "string", "property1": null, "property2": null } ], "googleFontsCss": [ "string" ], "property1": null, "property2": null }, "colors": { "themeColor": "string", "cssVariables": { "property1": "string", "property2": "string" }, "background": "string", "text": "string", "headings": "string", "links": "string", "buttons": [ { "background": "string", "color": "string", "borderRadius": "string", "border": "string", "property1": null, "property2": null } ], "property1": null, "property2": null }, "shapes": { "buttonRadius": "string", "cardRadius": "string", "shadows": [ "string" ], "property1": null, "property2": null }, "logos": [ { "assetId": -9007199254740991, "url": "string", "format": "svg", "onDark": true, "property1": null, "property2": null } ], "screenshots": [ { "assetId": -9007199254740991, "url": "string", "label": "string", "property1": null, "property2": null } ], "images": [ { "assetId": -9007199254740991, "url": "string", "label": "string", "property1": null, "property2": null } ], "modelImages": [ { "url": "string", "label": "string", "property1": null, "property2": null } ], "property1": null, "property2": null}Required scope: write. CLI: koast extract-brand-style, see Style Guide commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.
Save brand style guide
Creates or replaces the brand's style guide. guide is validated, and its asset ids must be the brand's own LOGO and FONT assets. confirmed: true stamps confirmedAt; false leaves the guide as a draft.
Get brand website candidates
Returns the brand's saved website, the caller's email domain, the five most recent destination domains in the brand's ads, and whether the brand has a style guide.