Brand kit
Generated from contract version 1.0.0 — the same document /v1/api/openapi.json serves.
Prerequisites
Section titled “Prerequisites”- An API key in
x-api-key, or a browser session cookie X-Organization-Idnaming the workspace to act in, unless the session already has an active one- The base URL for your deployment,
https://server.hlix.aiby default
Operations
Section titled “Operations”| Method | Path | Operation |
|---|---|---|
GET |
/v1/api/brand-kit |
Read workspace brand settings |
PUT |
/v1/api/brand-kit |
Save a brand draft |
POST |
/v1/api/brand-kit/extract |
Extract a draft brand from one website URL |
POST |
/v1/api/brand-kit/publish |
Publish a reviewed brand and portal |
Read workspace brand settings
Section titled “Read workspace brand settings”GET /v1/api/brand-kit · operation ID getWorkspaceBrandKit
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
X-Organization-Id |
header | no | string | The workspace (organization) to act in. Omitted, the session’s active organization is used. |
Responses
| Status | Body | Description |
|---|---|---|
200 |
WorkspaceBrandKitState | Workspace brand draft and published identity |
400 |
ApiError | The request named no active organization. |
401 |
ApiError | No valid session or API key. |
403 |
ApiError | Workspace access denied |
404 |
ApiError | The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist. |
Save a brand draft
Section titled “Save a brand draft”PUT /v1/api/brand-kit · operation ID saveWorkspaceBrandKit
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
X-Organization-Id |
header | no | string | The workspace (organization) to act in. Omitted, the session’s active organization is used. |
Request body — application/json, SaveBrandKit (required)
| Property | Type | Required | Notes |
|---|---|---|---|
draft |
object | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 |
WorkspaceBrandKitState | Workspace brand draft and published identity |
400 |
ValidationError | ApiError | The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError). |
401 |
ApiError | No valid session or API key. |
403 |
ApiError | Workspace access denied |
404 |
ApiError | The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist. |
Extract a draft brand from one website URL
Section titled “Extract a draft brand from one website URL”POST /v1/api/brand-kit/extract · operation ID extractWorkspaceBrandKit
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
X-Organization-Id |
header | no | string | The workspace (organization) to act in. Omitted, the session’s active organization is used. |
Request body — application/json, ExtractBrandKit (required)
| Property | Type | Required | Notes |
|---|---|---|---|
url |
string (uri) | yes | max length 2048 |
Responses
| Status | Body | Description |
|---|---|---|
200 |
WorkspaceBrandKitState | Workspace brand draft and published identity |
400 |
ValidationError | ApiError | The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError). |
401 |
ApiError | No valid session or API key. |
403 |
ApiError | Workspace access denied |
404 |
ApiError | The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist. |
502 |
ApiError | Extraction unavailable |
Publish a reviewed brand and portal
Section titled “Publish a reviewed brand and portal”POST /v1/api/brand-kit/publish · operation ID publishWorkspaceBrandKit
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
X-Organization-Id |
header | no | string | The workspace (organization) to act in. Omitted, the session’s active organization is used. |
Request body — application/json, PublishBrandKit (required)
| Property | Type | Required | Notes |
|---|---|---|---|
draft |
object | yes | |
portalEnabled |
boolean | yes |
Responses
| Status | Body | Description |
|---|---|---|
200 |
WorkspaceBrandKitState | Workspace brand draft and published identity |
400 |
ValidationError | ApiError | The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError). |
401 |
ApiError | No valid session or API key. |
403 |
ApiError | Workspace access denied |
404 |
ApiError | The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist. |
If a request fails
Section titled “If a request fails”These apply to every operation on this page.
400— the body failed schema validation, or the request named no active organization. AValidationErrorbody carries the failing fields; anApiErrorbody carries onlyerror.401— no valid session or API key.403— authenticated, but not a member of the named organization, or a client collaborator without the required access.404— no such resource in this workspace. Absent and not-visible are deliberately the same answer; do not infer cross-tenant existence from it.409— the expected revision or state is stale, or another operation currently owns the transition.500— the operation failed server-side. Retry only where an idempotency key makes that safe.
Next steps
Section titled “Next steps”API referenceEvery resource in the published contract, and what is deliberately not in it.
API & OpenAPIDownload the contract, generate a client, and read the compatibility policy.
TypeScript SDKAuth, retries, typed errors, uploads and streaming, already built.
CLI referenceThe same operations from a terminal, with a stable JSON envelope.