Skip to main content

Roles

Roles exist at two levels, Organization level and Ad Account level.

Organization Roles

Attributes

Attribute.DescriptionRequiredPossible Values
member_idMember IDR
organization_idOrganization IDR
typeOrganization role typeRadmin, business_admin, data_admin, member

A Member entity must be assigned one of the Organization role types.

NameDescription
adminAdmin access to everything in the Organization and all Ad Accounts including creating, updating, deleting entities, adding new Members, assigning Roles
business_adminCan access full Business Manager capabilities (payment methods, roles, organization details), but doesn’t have access to individual ad accounts or catalogs
data_adminReporting Admin role tailored for reporting only, this Role has reporting access only to all Ad Accounts in the Organization
memberRequired for all Members who do not have the admin role, also a prerequisite for Ad Account Roles

Ad Account Roles

Attributes

Attribute.DescriptionRequiredPossible Values
member_id.Member IDR
ad_account_idAd Account IDR
typeAd Account role typeRadmin, creative, general, reports, audience

In order to be assigned an Ad Account role the Member in question first needs the Organization role type member.

NameDescription
admin.Admin access to everything in the Ad Account
creativeHas full control of Creative and Media entities, and read access to all other entities.
generalHas full control of sub-Ad Account level entities (Campaigns, Ad Squads, Ads)
reportsHas read-only access to the Ad Account for reporting purposes.
audienceHas full control of Audience entities

Catalog Roles

Attributes

AttributeDescriptionRequiredPossible Values
member_idMember IDR
catalog_idCatalog IDR
typeCatalog role typeRcatalog_admin, catalog_advertiser

In order to be assigned a Catalog role the Member in question first needs the Organization role type member.

NameDescription
catalog_adminCatalog Admins can edit and view existing catalogs which they have been assigned to by an Organization Admin, as well as create ads from those catalogs
catalog_advertiserCatalog Advertisers can create ads from catalogs which they have been assigned to by an Organization Admin, however they cannot edit those catalogs

Get Roles for Member

curl "https://adsapi.snapchat.com/v1/members/d051973d-32b2-496b-b44a-345986bce17d/roles?limit=100" \
-H "Authorization: Bearer meowmeowmeow"

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea9654400ff07724b540651010001737e616473617069736300016275696c642d36373239363666352d312d3334372d3000010115",
"paging": {},
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "53155cfb-fc21-4d5f-a3dc-2ab7d8c7db03",
"updated_at": "2020-02-04T12:32:22.365Z",
"created_at": "2020-02-04T12:32:22.281Z",
"container_kind": "AdAccounts",
"container_id": "8fb3b893-7978-43d5-81fe-fe0613972092",
"member_id": "d051973d-32b2-496b-b44a-345986bce17d",
"ad_account_id": "8fb3b893-7978-43d5-81fe-fe0613972092",
"type": "reports"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "9e19db05-340d-4cdf-8de9-09022a2842cf",
"updated_at": "2019-02-06T23:26:11.401Z",
"created_at": "2018-10-17T11:48:58.601Z",
"container_kind": "AdAccounts",
"container_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"member_id": "d051973d-32b2-496b-b44a-345986bce17d",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"type": "admin"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "ab0e7b9b-e0c0-441e-b26b-90ebd13c564a",
"updated_at": "2019-02-07T00:52:25.576Z",
"created_at": "2018-10-17T11:48:24.559Z",
"container_kind": "Organizations",
"container_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "d051973d-32b2-496b-b44a-345986bce17d",
"organization_id": "1fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "member"
}
}
]
}

The following API request returns all Roles assigned to a Member, this includes Roles within both Organizations and Ad Accounts.

HTTP Request

GET https://adsapi.snapchat.com/v1/members/{member_id}/roles

Parameters

ParameterDefaultDescription
something_idOrganization ID
limitinteger, min 50, max 1000

Get all Roles in Organization

