Asset Management Overview

A business can access multiple assets. Your business owns the assets or your business accesses them as an agency. Use Facebook's Business Management Asset APIs to add, remove, or query the relationship between a business and its assets, to manage business assets and access to the assets.

Business Asset Groups

Business asset groups help large advertisers or agencies efficiently manage users and assets in their business. You should organize assets and users in a way that maps to real-world operations. For example, a business can structure its assets and users according to brand, region, client, or an organizing principle of their choice.

Business asset groups can contain ad accounts, Pages, Facebook pixels, offline event sets, apps, catalogs, custom conversions and Instagram accounts. The assets can be owned by a business or shared to provide access to an agency.

You can use this API add users to a business asset group. Once added, you can grant people permissions to assets in a business asset group. This helps you grant access to multiple assets all at once, without creating too many admins at the business level.

With this API, you can manage business asset groups that someone already created through Business Manager or you can administer assets within the business asset group. You can:

  • Get a list of business asset groups associated with a business
  • Delete or rename a business asset group
  • View all assets in a business asset group
  • Get, add, edit and delete user permissions for assets in a business asset group
  • Assign users to a business asset group
  • Get, add and delete assets from a business asset group

Permissions

To use Business Asset Groups API, your app needs the appropriate Marketing API Access Level:

  • For all add and remove endpoints: Access token's user needs to be an admin of the business. Otherwise, the access will be denied.
  • For all API endpoints, your app needs business_management permission.

You need extra permissions for:

Business Asset Group Endpoints Required permissions

Get list of Ad Accounts

ads_management

Get list of product catalogs, add product catalog or remove product catalog

ads_management

Get list of Instagram accounts, add Instagram account or remove Instagram account

ads_management. If you are using Marketing API v4.0, you also need instagram_basic.

Get list of pixels

ads_read

Get list of offline event sets

ads_management

Get list of custom conversion

ads_read

Add custom conversion

ads_management

Limitations

You see an error if you try to reduce or remove permissions for an asset contained in a business asset group via the following API calls: DELETE request to /{page_id}/assigned_users, POST request to /{page_id}/assigned_users, DELETE request to /act_{ad_account_id}/assigned_users, and POST request to /act_{ad_account_id}/assigned_users. To reduce or remove permissions, follow these steps:

  1. Make a call to get a list of asset groups associated with a business. Look for asset groups where contained_asset_id is equal to the {page_id} or {ad_account_id}.
  2. For each returned business asset group id, make an API call to remove a user from that group.
  3. Then, call the above DELETE or POST requests to remove the permission for that user on Page or Ad Account.

If you provide permissions management features in your app for other businesses, you should use this API to prevent inconsistencies and errors between the API and Business Manager.

You cannot set permissions on apps, catalogs, Instagram accounts and custom conversions through the business asset group. Instead, you should assign permissions at the asset level.

For example, if you add Roger to a business asset group in Jasper’s business manager, he can get permissions to any Pages, ad accounts, pixels and so on, in that business asset group. However to remove or edit Roger’s permissions to any asset in the Jasper’s business asset group, you must perform this action in the business asset group itself.

You can add user permissions at the asset level using asset API, such as change someone from Page moderator to admin. See examples for Page and Ad Account.

Business asset groups replaced Projects API on October 13, 2019. You should migrate all apps on Projects API to business asset groups.

Permitted Roles

When a user is added to a business, one of the following two roles can be assigned:

API Constant Name Description

ADMIN

Business Admin

Can manage all aspects of the business settings, including modifying or deleting the account and adding or removing people.

EMPLOYEE

Business Employee

Can see all of the information in the business settings but can't make any changes, except to add Pages or ad accounts which this user is an admin of to the business.

Catalogs

The following roles can be assigned to any user of the business, Admin or Employee, on catalogs accessible by this business:

API ConstantNameDescription

['MANAGE', 'ADVERTISE']

Catalog Admin

Can manage all aspects of the catalog with full read and write access, including create/update/delete of items, managing feeds, attaching catalog to pixels and apps, creating product sets, running dynamic ads with the catalog, changing catalog settings, and so on.

['ADVERTISE']

Catalog Advertiser

Can create product sets and run dynamic ads with the catalog. Cannot edit its products, feeds, or catalog settings.

Ad Accounts

The following tasks can be assigned to any user of the business for ad accounts accessible by this business:

API Constant Name Description

['MANAGE', 'ADVERTISE', 'ANALYZE']

Ad Account Admin

Can manage all aspects of campaigns, reporting, billing and account permissions, and can set ad account spending limits. Ad account admins can also associate business payment methods.

['ADVERTISE', 'ANALYZE']

Advertiser on ad account

Can see and edit ads and set up ads using the payment method associated with the ad account.

['ANALYZE']

Ad Account analyst

Can see ad performance.

Pages

You can assign the following tasks to any user of a business on Pages accessible to this business:

API Constant Name Description

['MANAGE', 'CREATE_CONTENT', 'MODERATE', 'ADVERTISE', 'ANALYZE']

Page admin

Can manage Page roles, send messages and post as the Page, create ads, and view insights.

['CREATE_CONTENT', 'MODERATE', 'ADVERTISE', 'ANALYZE']

Page editor

Can edit the Page, send messages and post as the Page, create ads, and view insights.

['MODERATE', 'ADVERTISE', 'ANALYZE']

Page moderator

Can respond to and delete comments on the Page, send messages as the Page, create ads, and view insights. Cannot post as the Page.

['ADVERTISE', 'ANALYZE']

Page Advertiser

Can create ads for the Page and view insights. Cannot post as the Page.

['ANALYZE']

Page analyst

Can view insights. Cannot post as the Page.

Apps

There is no role or task management APIs for apps in Business Manager.

Instagram accounts

There is no role management for Instagram accounts in Business Manager. Users with access to ad accounts that are linked to Instagram accounts can run ads for those Instagram accounts.