Organisations
Preview brand colors
Draws two fixed sample diagrams in the colors given, in light and dark, with the check.
POST
/orgs/{org}/brand/previewTL;DR
| Question | Answer |
|---|---|
| What does it do? | Preview brand colors. |
| What does it take? | A JSON body of type BrandBody. |
| What does it return? | Status 200 with a body of type BrandPreview. |
| What can go wrong? | 400 the body is not valid; 401 not signed in; 403 the caller's role may not (orgs.forbidden), or the request came from an origin that may not make changes; 404 no such organisation, or the caller is not a member of it; 422 a color is not valid, or there is no primary (brand.invalid, with every issue in details); 429 too many requests; 503 organisations are not set up on this server. Every failure uses the one error envelope. |
What it does
Draws two fixed sample diagrams in the colors given, in light and dark, with the check. Works on every plan. The owner and admins may. Stores nothing.
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
org | string | yes | The organisation's id or its slug. |
Request body
The body has the type BrandBody.
| Field | Type | Required | Description |
|---|---|---|---|
primary | string | null | no | The main brand color, as #rrggbb or #rgb in any case. Takes the place of the blue tone. A brand needs one. at most 32 characters. |
secondary | string | null | no | Takes the place of the violet tone. Left out or null, it is made from the primary by turning its hue, and follows the primary. at most 32 characters. |
accent | string | null | no | Takes the place of the aqua tone. Left out or null, it is made from the primary by turning its hue, and follows the primary. at most 32 characters. |
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | The check and the sample pictures. | BrandPreview |
| 400 | The body is not valid. | ErrorResponse |
| 401 | Not signed in. | ErrorResponse |
| 403 | The caller's role may not (orgs.forbidden), or the request came from an origin that may not make changes. | ErrorResponse |
| 404 | No such organisation, or the caller is not a member of it. | ErrorResponse |
| 422 | A color is not valid, or there is no primary (brand.invalid, with every issue in details). | ErrorResponse |
| 429 | Too many requests. | ErrorResponse |
| 503 | Organisations are not set up on this server. | ErrorResponse |
Response body
A 200 answer has the type BrandPreview.
| Field | Type | Required | Description |
|---|---|---|---|
check | BrandCheck | yes | |
check.issues | BrandIssue[] | yes | |
check.issues[].role | "primary" | "secondary" | "accent" | yes | |
check.issues[].severity | "error" | "warning" | "note" | yes | An error stops a save. A warning and a note are advice. |
check.issues[].code | "not-a-color" | "missing-primary" | "reads-as-status" | "too-similar" | "adjusted" | yes | |
check.issues[].message | string | yes | |
check.swatches | object | null | yes | The color each scheme draws for each role, made darker or lighter where it would not keep 3:1 against the surface. |
check.swatches.light | object | yes | |
check.swatches.dark | object | yes | |
pictures | BrandPreviewPicture[] | yes | |
pictures[].id | string | yes | |
pictures[].title | string | yes | |
pictures[].light | string | yes | The sample as an SVG in the light scheme. |
pictures[].dark | string | yes | The sample as an SVG in the dark scheme. |
See also
| Doc | Why |
|---|---|
| API reference | Every endpoint, and the error envelope |
| Schemas | Every request and response type |
| Tool reference | The operations as callable tools |