Creators#

Manage creators (influencers) with social media accounts across six platforms.

Provider required

All hooks require a BrandwaveProvider ancestor in your component tree. See the React Hooks overview for setup instructions.

useListCreators#

Retrieve a paginated list of creators for an organization.

typescript
import { useListCreators } from '@brandwave/react';

const { data, isLoading } = useListCreators({
  pageIndex: 0,
  pageSize: 25,
  organizationId: 'org_123',
});

Parameters#

NameTypeRequiredDescription
pageIndexintegerRequiredZero-based page index for pagination.
pageSizeintegerRequiredNumber of items per page (1-100).
organizationIdstring (UUID)RequiredOrganization identifier.
searchTermstringFree-text search term to filter results (max 200 characters).
sortBystringColumn name to sort by.
sortDirection'asc' | 'desc'Sort direction: ascending or descending.
activityIdstring (UUID)Filter by activity identifier.
role'person' | 'community' | 'brand_partner'Filter by creator role.

Response#

Returns { items, totalCount, facets } with paginated results.

Underlying SDK method: bw.creators.list(params)

useCreatorStats#

Aggregate statistics for creators matching the given filters.

typescript
import { useCreatorStats } from '@brandwave/react';

const { data, isLoading } = useCreatorStats({
  organizationId: 'org_123',
});

Parameters#

NameTypeRequiredDescription
organizationIdstring (UUID)RequiredOrganization identifier.
activityIdstring (UUID)Filter by activity identifier.
role'person' | 'community' | 'brand_partner'Filter by creator role.
searchTermstringFree-text search term to filter results (max 200 characters).

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.stats(params)

useCreator#

Retrieve a single creator by ID with full details and social accounts.

typescript
import { useCreator } from '@brandwave/react';

const { data, isLoading } = useCreator({
  id: 'abc-123',
});

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredCreator identifier.

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators({ id })

useCreateCreator#

Create a new creator (influencer) within an organization. Required: organizationId, name. Optional: email, role (person/community/brand_partner), country (2-letter ISO code), notes.

typescript
import { useCreateCreator } from '@brandwave/react';

const { mutate, isPending } = useCreateCreator();

mutate({
  organizationId: 'org_123',
  name: 'My Campaign',
});

Parameters#

NameTypeRequiredDescription
organizationIdstring (UUID)RequiredOrganization identifier.
namestringRequiredCreator display name.
emailstring | nullCreator contact email.
role'person' | 'community' | 'brand_partner' | nullCreator role: "person", "community", or "brand_partner".
countrystring | nullTwo-letter ISO 3166-1 country code.
notesstring | nullInternal notes about this creator (max 2,000 characters).

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.create(params)

useUpdateCreator#

Update a creator profile including role, country, and internal notes.

typescript
import { useUpdateCreator } from '@brandwave/react';

const { mutate, isPending } = useUpdateCreator();

mutate({
  id: 'abc-123',
});

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredCreator identifier to update.
namestringUpdated creator name (1-255 characters).
emailstring | nullUpdated contact email.
role'person' | 'community' | 'brand_partner' | nullUpdated role: "person", "community", or "brand_partner".
countrystring | nullUpdated two-letter ISO 3166-1 country code.
notesstring | nullUpdated internal notes (max 2,000 characters).

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.update(params)

useDeleteCreator#

Permanently delete a creator and all associated data.

typescript
import { useDeleteCreator } from '@brandwave/react';

const { mutate, isPending } = useDeleteCreator();

mutate({
  id: 'abc-123',
});

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredCreator identifier to delete.

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.delete(params)

Destructive action

Deleting a creator removes all social account links, activity associations, and notes. This action cannot be undone.

useConnectCreatorSocialAccount#

Connect a social media account to a creator via profile URL.

typescript
import { useConnectCreatorSocialAccount } from '@brandwave/react';

const { mutate, isPending } = useConnectCreatorSocialAccount();

mutate({
  creatorId: 'con_abc123',
  platform: 'instagram',
  profileUrl: '...',
});

Parameters#

NameTypeRequiredDescription
creatorIdstring (UUID)RequiredCreator identifier to connect the account to.
platform'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit'RequiredSocial media platform.
profileUrlstringRequiredProfile URL or username for the social media account (max 2,048 characters).

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.socialAccounts.connect(params)

Supported platforms

Pass a platform field: 'instagram', 'youtube', 'tiktok', 'twitter', 'linkedin', or 'reddit'.

useDisconnectCreatorSocialAccount#

Disconnect a social media account from a creator.

typescript
import { useDisconnectCreatorSocialAccount } from '@brandwave/react';

const { mutate, isPending } = useDisconnectCreatorSocialAccount();

mutate({
  creatorId: 'con_abc123',
  accountId: '12345678',
  platform: 'instagram',
});

Parameters#

NameTypeRequiredDescription
creatorIdstring (UUID)RequiredCreator identifier to disconnect the account from.
accountIdstring (UUID)RequiredSocial media account identifier to disconnect.
platform'instagram' | 'youtube' | 'tiktok' | 'twitter' | 'linkedin' | 'reddit'RequiredSocial media platform.

Response#

Returns { data } with the result.

Underlying SDK method: bw.creators.socialAccounts.disconnect(params)