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, agency_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. Note: deleting an entire Ad Account requires the business_admin role.
business_adminCan access full Business Manager capabilities (payment methods, roles, organization details) and can create, update, and delete Ad Accounts, but cannot manage the entities within 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
agency_adminHas similar access to an Organization Admin, but cannot change business details and can only add/manage Agency Members
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, agency_member

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

NameDescription
adminAdmin 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
agency_memberCan manage ad account details, payment methods, and advertiser collateral but cannot manage assets or members. Access is limited to assigned ad accounts

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