curl "https://adsapi.snapchat.com/v1/organizations/8fdeefec-f502-4ca8-9a84-6411e0a51053/roles?limit=100" \
-H "Authorization: Bearer meowmeowmeow"

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea9636000ff0d8046762797040001737e616473617069736300016275696c642d36373239363666352d312d3334372d300001010c",
"paging": {},
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "1001050f-325e-486f-902f-e7eea192755f",
"updated_at": "2019-12-05T14:30:20.480Z",
"created_at": "2019-12-05T14:30:20.480Z",
"container_kind": "Organizations",
"container_id": "1fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "63ef6f6d-09f4-4eb7-aa52-c83bcc35608c",
"organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "admin"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "10d8b407-40f3-406d-8d04-2d5c59ff55fd",
"updated_at": "2020-03-05T11:29:31.964Z",
"created_at": "2020-03-05T11:29:31.964Z",
"container_kind": "Organizations",
"container_id": "1fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "b124e762-9720-4f89-bdd2-7fe06e71d7cc",
"organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "member"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "20feac40-828c-46e2-a57b-60b5e0274ce4",
"updated_at": "2020-03-25T17:54:39.170Z",
"created_at": "2020-03-25T17:54:39.170Z",
"container_kind": "Organizations",
"container_id": "1fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "9db3e9a8-b7d4-4bb9-922f-72ea22d10aa6",
"organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "member"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "57fa3d11-7330-461e-aca0-0d010d5b4932",
"updated_at": "2019-02-06T07:42:30.365Z",
"created_at": "2017-10-17T12:25:50.821Z",
"container_kind": "Organizations",
"container_id": "1fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "a71cfcae-895d-4314-9460-e2ffd2515dd0",
"organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "admin"
}
}
]
}

The following API request returns all Roles assigned within an Organization.

HTTP Request

GET https://adsapi.snapchat.com/v1/organizations/{organization_id}/roles

Parameters

ParameterDefaultDescription
organization_idOrganization ID
limitinteger, min 50, max 1000

Create Organization Role

curl -X POST \
-d '{"roles": [{"member_id": "d051973d-32b2-496b-b44a-345986bce17d","organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053","type": "member"}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/organizations/1fdeefec-f502-4ca8-9a84-6411e0a51053/roles

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea8334500ff06d6157db3e3d40001737e616473617069736300016275696c642d36373239363666352d312d3334372d3000010137",
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "9a121178-73f0-4089-8f80-a60e5445e8ea",
"updated_at": "2020-04-28T13:44:37.586Z",
"created_at": "2020-04-28T13:44:37.586Z",
"container_kind": "Organizations",
"container_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"member_id": "d051973d-32b2-496b-b44a-345986bce17d",
"organization_id": "8fdeefec-f502-4ca8-9a84-6411e0a51053",
"type": "member"
}
}
]
}

The following API request creates an Organization Role for a Member, this should follow any Member invitation to the Organization.

HTTP Request

POST https://adsapi.snapchat.com/v1/organizations/{organization_id}/roles

Parameters

ParameterDefaultDescription
organization_idOrganization ID

Get all Roles in Ad Account

curl "https://adsapi.snapchat.com/v1/adaccounts/82225ba6-7559-4000-9663-bace8adff5f2/roles?limit=200" \
-H "Authorization: Bearer meowmeowmeow"

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea85f5100ff0e03a2de2a46760001737e616473617069736300016275696c642d36373239363666352d312d3334372d3000010106",
"paging": {},
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "4c73255a-903a-423c-a98d-862bba405ec0",
"updated_at": "2019-05-22T13:04:14.694Z",
"created_at": "2019-05-22T13:04:14.694Z",
"container_kind": "AdAccounts",
"container_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"member_id": "9227efda-b0d4-497e-82b9-0125780892ec",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"type": "creative"
}
},

