Brands
https://api.example.com
/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.
200Successful Response
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()
}
/api/v1/brands
Create Brand
Create a new brand. The current user becomes the owner of the brand.
201Successful Response422Validation Error
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"}
/api/v1/brands/{brand_id}
Get Brand
Get brand details. User must be a member of the brand.
brand_id
integer
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}
Update Brand
Update brand details. Requires admin or owner role in the brand.
brand_id
integer
path
required
200Successful Response422Validation Error
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"}
/api/v1/brands/{brand_id}/settings
Get Brand Settings
Get brand settings. Requires admin access.
brand_id
integer
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/settings
Update Brand Settings
Update brand settings. Requires admin access.
brand_id
integer
path
required
200Successful Response422Validation Error
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}
/api/v1/brands/{brand_id}/logo
Upload Brand Logo
Upload brand logo. Requires admin access. The image will be: - Center-cropped to square - Resized to 256x256 max - Converted to WebP format
brand_id
integer
path
required
200Successful Response422Validation Error
curl -X POST 'https://api.example.com/api/v1/brands/{brand_id}/logo' \
-H 'Authorization: Bearer ' \
-H 'Content-Type: application/json' \
-d '{
"file": "string"
}'
import httpx
resp = httpx.post(
"https://api.example.com/api/v1/brands/{brand_id}/logo",
headers={"Authorization": "Bearer ", "Content-Type": "application/json"},
json={"file": "string"},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/logo", {
method: "POST",
headers: { "Authorization": "Bearer ", "Content-Type": "application/json" },
body: JSON.stringify({"file": "string"})
});
const data = await resp.json();
console.log(data);
package main
import (
"net/http"
"strings"
)
func main() {
body := strings.NewReader(`{"file": "string"}`)
req, _ := http.NewRequest("POST", "https://api.example.com/api/v1/brands/{brand_id}/logo", body)
req.Header.Set("Authorization", "Bearer ")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
Request body
{"file":"string"}
/api/v1/brands/{brand_id}/logo
Delete Brand Logo
Delete brand logo. Requires admin access.
brand_id
integer
path
required
200Successful Response422Validation Error
curl -X DELETE 'https://api.example.com/api/v1/brands/{brand_id}/logo' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.delete(
"https://api.example.com/api/v1/brands/{brand_id}/logo",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://api.example.com/api/v1/brands/{brand_id}/logo", {
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}/logo", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
/api/v1/brands/{brand_id}/information
Get Brand Information
Get brand business information. Requires admin access.
brand_id
integer
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/information
Update Brand Information
Update brand business information. Requires admin access.
brand_id
integer
path
required
200Successful Response422Validation Error
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"}
/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.
brand_id
integer
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/members/{member_user_id}
Update Member
Update a member's role or position. Requires admin access. Cannot modify owners.
brand_id
integer
path
required
member_user_id
string
path
required
200Successful Response422Validation Error
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"}
/api/v1/brands/{brand_id}/members/{member_user_id}
Remove Member
Remove a member from the brand. Requires admin access. Cannot remove owners.
brand_id
integer
path
required
member_user_id
string
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/invitations
List Brand Invitations
List invitations for a brand. Requires admin access to the brand.
brand_id
integer
path
required
status
any
query
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/invitations
Create Invitation
Invite a user to join the brand. Requires admin access. Sends an email invitation.
brand_id
integer
path
required
201Successful Response422Validation Error
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"}
/api/v1/brands/{brand_id}/invitations/{invitation_id}
Revoke Invitation
Revoke a pending invitation. Requires admin access.
brand_id
integer
path
required
invitation_id
integer
path
required
200Successful Response422Validation Error
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()
}
/api/v1/brands/{brand_id}/invitations/{invitation_id}/resend
Resend Invitation
Resend an invitation (generates new token, resets expiry). Requires admin access.
brand_id
integer
path
required
invitation_id
integer
path
required
200Successful Response422Validation Error
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()
}
/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.
token
string
path
required
200Successful Response422Validation Error
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()
}
/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.
200Successful Response422Validation Error
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"}
/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.
200Successful Response
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()
}
/api/v1/brands/admin/all
List All Brands
List all brands in the system. Super admin only.
200Successful Response
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()
}