Beacon
API reference for Beacon endpoints
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/report/create | Create a fraud report for a given Beacon User |
/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 and example
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
.1
user
date_of_birth
date
name
given_name
family_name
address
street
street2
city
region
postal_code
country
2
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
report
type
first_party
: If this is the same individual as the one who submitted the KYC.third_party
: 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
, third_party
, synthetic
, account_takeover
, unknown
fraud_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
3
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: BeaconUserCreateRequest = {2 program_id: 'becprg_11111111111111',3 client_user_id: 'user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d',4 user: {5 email_address: 'user@example.com',6 date_of_birth: '1975-01-18',7 name: {8 given_name: 'Leslie',9 family_name: 'Knope',10 },11 address: {12 street: '123 Main St.',13 street2: 'Unit 42',14 city: 'Pawnee',15 region: 'IN',16 postal_code: '46001',17 country: 'US',18 },19 },20 report: {21 type: 'first_party',22 fraud_date: '1990-05-29',23 },24};2526try {27 const response = await plaidClient.beaconUserCreate(request);28 console.log(response.status.value);29} catch (error) {30 // handle error31}
Response fields and example
id
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
.1
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
2
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
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
request_id
1{2 "id": "becusr_11111111111111",3 "created_at": "2020-07-24T03:26:02Z",4 "updated_at": "2020-07-24T03:26:02Z",5 "status": "cleared",6 "program_id": "becprg_11111111111111",7 "client_user_id": "your-db-id-3b24110",8 "user": {9 "date_of_birth": "1990-05-29",10 "name": {11 "given_name": "Leslie",12 "family_name": "Knope"13 },14 "address": {15 "street": "123 Main St.",16 "street2": "Unit 42",17 "city": "Pawnee",18 "region": "IN",19 "postal_code": "46001",20 "country": "US"21 },22 "email_address": "user@example.com",23 "phone_number": "+19876543212",24 "id_number": {25 "value": "123456789",26 "type": "us_ssn"27 },28 "ip_address": "192.0.2.42"29 },30 "audit_trail": {31 "source": "dashboard",32 "dashboard_user_id": "54350110fedcbaf01234ffee"33 },34 "request_id": "saKrIBuEB9qJZng"35}
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.
Request fields and example
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};45try {6 const response = await plaidClient.beaconUserGet(request);7} catch (error) {8 // handle error9}
Response fields and example
id
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
.1
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
2
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
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
request_id
1{2 "id": "becusr_11111111111111",3 "created_at": "2020-07-24T03:26:02Z",4 "updated_at": "2020-07-24T03:26:02Z",5 "status": "cleared",6 "program_id": "becprg_11111111111111",7 "client_user_id": "your-db-id-3b24110",8 "user": {9 "date_of_birth": "1990-05-29",10 "name": {11 "given_name": "Leslie",12 "family_name": "Knope"13 },14 "address": {15 "street": "123 Main St.",16 "street2": "Unit 42",17 "city": "Pawnee",18 "region": "IN",19 "postal_code": "46001",20 "country": "US"21 },22 "email_address": "user@example.com",23 "phone_number": "+19876543212",24 "id_number": {25 "value": "123456789",26 "type": "us_ssn"27 },28 "ip_address": "192.0.2.42"29 },30 "audit_trail": {31 "source": "dashboard",32 "dashboard_user_id": "54350110fedcbaf01234ffee"33 },34 "request_id": "saKrIBuEB9qJZng"35}
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.
Note: If you are creating users with the express purpose of providing historical fraud data, you should use the /beacon/user/create
endpoint instead and embed the fraud report in the request. This will ensure that the Beacon User you create will not be subject to any billing costs.
Request fields and example
beacon_user_id
type
first_party
: If this is the same individual as the one who submitted the KYC.third_party
: 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
, third_party
, synthetic
, account_takeover
, unknown
fraud_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
3
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};67try {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.third_party
: 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
, third_party
, synthetic
, account_takeover
, unknown
fraud_date
date
fraud_amount
fraud_amount
should be omitted to indicate an unknown fraud amount.iso_currency_code
USD
3
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
request_id
1{2 "id": "becrpt_11111111111111",3 "beacon_user_id": "becusr_11111111111111",4 "created_at": "2020-07-24T03:26:02Z",5 "type": "first_party",6 "fraud_date": "1990-05-29",7 "fraud_amount": {8 "iso_currency_code": "USD",9 "value": 10010 },11 "audit_trail": {12 "source": "dashboard",13 "dashboard_user_id": "54350110fedcbaf01234ffee"14 },15 "request_id": "saKrIBuEB9qJZng"16}