Brands

Base URL https://api.example.com
GET /api/v1/brands

List My Brands

List all brands the current user is a member of. Returns brands with the user's role in each brand. For super_admin, returns ALL brands with admin role.

Responses
  • 200Successful Response
GET /api/v1/brands
curl -X GET 'https://api.example.com/api/v1/brands' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
POST /api/v1/brands

Create Brand

Create a new brand. The current user becomes the owner of the brand.

Responses
  • 201Successful Response
  • 422Validation Error
POST /api/v1/brands
curl -X POST 'https://api.example.com/api/v1/brands' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "brand_name": "string",
  "slug": "string"
}'
import httpx

resp = httpx.post(
    "https://api.example.com/api/v1/brands",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"brand_name": "string", "slug": "string"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands", {
  method: "POST",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"brand_name": "string", "slug": "string"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"brand_name": "string", "slug": "string"}`)
	req, _ := http.NewRequest("POST", "https://api.example.com/api/v1/brands", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"slug":"string","brand_name":"string"}
GET /api/v1/brands/{brand_id}

Get Brand

Get brand details. User must be a member of the brand.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/{brand_id}
curl -X GET 'https://api.example.com/api/v1/brands/{brand_id}' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/{brand_id}",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/{brand_id}", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
PATCH /api/v1/brands/{brand_id}

Update Brand

Update brand details. Requires admin or owner role in the brand.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
PATCH /api/v1/brands/{brand_id}
curl -X PATCH 'https://api.example.com/api/v1/brands/{brand_id}' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "brand_name": "string",
  "subscription_status": "inactive",
  "is_active": true,
  "billing_email": "user@example.com"
}'
import httpx

resp = httpx.patch(
    "https://api.example.com/api/v1/brands/{brand_id}",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"brand_name": "string", "subscription_status": "inactive", "is_active": true, "billing_email": "user@example.com"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}", {
  method: "PATCH",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"brand_name": "string", "subscription_status": "inactive", "is_active": true, "billing_email": "user@example.com"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"brand_name": "string", "subscription_status": "inactive", "is_active": true, "billing_email": "user@example.com"}`)
	req, _ := http.NewRequest("PATCH", "https://api.example.com/api/v1/brands/{brand_id}", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"is_active":true,"brand_name":"string","billing_email":"user@example.com","subscription_status":"inactive"}
GET /api/v1/brands/{brand_id}/settings

Get Brand Settings

Get brand settings. Requires admin access.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/{brand_id}/settings
curl -X GET 'https://api.example.com/api/v1/brands/{brand_id}/settings' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/{brand_id}/settings",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/settings", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/{brand_id}/settings", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
PATCH /api/v1/brands/{brand_id}/settings

Update Brand Settings

Update brand settings. Requires admin access.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
PATCH /api/v1/brands/{brand_id}/settings
curl -X PATCH 'https://api.example.com/api/v1/brands/{brand_id}/settings' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "default_rate_limit": 0,
  "default_campaign_quota_daily": 0,
  "default_campaign_quota_monthly": 0,
  "default_campaign_max_concurrent": 0,
  "default_campaign_max_locations": 0,
  "default_auto_campaign_enabled": true,
  "default_auto_campaign_rate_per_hour": 0,
  "default_auto_campaign_capacity_threshold": 0,
  "fuzziq_enabled": true,
  "brand_voice": "string",
  "brand_tone": "string",
  "brand_name_meaning": "string",
  "brand_promise": "string",
  "logo_url": "string"
}'
import httpx

