Troubleshooting
Common errors, frequently asked questions, and solutions for Creator Partnership integrations.
Quick Diagnosis
| Symptom | Likely Cause | Solution |
|---|---|---|
| Role creation returns error | Invalid profile or user ID | Verify IDs |
| Can't see creator's posts | Missing "Paid Partnership" label | Check tagging method |
| Media ID is invalid | Using wrong ID type | Claim first |
| Permission denied (403) | Wrong admin role | Check permissions |
| Ad code returns 404 | Code expired or revoked | Request new code |
| Ads not showing partnership label | Missing creator_partnership_type | Add required field |
For step-by-step guides, see:
- Partnership Setup — Establish creator relationships
- Brand Partnerships — Boost organic content
- Ad Partnerships — Run ads as creator's profile
- Ad Codes — Quick boost workflow
Role & Partnership Issues
"My API call to create a role failed"
Symptoms:
- HTTP 400 or 404 error on
POST /v1/public_profiles/{profile_id}/roles - Error message: "Resource not found" or "E3003"
Root Causes:
- Invalid
profile_id— You're using the wrong Brand profile ID - Invalid
inviteeUserId— The creator's User ID is incorrect - Confusing username with User ID — These are different values
Solution:
- Verify your Brand's
profile_idusing/me/public_profiles - Get creator's
inviteeUserId(not username) using Creator Discovery - Ensure you're not confusing username with User ID
Verification Checklist:
-
profile_idis your Brand's Public Profile ID -
inviteeUserIdis the creator's internal User ID (UUID format) - You're not using the creator's username string as the User ID
- The creator has a valid Public Profile
See Also: Partnership Setup - Developer Track for the correct API flow
"Duplicate Role" error
Symptoms:
- HTTP 409 Conflict
- Error message: "Duplicate Role" or similar
Root Cause: An active invitation or role already exists for this creator.
Solution:
Check GET /v1/public_profiles/{profile_id}/roles for existing invitations before creating new ones. Look for matching inviteeUserId and check roleStatus.
See Also: Partnership Setup - Developer Track for managing existing roles
Partnership stuck in "PENDING" state
Symptoms:
- Role status remains
PENDINGindefinitely - Creator claims they never received invitation
Possible Causes:
- Creator hasn't checked notifications — Push notification may have been missed
- Creator doesn't know where to approve — UI navigation is not obvious
- Notification settings — Creator may have notifications disabled
Resolution Steps:
-
Direct communication: Contact creator directly and guide them to:
- Open Snapchat → Profile → Settings (gear icon)
- Navigate to "Brand & Ad Partnerships" or "Pending Invitations"
- Find and approve your invitation
-
Re-send invitation: If creator deleted the notification, you may need to cancel and re-create the role
-
Set expectations: Inform creators that approval is required before any collaboration can proceed
The API does not provide webhooks for approval events. You must poll the roles endpoint or coordinate with creators directly.
Content Discovery Issues
"I can't see the creator's posts in shared_snaps"
Symptoms:
GET /v1/public_profiles/{profile_id}/shared_snapsreturns empty array- Creator confirms they posted content mentioning your brand
Root Causes:
- Creator didn't use "Paid Partnership" label — Simple @mentions don't work
- Partnership not yet active — Role status is still
PENDING - Wrong profile ID — Querying incorrect brand profile
Diagnosis:
| Method Creator Used | Will Appear in API? |
|---|---|
| "Paid Partnership" label tool | ✅ Yes |
| @mention in text/caption | ❌ No |
| Hashtag (#YourBrand) | ❌ No |
| Just verbal mention | ❌ No |
Solution:
- Verify partnership status is
ACCEPTED - Educate creator on proper "Paid Partnership" label usage
- Creator must use the official tool, not @mentions
Creator Instructions to Share:
"When posting content for our partnership, please use the 'Paid Partnership' label feature in Snapchat. After creating your Snap, tap the attachment icon and select 'Paid Partnership,' then search for our brand name. This ensures we can find and boost your content."
See Also: Brand Partnerships - How Creators Tag for detailed creator instructions
Story content returns "Not Found"
Symptoms:
- A
snap_idthat previously worked now returns 404 - Content was visible in
shared_snapsbut now isn't
Root Cause: Organic Stories expire after 24 hours unless the creator saves them.
Solution:
- Claim content quickly: When you identify content to boost, claim it immediately
- Educate creators: Ask them to save Stories to "Memories" or "Saved Stories"
- Prefer Spotlight: Spotlight content is permanent and doesn't expire
See Also: Brand Partnerships - Content Requirements for Story expiration details
Media Processing Issues
"The Media ID is invalid"
Symptoms:
- HTTP 400 or 404 when using
media_entity_idin creative creation - Error: "media_entity_id not found"
Root Cause:
Using a snap_id instead of a media_entity_id. These are different:
| ID Type | Source | Use In |
|---|---|---|
snap_id | shared_snaps response | /claim_media input only |
media_entity_id | /claim_media response | Creative creation |
Solution:
- Claim first: Call
/claim_mediawithsnap_idto getmedia_entity_id - Wait for processing: Poll until
media_statusisREADY - Use media_entity_id: Pass this to creative creation, not
snap_id
See Also: Brand Partnerships - Developer Track for complete claiming workflow
Media stuck in "PENDING_UPLOAD"
Symptoms:
media_statusremainsPENDING_UPLOADfor extended period- Polling shows no progress
Possible Causes:
- Large file size — High-resolution videos take longer
- Processing queue — System may be under load
- Source content issue — Original content may have problems
Solution:
Poll GET /media/{media_id} every 10 seconds with a 60-minute timeout. Check for READY, ERROR, or timeout.
If timeout persists:
- Try claiming the content again
- Check if the original content is still accessible
- Contact support with the
media_entity_idfor investigation
See Also: Technical Reference - Media Processing Flow for state machine details
Ad Code Issues
Ad code returns 404
Symptoms:
POST /claim_media_by_ad_codereturns HTTP 404- Error: "Code not found" or similar
Possible Causes:
- Code expired — Creator-set TTL has elapsed
- Code revoked — Creator manually invalidated it
- Already claimed — Another ad account used the code
- Typo in code — Code string is malformed
Diagnosis:
- Missing
adcode_prefix → Verify exact code from creator - 404 error → Code expired, revoked, or already used by another account
- 409 error → Code already claimed by your account
Resolution: Contact the creator and request a new ad code. There's no way to "refresh" or extend an expired code.
Permission & Authentication Issues
Permission denied (403) on Roles API
Symptoms:
- HTTP 403 Forbidden on partnership-related endpoints
- Error: "Permission Denied" or "Insufficient permissions"
Root Cause: The OAuth token belongs to a user who has Ad Account access but not Profile Admin access.
Required Permissions:
| Action | Required Role |
|---|---|
| Create/manage roles | Profile Admin |
| Claim media | Ad Account Admin |
| Create creatives/ads | Ad Account Admin |
Solution:
Check /me/public_profiles to verify you have ADMIN role on the target profile. Partnership operations require Profile Admin, not just Ad Account access.
Resolution: Request Profile Admin access from the profile owner, or use credentials for a user who has that access.
Creative & Ad Issues
Ads not showing "Paid Partnership" label
Symptoms:
- Ad is live but doesn't display partnership attribution
- Potential FTC/disclosure compliance issue
Root Cause:
Missing creator_partnership_type field in creative payload.
Solution:
Always include creator_partnership_type field in creative payload:
- Use
BRAND_PARTNERSHIPfor organic content boosts - Use
AD_PARTNERSHIPfor ads featuring creator's profile
See Also:
Omitting the partnership label may violate FTC advertising disclosure requirements and platform policies. Always include creator_partnership_type for creator collaboration ads.
Frequently Asked Questions
Who needs to approve what?
| Flow Type | Who Initiates | Who Approves | What Happens After |
|---|---|---|---|
| Brand Partnership | Brand sends invite | Creator approves | Creator posts & tags → Brand claims |
| Ad Partnership | Brand sends invite | Creator approves | Brand creates ads with creator profile |
| Ad Code | Creator generates | N/A (code-based) | Brand claims → Brand creates ad |
How do I know when a creator has approved?
Short answer: You must poll the API. There are no webhooks.
Poll GET /v1/public_profiles/{profile_id}/roles/{role_id} every 5-10 minutes and check for roleStatus: "ACCEPTED".
See Also: Partnership Setup - Developer Track
Can I use both partnership types with the same creator?
Yes. AD_LEVEL includes all BRAND_LEVEL capabilities. If you have AD_LEVEL:
- Creator can tag your brand in organic posts (Brand Partnership workflow)
- You can run ads as the creator's profile (Ad Partnership workflow)
- You can target the creator's audience
You don't need separate BRAND_LEVEL and AD_LEVEL permissions—AD_LEVEL covers both.
What happens when a partnership expires?
| Impact Area | What Happens |
|---|---|
| Active Ads | May pause or be rejected—check delivery_status |
| New Ads | Cannot create new ads using this partnership |
| Claimed Media | Already-claimed media remains usable |
| Audiences | Creator-based audiences may become stale |
Recommendation: Monitor expires_at timestamps and re-invite creators before expiration to ensure campaign continuity.
Why can't I find a creator's content after they tagged us?
Run through this checklist:
- Partnership active? Status must be
ACCEPTED - Correct tagging method? Must use "Paid Partnership" label, not @mention
- Content type? Stories expire after 24 hours unless saved
- Correct profile ID? Ensure you're querying your brand's profile
- Timing? Content may take a few minutes to appear in API
Getting Help
If you've exhausted this troubleshooting guide:
-
Collect diagnostics:
- Request IDs involved (profile_id, role_id, media_id, etc.)
- Full error response including status code and body
- Timestamps of when issues occurred
-
Check API status:
- Verify there are no ongoing platform incidents
-
Contact support:
- Include all diagnostic information collected
- Describe expected vs. actual behavior
- Note any recent changes to your integration
Related Documentation
- Technical Reference — Data schemas and validation rules
- Brand Partnerships — Full implementation guide
- Ad Partnerships — Full implementation guide
- Ad Codes — Quick-start flow documentation