Business User Events

Create a Business User Event

POST

POST Business User Events

/events/business/user endpoint allows you to operate on the Business User Events entity.

User events are created after the initial POST /business/users call (which creates a user) and are used to:

  • Update the STATE and KYC Status of the user, using the userStateDetails or kycStatusDetails field
  • Update the user details, using the updatedBusinessUserAttributes field.

If you have neither of the above two use cases, you do not need to use user events.

Payload

Each user event needs three mandatory fields:

  • timestamp- the timestamp of when the event was created or occured in your system
  • userId - The ID of the transaction for which this event is generated.

In order to make individual events retrievable, you also need to pass in a unique eventId to the request body.

Query parameters

allowUserTypeConversionenumOptional
Boolean string whether Flagright should allow a Business user event to be applied to a Consumer user with the same user ID. This will converts a Consumer user to a Business user.
Allowed values: truefalse

Request

This endpoint expects an object.
timestamp
doubleRequired
Timestamp of the event
userId
stringRequired
Transaction ID the event pertains to
eventId
stringOptional
Unique event ID
reason
stringOptional
Reason for the event or a state change
eventDescription
stringOptional
Event description
updatedBusinessUserAttributes
objectOptional
Model for a business user - optional fields

Response

This endpoint returns an object
createdTimestamp
double
Timestamp when the user was created
legalEntity
object
Model for business user legal entity details
userId
string
Unique user ID for the user
acquisitionChannel
enumOptional
Model for User acquisition channel
allowedPaymentMethods
list of enumsOptional
directors
list of objectsOptional
Director(s) of the company. Must be at least one
executedRules
list of objectsOptional
Model for list of executed rules
hitRules
list of objectsOptional
Model for list of hit rules
kycStatusDetails
objectOptional
linkedEntities
objectOptional
mccDetails
objectOptional
riskLevel
enumOptional
Allowed values: VERY_HIGHHIGHMEDIUMLOWVERY_LOW
riskScoreDetails
objectOptional
savedPaymentDetails
list of unionsOptional
shareHolders
list of objectsOptional
Shareholders (beneficiaries) of the company that hold at least 25% ownership. Can be another company or an individual
tags
list of objectsOptional
Additional information that can be added via tags
transactionLimits
objectOptional
Model for transaction limits for a given user
userStateDetails
objectOptional

Errors