resp = httpx.patch(
    "https://api.example.com/api/v1/brands/{brand_id}/settings",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"default_rate_limit": 0, "default_campaign_quota_daily": 0, "default_campaign_quota_monthly": 0, "default_campaign_max_concurrent": 0, "default_campaign_max_locations": 0, "default_auto_campaign_enabled": true, "default_auto_campaign_rate_per_hour": 0, "default_auto_campaign_capacity_threshold": 0, "fuzziq_enabled": true, "brand_voice": "string", "brand_tone": "string", "brand_name_meaning": "string", "brand_promise": "string", "logo_url": "string"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/settings", {
  method: "PATCH",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"default_rate_limit": 0, "default_campaign_quota_daily": 0, "default_campaign_quota_monthly": 0, "default_campaign_max_concurrent": 0, "default_campaign_max_locations": 0, "default_auto_campaign_enabled": true, "default_auto_campaign_rate_per_hour": 0, "default_auto_campaign_capacity_threshold": 0, "fuzziq_enabled": true, "brand_voice": "string", "brand_tone": "string", "brand_name_meaning": "string", "brand_promise": "string", "logo_url": "string"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"default_rate_limit": 0, "default_campaign_quota_daily": 0, "default_campaign_quota_monthly": 0, "default_campaign_max_concurrent": 0, "default_campaign_max_locations": 0, "default_auto_campaign_enabled": true, "default_auto_campaign_rate_per_hour": 0, "default_auto_campaign_capacity_threshold": 0, "fuzziq_enabled": true, "brand_voice": "string", "brand_tone": "string", "brand_name_meaning": "string", "brand_promise": "string", "logo_url": "string"}`)
	req, _ := http.NewRequest("PATCH", "https://api.example.com/api/v1/brands/{brand_id}/settings", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"logo_url":"string","brand_tone":"string","brand_voice":"string","brand_promise":"string","fuzziq_enabled":true,"brand_name_meaning":"string","default_rate_limit":0,"default_campaign_quota_daily":0,"default_auto_campaign_enabled":true,"default_campaign_max_locations":0,"default_campaign_quota_monthly":0,"default_campaign_max_concurrent":0,"default_auto_campaign_rate_per_hour":0,"default_auto_campaign_capacity_threshold":0}
GET /api/v1/brands/{brand_id}/information

Get Brand Information

Get brand business information. Requires admin access.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/{brand_id}/information
curl -X GET 'https://api.example.com/api/v1/brands/{brand_id}/information' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/{brand_id}/information",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/information", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/{brand_id}/information", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
PATCH /api/v1/brands/{brand_id}/information

Update Brand Information

Update brand business information. Requires admin access.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
PATCH /api/v1/brands/{brand_id}/information
curl -X PATCH 'https://api.example.com/api/v1/brands/{brand_id}/information' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "website": "string",
  "description": "string",
  "industry": "string",
  "street1": "string",
  "street2": "string",
  "city": "string",
  "state": "string",
  "postcode": "string",
  "country": "string",
  "tax_id": "string",
  "vat_id": "string",
  "support_email": "user@example.com"
}'
import httpx

resp = httpx.patch(
    "https://api.example.com/api/v1/brands/{brand_id}/information",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"website": "string", "description": "string", "industry": "string", "street1": "string", "street2": "string", "city": "string", "state": "string", "postcode": "string", "country": "string", "tax_id": "string", "vat_id": "string", "support_email": "user@example.com"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/information", {
  method: "PATCH",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"website": "string", "description": "string", "industry": "string", "street1": "string", "street2": "string", "city": "string", "state": "string", "postcode": "string", "country": "string", "tax_id": "string", "vat_id": "string", "support_email": "user@example.com"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"website": "string", "description": "string", "industry": "string", "street1": "string", "street2": "string", "city": "string", "state": "string", "postcode": "string", "country": "string", "tax_id": "string", "vat_id": "string", "support_email": "user@example.com"}`)
	req, _ := http.NewRequest("PATCH", "https://api.example.com/api/v1/brands/{brand_id}/information", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"city":"string","state":"string","tax_id":"string","vat_id":"string","country":"string","street1":"string","street2":"string","website":"string","industry":"string","postcode":"string","description":"string","support_email":"user@example.com"}
GET /api/v1/brands/{brand_id}/members

List Brand Members

List all members of a brand. User must be a member of the brand to view.

Parameters
brand_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/{brand_id}/members
curl -X GET 'https://api.example.com/api/v1/brands/{brand_id}/members' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/{brand_id}/members",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/members", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/{brand_id}/members", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
PATCH /api/v1/brands/{brand_id}/members/{member_user_id}

Update Member

Update a member's role or position. Requires admin access. Cannot modify owners.

Parameters
brand_id integer path required
member_user_id string path required
Responses
  • 200Successful Response
  • 422Validation Error
PATCH /api/v1/brands/{brand_id}/members/{member_user_id}
curl -X PATCH 'https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "role": "owner",
  "position": "string",
  "status": "active"
}'
import httpx

