Skip to main content

Partnership Roles

Partnership Roles enable brands to establish formal collaborations with creators on Snapchat. Unlike Organization and Ad Account Roles, Partnership Roles govern the relationship between brands and external creators—allowing brands to invite creators to tag them in organic content or grant permission for ads to run as the creator's profile.

Permission Levels

The two permission levels that previously existed have now been replaced with a model where the AD_LEVEL permission covers both levels, the Creator is also prompted to set a number of permissions at the point of accepting the partnership.

LevelNameDescriptionUse Case
BRAND_LEVELBrand PartnerCreator can tag the brand in organic posts using the "Paid Partnership" labelOrganic-to-paid workflows where brands boost creator content
AD_LEVELAd PartnerCreator can tag the brand in organic posts using the "Paid Partnership" label, the brand can run ads that appear as the creator's profileOrganic-to-paid workflows where brands boost creator content and paid-first workflows where the ad shows the creator as the sender

AD_LEVEL includes all capabilities of the previous BRAND_LEVEL permission. A creator with AD_LEVEL permission can also tag the brand in organic posts.

The Partnership Handshake

All partnership workflows require a two-way approval:

  1. Brand/Advertiser initiates — Sends invitation via API or Business Manager
  2. Creator approves — Accepts in Snapchat app (Profile Settings → Pending Invitations)

The partnership is not active until the creator accepts. Poll the status endpoint to detect when role_status changes from PENDING to APPROVED.

The API does not currently send webhooks for partnership status changes. You must poll to detect approval.

ProfileRole Attributes

AttributeTypeRequiredDescriptionPossible Values
invitee_usernameStringYesThe invitee Snapchat user name
invitee_display_nameStringNoThe invitee Snapchat user display name
invitee_user_idUUIDYesUnique identifier of the invitee Snapchat user, this is synonymous with role_id
invitor_user_idUUIDRead-onlyUnique identifier of the invitor Snapchat user (only populated in response)
role_typeStringYesRole type the invitee Snapchat user will be assignedbusiness_account_story_contributor, preapproved_creator_ad_partner
role_statusEnumRead-onlyInvite role status (only populated in response)PENDING, APPROVED, EXPIRED, REJECTED
partnership_levelStringYesThe partnership level the invitee Snapchat user will be assignedAD_LEVEL

Invite Creator for collaboration

Using the Public Profile of the Advertiser, this endpoint is used to invite a Creator for a collaboration, if the Creator accepts the invite they become a pre-approved Creator.

Attributes

AttributeDescriptionRequiredPossible Values
invitee_usernameThe Snapchat username of the CreatorYes
role_typeNeeds to be business_account_story_contributorYesbusiness_account_story_contributor
partnership_levelThe type of Partnership the Advertiser is offering the CreatorYesAD_LEVEL
approvalTimeInDaysDefines the time limit the Creator has to respond to the invite, if this parameter is skipped the invite will have no expiryNo7,30,90

HTTP Request

POST
https://businessapi.snapchat.com/v1/public_profiles/{brand_profile_id}/roles

Parameters

ParameterRequiredDescription
brand_profile_idYesBrand/Advertiser Profile ID (in URL path)
rolesYesList of ProfileRole objects to create. Currently only supports one input object per call.

Request Body

{
"roles": [
{
"invitee_username": "ebbechi",
"role_type": "business_account_story_contributor",
"approvalTimeInDays": 30,
"partnership_level": "AD_LEVEL"
}
]
}

HTTP Response

NameDescriptionPossible Values
request_idA UUID to identify this request.
request_statusSUCCESS, ERROR
rolesList of ProfileRole objects that have been created.
auto_approvedtrue if target and source users are bidirectional friendstrue, false
debug_messageA debug message to help debug if there is an error
display_messageDisplay message if there is an error.
error_codeError code if there is an error

Response

{
"request_id": "fbab20ad-75c5-4f46-a81f-4b4e02607bf0",
"request_status": "SUCCESS",
"roles": [
{
"invitee_username": "ebbechi",
"invitor_user_id": "92beca53-2402-45f6-bc0f-1244a2cb8935",
"role_type": "business_account_story_contributor",
"role_status": "PENDING",
"approval_time_in_days": 30,
"partnership_level": "AD_LEVEL"
}
]
}

Check status of Creators

This endpoint will retrieve all creators which have been invited for a collaboration with the advertiser, the role_status in the response indicates whether the partnership is APPROVED, PENDING, EXPIRED or REJECTED. A creator with role_status: APPROVED is a pre-approved Creator

HTTP Request

GET
https://businessapi.snapchat.com/v1/public_profiles/{brand_profile_id}/roles?role_type=business_account_story_contributor

Parameters

ParameterRequiredDescriptionPossible values
brand_profile_idYesThe Advertisers's Public Profile IDPublic Profile ID
role_typeYesThis defines the role of the Creatorbusiness_account_story_contributor
limitNoNumber of results per page1-100 (default 50)
cursorNoPagination cursor for next page

Response