{
"sub_request_status": "SUCCESS",
"role": {
"id": "e293289e-14d8-432a-9edb-2943b75da2ec",
"updated_at": "2019-02-07T18:08:18.706Z",
"created_at": "2018-10-18T19:41:56.727Z",
"container_kind": "AdAccounts",
"container_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"member_id": "a71cfcae-895d-4314-9460-e2ffd2515dd0",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"type": "admin"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "f7cd2f3c-de7e-4b4f-b8f4-44f2b428bca9",
"updated_at": "2020-03-25T17:55:01.620Z",
"created_at": "2020-03-25T17:55:01.344Z",
"container_kind": "AdAccounts",
"container_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"member_id": "9db3e9a8-b7d4-4bb9-922f-72ea22d10aa6",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"type": "general"
}
}
]
}

The following API gets a list of all Roles that have been created under an Ad Account.

HTTP Request

GET https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/roles

Parameters

ParameterDefaultDescription
ad_account_idAd Account ID
limitinteger, min 50, max 1000

Create Ad Account Role

curl -X POST \
-d '{"roles": [{"member_id": "d051973d-32b2-496b-b44a-345986bce17d","ad_account_id": "8c545687-a599-4faa-a704-4b097c6da5fe","type": "creative"}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/adaccounts/8c545687-a599-4faa-a704-4b097c6da5fe/roles

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea8335700ff09599711db33160001737e616473617069736300016275696c642d36373239363666352d312d3334372d3000010135",
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "5191aec7-b771-4c56-9963-126b14dbe2e3",
"updated_at": "2020-02-28T13:44:55.746Z",
"created_at": "2020-02-28T13:44:55.746Z",
"container_kind": "AdAccounts",
"container_id": "8c545687-a599-4faa-a704-4b097c6da5fe",
"member_id": "d051973d-32b2-496b-b44a-345986bce17d",
"ad_account_id": "8c545687-a599-4faa-a704-4b097c6da5fe",
"type": "creative"
}
}
]
}

The following API request creates an Ad Account role for the Member. Note that a prerequisite for an Ad Account role is for the Member to already have a member role in the Organization under which the Ad Account exists.

HTTP Request

POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/roles

Parameters

ParameterDefaultDescription
ad_account_idAd Account ID

Update Ad Account Role

curl -X PUT \
-d '{"roles":[{"id":"f7cd2f3c-de7e-4b4f-b8f4-44f2b428bca9","container_kind":"AdAccounts","container_id":"22225ba6-7559-4000-9663-bace8adff5f2","member_id":"9db3e9a8-b7d4-4bb9-922f-72ea22d10aa6","ad_account_id":"22225ba6-7559-4000-9663-bace8adff5f2","type":"general"}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/adsquads/23995202-bfbc-45a0-9702-dd6841af52fe/ads

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "583521e0-da89-48a6-8bc9-195ad595391b",
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "f7cd2f3c-de7e-4b4f-b8f4-44f2b428bca9",
"updated_at": "2022-09-21T00:50:46.146Z",
"created_at": "2020-03-25T17:55:01.344Z",
"container_kind": "AdAccounts",
"container_id": "22225ba6-7559-4000-9663-bace8adff5f2",
"member_id": "9db3e9a8-b7d4-4bb9-922f-72ea22d10aa6",
"ad_account_id": "22225ba6-7559-4000-9663-bace8adff5f2",
"type": "general"
}
}
]
}

The following API request updates the Ad Account role for a Member.

Attributes that can be updated

AttributeDescriptionRequiredPossible Values
typerole typeRadmin, audience, creative, general, reports

HTTP Request

PUT https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/roles

Parameters

ParameterDefaultDescription
ad_account_idAd Account ID

Create Catalog Role