resp = httpx.patch(
    "https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"role": "owner", "position": "string", "status": "active"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}", {
  method: "PATCH",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"role": "owner", "position": "string", "status": "active"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"role": "owner", "position": "string", "status": "active"}`)
	req, _ := http.NewRequest("PATCH", "https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"role":"owner","status":"active","position":"string"}
DELETE /api/v1/brands/{brand_id}/members/{member_user_id}

Remove Member

Remove a member from the brand. Requires admin access. Cannot remove owners.

Parameters
brand_id integer path required
member_user_id string path required
Responses
  • 200Successful Response
  • 422Validation Error
DELETE /api/v1/brands/{brand_id}/members/{member_user_id}
curl -X DELETE 'https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.delete(
    "https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}", {
  method: "DELETE",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.example.com/api/v1/brands/{brand_id}/members/{member_user_id}", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
GET /api/v1/brands/{brand_id}/invitations

List Brand Invitations

List invitations for a brand. Requires admin access to the brand.

Parameters
brand_id integer path required
status any query
Filter by status: pending, accepted, expired, canceled
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/{brand_id}/invitations
curl -X GET 'https://api.example.com/api/v1/brands/{brand_id}/invitations' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/{brand_id}/invitations",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/invitations", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/{brand_id}/invitations", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
POST /api/v1/brands/{brand_id}/invitations

Create Invitation

Invite a user to join the brand. Requires admin access. Sends an email invitation.

Parameters
brand_id integer path required
Responses
  • 201Successful Response
  • 422Validation Error
POST /api/v1/brands/{brand_id}/invitations
curl -X POST 'https://api.example.com/api/v1/brands/{brand_id}/invitations' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "user@example.com",
  "role": "member"
}'
import httpx

resp = httpx.post(
    "https://api.example.com/api/v1/brands/{brand_id}/invitations",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"email": "user@example.com", "role": "member"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/invitations", {
  method: "POST",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"email": "user@example.com", "role": "member"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"email": "user@example.com", "role": "member"}`)
	req, _ := http.NewRequest("POST", "https://api.example.com/api/v1/brands/{brand_id}/invitations", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"role":"member","email":"user@example.com"}
DELETE /api/v1/brands/{brand_id}/invitations/{invitation_id}

Revoke Invitation

Revoke a pending invitation. Requires admin access.

Parameters
brand_id integer path required
invitation_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
DELETE /api/v1/brands/{brand_id}/invitations/{invitation_id}
curl -X DELETE 'https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.delete(
    "https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}", {
  method: "DELETE",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
POST /api/v1/brands/{brand_id}/invitations/{invitation_id}/resend

Resend Invitation

Resend an invitation (generates new token, resets expiry). Requires admin access.

Parameters
brand_id integer path required
invitation_id integer path required
Responses
  • 200Successful Response
  • 422Validation Error
POST /api/v1/brands/{brand_id}/invitations/{invitation_id}/resend
curl -X POST 'https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}/resend' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.post(
    "https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}/resend",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}/resend", {
  method: "POST",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.example.com/api/v1/brands/{brand_id}/invitations/{invitation_id}/resend", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
GET /api/v1/brands/invitations/view/{token}

View Invitation By Token

View invitation details by token. This is a public endpoint (no auth required) so users can see the invitation details before signing up/logging in.

Parameters
token string path required
Responses
  • 200Successful Response
  • 422Validation Error
GET /api/v1/brands/invitations/view/{token}
curl -X GET 'https://api.example.com/api/v1/brands/invitations/view/{token}' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/invitations/view/{token}",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/invitations/view/{token}", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/invitations/view/{token}", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
POST /api/v1/brands/invitations/accept

Accept Invitation

Accept an invitation to join a brand. The invitation token is obtained from the invitation email link. User must be logged in to accept. This endpoint uses session-only auth because the user may not be provisioned in dashboard_users yet.

Responses
  • 200Successful Response
  • 422Validation Error
POST /api/v1/brands/invitations/accept
curl -X POST 'https://api.example.com/api/v1/brands/invitations/accept' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
  "token": "string"
}'
import httpx

resp = httpx.post(
    "https://api.example.com/api/v1/brands/invitations/accept",
    headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
    json={"token": "string"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/invitations/accept", {
  method: "POST",
  headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
  body: JSON.stringify({"token": "string"})
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"token": "string"}`)
	req, _ := http.NewRequest("POST", "https://api.example.com/api/v1/brands/invitations/accept", body)
	req.Header.Set("Authorization", "Bearer ")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
Request body
{"token":"string"}
GET /api/v1/brands/invitations/pending

Get My Pending Invitations

Get pending invitations for the current user's email. Useful to show invitations on the dashboard.

Responses
  • 200Successful Response
GET /api/v1/brands/invitations/pending
curl -X GET 'https://api.example.com/api/v1/brands/invitations/pending' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/invitations/pending",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/invitations/pending", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/invitations/pending", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}
GET /api/v1/brands/admin/all

List All Brands

List all brands in the system. Super admin only.

Responses
  • 200Successful Response
GET /api/v1/brands/admin/all
curl -X GET 'https://api.example.com/api/v1/brands/admin/all' \
  -H 'Authorization: Bearer '
import httpx

resp = httpx.get(
    "https://api.example.com/api/v1/brands/admin/all",
    headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/admin/all", {
  method: "GET",
  headers: { "Authorization": "Bearer " }
});
const data = await resp.json();
console.log(data);
package main

import (
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.example.com/api/v1/brands/admin/all", nil)
	req.Header.Set("Authorization", "Bearer ")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}