Appearance
Fresh 2026
User
Represents a Facebook user.
Reading
Get fields and edges on a User.
Requirements
| Type | Description |
|---|---|
| Access Tokens | User |
| Permissions | public_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:
idfirst_namelast_namemiddle_namenamename_formatpictureshort_name
Parameters
This endpoint doesn't have any parameters.
Fields
| Field | Description |
|---|---|
id<br>numeric string | The 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>string | Returns no data as of April 4, 2018. |
age_range<br>AgeRange | The age segment for this person expressed as a minimum and maximum age. For example, more than 18, less than 21.<br>Core |
birthday<br>string | The 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 string | The 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>string | The 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>string | The person's first name<br>Core |
gender<br>string | The 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>Page | The person's hometown |
inspirational_people<br>list<Experience> | The person's inspirational people |
installed<br>bool | Is the app making the request installed |
is_guest_user<br>bool | if 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>string | The person's last name<br>Core |
link<br>string | A 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>bool | Display megaphone for local news bookmark<br>Deprecated |
local_news_subscription_status<br>bool | Daily local news notification<br>Deprecated |
locale<br>string | The person's locale<br>Core Deprecated |
location<br>Page | The 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>string | The person's middle name<br>Core |
name<br>string | The person's full name<br>Core Default |
name_format<br>string | The person's name formatted to correctly handle Chinese, Japanese, or Korean ordering |
political<br>string | Returns no data as of April 4, 2018. |
quotes<br>string | The person's favorite quotes |
relationship_status<br>string | Returns no data as of April 4, 2018. |
religion<br>string | Returns no data as of April 4, 2018. |
shared_login_upgrade_required_by<br>timestamp | The time that the shared login needs to be upgraded to Business Manager by |
significant_other<br>User | The person's significant other |
sports<br>list<Experience> | Sports played by the person |
supports_donate_button_in_live_video<br>bool | Whether the user can add a Donate Button to their Live Videos |
third_party_id<br>string | A 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>string | A 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>datetime | Updated time<br>Deprecated |
verified<br>bool | Indicates 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>VideoUploadLimits | Video upload limits |
website<br>string | Returns no data as of April 4, 2018. |
Edges
| Edge | Description |
|---|---|
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
| Error | Description |
|---|---|
| 100 | Invalid parameter |
| 80006 | There 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. |
| 190 | Invalid OAuth 2.0 Access Token |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 104 | Incorrect signature |
| 459 | The session is invalid because the user has been checkpointed |
| 613 | Calls to this api have exceeded the rate limit. |
| 200 | Permissions error |
| 80004 | There 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. |
| 80002 | There 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
| Parameter | Description |
|---|---|
emoji_color_pref<br>int64 | emoji color preference. |
firstname<br>string | This person's first name |
lastname<br>string | This 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>string | Used for test accounts only. Name for this account |
password<br>string | Used 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
| Error | Description |
|---|---|
| 190 | Invalid OAuth 2.0 Access Token |
| 459 | The session is invalid because the user has been checkpointed |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 200 | Permissions error |
| 102 | Session key invalid or no longer valid |
| 100 | Invalid parameter |
| 240 | Desktop applications cannot call this function for other users |
| 483 | The session is invalid because the user is in consent app blocking |
| 2500 | Error 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>/usersIf you want to learn how to use the Graph API, read our Using Graph API guide.
Parameters
| Parameter | Description |
|---|---|
payload<br>Object | Payload representing users to add |
schema<br>string | EMAIL_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>boolean | Is 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>Object | Indicates 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>Object | Information 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>int64 | Advertiser generated session identifier, used to track the session. Needs to be unique in the same ad account. |
estimated_num_total<br>int64 | Estimated total num of users to be uploaded in this session, used by Facebook systems to better process this session. |
batch_seq<br>int64 | A 1 based sequence number to identify the request in the session. |
last_batch_flag<br>boolean | true 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
| Error | Description |
|---|---|
| 100 | Invalid parameter |
| 200 | Permissions error |
| 2650 | Failed to update the custom audience |
| 190 | Invalid OAuth 2.0 Access Token |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 2635 | You are calling a deprecated version of the Ads API. Please update to the latest version. |
| 105 | The number of parameters exceeded the maximum for this operation |
| 194 | Missing 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
| Error | Description |
|---|---|
| 2903 | Cannot delete this test account |
| 2904 | Cannot delete the OG Test User |
| 100 | Invalid parameter |
| 240 | Desktop applications cannot call this function for other users |
| 102 | Session key invalid or no longer valid |
| 200 | Permissions error |
You can dissociate a User from a Page by making a DELETE request to /{page_id}/blocked.
Parameters
| Parameter | Description |
|---|---|
asid<br>user/page ID | App Scoped User ID to unblock |
psid<br>UID | Page Scoped User ID to unblock |
uid<br>UID | Deprecated. Same as user |
user<br>UID | List of User or Page IDs to unblock. This or uid is required |
Return Type
Struct {
success: bool,
}
Error Codes
| Error | Description |
|---|---|
| 100 | Invalid parameter |
| 190 | Invalid 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
| Parameter | Description |
|---|---|
user<br>UID | Business user id or system user id<br>Required |
Return Type
Struct {
success: bool,
}
Error Codes
| Error | Description |
|---|---|
| 100 | Invalid parameter |
| 3919 | There was an unexpected technical issue. Please try again. |
| 190 | Invalid OAuth 2.0 Access Token |
You can dissociate a User from a CustomAudience by making a DELETE request to /{custom_audience_id}/users.
Parameters
| Parameter | Description |
|---|---|
payload<br>Object | Payload representing users to delete |
schema<br>string | EMAIL_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>boolean | Is 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>Object | Indicates 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>Object | Information 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>int64 | Advertiser generated session identifier, used to track the session. Needs to be unique in the same ad account. |
estimated_num_total<br>int64 | Estimated total num of users to be uploaded in this session, used by Facebook systems to better process this session. |
batch_seq<br>int64 | A 1 based sequence number to identify the request in the session. |
last_batch_flag<br>boolean | true 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
| Error | Description |
|---|---|
| 80003 | There 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. |
| 100 | Invalid parameter |
| 200 | Permissions error |
| 2650 | Failed to update the custom audience |
| 190 | Invalid OAuth 2.0 Access Token |
| 2635 | You are calling a deprecated version of the Ads API. Please update to the latest version. |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |