Brands

View as Markdown

List Brands

GET/api/v1/brands

List all brands the current user belongs to.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Get Brand

GET/api/v1/brands/{brand_id}

Get brand details. Requires membership.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Update Brand

PATCH/api/v1/brands/{brand_id}

Update brand name, billing email, or docs custom domain. Brand admin only.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X PATCH "https://app.opvs.ai/api/v1/brands/{brand_id}" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Get Brand Settings

GET/api/v1/brands/{brand_id}/settings

Get brand settings (voice, tone, logo).

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/settings" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Update Brand Settings

PATCH/api/v1/brands/{brand_id}/settings

Update brand settings. Brand admin only.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X PATCH "https://app.opvs.ai/api/v1/brands/{brand_id}/settings" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Get Brand Info

GET/api/v1/brands/{brand_id}/info

Get brand information (address, tax).

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/info" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Update Brand Info

PATCH/api/v1/brands/{brand_id}/info

Update brand information. Brand admin only.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X PATCH "https://app.opvs.ai/api/v1/brands/{brand_id}/info" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

List Brand Members

GET/api/v1/brands/{brand_id}/members

List members of a brand.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/members" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Update Brand Member

PATCH/api/v1/brands/{brand_id}/members/{user_id}

Update a member's role or position. Brand admin only.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X PATCH "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Remove Brand Member

DELETE/api/v1/brands/{brand_id}/members/{user_id}

Remove a member from the brand. Brand admin only.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X DELETE "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Upload Member Photo

POST/api/v1/brands/{brand_id}/members/{user_id}/photo

Upload a picture for a member of this brand.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}/photo" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Remove Member Photo

DELETE/api/v1/brands/{brand_id}/members/{user_id}/photo

Remove a picture from a member of this brand.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X DELETE "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}/photo" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Reset Member Password

POST/api/v1/brands/{brand_id}/members/{user_id}/reset-password

Send the member the existing password-reset email.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}/reset-password" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Set Member Password

POST/api/v1/brands/{brand_id}/members/{user_id}/set-password

Set a password only for an ordinary person who belongs to this brand alone.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/members/{user_id}/set-password" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

List Guests

GET/api/v1/brands/{brand_id}/guests

List outside people and every board/docs resource they can open.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/guests" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Make Guest Member

POST/api/v1/brands/{brand_id}/guests/{user_id}/make-member

Invite a guest; their existing grants remain until they accept.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/guests/{user_id}/make-member" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Remove Guest

DELETE/api/v1/brands/{brand_id}/guests/{user_id}

Remove every board/docs grant without deleting authored content.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X DELETE "https://app.opvs.ai/api/v1/brands/{brand_id}/guests/{user_id}" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Upload Brand Image

POST/api/v1/brands/{brand_id}/images/upload

Upload an image to R2 storage. Returns a CDN URL.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/images/upload" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

List Brand Images

GET/api/v1/brands/{brand_id}/images

List images uploaded for this brand, newest first.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/images" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Delete Brand Image

DELETE/api/v1/brands/{brand_id}/images

Delete one uploaded image, if nothing still references it.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X DELETE "https://app.opvs.ai/api/v1/brands/{brand_id}/images" \
  -H "Authorization: Bearer $OPVS_TOKEN"
POST/api/v1/brands/{brand_id}/logo

Upload a brand logo to R2 and store the URL in brand_settings.logo_big.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/logo" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Get Docs Domain

GET/api/v1/brands/{brand_id}/docs-domain

Get custom domain configuration for this brand's public docs.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl "https://app.opvs.ai/api/v1/brands/{brand_id}/docs-domain" \
  -H "Authorization: Bearer $OPVS_TOKEN"

Verify Docs Domain

POST/api/v1/brands/{brand_id}/docs-domain/verify

Trigger DNS verification for the brand's custom domain.

Errors

CodeWhenWhat to do
422Validation Error—
Request
curl -X POST "https://app.opvs.ai/api/v1/brands/{brand_id}/docs-domain/verify" \
  -H "Authorization: Bearer $OPVS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Did this answer your question?