{
"request_status": "SUCCESS",
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"invitee_username": "ebbechi",
"invitee_display_name": "Fakey McFake",
"invitee_user_id": "9095f42b-bc7e-44e8-a772-a61db0661488",
"invitor_user_id": "82beca53-2402-45f6-bc0f-1244a2cb8936",
"profile_logo_url": "https://cf-st.sc-cdn.net/aps/bolt/aHR0cHM6Ly9jZi1zdC5zYy1jZG4ubmV0L2Qvbkpldll5Nzh2ejM4dG9TZGx6UkdrP2JvPUVnMGFBQm9BTWdFRVNBSlFHV0FCJnVjPTI1._RS0,72_FMpng",
"role_type": "preapproved_creator_ad_partner",
"role_status": "APPROVED",
"profile_tier": "TIER_PUBLIC",
"partnership_level": "AD_LEVEL",
"subcategory": "SUBCATEGORY_V3_LIFESTYLE_INFLUENCER",
"invitee_profile_id": "c9e519eb-0a23-40cf-b538-36f2f1599f57"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"invitee_username": "dqk0902",
"invitee_display_name": "dqk",
"invitee_user_id": "b908cc47-60e0-4cec-a1df-b35066563805",
"invitor_user_id": "82beca53-2402-45f6-bc0f-1244a2cb8936",
"profile_logo_url": "https://cf-st.sc-cdn.net/aps/bolt/aHR0cHM6Ly9jZi1zdC5zYy1jZG4ubmV0L2QvWW1tSUZkY2JlZTNrZVl5bVlQbEpxP2JvPUVnMGFBQm9BTWdFRVNBSlFDR0FCJnVjPTg._RS0,72_FMpng",
"role_type": "preapproved_creator_ad_partner",
"role_status": "EXPIRED",
"approval_time_in_days": 1,
"start_time": "2025-12-01T14:36:08Z",
"end_time": "2025-12-02T14:36:08Z",
"profile_tier": "TIER_STANDARD",
"partnership_level": "AD_LEVEL",
"invitee_profile_id": "5efe6dec-dd79-4843-8c8d-e85190bcb493"
}
}
],
"paging": {
"next_page_id": "cursor-string"
}
}

List permissions granted by Creator

This endpoint allows you to list the permissions granted by a Creator that has agreed to a collaboration, this is a Creator with the role_status: APPROVED.

HTTP Request

GET
https://businessapi.snapchat.com/v1/public_profiles/{brand_profile_id}/brand_partnership_permissions?creator_profile_ids={creator_profile_id}

Parameters

ParameterRequiredDescriptionPossible values
brand_profile_idYesThe Advertisers's Public Profile IDPublic Profile ID of Brand
creator_profile_idsYesThe Creator's Public Profile IDPublic Profile ID of Creator

Response

In this example the Creator has shared all four options with the Brand/Advertiser.

{
"request_id": "acc7d86f-28ef-4844-9570-fabc6de57713",
"request_status": "SUCCESS",
"brand_partnership_permissions": [
{
"creator_profile_id": "c9e519eb-0a23-40cf-b538-36f2f1599f57",
"brand_profile_id": "c0ea278b-0449-4369-88d6-636e5d925f70",
"shared_public_profile_level": "SHARED_PUBLIC_PROFILE_LEVEL_AD",
"share_content_for_ads": "CONFIGURED_STATUS_ACTIVE",
"share_insights": "CONFIGURED_STATUS_ACTIVE",
"share_expired_stories": "CONFIGURED_STATUS_ACTIVE"
}
]
}

Creator permissions

PermissionValueWhat it enablesWhat happens if it’s inactive
share_insightsCONFIGURED_STATUS_ACTIVEFull Performance Metrics & Rich Metadata. Gives the brand access to in-depth statistics (view counts, engagement, etc.) for the creator's Public Profile, Stories, Saved Stories, Spotlight content, and individual Snaps.Public-Only View You can still see basic content, but requests for detailed performance stats will fail. Content metadata is stripped down to public-facing data fields only.
share_expired_storiesCONFIGURED_STATUS_ACTIVEAccess to past content Allows the brand to view and list the creator's Public Stories and individual Snaps even after their live 24-hour window has expired.Live-Only Content Expired stories are automatically filtered out of your view. You cannot access or view any story that is older than 24 hours.
share_content_for_adsCONFIGURED_STATUS_ACTIVEUse Shared Content for Paid Advertising Allows the brand to view and use content that the creator has shared directly with the brand's profile.Metadata Only You can see information about the shared content, but you cannot use that content to build or run paid ad campaigns.
shared_public_profile_levelSHARED_PUBLIC_PROFILE_LEVEL_ADUsing the Creator's Public Profile The brand is permitted to use the Creator’s Public Profile in Creatives.Brand-Only Creative Any ads created can only use the Brand/Advertiser Public Profile.

Cancel Partnership

This endpoint cancels a partnership, this revokes the creator's ability to tag your brand and your ability to access their content and to run Ads using their profile. When you cancel a partnership you need to use the invitee_user_id for the Creator.

HTTP Request

DELETE
https://businessapi.snapchat.com/v1/public_profiles/{brand_profile_id}/roles/{creator_role_id}?role_type=business_account_story_contributor&partnership_level=AD_LEVEL

Parameters

ParameterRequiredDescriptionPossible values
brand_profile_idYesThe Brands Public Profile IDPublic Profile ID
creator_role_idYesThe Creator's user ID, this is the invitee_user_id shown when listing Creator partnershipsCreator User ID
role_typeYesCan only be business_account_story_contributorbusiness_account_story_contributor
partnership_levelYesCan only be AD_LEVELAD_LEVEL

Response

{
"request_status": "SUCCESS"
}

Role Status Transitions

Common Errors

ErrorCauseResolution
AUTHORIZATION_PERMISSION_DENIEDToken user is not a Profile AdminEnsure the OAuth token belongs to a user with Profile Admin role
DUPLICATE_ROLEActive role already exists for this creatorCheck GET /roles before sending new invite
INVALID_USER_IDinvitee_user_id does not existVerify the creator's User ID via Creator Discovery
RESOURCE_NOT_FOUNDprofile_id or role_id is incorrectDouble-check IDs in the request
Was this page helpful?
Yes
No