POST
1curl -X POST https://sandbox.api.flagright.com/events/business/user \
2 -H "x-api-key: <apiKey>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "timestamp": 1.1,
6 "userId": "userId"
7}'
1{
2 "createdTimestamp": 1.1,
3 "legalEntity": {
4 "companyGeneralDetails": {
5 "legalName": "Ozkan Hazelnut Export JSC",
6 "businessIndustry": [
7 "Farming"
8 ],
9 "mainProductsServicesSold": [
10 "Hazelnut"
11 ],
12 "userSegment": "SOLE_PROPRIETORSHIP",
13 "userRegistrationStatus": "REGISTERED",
14 "tags": [
15 {
16 "key": "customKey",
17 "value": "customValue"
18 }
19 ]
20 },
21 "companyFinancialDetails": {
22 "expectedTransactionAmountPerMonth": {
23 "amountValue": 800,
24 "amountCurrency": "GBP"
25 },
26 "expectedTurnoverPerMonth": {
27 "amountValue": 8000,
28 "amountCurrency": "USD"
29 },
30 "tags": [
31 {
32 "key": "customKey",
33 "value": "customValue"
34 }
35 ]
36 },
37 "companyRegistrationDetails": {
38 "registrationIdentifier": "PSJ554342",
39 "registrationCountry": "DE",
40 "taxIdentifier": "taxIdentifier",
41 "legalEntityType": "legalEntityType",
42 "dateOfRegistration": "dateOfRegistration",
43 "tags": [
44 {
45 "key": "customKey",
46 "value": "customValue"
47 }
48 ]
49 },
50 "reasonForAccountOpening": [
51 "reasonForAccountOpening"
52 ],
53 "sourceOfFunds": [
54 "Earnings"
55 ],
56 "contactDetails": {
57 "emailIds": [
58 "emailIds"
59 ],
60 "contactNumbers": [
61 "contactNumbers"
62 ],
63 "faxNumbers": [
64 "faxNumbers"
65 ],
66 "websites": [
67 "websites"
68 ],
69 "addresses": [
70 {
71 "addressLines": [
72 "Klara-Franke Str 20"
73 ],
74 "city": "Berlin",
75 "country": "Germany",
76 "postcode": "10557",
77 "state": "Berlin",
78 "tags": [
79 {
80 "key": "customKey",
81 "value": "customValue"
82 }
83 ]
84 }
85 ]
86 }
87 },
88 "userId": "userId",
89 "acquisitionChannel": "ORGANIC",
90 "allowedPaymentMethods": [
91 "ACH"
92 ],
93 "directors": [
94 {
95 "generalDetails": {
96 "name": {
97 "firstName": "Baran",
98 "middleName": "Realblood",
99 "lastName": "Ozkan"
100 },
101 "dateOfBirth": "1991-01-01",
102 "countryOfResidence": "US",
103 "countryOfNationality": "DE"
104 },
105 "legalDocuments": [
106 {
107 "documentType": "passport",
108 "documentNumber": "Z9431P",
109 "documentIssuedCountry": "DE",
110 "documentIssuedDate": 1639939034000,
111 "documentExpirationDate": 1839939034000,
112 "tags": [
113 {
114 "key": "customerType",
115 "value": "wallet"
116 }
117 ],
118 "nameOnDocument": {
119 "firstName": "Baran",
120 "middleName": "Realblood",
121 "lastName": "Ozkan"
122 }
123 }
124 ],
125 "contactDetails": {
126 "emailIds": [
127 "baran@flagright.com"
128 ],
129 "contactNumbers": [
130 "+371 123132"
131 ],
132 "websites": [
133 "flagright.com"
134 ],
135 "addresses": [
136 {
137 "addressLines": [
138 "Klara-Franke Str 20"
139 ],
140 "city": "Berlin",
141 "country": "Germany",
142 "postcode": "10557",
143 "state": "Berlin",
144 "tags": [
145 {
146 "key": "customKey",
147 "value": "customValue"
148 }
149 ]
150 }
151 ]
152 },
153 "pepStatus": [
154 {
155 "isPepHit": true
156 }
157 ],
158 "tags": [
159 {
160 "key": "customKey",
161 "value": "customValue"
162 }
163 ]
164 }
165 ],
166 "executedRules": [
167 {
168 "ruleInstanceId": "ruleInstanceId",
169 "ruleName": "Proof of funds for high value transactions",
170 "ruleDescription": "If a user makes a remittance transaction >= 1800 in EUR - ask for proof of funds",
171 "ruleAction": "BLOCK",
172 "ruleHit": true,
173 "ruleId": "R-1a",
174 "vars": [
175 {
176 "value": {}
177 }
178 ],
179 "labels": [
180 "UNEXPECTED_BEHAVIOR"
181 ],
182 "nature": "AML",
183 "isShadow": true
184 }
185 ],
186 "hitRules": [
187 {
188 "ruleInstanceId": "ruleInstanceId",
189 "ruleName": "Proof of funds for high value transactions",
190 "ruleDescription": "If a user makes a remittance transaction >= 1800 in EUR - ask for proof of funds",
191 "ruleAction": "BLOCK",
192 "ruleId": "R-1a",
193 "labels": [
194 "UNEXPECTED_BEHAVIOR"
195 ],
196 "nature": "FRAUD",
197 "isShadow": true
198 }
199 ],
200 "kycStatusDetails": {
201 "reason": "reason",
202 "status": "SUCCESSFUL",
203 "userId": "userId"
204 },
205 "linkedEntities": {
206 "parentUserId": "parentUserId",
207 "childUserIds": [
208 "childUserIds"
209 ]
210 },
211 "mccDetails": {
212 "code": 1.1,
213 "description": "description"
214 },
215 "riskLevel": "VERY_HIGH",
216 "riskScoreDetails": {
217 "kycRiskScore": 1.1,
218 "craRiskScore": 1.1,
219 "kycRiskLevel": "VERY_HIGH",
220 "craRiskLevel": "VERY_HIGH"
221 },
222 "shareHolders": [
223 {
224 "generalDetails": {
225 "name": {
226 "firstName": "Baran",
227 "middleName": "Realblood",
228 "lastName": "Ozkan"
229 },
230 "dateOfBirth": "1991-01-01",
231 "countryOfResidence": "US",
232 "countryOfNationality": "DE"
233 },
234 "legalDocuments": [
235 {
236 "documentType": "passport",
237 "documentNumber": "Z9431P",
238 "documentIssuedCountry": "DE",
239 "documentIssuedDate": 1639939034000,
240 "documentExpirationDate": 1839939034000,
241 "tags": [
242 {
243 "key": "customerType",
244 "value": "wallet"
245 }
246 ],
247 "nameOnDocument": {
248 "firstName": "Baran",
249 "middleName": "Realblood",
250 "lastName": "Ozkan"
251 }
252 }
253 ],
254 "contactDetails": {
255 "emailIds": [
256 "baran@flagright.com"
257 ],
258 "contactNumbers": [
259 "+371 123132"
260 ],
261 "websites": [
262 "flagright.com"
263 ],
264 "addresses": [
265 {
266 "addressLines": [
267 "Klara-Franke Str 20"
268 ],
269 "city": "Berlin",
270 "country": "Germany",
271 "postcode": "10557",
272 "state": "Berlin",
273 "tags": [
274 {
275 "key": "customKey",
276 "value": "customValue"
277 }
278 ]
279 }
280 ]
281 },
282 "pepStatus": [
283 {
284 "isPepHit": true
285 }
286 ],
287 "tags": [
288 {
289 "key": "customKey",
290 "value": "customValue"
291 }
292 ]
293 }
294 ],
295 "tags": [
296 {
297 "key": "customKey",
298 "value": "customValue"
299 }
300 ],
301 "transactionLimits": {
302 "maximumDailyTransactionLimit": {
303 "amountValue": 800,
304 "amountCurrency": "GBP"
305 },
306 "maximumWeeklyTransactionLimit": {
307 "amountValue": 800,
308 "amountCurrency": "GBP"
309 },
310 "maximumMonthlyTransactionLimit": {
311 "amountValue": 800,
312 "amountCurrency": "GBP"
313 },
314 "maximumQuarterlyTransactionLimit": {
315 "amountValue": 800,
316 "amountCurrency": "GBP"
317 },
318 "maximumTransactionLimit": {
319 "amountValue": 800,
320 "amountCurrency": "GBP"
321 },
322 "maximumYearlyTransactionLimit": {
323 "amountValue": 800,
324 "amountCurrency": "GBP"
325 }
326 },
327 "userStateDetails": {
328 "state": "UNACCEPTABLE",
329 "userId": "userId",
330 "reason": "reason"
331 }
332}