Skip to content
Fresh 2026

User

Represents a Facebook user.

Reading

Get fields and edges on a User.

Requirements

TypeDescription
Access TokensUser
Permissionspublic_profile

New Page Experience

This endpoint is supported for New Page Experience.

Example

HTTPPHP SDKJavaScript SDKAndroid SDKiOS SDKcURL Graph API Explorer

GET /v25.0/{person-id}/ 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(
    '/{person-id}/',
    '{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(
    "/{person-id}/",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{person-id}/",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]\
                               initWithGraphPath:@"/{person-id}/"\
                                      parameters:params\
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,\
                                      id result,\
                                      NSError *error) {\
    // Handle the result\
}];
curl -X GET -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/{person-id}/

If you want to learn how to use the Graph API, read our Using Graph API guide.

Default Public Profile Fields

The public_profile permission allows apps to read the following fields:

  • id
  • first_name
  • last_name
  • middle_name
  • name
  • name_format
  • picture
  • short_name

Parameters

This endpoint doesn't have any parameters.

Fields

FieldDescription
id<br>numeric stringThe app user's App-Scoped User ID. This ID is unique to the app and cannot be used by other apps.<br>Core
about<br>stringReturns no data as of April 4, 2018.
age_range<br>AgeRangeThe age segment for this person expressed as a minimum and maximum age. For example, more than 18, less than 21.<br>Core
birthday<br>stringThe person's birthday. This is a fixed format string, like MM/DD/YYYY. However, people can control who can see the year they were born separately from the month and day so this string can be only the year (YYYY) or the month + day (MM/DD)<br>Core
client_business_id<br>numeric stringThe client's Business ID associated with a Business Integration System User.
education<br>list<EducationExperience>Returns no data as of April 4, 2018.
email<br>stringThe User's primary email address listed on their profile. This field will not be returned if no valid email address is available.<br>Core
favorite_athletes<br>list<Experience>Athletes the User likes.
favorite_teams<br>list<Experience>Sports teams the User likes.
first_name<br>stringThe person's first name<br>Core
gender<br>stringThe gender selected by this person, male or female. If the gender is set to a custom value, this value will be based off of the selected pronoun; it will be omitted if the pronoun is neutral.<br>Core
hometown<br>PageThe person's hometown
inspirational_people<br>list<Experience>The person's inspirational people
installed<br>boolIs the app making the request installed
is_guest_user<br>boolif the current user is a guest user. should always return false.
languages<br>list<Experience>Facebook Pages representing the languages this person knows
last_name<br>stringThe person's last name<br>Core
link<br>stringA link to the person's Timeline. The link will only resolve if the person clicking the link is logged into Facebook and is a friend of the person whose profile is being viewed.<br>Core
local_news_megaphone_dismiss_status<br>boolDisplay megaphone for local news bookmark<br>Deprecated
local_news_subscription_status<br>boolDaily local news notification<br>Deprecated
locale<br>stringThe person's locale<br>Core Deprecated
location<br>PageThe person's current location as entered by them on their profile. This field requires the user_location permission.<br>Core
meeting_for<br>list<string>What the person is interested in meeting for
middle_name<br>stringThe person's middle name<br>Core
name<br>stringThe person's full name<br>Core Default
name_format<br>stringThe person's name formatted to correctly handle Chinese, Japanese, or Korean ordering
political<br>stringReturns no data as of April 4, 2018.
quotes<br>stringThe person's favorite quotes
relationship_status<br>stringReturns no data as of April 4, 2018.
religion<br>stringReturns no data as of April 4, 2018.
shared_login_upgrade_required_by<br>timestampThe time that the shared login needs to be upgraded to Business Manager by
significant_other<br>UserThe person's significant other
sports<br>list<Experience>Sports played by the person
supports_donate_button_in_live_video<br>boolWhether the user can add a Donate Button to their Live Videos
third_party_id<br>stringA string containing an anonymous, unique identifier for the User, for use with third-parties. Deprecated for versions 3.0+. Apps using older versions of the API can get this field until January 8, 2019. Apps installed by the User on or after May 1st, 2018, cannot get this field.<br>Deprecated
timezone<br>float (min: -24) (max: 24)The person's current timezone offset from UTC<br>Core Deprecated
token_for_business<br>stringA token that is the same across a business's apps. Access to this token requires that the person be logged into your app or have a role on your app. This token will change if the business owning the app changes
updated_time<br>datetimeUpdated time<br>Deprecated
verified<br>boolIndicates whether the account has been verified. This is distinct from the is_verified field. Someone is considered verified if they take any of the following actions:<br><br> * Register for mobile<br> * Confirm their account via SMS<br> * Enter a valid credit card<br><br>Deprecated
video_upload_limits<br>VideoUploadLimitsVideo upload limits
website<br>stringReturns no data as of April 4, 2018.

Edges

EdgeDescription
accounts<br>Edge<Page>Pages the User has a role on.
ad_studies<br>Edge<AdStudy>Ad studies that this User's can view.
albums<br>Edge<Album>The photo albums this person has created
apprequestformerrecipients<br>Edge<AppRequestFormerRecipient>App requests
apprequests<br>Edge<AppRequest>This person's pending requests from an app<br>Core
assigned_applications<br>Edge<Application>assigned_applications
assigned_business_asset_groups<br>Edge<BusinessAssetGroup>Business asset groups that are assign to this business scoped user
assigned_pages<br>Edge<Page>Pages that are assigned to this business scoped user
assigned_product_catalogs<br>Edge<ProductCatalog>Product catalogs that are assigned to this business scoped user
assigned_whatsapp_business_accounts<br>Edge<WhatsAppBusinessAccount>WhatsApp business accounts that are assigned to the business user
business_users<br>Edge<BusinessUser>Business users corresponding to the user
businesses<br>Edge<Business>Businesses associated with the user
conversations<br>Edge<UnifiedThread>Facebook Messenger conversation
custom_labels<br>Edge<PageUserMessageThreadLabel>custom_labels
feed<br>Edge<Post>The posts and links published by this person or others on their profile
ids_for_apps<br>Edge<UserIDForApp>Businesses can claim ownership of multiple apps using Business Manager. This edge returns the list of IDs that this user has in any of those other apps
ids_for_business<br>Edge<UserIDForApp>Businesses can claim ownership of multiple apps using Business Manager. This edge returns the list of IDs that this user has in any of those other apps
ids_for_pages<br>Edge<UserIDForPage>Businesses can claim ownership of apps and pages using Business Manager. This edge returns the list of IDs that this user has in any of the pages owned by this business
likes<br>Edge<Page>All the Pages this person has liked
live_videos<br>Edge<LiveVideo>Live videos from this person
music<br>Edge<Page>Music this person likes
payment.subscriptions<br>Edge<PaymentSubscription>Payment subscriptions
permissions<br>Edge<Permission>The permissions that the person has granted this app<br>Core
photos<br>Edge<Photo>Photos the person is tagged in or has uploaded
picture<br>Edge<ProfilePictureSource>The person's profile picture<br>Core
rich_media_documents<br>Edge<Canvas>A list of rich media documents belonging to Pages that the user has advertiser permissions on
videos<br>Edge<Video>Videos the person is tagged in or uploaded

Error Codes

ErrorDescription
100Invalid parameter
80006There have been too many messenger api calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.
190Invalid OAuth 2.0 Access Token
368The action attempted has been deemed abusive or is otherwise disallowed
104Incorrect signature
459The session is invalid because the user has been checkpointed
613Calls to this api have exceeded the rate limit.
200Permissions error
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#ads-management.
80002There have been too many calls to this Instagram account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.

Creating

You can't perform this operation on this endpoint.

Updating

You can update a User by making a POST request to /{user_id}.

Parameters

ParameterDescription
emoji_color_pref<br>int64emoji color preference.
firstname<br>stringThis person's first name
lastname<br>stringThis person's last name
local_news_megaphone_dismiss_status<br>enum {YES, NO}Dismisses local news megaphone
local_news_subscription_status<br>enum {STATUS_ON, STATUS_OFF}Preference for setting local news notifications
name<br>stringUsed for test accounts only. Name for this account
password<br>stringUsed for test accounts only. Password for this account

Return Type

This endpoint supports read-after-write and will read the node to which you POSTed.

Struct {

success: bool,

}

Error Codes

ErrorDescription
190Invalid OAuth 2.0 Access Token
459The session is invalid because the user has been checkpointed
368The action attempted has been deemed abusive or is otherwise disallowed
200Permissions error
102Session key invalid or no longer valid
100Invalid parameter
240Desktop applications cannot call this function for other users
483The session is invalid because the user is in consent app blocking
2500Error parsing graph query

You can update a User by making a POST request to /{custom_audience_id}/users.

Example

HTTPPHP SDKJavaScript SDKAndroid SDKiOS SDKcURL Graph API Explorer

POST /v25.0/<CUSTOM_AUDIENCE_ID>/users HTTP/1.1
Host: graph.facebook.com

payload=%7B%22schema%22%3A%5B%22EMAIL%22%2C%22LOOKALIKE_VALUE%22%5D%2C%22data%22%3A%5B%5B%229b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254%22%2C44.5%5D%2C%5B%228cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee%22%2C140%5D%2C%5B%224eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a%22%2C0%5D%2C%5B%2298df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56%22%2C0.9%5D%5D%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/<CUSTOM_AUDIENCE_ID>/users',
    array (
      'payload' => '{"schema":["EMAIL","LOOKALIKE_VALUE"],"data":[["9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254",44.5],["8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee",140],["4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a",0],["98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56",0.9]]}',
    ),
    '{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(
    "/<CUSTOM_AUDIENCE_ID>/users",
    "POST",
    {
        "payload": "{\"schema\":[\"EMAIL\",\"LOOKALIKE_VALUE\"],\"data\":[[\"9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254\",44.5],[\"8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee\",140],[\"4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a\",0],[\"98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56\",0.9]]}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("payload", "{\"schema\":[\"EMAIL\",\"LOOKALIKE_VALUE\"],\"data\":[[\"9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254\",44.5],[\"8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee\",140],[\"4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a\",0],[\"98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56\",0.9]]}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/<CUSTOM_AUDIENCE_ID>/users",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"payload": @"{\"schema\":[\"EMAIL\",\"LOOKALIKE_VALUE\"],\"data\":[[\"9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254\",44.5],[\"8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee\",140],[\"4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a\",0],[\"98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56\",0.9]]}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]\
                               initWithGraphPath:@"/<CUSTOM_AUDIENCE_ID>/users"\
                                      parameters:params\
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,\
                                      id result,\
                                      NSError *error) {\
    // Handle the result\
}];
curl -X POST \
  -F 'payload={
       "schema": [\
         "EMAIL",\
         "LOOKALIKE_VALUE"\
       ],
       "data": [\
         [\
           "9b431636bd164765d63c573c346708846af4f68fe3701a77a3bdd7e7e5166254",\
           44.5\
         ],\
         [\
           "8cc62c145cd0c6dc444168eaeb1b61b351f9b1809a579cc9b4c9e9d7213a39ee",\
           140\
         ],\
         [\
           "4eaf70b1f7a797962b9d2a533f122c8039012b31e0a52b34a426729319cb792a",\
           0\
         ],\
         [\
           "98df8d46f118f8bef552b0ec0a3d729466a912577830212a844b73960777ac56",\
           0.9\
         ]\
       ]
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/<CUSTOM_AUDIENCE_ID>/users

If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

ParameterDescription
payload<br>ObjectPayload representing users to add
schema<br>stringEMAIL_SHA256, PHONE_SHA256, MOBILE_ADVERTISER_ID. One can also pass an array of multiple keys for multi-key match. Supported key types includes: <br>EXTERN_ID<br>EMAIL<br>PHONE<br>GEN<br>DOBY<br>DOBM<br>DOBD<br>LN<br>FN<br>FI<br>CT<br>ST<br>ZIP<br>MADID<br>COUNTRY<br>The multi-key array is of the form ["EMAIL", "LN", "FN", "ZIP"]
is_raw<br>booleanIs the key raw? If the keys are combinational keys like "LN_FN_ZIP", set this to false, otherwise set this to true. Default to false
data<br>list<JSON array>Array with users data. If the multi-key feature is used, a two-dimensional array of the form [["<HASHED_EMAIL>", "<HASHED_FN>", "<HASHED_LN>", "<HASHED_ZIP>"], ["", "<HASHED_FN>", "<HASHED_LN>", "<HASHED_ZIP>"]] should be passed.In case a key is unknown, it should be left blank.
app_ids<br>list<int>App ids used by the users being uploaded. This field is required when schema is a Facebook UID and the IDs were collected by an App integration. e.g. [1234,5678]
page_ids<br>list<Page ID>Page ids used by the users being uploaded. This field is required when schema is a Facebook UID and the IDs were collected by a Page webhook integration. e.g. [1234,5678]
ig_account_ids<br>list<numeric string or integer>
data_source<br>ObjectIndicates by which method the custom audience was created, defined by the type and subtype of the data_source
type<br>enum {UNKNOWN, FILE_IMPORTED, EVENT_BASED, SEED_BASED, THIRD_PARTY_IMPORTED, COPY_PASTE, CONTACT_IMPORTER, HOUSEHOLD_AUDIENCE}Type of the custom audience
sub_type<br>enum {ANYTHING, NOTHING, HASHES, USER_IDS, HASHES_OR_USER_IDS, MOBILE_ADVERTISER_IDS, EXTERNAL_IDS, MULTI_HASHES, TOKENS, EXTERNAL_IDS_MIX, HOUSEHOLD_EXPANSION, SUBSCRIBER_LIST, WEB_PIXEL_HITS, MOBILE_APP_EVENTS, MOBILE_APP_COMBINATION_EVENTS, VIDEO_EVENTS, WEB_PIXEL_COMBINATION_EVENTS, PLATFORM, MULTI_DATA_EVENTS, IG_BUSINESS_EVENTS, STORE_VISIT_EVENTS, INSTANT_ARTICLE_EVENTS, FB_EVENT_SIGNALS, FACEBOOK_WIFI_EVENTS, AR_EXPERIENCE_EVENTS, AR_EFFECTS_EVENTS, MESSENGER_ONSITE_SUBSCRIPTION, WHATSAPP_SUBSCRIBER_POOL, MARKETPLACE_LISTINGS, AD_CAMPAIGN, GROUP_EVENTS, MESSAGE_CAMPAIGN, ENGAGEMENT_EVENT_USERS, CUSTOM_AUDIENCE_USERS, PAGE_FANS, CONVERSION_PIXEL_HITS, APP_USERS, S_EXPR, DYNAMIC_RULE, CAMPAIGN_CONVERSIONS, WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS, MOBILE_APP_CUSTOM_AUDIENCE_USERS, COMBINATION_CUSTOM_AUDIENCE_USERS, VIDEO_EVENT_USERS, FB_PIXEL_HITS, IG_PROMOTED_POST, PLACE_VISITS, OFFLINE_EVENT_USERS, EXPANDED_AUDIENCE, SEED_LIST, PARTNER_CATEGORY_USERS, PAGE_SMART_AUDIENCE, MULTICOUNTRY_COMBINATION, PLATFORM_USERS, MULTI_EVENT_SOURCE, SMART_AUDIENCE, LOOKALIKE_PLATFORM, SIGNAL_SOURCE, MAIL_CHIMP_EMAIL_HASHES, CONSTANT_CONTACTS_EMAIL_HASHES, COPY_PASTE_EMAIL_HASHES, CUSTOM_DATA_TARGETING, CONTACT_IMPORTER, DATA_FILE}Subtype of the custom audience
metadata<br>Object
calculated_date<br>datetime
schema_version<br>string
session<br>ObjectInformation about the session. Sessions are used when you<br>have a lot of users to upload. For example, if you have 1 million users<br>to upload, you need to split them into at least 100 requests because<br>each request can only take 10k users. Specify the session info so that<br>you can track if the session has finished or not.
session_id<br>int64Advertiser generated session identifier, used to track the session. Needs to be unique in the same ad account.
estimated_num_total<br>int64Estimated total num of users to be uploaded in this session, used by Facebook systems to better process this session.
batch_seq<br>int64A 1 based sequence number to identify the request in the session.
last_batch_flag<br>booleantrue mean this request is the last request in this session. You must mark the last request otherwise Facebook doesn't know the session has ended

Return Type

This endpoint supports read-after-write and will read the node to which you POSTed.

Struct {

audience_id: numeric string,

session_id: numeric string,

num_received: int32,

num_invalid_entries: int32,

invalid_entry_samples: Map {

string: string

},

subscription_info: Struct {

whatsapp: Struct {

error: Struct {

message: string,

code: int32,

},

num_subscribers_received: int32,

num_subscribers_invalid_entries: int32,

invalid_subscribers_entry_samples: Map {

string: string

},

},

messenger: Struct {

error: Struct {

message: string,

code: int32,

},

num_subscribers_received: int32,

num_subscribers_invalid_entries: int32,

invalid_subscribers_entry_samples: Map {

string: string

},

},

},

}

Error Codes

ErrorDescription
100Invalid parameter
200Permissions error
2650Failed to update the custom audience
190Invalid OAuth 2.0 Access Token
368The action attempted has been deemed abusive or is otherwise disallowed
2635You are calling a deprecated version of the Ads API. Please update to the latest version.
105The number of parameters exceeded the maximum for this operation
194Missing at least one required parameter

Deleting

Delete a test user

You can delete a User by making a DELETE request to /{user_id}.

Parameters

This endpoint doesn't have any parameters.

Return Type

Struct {

success: bool,

}

Error Codes

ErrorDescription
2903Cannot delete this test account
2904Cannot delete the OG Test User
100Invalid parameter
240Desktop applications cannot call this function for other users
102Session key invalid or no longer valid
200Permissions error

You can dissociate a User from a Page by making a DELETE request to /{page_id}/blocked.

Parameters

ParameterDescription
asid<br>user/page IDApp Scoped User ID to unblock
psid<br>UIDPage Scoped User ID to unblock
uid<br>UIDDeprecated. Same as user
user<br>UIDList of User or Page IDs to unblock. This or uid is required

Return Type

Struct {

success: bool,

}

Error Codes

ErrorDescription
100Invalid parameter
190Invalid OAuth 2.0 Access Token

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

Parameters

ParameterDescription
user<br>UIDBusiness user id or system user id<br>Required

Return Type

Struct {

success: bool,

}

Error Codes

ErrorDescription
100Invalid parameter
3919There was an unexpected technical issue. Please try again.
190Invalid OAuth 2.0 Access Token

You can dissociate a User from a CustomAudience by making a DELETE request to /{custom_audience_id}/users.

Parameters

ParameterDescription
payload<br>ObjectPayload representing users to delete
schema<br>stringEMAIL_SHA256, PHONE_SHA256, MOBILE_ADVERTISER_ID. One can also pass an array of multiple keys for multi-key match. Supported key types includes: <br>EXTERN_ID<br>EMAIL<br>PHONE<br>GEN<br>DOBY<br>DOBM<br>DOBD<br>LN<br>FN<br>FI<br>CT<br>ST<br>ZIP<br>MADID<br>COUNTRY<br>The multi-key array is of the form ["EMAIL", "LN", "FN", "ZIP"]
is_raw<br>booleanIs the key raw? If the keys are combinational keys like "LN_FN_ZIP", set this to false, otherwise set this to true. Default to false
data<br>list<JSON array>Array with users data. If the multi-key feature is used, a two-dimensional array of the form [["<HASHED_EMAIL>", "<HASHED_FN>", "<HASHED_LN>", "<HASHED_ZIP>"], ["", "<HASHED_FN>", "<HASHED_LN>", "<HASHED_ZIP>"]] should be passed.In case a key is unknown, it should be left blank.
app_ids<br>list<int>App ids used by the users being uploaded. This field is required when schema is a Facebook UID and the IDs were collected by an App integration. e.g. [1234,5678]
page_ids<br>list<Page ID>Page ids used by the users being uploaded. This field is required when schema is a Facebook UID and the IDs were collected by a Page webhook integration. e.g. [1234,5678]
ig_account_ids<br>list<numeric string or integer>
data_source<br>ObjectIndicates by which method the custom audience was created, defined by the type and subtype of the data_source
type<br>enum {UNKNOWN, FILE_IMPORTED, EVENT_BASED, SEED_BASED, THIRD_PARTY_IMPORTED, COPY_PASTE, CONTACT_IMPORTER, HOUSEHOLD_AUDIENCE}Type of the custom audience
sub_type<br>enum {ANYTHING, NOTHING, HASHES, USER_IDS, HASHES_OR_USER_IDS, MOBILE_ADVERTISER_IDS, EXTERNAL_IDS, MULTI_HASHES, TOKENS, EXTERNAL_IDS_MIX, HOUSEHOLD_EXPANSION, SUBSCRIBER_LIST, WEB_PIXEL_HITS, MOBILE_APP_EVENTS, MOBILE_APP_COMBINATION_EVENTS, VIDEO_EVENTS, WEB_PIXEL_COMBINATION_EVENTS, PLATFORM, MULTI_DATA_EVENTS, IG_BUSINESS_EVENTS, STORE_VISIT_EVENTS, INSTANT_ARTICLE_EVENTS, FB_EVENT_SIGNALS, FACEBOOK_WIFI_EVENTS, AR_EXPERIENCE_EVENTS, AR_EFFECTS_EVENTS, MESSENGER_ONSITE_SUBSCRIPTION, WHATSAPP_SUBSCRIBER_POOL, MARKETPLACE_LISTINGS, AD_CAMPAIGN, GROUP_EVENTS, MESSAGE_CAMPAIGN, ENGAGEMENT_EVENT_USERS, CUSTOM_AUDIENCE_USERS, PAGE_FANS, CONVERSION_PIXEL_HITS, APP_USERS, S_EXPR, DYNAMIC_RULE, CAMPAIGN_CONVERSIONS, WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS, MOBILE_APP_CUSTOM_AUDIENCE_USERS, COMBINATION_CUSTOM_AUDIENCE_USERS, VIDEO_EVENT_USERS, FB_PIXEL_HITS, IG_PROMOTED_POST, PLACE_VISITS, OFFLINE_EVENT_USERS, EXPANDED_AUDIENCE, SEED_LIST, PARTNER_CATEGORY_USERS, PAGE_SMART_AUDIENCE, MULTICOUNTRY_COMBINATION, PLATFORM_USERS, MULTI_EVENT_SOURCE, SMART_AUDIENCE, LOOKALIKE_PLATFORM, SIGNAL_SOURCE, MAIL_CHIMP_EMAIL_HASHES, CONSTANT_CONTACTS_EMAIL_HASHES, COPY_PASTE_EMAIL_HASHES, CUSTOM_DATA_TARGETING, CONTACT_IMPORTER, DATA_FILE}Subtype of the custom audience
metadata<br>Object
calculated_date<br>datetime
schema_version<br>string
session<br>ObjectInformation about the session. Sessions are used when you<br>have a lot of users to upload. For example, if you have 1 million users<br>to upload, you need to split them into at least 100 requests because<br>each request can only take 10k users. Specify the session info so that<br>you can track if the session has finished or not.
session_id<br>int64Advertiser generated session identifier, used to track the session. Needs to be unique in the same ad account.
estimated_num_total<br>int64Estimated total num of users to be uploaded in this session, used by Facebook systems to better process this session.
batch_seq<br>int64A 1 based sequence number to identify the request in the session.
last_batch_flag<br>booleantrue mean this request is the last request in this session. You must mark the last request otherwise Facebook doesn't know the session has ended

Return Type

Struct {

audience_id: numeric string,

session_id: numeric string,

num_received: int32,

num_invalid_entries: int32,

invalid_entry_samples: Map {

string: string

},

subscription_info: Struct {

whatsapp: Struct {

error: Struct {

message: string,

code: int32,

},

num_subscribers_received: int32,

num_subscribers_invalid_entries: int32,

invalid_subscribers_entry_samples: Map {

string: string

},

},

messenger: Struct {

error: Struct {

message: string,

code: int32,

},

num_subscribers_received: int32,

num_subscribers_invalid_entries: int32,

invalid_subscribers_entry_samples: Map {

string: string

},

},

},

}

Error Codes

ErrorDescription
80003There 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#custom-audience.
100Invalid parameter
200Permissions error
2650Failed to update the custom audience
190Invalid OAuth 2.0 Access Token
2635You are calling a deprecated version of the Ads API. Please update to the latest version.
368The action attempted has been deemed abusive or is otherwise disallowed