Graph API Version

    Ad Account, Assigned Users

    Reading

    Business and system users assigned to this Ad Account.

    Example

    Graph API Explorer
    GET /v18.0/{ad-account-id}/assigned_users HTTP/1.1
    Host: graph.facebook.com
    /* PHP SDK v5.0.0 */
    /* make the API call */
    try {
      // Returns a `Facebook\FacebookResponse` object
      $response = $fb->get(
        '/{ad-account-id}/assigned_users',
        '{access-token}'
      );
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
      echo 'Graph returned an error: ' . $e->getMessage();
      exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
      echo 'Facebook SDK returned an error: ' . $e->getMessage();
      exit;
    }
    $graphNode = $response->getGraphNode();
    /* handle the result */
    /* make the API call */
    FB.api(
        "/{ad-account-id}/assigned_users",
        function (response) {
          if (response && !response.error) {
            /* handle the result */
          }
        }
    );
    /* make the API call */
    new GraphRequest(
        AccessToken.getCurrentAccessToken(),
        "/{ad-account-id}/assigned_users",
        null,
        HttpMethod.GET,
        new GraphRequest.Callback() {
            public void onCompleted(GraphResponse response) {
                /* handle the result */
            }
        }
    ).executeAsync();
    /* make the API call */
    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                                   initWithGraphPath:@"/{ad-account-id}/assigned_users"
                                          parameters:params
                                          HTTPMethod:@"GET"];
    [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                          id result,
                                          NSError *error) {
        // Handle the result
    }];
    If you want to learn how to use the Graph API, read our Using Graph API guide.

    Parameters

    ParameterDescription
    business
    numeric string or integer

    The business associated with this Ad Account

    Required

    Fields

    Reading from this edge will return a JSON formatted result:

    { "data": [], "paging": {}, "summary": {} }

    data

    A list of AssignedUser nodes.

    The following fields will be added to each node that is returned:

    FieldDescription
    permitted_tasks
    list<string>

    Tasks that are assignable on this object

    tasks
    list<string>

    All unpacked roles/tasks of this particular user on this object

    paging

    For more details about pagination, see the Graph API guide.

    summary

    Aggregated information about the edge, such as counts. Specify the fields to fetch in the summary param (like summary=total_count).

    FieldDescription
    total_count
    unsigned int32

    Total number of business and system users assigned to this Ad Account

    Error Codes

    ErrorDescription
    100Invalid parameter
    80004There have been too many calls to this ad-account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.
    200Permissions error

    Creating

    You can't perform this operation on this endpoint.

    Updating

    In v3.1 we introduce the new concept of task-based permissions to substitute for the current role-based permission. This affects access to ad accounts managed by Business Manager API and Pages. Role-based access to ad accounts and Pages is still available but will be deprecated in the future. This impacts the following roles and provides the equivalent tasks for ad accounts:

    • Role: ADMIN, Tasks: ['MANAGE', 'ADVERTISE', 'ANALYZE' - Manage all aspects of ad campaigns, reporting, billing and ad account permissions.
    • Role: GENERAL_USER, Tasks: ['ADVERTISE', 'ANALYZE'] - Create ads using the funding source associated with the ad account. Run reports.
    • Role: GENERAL_USER, Tasks: ['ANALYZE'] - Run reports.

    This replaces the following roles in Business Manager API with these tasks:

    • Role: MANAGER, Tasks: ['MANAGE', 'CREATE_CONTENT', 'MODERATE', 'ADVERTISE', 'ANALYZE', 'DRAFT']
    • Role: CONTENT_CREATOR, Tasks: ['CREATE_CONTENT', 'MODERATE', 'ADVERTISE', 'ANALYZE', 'DRAFT']
    • Role: MODERATOR, Tasks: ['MODERATE', 'ADVERTISE', 'ANALYZE', 'DRAFT']
    • Role: ADVERTISER, Tasks: ['ADVERTISE', 'ANALYZE', 'DRAFT']
    • Role: INSIGHTS_ANALYST, Tasks: ['ANALYZE', 'DRAFT']
    • Role: CREATIVE_HUB_MOCKUPS_MANAGER, Tasks: ['DRAFT']
    You can update an AdAccount by making a POST request to /act_{ad_account_id}/assigned_users.

    Parameters

    ParameterDescription
    tasks
    array<enum {MANAGE, ADVERTISE, ANALYZE, DRAFT, AA_ANALYZE}>

    AdAccount permission tasks to assign this user

    user
    UID

    Business user id or system user id

    Required

    Return Type

    This endpoint supports read-after-write and will read the node to which you POSTed.
    Struct {
    success: bool,
    }

    Error Codes

    ErrorDescription
    100Invalid parameter
    200Permissions error
    2620Invalid call to update account permissions
    457The session has an invalid origin

    Deleting

    You can dissociate a User from an AdAccount by making a DELETE request to /act_{ad_account_id}/assigned_users.

    Parameters

    ParameterDescription
    user
    UID

    Business user id or system user id

    Required

    Return Type

    Struct {
    success: bool,
    }

    Error Codes

    ErrorDescription
    3919There was an unexpected technical issue. Please try again.
    100Invalid parameter
    457The session has an invalid origin