curl -X POST \
-d '{"roles": [{"member_id": "819eff0f-2673-480b-8f72-c128e61c6cc4","catalog_id": "9318ff5c-78f7-47db-8a32-675f0b787c75","type": "catalog_admin"}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/catalogs/9318ff5c-78f7-47db-8a32-675f0b787c75/roles

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "6074452e00ff00ff05354518127f0001737e616473617069736300016275696c642d34303334633634322d312d3433382d320001015c",
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "9f53e57d-cdbc-4c04-901d-bbe940b2a36c",
"updated_at": "2021-04-12T13:03:42.378Z",
"created_at": "2021-04-12T13:03:42.378Z",
"container_kind": "Catalogs",
"container_id": "8318ff5c-78f7-47db-8a32-675f0b787c75",
"member_id": "819eff0f-2673-480b-8f72-c128e61c6cc4",
"catalog_id": "9318ff5c-78f7-47db-8a32-675f0b787c75",
"type": "catalog_admin"
}
}
]
}

The following API request creates a Catalog role for the Member. Note that a prerequisite for a Catalog role is for the Member to already have a member role in the Organization under which the Catalog exists.

HTTP Request

POST https://adsapi.snapchat.com/v1/catalogs/{catalog_id}/roles

Parameters

ParameterDefaultDescription
catalog_idCatalog ID

Get all Roles for Catalog

curl "https://adsapi.snapchat.com/v1/catalogs/9318ff5c-78f7-47db-8a32-675f0b787c75/roles?limit=200" \
-H "Authorization: Bearer meowmeowmeow"

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "60744c2d00ff0e2580408852b00001737e616473617069736300016275696c642d34303334633634322d312d3433382d320001012b",
"paging": {},
"roles": [
{
"sub_request_status": "SUCCESS",
"role": {
"id": "9f53e57d-cdbc-4c04-901d-bbe940b2a36c",
"container_kind": "Catalogs",
"container_id": "8318ff5c-78f7-47db-8a32-675f0b787c75",
"member_id": "919eff0f-2673-480b-8f72-c128e61c6cc4",
"catalog_id": "9318ff5c-78f7-47db-8a32-675f0b787c75",
"type": "catalog_admin"
}
},
{
"sub_request_status": "SUCCESS",
"role": {
"id": "9e85e2f6-e6fe-4bc8-883d-a7d839c3e5bd",
"container_kind": "Catalogs",
"container_id": "8318ff5c-78f7-47db-8a32-675f0b787c75",
"member_id": "971cfcae-895d-4314-9460-e2ffd2515dd0",
"catalog_id": "9318ff5c-78f7-47db-8a32-675f0b787c75",
"type": "catalog_advertiser"
}
}
]
}

The following API request gets a list of all Roles that have been created under a Catalog.

HTTP Request

GET https://adsapi.snapchat.com/v1/catalogs/{catalog_id}/roles

Parameters

ParameterDefaultDescription
catalog_idCatalog ID
limitinteger, min 50, max 1000

Public Profiles Roles

Attributes

API AttributeAds ManagerDescription
business_account_managerAdminCan change Public Profiles, add or remove any Snaps from Public Story, manage Saved Stories, assign roles and view insights
business_account_collaboratorCollaboratorCan view insights and add or remove any Snaps from their Public Story within a profile
business_account_story_contributorStory ContributorCan view all past Snaps. They can also add, remove and view insights on Snaps they post within a profile.
business_account_data_analystInsights ViewerCan view the profile's Public Story, Saved Story, Lens and profile analytics.
creative_contributorCreative ContributorCan submit content, such as Lenses, to profile’s Public Profile.

Delete Role

curl -X DELETE "https://adsapi.snapchat.com/v1/roles/5191aec7-b771-4c56-9963-126b14dbe2e3" \
-H "Authorization: Bearer meowmeowmeow"

The above command returns JSON structured like this:

{
"request_status": "SUCCESS",
"request_id": "5ea8338a00ff0ded779b7f217a0001737e616473617069736300016275696c642d36373239363666352d312d3334372d3000010130",
"roles": []
}

The following API request removes a Role from an Organisation, Catalog or Ad Account. If you are deleting all of a Member's Roles, you should also delete the Member entity from the Organization.

HTTP Request

DELETE https://adsapi.snapchat.com/v1/roles/{role_id}

Parameters

ParameterDefaultDescription
role_idRole ID
Was this page helpful?
Yes
No

AI-Powered Search