API reference
Brands
Brands endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /v1/account/brands | The account’s brands and its communities’, the default brand and the settings |
POST | /v1/account/brands | Make a brand for the account, or for one community |
DELETE | /v1/account/brands/email-merge-notes | Dismiss the notice about the email brand moving into Brands (ADR 0130) |
POST | /v1/account/brands/media | Upload a brand’s logo or cover photo (multipart: file, plus a kind of logo or photo). Returns its public URL |
PUT | /v1/account/brands/settings | Set the account’s default brand and whether communities may make their own |
PATCH | /v1/account/brands/{brandId} | Rename a brand or change its look |
DELETE | /v1/account/brands/{brandId} | Delete a brand nothing uses |
PUT | /v1/account/groups/{groupId}/brand | Choose a community’s brand: an account brand or one of its own. Null: the default |
The account’s brands and its communities’, the default brand and the settings#
GET /v1/account/brands
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X GET "$ANSWERSTACK_API_URL/v1/account/brands" \
-H "Authorization: Bearer $ACCESS_TOKEN"Make a brand for the account, or for one community#
POST /v1/account/brands
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Request body
application/json, required.
| Field | Type | Required | Description |
|---|---|---|---|
groupId | string (grp_… ID) | null | No | — |
look | object | Yes | — |
look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
look.background | string | No | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
look.email | object | No | — |
look.email.logoPosition | enum | No | One of: "left", "center". Default: "left". |
look.font | enum | No | One of: "system", "serif_warm", "sans_modern". Default: "system". |
look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
name | string | Yes | 1–60 characters. |
Response 201
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X POST "$ANSWERSTACK_API_URL/v1/account/brands" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"look": {
"primary": "string",
"accent": "string"
}
}'Dismiss the notice about the email brand moving into Brands (ADR 0130)#
DELETE /v1/account/brands/email-merge-notes
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X DELETE "$ANSWERSTACK_API_URL/v1/account/brands/email-merge-notes" \
-H "Authorization: Bearer $ACCESS_TOKEN"Upload a brand’s logo or cover photo (multipart: file, plus a kind of logo or photo). Returns its public URL#
POST /v1/account/brands/media
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Response 201
| Field | Type | Required | Description |
|---|---|---|---|
assetId | string | Yes | — |
contentType | string | Yes | — |
kind | enum | Yes | One of: "logo", "photo", "video", "captions". |
sizeBytes | integer | Yes | — |
url | string (uri) | Yes | — |
Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500, with an ErrorBody body.
Example
curl -X POST "$ANSWERSTACK_API_URL/v1/account/brands/media" \
-H "Authorization: Bearer $ACCESS_TOKEN"Set the account’s default brand and whether communities may make their own#
PUT /v1/account/brands/settings
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Request body
application/json, required.
| Field | Type | Required | Description |
|---|---|---|---|
communitiesMayCreate | boolean | No | — |
defaultBrandId | string (brd_… ID) | null | No | — |
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X PUT "$ANSWERSTACK_API_URL/v1/account/brands/settings" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"communitiesMayCreate": true,
"defaultBrandId": "brd_2ZPh7XbT0v9Ao4iJ3qK1mN8sRgE"
}'Rename a brand or change its look#
PATCH /v1/account/brands/{brandId}
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
brandId | string (brd_… ID) | Yes | ID (brd_…) |
Request body
application/json, required.
| Field | Type | Required | Description |
|---|---|---|---|
look | object | No | — |
look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
look.background | string | No | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
look.email | object | No | — |
look.email.logoPosition | enum | No | One of: "left", "center". Default: "left". |
look.font | enum | No | One of: "system", "serif_warm", "sans_modern". Default: "system". |
look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
name | string | No | 1–60 characters. |
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X PATCH "$ANSWERSTACK_API_URL/v1/account/brands/{brandId}" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"look": {
"primary": "string",
"accent": "string"
},
"name": "string"
}'Delete a brand nothing uses#
DELETE /v1/account/brands/{brandId}
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
brandId | string (brd_… ID) | Yes | ID (brd_…) |
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X DELETE "$ANSWERSTACK_API_URL/v1/account/brands/{brandId}" \
-H "Authorization: Bearer $ACCESS_TOKEN"Choose a community’s brand: an account brand or one of its own. Null: the default#
PUT /v1/account/groups/{groupId}/brand
Authentication: Bearer token: Authorization: Bearer <token> (Supabase access token).
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string (grp_… ID) | Yes | ID (grp_…) |
Request body
application/json, required.
| Field | Type | Required | Description |
|---|---|---|---|
brandId | string (brd_… ID) | null | Yes | — |
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
brands | array<Brand> | Yes | — |
brands[].communities | integer | Yes | — |
brands[].groupId | string | null | Yes | — |
brands[].groupName | string | null | Yes | — |
brands[].id | string | Yes | — |
brands[].look | object | Yes | — |
brands[].look.accent | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].look.background | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. Default: "#F7F3EC". |
brands[].look.coverPhoto | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.email | object | No | — |
brands[].look.email.logoPosition | enum | Yes | One of: "left", "center". Default: "left". |
brands[].look.font | enum | Yes | One of: "system", "serif_warm", "sans_modern". Default: "system". |
brands[].look.logo | string (uri) | string (uri) | No | A https:// link to an uploaded file |
brands[].look.primary | string | Yes | Pattern: ^#[0-9a-f]\{6\}$. |
brands[].name | string | Yes | — |
brands[].updatedAt | string (date-time) | Yes | — |
canManage | boolean | Yes | — |
emailMerge | array<BrandEmailMergeNote> | Yes | — |
emailMerge[].assigned | boolean | Yes | Default: true. |
emailMerge[].brandId | string | null | Yes | — |
emailMerge[].brandName | string | null | Yes | — |
emailMerge[].dropped | object | Yes | Default: \{\}. |
emailMerge[].dropped.colors | map | No | — |
emailMerge[].dropped.colors.{key} | string | No | Any key. |
emailMerge[].dropped.font | string | No | — |
emailMerge[].dropped.logoAlt | string | No | — |
emailMerge[].dropped.logoPosition | string | No | — |
emailMerge[].dropped.logoUrl | string | No | — |
emailMerge[].groupId | string | null | Yes | — |
emailMerge[].groupName | string | null | Yes | — |
emailMerge[].heldBecause | enum | null | Yes | One of: "pages", "colours". |
emailMerge[].logoMoved | boolean | Yes | — |
emailMerge[].outcome | enum | Yes | One of: "created", "merged", "kept". |
groups | array<object> | Yes | — |
groups[].brandId | string | null | Yes | — |
groups[].id | string | Yes | — |
groups[].name | string | Yes | — |
settings | object | Yes | — |
settings.communitiesMayCreate | boolean | Yes | Default: true. |
settings.defaultBrandId | string (brd_… ID) | null | Yes | — |
Errors: 400, 401, 403, 404, 409, 429, 500, with an ErrorBody body.
Example
curl -X PUT "$ANSWERSTACK_API_URL/v1/account/groups/{groupId}/brand" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"brandId": "brd_2ZPh7XbT0v9Ao4iJ3qK1mN8sRgE"
}'