Skip to main content
GET
Course Brand Read

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

course_id
string
required

Response

Successful Response

Response for GET /api/v1/courses/{id}/brand (#294/#296/#301): the ReviewableArtifact shape for a course's bound auto_derived preset's brand kit. Mirrors b2b.routes.courses_v2._shape_brand_artifact exactly -- every field below is set by that function, never partially.

artifact_type
string
required

Always 'brand'

artifact_id
string
required

f'brand_{preset_id}' -- the bound preset's id, not the course's

status
string
required

approved | pending_review | not_ready

iteration
integer
required

Brand asset iteration count (starts at 1)

auto_approved_low_confidence
boolean
required

True when this brand was auto-approved despite a low-confidence signal (brand_review + BRAND_LOW_CONF_AUTO_APPROVE both on)

generated_at
string | null

Currently always null; reserved for a future generation timestamp

content
Content · object

The brand kit: colors, fonts, tagline, logo_url (re-signed on every read), logo_px, logo_low_res when a logo was uploaded

logo_confidence
string | null

none | low | high -- honest confidence in the extracted logo, from content.logo_confidence

distinct_logo_count
integer | null

Number of distinct logo candidates the gather step detected, from content.distinct_logo_count

multiple_logos_detected
boolean | null

True when the gather step found more than one candidate logo (soft low-confidence signal)

visuals_missing
boolean | null

True when the gather step found no usable palette or logo at all (hard hold signal)

low_confidence_reason
string | null

Human-readable reason the auto-approve gate flagged low confidence; null when not flagged