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.
program_id
client_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
.user
In 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_birth
date
name
given_name
family_name
address
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
Note: These accounts will not have Bank Account Insights. To receive Bank Account Insights please supply
access_tokens
.account_number
routing_number
access_tokens
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconUserCreateRequest = {2 program_id: 'becprg_11111111111111',3 client_user_id: 'user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d',4 access_tokens: [access_token],5 user: {6 email_address: 'user@example.com',7 date_of_birth: '1975-01-18',8 name: {9 given_name: 'Leslie',10 family_name: 'Knope',11 },12 address: {13 street: '123 Main St.',14 street2: 'Unit 42',15 city: 'Pawnee',16 region: 'IN',17 postal_code: '46001',18 country: 'US',19 },20 },21};22
23try {24 const response = await plaidClient.beaconUserCreate(request);25 console.log(response.status.value);26} catch (error) {27 // handle error28}
Response fields and example
item_ids
id
version
version
field begins with 1 and increments each time the user is updated.created_at
date-time
updated_at
date-time
status
rejected
: 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
, cleared
program_id
client_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
.user
date_of_birth
date
name
given_name
family_name
address
Addresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
account_mask
routing_number
added_at
date-time
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
request_id
1{2 "item_ids": [3 "515cd85321d3649aecddc015"4 ],5 "id": "becusr_42cF1MNo42r9Xj",6 "version": 1,7 "created_at": "2020-07-24T03:26:02Z",8 "updated_at": "2020-07-24T03:26:02Z",9 "status": "cleared",10 "program_id": "becprg_11111111111111",11 "client_user_id": "your-db-id-3b24110",12 "user": {13 "date_of_birth": "1990-05-29",14 "name": {15 "given_name": "Leslie",16 "family_name": "Knope"17 },18 "address": {19 "street": "123 Main St.",20 "street2": "Unit 42",21 "city": "Pawnee",22 "region": "IN",23 "postal_code": "46001",24 "country": "US"25 },26 "email_address": "user@example.com",27 "phone_number": "+19876543212",28 "id_number": {29 "value": "123456789",30 "type": "us_ssn"31 },32 "ip_address": "192.0.2.42",33 "depository_accounts": [34 {35 "account_mask": "4000",36 "routing_number": "021000021",37 "added_at": "2020-07-24T03:26:02Z"38 }39 ]40 },41 "audit_trail": {42 "source": "dashboard",43 "dashboard_user_id": "54350110fedcbaf01234ffee",44 "timestamp": "2020-07-24T03:26:02Z"45 },46 "request_id": "saKrIBuEB9qJZng"47}
Was this helpful?
/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.
beacon_user_id
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconUserGetRequest = {2 beacon_user_id: 'becusr_11111111111111',3};4
5try {6 const response = await plaidClient.beaconUserGet(request);7} catch (error) {8 // handle error9}
Response fields and example
item_ids
id
version
version
field begins with 1 and increments each time the user is updated.created_at
date-time
updated_at
date-time
status
rejected
: 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
, cleared
program_id
client_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
.user
date_of_birth
date
name
given_name
family_name
address
Addresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
account_mask
routing_number
added_at
date-time
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
request_id
1{2 "item_ids": [3 "515cd85321d3649aecddc015"4 ],5 "id": "becusr_42cF1MNo42r9Xj",6 "version": 1,7 "created_at": "2020-07-24T03:26:02Z",8 "updated_at": "2020-07-24T03:26:02Z",9 "status": "cleared",10 "program_id": "becprg_11111111111111",11 "client_user_id": "your-db-id-3b24110",12 "user": {13 "date_of_birth": "1990-05-29",14 "name": {15 "given_name": "Leslie",16 "family_name": "Knope"17 },18 "address": {19 "street": "123 Main St.",20 "street2": "Unit 42",21 "city": "Pawnee",22 "region": "IN",23 "postal_code": "46001",24 "country": "US"25 },26 "email_address": "user@example.com",27 "phone_number": "+19876543212",28 "id_number": {29 "value": "123456789",30 "type": "us_ssn"31 },32 "ip_address": "192.0.2.42",33 "depository_accounts": [34 {35 "account_mask": "4000",36 "routing_number": "021000021",37 "added_at": "2020-07-24T03:26:02Z"38 }39 ]40 },41 "audit_trail": {42 "source": "dashboard",43 "dashboard_user_id": "54350110fedcbaf01234ffee",44 "timestamp": "2020-07-24T03:26:02Z"45 },46 "request_id": "saKrIBuEB9qJZng"47}
Was this helpful?
/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.
beacon_user_id
user
date_of_birth
date
name
given_name
family_name
address
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
account_number
routing_number
access_tokens
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconUserUpdateRequest = {2 beacon_user_id: 'becusr_11111111111111',3 user: {4 email_address: 'user@example.com',5 date_of_birth: '1975-01-18',6 name: {7 given_name: 'Leslie',8 family_name: 'Knope',9 },10 address: {11 street: '123 Main St.',12 street2: 'Unit 42',13 city: 'Pawnee',14 region: 'IN',15 postal_code: '46001',16 country: 'US',17 },18 },19};20
21try {22 const response = await plaidClient.beaconUserUpdate(request);23 console.log(response.status.value);24} catch (error) {25 // handle error26}
Response fields and example
item_ids
id
version
version
field begins with 1 and increments each time the user is updated.created_at
date-time
updated_at
date-time
status
rejected
: 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
, cleared
program_id
client_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
.user
date_of_birth
date
name
given_name
family_name
address
Addresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
account_mask
routing_number
added_at
date-time
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
request_id
1{2 "item_ids": [3 "515cd85321d3649aecddc015"4 ],5 "id": "becusr_42cF1MNo42r9Xj",6 "version": 1,7 "created_at": "2020-07-24T03:26:02Z",8 "updated_at": "2020-07-24T03:26:02Z",9 "status": "cleared",10 "program_id": "becprg_11111111111111",11 "client_user_id": "your-db-id-3b24110",12 "user": {13 "date_of_birth": "1990-05-29",14 "name": {15 "given_name": "Leslie",16 "family_name": "Knope"17 },18 "address": {19 "street": "123 Main St.",20 "street2": "Unit 42",21 "city": "Pawnee",22 "region": "IN",23 "postal_code": "46001",24 "country": "US"25 },26 "email_address": "user@example.com",27 "phone_number": "+19876543212",28 "id_number": {29 "value": "123456789",30 "type": "us_ssn"31 },32 "ip_address": "192.0.2.42",33 "depository_accounts": [34 {35 "account_mask": "4000",36 "routing_number": "021000021",37 "added_at": "2020-07-24T03:26:02Z"38 }39 ]40 },41 "audit_trail": {42 "source": "dashboard",43 "dashboard_user_id": "54350110fedcbaf01234ffee",44 "timestamp": "2020-07-24T03:26:02Z"45 },46 "request_id": "saKrIBuEB9qJZng"47}
Was this helpful?
/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.
beacon/user/account_insights/getbeacon_user_id
access_token
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconUserAccountInsightsGetRequest = {2 beacon_user_id: 'becusr_11111111111111',3 access_token: 'access-sandbox-12345678',4 client_id: process.env.PLAID_CLIENT_ID,5 secret: process.env.PLAID_SECRET,6};7
8try {9 const response = await plaidClient.beaconUserAccountInsightsGet(request);10 console.log(response.status.value);11} catch (error) {12 // handle error13}
Response fields and example
beacon_user_id
created_at
date-time
updated_at
date-time
bank_account_insights
item_id
accounts
account_id
account_id
type
investment:
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
, other
subtype
401a
, 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 annuity
attributes
days_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_connection
is_account_closed
is_account_frozen_or _restricted
total_plaid _connections_count
plaid_connections _count_7d
plaid_connections _count_30d
failed_plaid_non _oauth_authentication _attempts_count_3d
plaid_non_oauth _authentication _attempts_count_3d
failed_plaid_non _oauth_authentication _attempts_count_7d
plaid_non_oauth _authentication _attempts_count_7d
failed_plaid_non _oauth_authentication _attempts_count_30d
plaid_non_oauth _authentication _attempts_count_30d
distinct_ip_addresses _count_3d
distinct_ip_addresses _count_7d
distinct_ip_addresses _count_30d
distinct_ip_addresses _count_90d
distinct_user_agents _count_3d
distinct_user_agents _count_7d
distinct_user_agents _count_30d
distinct_user_agents _count_90d
address_change_count _28d
email_change_count_28d
phone_change_count_28d
address_change_count _90d
email_change_count_90d
phone_change_count_90d
days_since_account _opening
days_since_first _observed_transaction
request_id
1{2 "beacon_user_id": "becusr_42cF1MNo42r9Xj",3 "created_at": "2020-07-24T03:26:02Z",4 "updated_at": "2020-07-24T03:26:02Z",5 "bank_account_insights": {6 "item_id": "515cd85321d3649aecddc015",7 "accounts": [8 {9 "account_id": "blgvvBlXw3cq5GMPwqB6s6q4dLKB9WcVqGDGo",10 "type": "depository",11 "subtype": "checking",12 "attributes": {13 "days_since_first_plaid_connection": 1,14 "is_account_closed": false,15 "is_account_frozen_or_restricted": false,16 "total_plaid_connections_count": 1,17 "plaid_connections_count_7d": 1,18 "plaid_connections_count_30d": 1,19 "failed_plaid_non_oauth_authentication_attempts_count_3d": 1,20 "plaid_non_oauth_authentication_attempts_count_3d": 1,21 "failed_plaid_non_oauth_authentication_attempts_count_7d": 1,22 "plaid_non_oauth_authentication_attempts_count_7d": 1,23 "failed_plaid_non_oauth_authentication_attempts_count_30d": 1,24 "plaid_non_oauth_authentication_attempts_count_30d": 1,25 "distinct_ip_addresses_count_3d": 1,26 "distinct_ip_addresses_count_7d": 1,27 "distinct_ip_addresses_count_30d": 1,28 "distinct_ip_addresses_count_90d": 1,29 "distinct_user_agents_count_3d": 1,30 "distinct_user_agents_count_7d": 1,31 "distinct_user_agents_count_30d": 1,32 "distinct_user_agents_count_90d": 1,33 "address_change_count_28d": 1,34 "email_change_count_28d": 2,35 "phone_change_count_28d": 1,36 "address_change_count_90d": 3,37 "email_change_count_90d": 4,38 "phone_change_count_90d": 2,39 "days_since_account_opening": 365,40 "days_since_first_observed_transaction": 18041 }42 }43 ]44 },45 "request_id": "saKrIBuEB9qJZng"46}
Was this helpful?
/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.
beacon/user/history/listbeacon_user_id
cursor
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconUserHistoryListRequest = {2 beacon_user_id: 'becusr_11111111111111',3};4
5try {6 const response = await plaidClient.beaconUserHistoryList(request);7} catch (error) {8 // handle error9}
Response fields and example
beacon_users
item_ids
id
version
version
field begins with 1 and increments each time the user is updated.created_at
date-time
updated_at
date-time
status
rejected
: 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
, cleared
program_id
client_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
.user
date_of_birth
date
name
given_name
family_name
address
Addresses from the United Kingdom will not include a region
Addresses from Hong Kong will not include a postal code
street
street2
city
region
postal_code
country
email_address
email
phone_number
id_number
value
type
ar_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_id
ip_address
depository_accounts
account_mask
routing_number
added_at
date-time
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
next_cursor
request_id
1{2 "beacon_users": [3 {4 "item_ids": [5 "515cd85321d3649aecddc015"6 ],7 "id": "becusr_42cF1MNo42r9Xj",8 "version": 1,9 "created_at": "2020-07-24T03:26:02Z",10 "updated_at": "2020-07-24T03:26:02Z",11 "status": "cleared",12 "program_id": "becprg_11111111111111",13 "client_user_id": "your-db-id-3b24110",14 "user": {15 "date_of_birth": "1990-05-29",16 "name": {17 "given_name": "Leslie",18 "family_name": "Knope"19 },20 "address": {21 "street": "123 Main St.",22 "street2": "Unit 42",23 "city": "Pawnee",24 "region": "IN",25 "postal_code": "46001",26 "country": "US"27 },28 "email_address": "user@example.com",29 "phone_number": "+19876543212",30 "id_number": {31 "value": "123456789",32 "type": "us_ssn"33 },34 "ip_address": "192.0.2.42",35 "depository_accounts": [36 {37 "account_mask": "4000",38 "routing_number": "021000021",39 "added_at": "2020-07-24T03:26:02Z"40 }41 ]42 },43 "audit_trail": {44 "source": "dashboard",45 "dashboard_user_id": "54350110fedcbaf01234ffee",46 "timestamp": "2020-07-24T03:26:02Z"47 }48 }49 ],50 "next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",51 "request_id": "saKrIBuEB9qJZng"52}
Was this helpful?
/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.
beacon/report/createbeacon_user_id
type
first_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
, unknown
fraud_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
value
1.23
).double
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconReportCreateRequest = {2 beacon_user_id: 'becusr_11111111111111',3 type: 'first_party',4 fraud_date: '1975-01-18',5};6
7try {8 const response = await plaidClient.beaconReportCreate(request);9} catch (error) {10 // handle error11}
Response fields and example
id
beacon_user_id
created_at
date-time
type
first_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
, unknown
fraud_date
date
event_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
value
1.23
).double
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
request_id
1{2 "id": "becrpt_11111111111111",3 "beacon_user_id": "becusr_42cF1MNo42r9Xj",4 "created_at": "2020-07-24T03:26:02Z",5 "type": "first_party",6 "fraud_date": "1990-05-29",7 "event_date": "1990-05-29",8 "fraud_amount": {9 "iso_currency_code": "USD",10 "value": 10011 },12 "audit_trail": {13 "source": "dashboard",14 "dashboard_user_id": "54350110fedcbaf01234ffee",15 "timestamp": "2020-07-24T03:26:02Z"16 },17 "request_id": "saKrIBuEB9qJZng"18}
Was this helpful?
/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.
beacon/report/getbeacon_report_id
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconReportGetRequest = {2 beacon_report_id: 'becrpt_11111111111111',3};4
5try {6 const response = await plaidClient.beaconReportGet(request);7} catch (error) {8 // handle error9}
Response fields and example
id
beacon_user_id
created_at
date-time
type
first_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
, unknown
fraud_date
date
event_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
value
1.23
).double
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
request_id
1{2 "id": "becrpt_11111111111111",3 "beacon_user_id": "becusr_42cF1MNo42r9Xj",4 "created_at": "2020-07-24T03:26:02Z",5 "type": "first_party",6 "fraud_date": "1990-05-29",7 "event_date": "1990-05-29",8 "fraud_amount": {9 "iso_currency_code": "USD",10 "value": 10011 },12 "audit_trail": {13 "source": "dashboard",14 "dashboard_user_id": "54350110fedcbaf01234ffee",15 "timestamp": "2020-07-24T03:26:02Z"16 },17 "request_id": "saKrIBuEB9qJZng"18}
Was this helpful?
/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.
beacon_user_id
cursor
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconReportListRequest = {2 beacon_user_id: 'becusr_11111111111111',3};4
5try {6 const response = await plaidClient.beaconReportList(request);7} catch (error) {8 // handle error9}
Response fields and example
beacon_reports
id
beacon_user_id
created_at
date-time
type
first_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
, unknown
fraud_date
date
event_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
value
1.23
).double
audit_trail
source
dashboard
- 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_import
dashboard_user_id
/dashboard_user/get
.timestamp
date-time
next_cursor
request_id
1{2 "beacon_reports": [3 {4 "id": "becrpt_11111111111111",5 "beacon_user_id": "becusr_42cF1MNo42r9Xj",6 "created_at": "2020-07-24T03:26:02Z",7 "type": "first_party",8 "fraud_date": "1990-05-29",9 "event_date": "1990-05-29",10 "fraud_amount": {11 "iso_currency_code": "USD",12 "value": 10013 },14 "audit_trail": {15 "source": "dashboard",16 "dashboard_user_id": "54350110fedcbaf01234ffee",17 "timestamp": "2020-07-24T03:26:02Z"18 }19 }20 ],21 "next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",22 "request_id": "saKrIBuEB9qJZng"23}
Was this helpful?
/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.
beacon/report_syndication/getbeacon_report _syndication_id
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconReportSyndicationGetRequest = {2 beacon_report_syndication_id: 'becrsn_11111111111111',3};4
5try {6 const response = await plaidClient.beaconReportSyndicationGet(request);7} catch (error) {8 // handle error9}
Response fields and example
id
report
The
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.id
created_at
date-time
type
first_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
, unknown
fraud_date
date
event_date
date
analysis
address
match
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_data
date_of_birth
match
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_data
email_address
match
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_data
name
match
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_data
id_number
match
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_data
ip_address
match
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_data
phone_number
match
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_data
depository_accounts
account_mask
routing_number
match_status
match
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_data
request_id
1{2 "id": "becrsn_11111111111111",3 "report": {4 "id": "becrpt_11111111111111",5 "created_at": "2020-07-24T03:26:02Z",6 "type": "first_party",7 "fraud_date": "1990-05-29",8 "event_date": "1990-05-29"9 },10 "analysis": {11 "address": "match",12 "date_of_birth": "match",13 "email_address": "match",14 "name": "match",15 "id_number": "match",16 "ip_address": "match",17 "phone_number": "match",18 "depository_accounts": [19 {20 "account_mask": "4000",21 "routing_number": "021000021",22 "match_status": "match"23 }24 ]25 },26 "request_id": "saKrIBuEB9qJZng"27}
Was this helpful?
/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.
beacon_user_id
cursor
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconReportSyndicationListRequest = {2 beacon_user_id: 'becusr_11111111111111',3};4
5try {6 const response = await plaidClient.beaconReportSyndicationList(request);7} catch (error) {8 // handle error9}
Response fields and example
beacon_report _syndications
id
report
The
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.id
created_at
date-time
type
first_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
, unknown
fraud_date
date
event_date
date
analysis
address
match
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_data
date_of_birth
match
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_data
email_address
match
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_data
name
match
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_data
id_number
match
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_data
ip_address
match
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_data
phone_number
match
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_data
depository_accounts
account_mask
routing_number
match_status
match
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_data
next_cursor
request_id
1{2 "beacon_report_syndications": [3 {4 "id": "becrsn_11111111111111",5 "report": {6 "id": "becrpt_11111111111111",7 "created_at": "2020-07-24T03:26:02Z",8 "type": "first_party",9 "fraud_date": "1990-05-29",10 "event_date": "1990-05-29"11 },12 "analysis": {13 "address": "match",14 "date_of_birth": "match",15 "email_address": "match",16 "name": "match",17 "id_number": "match",18 "ip_address": "match",19 "phone_number": "match",20 "depository_accounts": [21 {22 "account_mask": "4000",23 "routing_number": "021000021",24 "match_status": "match"25 }26 ]27 }28 }29 ],30 "next_cursor": "eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM",31 "request_id": "saKrIBuEB9qJZng"32}
Was this helpful?
/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
.
beacon_duplicate_id
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.1const request: BeaconDuplicateGetRequest = {2 beacon_duplicate_id: 'becdup_11111111111111',3};4
5try {6 const response = await plaidClient.beaconDuplicateGet(request);7} catch (error) {8 // handle error9}
Response fields and example
id
beacon_user1
beacon_user2
analysis
address
match
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_data
date_of_birth
match
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_data
email_address
match
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_data
name
match
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_data
id_number
match
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_data
ip_address
match
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_data
phone_number
match
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_data
request_id
1{2 "id": "becdup_11111111111111",3 "beacon_user1": {4 "id": "becusr_42cF1MNo42r9Xj",5 "version": 16 },7 "beacon_user2": {8 "id": "becusr_42cF1MNo42r9Xj",9 "version": 110 },11 "analysis": {12 "address": "match",13 "date_of_birth": "match",14 "email_address": "match",15 "name": "match",16 "id_number": "match",17 "ip_address": "match",18 "phone_number": "match"19 },20 "request_id": "saKrIBuEB9qJZng"21}
Was this helpful?
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.
webhook_type
BEACON
webhook_code
USER_STATUS_UPDATED
beacon_user_id
environment
sandbox
, production
1{2 "webhook_type": "BEACON",3 "webhook_code": "USER_STATUS_UPDATED",4 "beacon_user_id": "becusr_4WciCrtbxF76T8",5 "environment": "production"6}
Was this helpful?
REPORT_CREATED
Fired when one of your Beacon Users is first reported to the Beacon network.
webhook_type
BEACON
webhook_code
REPORT_CREATED
beacon_report_id
environment
sandbox
, production
1{2 "webhook_type": "BEACON",3 "webhook_code": "REPORT_CREATED",4 "beacon_report_id": "becrpt_2zugxV6hWQZG91",5 "environment": "production"6}
Was this helpful?
REPORT_UPDATED
Fired when one of your existing Beacon Reports has been modified or removed from the Beacon Network.
webhook_type
BEACON
webhook_code
REPORT_UPDATED
beacon_report_id
environment
sandbox
, production
1{2 "webhook_type": "BEACON",3 "webhook_code": "REPORT_UPDATED",4 "beacon_report_id": "becrpt_2zugxV6hWQZG91",5 "environment": "production"6}
Was this helpful?
REPORT_SYNDICATION_CREATED
Fired when a report created on the Beacon Network matches with one of your Beacon Users.
webhook_type
BEACON
webhook_code
REPORT_SYNDICATION_CREATED
beacon_report _syndication_id
environment
sandbox
, production
1{2 "webhook_type": "BEACON",3 "webhook_code": "REPORT_SYNDICATION_CREATED",4 "beacon_report_syndication_id": "becrsn_eZPgiiv3JH8rfT",5 "environment": "production"6}
Was this helpful?
DUPLICATE_DETECTED
Fired when a Beacon User created within your organization matches one of your existing users.
webhook_type
BEACON
webhook_code
DUPLICATE_DETECTED
beacon_duplicate_id
environment
sandbox
, production
1{2 "webhook_type": "BEACON",3 "webhook_code": "DUPLICATE_DETECTED",4 "beacon_duplicate_id": "becdup_erJcFn97r9sugZ",5 "environment": "production"6}