Beacon
API reference for Beacon endpoints and webhooks
Add and report users on the Plaid Beacon network.
| Endpoints | |
|---|---|
/beacon/user/create | Create and scan a Beacon User against a Beacon Program |
/beacon/user/get | Fetch a Beacon User |
/beacon/user/update | Update and rescan a Beacon User |
/beacon/user/account_insights/get | Fetch a Beacon User's account insights |
/beacon/user/history/list | List a Beacon User's history |
/beacon/report/create | Create a fraud report for a given Beacon User |
/beacon/report/get | Fetch a Beacon Report |
/beacon/report/list | List Beacon Reports for a given Beacon User |
/beacon/report_syndication/get | Fetch a Beacon Report Syndication |
/beacon/report_syndication/list | List Beacon Report Syndications for a given Beacon User |
/beacon/duplicate/get | Fetch a Beacon duplicate |
| See also | |
|---|---|
/dashboard_user/get | Retrieve information about a dashboard user |
/dashboard_user/list | List dashboard users |
| Webhooks | |
|---|---|
USER_STATUS_UPDATED | Beacon User status has changed |
REPORT_CREATED | Beacon Report has been created |
REPORT_UPDATED | Beacon Report has been updated |
REPORT_SYNDICATION_CREATED | New Network Report matches one of your Users |
DUPLICATE_DETECTED | Duplicate Beacon User was created |
/beacon/user/create
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Create a Beacon User
Create and scan a Beacon User against your Beacon Program, according to your program's settings.
When you submit a new user to /beacon/user/create, several checks are performed immediately:
- The user's PII (provided within the user object) is searched against all other users within the Beacon Program you specified. If a match is found that violates your program's "Duplicate Information Filtering" settings, the user will be returned with a status of pending_review.
- The user's PII is also searched against all fraud reports created by your organization across all of your Beacon Programs. If the user's data matches a fraud report that your team created, the user will be returned with a status of rejected.
- Finally, the user's PII is searched against all fraud report shared with the Beacon Network by other companies. If a matching fraud report is found, the user will be returned with a pending_review status if your program has enabled automatic flagging based on network fraud.
Request fields
program_idclient_user_id/link/token/create client_user_id to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.userIn order to create a Beacon User, in addition to the
name, either the date_of_birth or the depository_accounts field must be provided.date_of_birthdate namegiven_namefamily_nameaddressstreetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsNote: These accounts will not have Bank Account Insights. To receive Bank Account Insights please supply
access_tokens.account_numberrouting_numberaccess_tokensclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconUserCreateRequest = {
program_id: 'becprg_11111111111111',
client_user_id: 'user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d',
access_tokens: [access_token],
user: {
email_address: 'user@example.com',
date_of_birth: '1975-01-18',
name: {
given_name: 'Leslie',
family_name: 'Knope',
},
address: {
street: '123 Main St.',
street2: 'Unit 42',
city: 'Pawnee',
region: 'IN',
postal_code: '46001',
country: 'US',
},
},
};
try {
const response = await plaidClient.beaconUserCreate(request);
console.log(response.status.value);
} catch (error) {
// handle error
}
Response fields
item_idsidversionversion field begins with 1 and increments each time the user is updated.created_atdate-time updated_atdate-time statusrejected: The Beacon User has been rejected for fraud. Users can be automatically or manually rejected.pending_review: The Beacon User has been marked for review.cleared: The Beacon User has been cleared of fraud.rejected, pending_review, clearedprogram_idclient_user_id/link/token/create client_user_id to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.userdate_of_birthdate namegiven_namefamily_nameaddressAddresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
streetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsaccount_maskrouting_numberadded_atdate-time audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time request_id{
"item_ids": [
"515cd85321d3649aecddc015"
],
"id": "becusr_42cF1MNo42r9Xj",
"version": 1,
"created_at": "2020-07-24T03:26:02Z",
"updated_at": "2020-07-24T03:26:02Z",
"status": "cleared",
"program_id": "becprg_11111111111111",
"client_user_id": "your-db-id-3b24110",
"user": {
"date_of_birth": "1990-05-29",
"name": {
"given_name": "Leslie",
"family_name": "Knope"
},
"address": {
"street": "123 Main St.",
"street2": "Unit 42",
"city": "Pawnee",
"region": "IN",
"postal_code": "46001",
"country": "US"
},
"email_address": "user@example.com",
"phone_number": "+19876543212",
"id_number": {
"value": "123456789",
"type": "us_ssn"
},
"ip_address": "192.0.2.42",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"added_at": "2020-07-24T03:26:02Z"
}
]
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/user/get
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Get a Beacon User
Fetch a Beacon User.
The Beacon User is returned with all of their associated information and a status based on the Beacon Network duplicate record and fraud checks.
Request fields
beacon_user_idclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconUserGetRequest = {
beacon_user_id: 'becusr_11111111111111',
};
try {
const response = await plaidClient.beaconUserGet(request);
} catch (error) {
// handle error
}
Response fields
item_idsidversionversion field begins with 1 and increments each time the user is updated.created_atdate-time updated_atdate-time statusrejected: The Beacon User has been rejected for fraud. Users can be automatically or manually rejected.pending_review: The Beacon User has been marked for review.cleared: The Beacon User has been cleared of fraud.rejected, pending_review, clearedprogram_idclient_user_id/link/token/create client_user_id to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.userdate_of_birthdate namegiven_namefamily_nameaddressAddresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
streetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsaccount_maskrouting_numberadded_atdate-time audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time request_id{
"item_ids": [
"515cd85321d3649aecddc015"
],
"id": "becusr_42cF1MNo42r9Xj",
"version": 1,
"created_at": "2020-07-24T03:26:02Z",
"updated_at": "2020-07-24T03:26:02Z",
"status": "cleared",
"program_id": "becprg_11111111111111",
"client_user_id": "your-db-id-3b24110",
"user": {
"date_of_birth": "1990-05-29",
"name": {
"given_name": "Leslie",
"family_name": "Knope"
},
"address": {
"street": "123 Main St.",
"street2": "Unit 42",
"city": "Pawnee",
"region": "IN",
"postal_code": "46001",
"country": "US"
},
"email_address": "user@example.com",
"phone_number": "+19876543212",
"id_number": {
"value": "123456789",
"type": "us_ssn"
},
"ip_address": "192.0.2.42",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"added_at": "2020-07-24T03:26:02Z"
}
]
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/user/update
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Update the identity data of a Beacon User
Update the identity data for a Beacon User in your Beacon Program or add new accounts to the Beacon User.
Similar to /beacon/user/create, several checks are performed immediately when you submit an identity data change to /beacon/user/update:
- The user's updated PII is searched against all other users within the Beacon Program you specified. If a match is found that violates your program's "Duplicate Information Filtering" settings, the user will be returned with a status of pending_review.
- The user's updated PII is also searched against all fraud reports created by your organization across all of your Beacon Programs. If the user's data matches a fraud report that your team created, the user will be returned with a status of rejected.
- Finally, the user's PII is searched against all fraud report shared with the Beacon Network by other companies. If a matching fraud report is found, the user will be returned with a pending_review status if your program has enabled automatic flagging based on network fraud.
Plaid maintains a version history for each Beacon User, so the Beacon User's identity data before and after the update is retained as separate versions.
Request fields
beacon_user_iduserdate_of_birthdate namegiven_namefamily_nameaddressstreetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsaccount_numberrouting_numberaccess_tokensclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconUserUpdateRequest = {
beacon_user_id: 'becusr_11111111111111',
user: {
email_address: 'user@example.com',
date_of_birth: '1975-01-18',
name: {
given_name: 'Leslie',
family_name: 'Knope',
},
address: {
street: '123 Main St.',
street2: 'Unit 42',
city: 'Pawnee',
region: 'IN',
postal_code: '46001',
country: 'US',
},
},
};
try {
const response = await plaidClient.beaconUserUpdate(request);
console.log(response.status.value);
} catch (error) {
// handle error
}
Response fields
item_idsidversionversion field begins with 1 and increments each time the user is updated.created_atdate-time updated_atdate-time statusrejected: The Beacon User has been rejected for fraud. Users can be automatically or manually rejected.pending_review: The Beacon User has been marked for review.cleared: The Beacon User has been cleared of fraud.rejected, pending_review, clearedprogram_idclient_user_id/link/token/create client_user_id to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.userdate_of_birthdate namegiven_namefamily_nameaddressAddresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
streetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsaccount_maskrouting_numberadded_atdate-time audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time request_id{
"item_ids": [
"515cd85321d3649aecddc015"
],
"id": "becusr_42cF1MNo42r9Xj",
"version": 1,
"created_at": "2020-07-24T03:26:02Z",
"updated_at": "2020-07-24T03:26:02Z",
"status": "cleared",
"program_id": "becprg_11111111111111",
"client_user_id": "your-db-id-3b24110",
"user": {
"date_of_birth": "1990-05-29",
"name": {
"given_name": "Leslie",
"family_name": "Knope"
},
"address": {
"street": "123 Main St.",
"street2": "Unit 42",
"city": "Pawnee",
"region": "IN",
"postal_code": "46001",
"country": "US"
},
"email_address": "user@example.com",
"phone_number": "+19876543212",
"id_number": {
"value": "123456789",
"type": "us_ssn"
},
"ip_address": "192.0.2.42",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"added_at": "2020-07-24T03:26:02Z"
}
]
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/user/account_insights/get
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Get Account Insights for a Beacon User
Get Account Insights for all Accounts linked to this Beacon User. The insights for each account are computed based on the information that was last retrieved from the financial institution.
Request fields
beacon_user_idaccess_tokenclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconUserAccountInsightsGetRequest = {
beacon_user_id: 'becusr_11111111111111',
access_token: 'access-sandbox-12345678',
client_id: process.env.PLAID_CLIENT_ID,
secret: process.env.PLAID_SECRET,
};
try {
const response = await plaidClient.beaconUserAccountInsightsGet(request);
console.log(response.status.value);
} catch (error) {
// handle error
}
Response fields
beacon_user_idcreated_atdate-time updated_atdate-time bank_account_insightsitem_idaccountsaccount_idaccount_idtypeinvestment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.credit: Credit carddepository: Depository accountloan: Loan accountother: Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment, credit, depository, loan, brokerage, othersubtype401a, 401k, 403B, 457b, 529, auto, brokerage, business, cash isa, cash management, cd, checking, commercial, construction, consumer, credit card, crypto exchange, ebt, education savings account, fixed annuity, gic, health reimbursement arrangement, home equity, hsa, isa, ira, keogh, lif, life insurance, line of credit, lira, loan, lrif, lrsp, money market, mortgage, mutual fund, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, overdraft, paypal, payroll, pension, prepaid, prif, profit sharing plan, rdsp, resp, retirement, rlif, roth, roth 401k, rrif, rrsp, sarsep, savings, sep ira, simple ira, sipp, stock plan, student, thrift savings plan, tfsa, trust, ugma, utma, variable annuityattributesdays_since_first_plaid_connection: The number of days since the first time the Item was connected to an application via Plaid
plaid_connections_count_7d: The number of times the Item has been connected to applications via Plaid over the past 7 days
plaid_connections_count_30d: The number of times the Item has been connected to applications via Plaid over the past 30 days
total_plaid_connections_count: The number of times the Item has been connected to applications via Plaid
For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact Sales or your Plaid account managerdays_since_first _plaid_connectionis_account_closedis_account_frozen_or _restrictedtotal_plaid _connections_countplaid_connections _count_7dplaid_connections _count_30dfailed_plaid_non _oauth_authentication _attempts_count_3dplaid_non_oauth _authentication _attempts_count_3dfailed_plaid_non _oauth_authentication _attempts_count_7dplaid_non_oauth _authentication _attempts_count_7dfailed_plaid_non _oauth_authentication _attempts_count_30dplaid_non_oauth _authentication _attempts_count_30ddistinct_ip_addresses _count_3ddistinct_ip_addresses _count_7ddistinct_ip_addresses _count_30ddistinct_ip_addresses _count_90ddistinct_user_agents _count_3ddistinct_user_agents _count_7ddistinct_user_agents _count_30ddistinct_user_agents _count_90daddress_change_count _28demail_change_count_28dphone_change_count_28daddress_change_count _90demail_change_count_90dphone_change_count_90ddays_since_account _openingdays_since_first _observed_transactionrequest_id{
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"created_at": "2020-07-24T03:26:02Z",
"updated_at": "2020-07-24T03:26:02Z",
"bank_account_insights": {
"item_id": "515cd85321d3649aecddc015",
"accounts": [
{
"account_id": "blgvvBlXw3cq5GMPwqB6s6q4dLKB9WcVqGDGo",
"type": "depository",
"subtype": "checking",
"attributes": {
"days_since_first_plaid_connection": 1,
"is_account_closed": false,
"is_account_frozen_or_restricted": false,
"total_plaid_connections_count": 1,
"plaid_connections_count_7d": 1,
"plaid_connections_count_30d": 1,
"failed_plaid_non_oauth_authentication_attempts_count_3d": 1,
"plaid_non_oauth_authentication_attempts_count_3d": 1,
"failed_plaid_non_oauth_authentication_attempts_count_7d": 1,
"plaid_non_oauth_authentication_attempts_count_7d": 1,
"failed_plaid_non_oauth_authentication_attempts_count_30d": 1,
"plaid_non_oauth_authentication_attempts_count_30d": 1,
"distinct_ip_addresses_count_3d": 1,
"distinct_ip_addresses_count_7d": 1,
"distinct_ip_addresses_count_30d": 1,
"distinct_ip_addresses_count_90d": 1,
"distinct_user_agents_count_3d": 1,
"distinct_user_agents_count_7d": 1,
"distinct_user_agents_count_30d": 1,
"distinct_user_agents_count_90d": 1,
"address_change_count_28d": 1,
"email_change_count_28d": 2,
"phone_change_count_28d": 1,
"address_change_count_90d": 3,
"email_change_count_90d": 4,
"phone_change_count_90d": 2,
"days_since_account_opening": 365,
"days_since_first_observed_transaction": 180
}
}
]
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/user/history/list
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
List a Beacon User's history
List all changes to the Beacon User in reverse-chronological order.
Request fields
beacon_user_idcursorclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconUserHistoryListRequest = {
beacon_user_id: 'becusr_11111111111111',
};
try {
const response = await plaidClient.beaconUserHistoryList(request);
} catch (error) {
// handle error
}
Response fields
beacon_usersitem_idsidversionversion field begins with 1 and increments each time the user is updated.created_atdate-time updated_atdate-time statusrejected: The Beacon User has been rejected for fraud. Users can be automatically or manually rejected.pending_review: The Beacon User has been marked for review.cleared: The Beacon User has been cleared of fraud.rejected, pending_review, clearedprogram_idclient_user_id/link/token/create client_user_id to be consistent. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.userdate_of_birthdate namegiven_namefamily_nameaddressAddresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
streetstreet2cityregioncountry field.postal_codecountryemail_addressemail phone_numberid_numbervaluetypear_dni, au_drivers_license, au_passport, br_cpf, ca_sin, cl_run, cn_resident_card, co_nit, dk_cpr, eg_national_id, es_dni, es_nie, hk_hkid, in_pan, it_cf, jo_civil_id, jp_my_number, ke_huduma_namba, kw_civil_id, mx_curp, mx_rfc, my_nric, ng_nin, nz_drivers_license, om_civil_id, ph_psn, pl_pesel, ro_cnp, sa_national_id, se_pin, sg_nric, tr_tc_kimlik, us_ssn, us_ssn_last_4, za_smart_idip_addressdepository_accountsaccount_maskrouting_numberadded_atdate-time audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time next_cursorrequest_id{
"beacon_users": [
{
"item_ids": [
"515cd85321d3649aecddc015"
],
"id": "becusr_42cF1MNo42r9Xj",
"version": 1,
"created_at": "2020-07-24T03:26:02Z",
"updated_at": "2020-07-24T03:26:02Z",
"status": "cleared",
"program_id": "becprg_11111111111111",
"client_user_id": "your-db-id-3b24110",
"user": {
"date_of_birth": "1990-05-29",
"name": {
"given_name": "Leslie",
"family_name": "Knope"
},
"address": {
"street": "123 Main St.",
"street2": "Unit 42",
"city": "Pawnee",
"region": "IN",
"postal_code": "46001",
"country": "US"
},
"email_address": "user@example.com",
"phone_number": "+19876543212",
"id_number": {
"value": "123456789",
"type": "us_ssn"
},
"ip_address": "192.0.2.42",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"added_at": "2020-07-24T03:26:02Z"
}
]
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
}
}
],
"next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",
"request_id": "saKrIBuEB9qJZng"
}/beacon/report/create
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Create a Beacon Report
Create a fraud report for a given Beacon User.
Request fields
beacon_user_idtypefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, unknownfraud_datedate fraud_amountfraud_amount should be omitted to indicate an unknown fraud amount.iso_currency_codeUSDvalue1.23).double client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconReportCreateRequest = {
beacon_user_id: 'becusr_11111111111111',
type: 'first_party',
fraud_date: '1975-01-18',
};
try {
const response = await plaidClient.beaconReportCreate(request);
} catch (error) {
// handle error
}
Response fields
idbeacon_user_idcreated_atdate-time typefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.data_breach: If this individual's data was compromised in a breach.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, data_breach, unknownfraud_datedate event_datedate fraud_amountfraud_amount should be omitted to indicate an unknown fraud amount.iso_currency_codeUSDvalue1.23).double audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time request_id{
"id": "becrpt_11111111111111",
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"created_at": "2020-07-24T03:26:02Z",
"type": "first_party",
"fraud_date": "1990-05-29",
"event_date": "1990-05-29",
"fraud_amount": {
"iso_currency_code": "USD",
"value": 100
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/report/get
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Get a Beacon Report
Returns a Beacon report for a given Beacon report id.
Request fields
beacon_report_idclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconReportGetRequest = {
beacon_report_id: 'becrpt_11111111111111',
};
try {
const response = await plaidClient.beaconReportGet(request);
} catch (error) {
// handle error
}
Response fields
idbeacon_user_idcreated_atdate-time typefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.data_breach: If this individual's data was compromised in a breach.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, data_breach, unknownfraud_datedate event_datedate fraud_amountfraud_amount should be omitted to indicate an unknown fraud amount.iso_currency_codeUSDvalue1.23).double audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time request_id{
"id": "becrpt_11111111111111",
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"created_at": "2020-07-24T03:26:02Z",
"type": "first_party",
"fraud_date": "1990-05-29",
"event_date": "1990-05-29",
"fraud_amount": {
"iso_currency_code": "USD",
"value": 100
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/report/list
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
List Beacon Reports for a Beacon User
Use the /beacon/report/list endpoint to view all Beacon Reports you created for a specific Beacon User. The reports returned by this endpoint are exclusively reports you created for a specific user. A Beacon User can only have one active report at a time, but a new report can be created if a previous report has been deleted. The results from this endpoint are paginated; the next_cursor field will be populated if there is another page of results that can be retrieved. To fetch the next page, pass the next_cursor value as the cursor parameter in the next request.
Request fields
beacon_user_idcursorclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconReportListRequest = {
beacon_user_id: 'becusr_11111111111111',
};
try {
const response = await plaidClient.beaconReportList(request);
} catch (error) {
// handle error
}
Response fields
beacon_reportsidbeacon_user_idcreated_atdate-time typefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.data_breach: If this individual's data was compromised in a breach.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, data_breach, unknownfraud_datedate event_datedate fraud_amountfraud_amount should be omitted to indicate an unknown fraud amount.iso_currency_codeUSDvalue1.23).double audit_trailsourcedashboard - The resource was created or updated by a member of your team via the Plaid dashboard.api - The resource was created or updated via the Plaid API.system - The resource was created or updated automatically by a part of the Plaid Beacon system. For example, if another business using Plaid Beacon created a fraud report that matched one of your users, your matching user's status would automatically be updated and the audit trail source would be system.bulk_import - The resource was created or updated as part of a bulk import process. For example, if your company provided a CSV of user data as part of your initial onboarding, the audit trail source would be bulk_import.dashboard, api, system, bulk_importdashboard_user_id/dashboard_user/get.timestampdate-time next_cursorrequest_id{
"beacon_reports": [
{
"id": "becrpt_11111111111111",
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"created_at": "2020-07-24T03:26:02Z",
"type": "first_party",
"fraud_date": "1990-05-29",
"event_date": "1990-05-29",
"fraud_amount": {
"iso_currency_code": "USD",
"value": 100
},
"audit_trail": {
"source": "dashboard",
"dashboard_user_id": "54350110fedcbaf01234ffee",
"timestamp": "2020-07-24T03:26:02Z"
}
}
],
"next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",
"request_id": "saKrIBuEB9qJZng"
}/beacon/report_syndication/get
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Get a Beacon Report Syndication
Returns a Beacon Report Syndication for a given Beacon Report Syndication id.
Request fields
beacon_report _syndication_idclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconReportSyndicationGetRequest = {
beacon_report_syndication_id: 'becrsn_11111111111111',
};
try {
const response = await plaidClient.beaconReportSyndicationGet(request);
} catch (error) {
// handle error
}
Response fields
idbeacon_user_idreportThe
id field in the response is the ID of the original report that was syndicated. If the original report was created by your organization, the field will be filled with the ID of the report. Otherwise, the field will be null indicating that the original report was created by another Beacon customer.idcreated_atdate-time typefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.data_breach: If this individual's data was compromised in a breach.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, data_breach, unknownfraud_datedate event_datedate analysisaddressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datadate_of_birthmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataemail_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datanamematch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataid_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataip_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataphone_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datadepository_accountsaccount_maskrouting_numbermatch_statusmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datarequest_id{
"id": "becrsn_11111111111111",
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"report": {
"id": "becrpt_11111111111111",
"created_at": "2020-07-24T03:26:02Z",
"type": "first_party",
"fraud_date": "1990-05-29",
"event_date": "1990-05-29"
},
"analysis": {
"address": "match",
"date_of_birth": "match",
"email_address": "match",
"name": "match",
"id_number": "match",
"ip_address": "match",
"phone_number": "match",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"match_status": "match"
}
]
},
"request_id": "saKrIBuEB9qJZng"
}/beacon/report_syndication/list
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
List Beacon Report Syndications for a Beacon User
Use the /beacon/report_syndication/list endpoint to view all Beacon Reports that have been syndicated to a specific Beacon User. This endpoint returns Beacon Report Syndications which are references to Beacon Reports created either by you, or another Beacon customer, that matched the specified Beacon User. A Beacon User can have multiple active Beacon Report Syndications at once. The results from this endpoint are paginated; the next_cursor field will be populated if there is another page of results that can be retrieved. To fetch the next page, pass the next_cursor value as the cursor parameter in the next request.
Request fields
beacon_user_idcursorclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconReportSyndicationListRequest = {
beacon_user_id: 'becusr_11111111111111',
};
try {
const response = await plaidClient.beaconReportSyndicationList(request);
} catch (error) {
// handle error
}
Response fields
beacon_report _syndicationsidbeacon_user_idreportThe
id field in the response is the ID of the original report that was syndicated. If the original report was created by your organization, the field will be filled with the ID of the report. Otherwise, the field will be null indicating that the original report was created by another Beacon customer.idcreated_atdate-time typefirst_party: If this is the same individual as the one who submitted the KYC.stolen: If this is a different individual from the one who submitted the KYC.synthetic: If this is an individual using fabricated information.account_takeover: If this individual's account was compromised.data_breach: If this individual's data was compromised in a breach.unknown: If you aren't sure who committed the fraud.first_party, stolen, synthetic, account_takeover, data_breach, unknownfraud_datedate event_datedate analysisaddressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datadate_of_birthmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataemail_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datanamematch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataid_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataip_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataphone_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datadepository_accountsaccount_maskrouting_numbermatch_statusmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datanext_cursorrequest_id{
"beacon_report_syndications": [
{
"id": "becrsn_11111111111111",
"beacon_user_id": "becusr_42cF1MNo42r9Xj",
"report": {
"id": "becrpt_11111111111111",
"created_at": "2020-07-24T03:26:02Z",
"type": "first_party",
"fraud_date": "1990-05-29",
"event_date": "1990-05-29"
},
"analysis": {
"address": "match",
"date_of_birth": "match",
"email_address": "match",
"name": "match",
"id_number": "match",
"ip_address": "match",
"phone_number": "match",
"depository_accounts": [
{
"account_mask": "4000",
"routing_number": "021000021",
"match_status": "match"
}
]
}
}
],
"next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",
"request_id": "saKrIBuEB9qJZng"
}/beacon/duplicate/get
This feature is in currently in beta; Your account must be enabled for this feature in order to test it in Sandbox. To enable this feature or check your status, contact your account manager or submit a product access Support ticket.
Get a Beacon Duplicate
Returns a Beacon Duplicate for a given Beacon Duplicate id.
A Beacon Duplicate represents a pair of similar Beacon Users within your organization.
Two Beacon User revisions are returned for each Duplicate record in either the beacon_user1 or beacon_user2 response fields.
The analysis field in the response indicates which fields matched between beacon_user1 and beacon_user2.
Request fields
beacon_duplicate_idclient_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.const request: BeaconDuplicateGetRequest = {
beacon_duplicate_id: 'becdup_11111111111111',
};
try {
const response = await plaidClient.beaconDuplicateGet(request);
} catch (error) {
// handle error
}
Response fields
idbeacon_user1beacon_user2analysisaddressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datadate_of_birthmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataemail_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datanamematch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataid_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataip_addressmatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_dataphone_numbermatch indicates that the provided input data was a strong match against the other Beacon User.partial_match indicates the data approximately matched the other Beacon User. For example, "Knope" vs. "Knope-Wyatt" for last name.no_match indicates that Plaid was able to compare this field against the other Beacon User and it did not match the provided input data.no_data indicates that Plaid was unable to compare this field against the original Beacon User because the field was not present in one of the Beacon Users.match, partial_match, no_match, no_datarequest_id{
"id": "becdup_11111111111111",
"beacon_user1": {
"id": "becusr_42cF1MNo42r9Xj",
"version": 1
},
"beacon_user2": {
"id": "becusr_42cF1MNo42r9Xj",
"version": 1
},
"analysis": {
"address": "match",
"date_of_birth": "match",
"email_address": "match",
"name": "match",
"id_number": "match",
"ip_address": "match",
"phone_number": "match"
},
"request_id": "saKrIBuEB9qJZng"
}Webhooks
A user in cleared status may change to a pending_review status after a Beacon Report Syndication is received, which would trigger both a USER_STATUS_UPDATED as well as a REPORT_SYNDICATION_CREATED webhook. New Beacon Users may also be flagged as duplicates of another user, which triggers a DUPLICATE_DETECTED webhook. Beacon Reports created and managed by your account will trigger REPORT_CREATED and REPORT_UPDATED webhooks, and may also result in a USER_STATUS_UPDATED if the user status is changed from cleared to rejected at that time.
USER_STATUS_UPDATED
Fired when a Beacon User status has changed, which can occur manually via the dashboard or when information is reported to the Beacon network.
Properties
webhook_typeBEACONwebhook_codeUSER_STATUS_UPDATEDbeacon_user_idenvironmentsandbox, production{
"webhook_type": "BEACON",
"webhook_code": "USER_STATUS_UPDATED",
"beacon_user_id": "becusr_4WciCrtbxF76T8",
"environment": "production"
}REPORT_CREATED
Fired when one of your Beacon Users is first reported to the Beacon network.
Properties
webhook_typeBEACONwebhook_codeREPORT_CREATEDbeacon_report_idenvironmentsandbox, production{
"webhook_type": "BEACON",
"webhook_code": "REPORT_CREATED",
"beacon_report_id": "becrpt_2zugxV6hWQZG91",
"environment": "production"
}REPORT_UPDATED
Fired when one of your existing Beacon Reports has been modified or removed from the Beacon Network.
Properties
webhook_typeBEACONwebhook_codeREPORT_UPDATEDbeacon_report_idenvironmentsandbox, production{
"webhook_type": "BEACON",
"webhook_code": "REPORT_UPDATED",
"beacon_report_id": "becrpt_2zugxV6hWQZG91",
"environment": "production"
}REPORT_SYNDICATION_CREATED
Fired when a report created on the Beacon Network matches with one of your Beacon Users.
Properties
webhook_typeBEACONwebhook_codeREPORT_SYNDICATION_CREATEDbeacon_report _syndication_idenvironmentsandbox, production{
"webhook_type": "BEACON",
"webhook_code": "REPORT_SYNDICATION_CREATED",
"beacon_report_syndication_id": "becrsn_eZPgiiv3JH8rfT",
"environment": "production"
}DUPLICATE_DETECTED
Fired when a Beacon User created within your organization matches one of your existing users.
Properties
webhook_typeBEACONwebhook_codeDUPLICATE_DETECTEDbeacon_duplicate_idenvironmentsandbox, production{
"webhook_type": "BEACON",
"webhook_code": "DUPLICATE_DETECTED",
"beacon_duplicate_id": "becdup_erJcFn97r9sugZ",
"environment": "production"
}