@fill-easy/api 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/openapi.d.ts +691 -91
  2. package/package.json +1 -1
package/dist/openapi.d.ts CHANGED
@@ -54,7 +54,6 @@ export interface paths {
54
54
  * - Browser: Must be an HTTPS URL registered with iAM Smart
55
55
  * - Mobile: Must be a universal link or custom scheme (e.g., `your-app://auth`)
56
56
  * that your mobile app can handle
57
- *
58
57
  */
59
58
  post: operations["iamSmartAuthentication"];
60
59
  delete?: never;
@@ -96,7 +95,6 @@ export interface paths {
96
95
  *
97
96
  * The `formFields` array specifies which detail fields to request from the user.
98
97
  * All requested fields will be displayed to the user in their iAM Smart app for approval.
99
- *
100
98
  */
101
99
  post: operations["iamSmartFormFilling"];
102
100
  delete?: never;
@@ -133,7 +131,6 @@ export interface paths {
133
131
  * - Must be a SHA-256 hash of the document content
134
132
  * - Must be exactly 64 hexadecimal characters
135
133
  * - Use SHA256withRSA signature algorithm (default)
136
- *
137
134
  */
138
135
  post: operations["iamSmartHashSigning"];
139
136
  delete?: never;
@@ -170,7 +167,6 @@ export interface paths {
170
167
  * - Must be a base64-encoded hash of the PDF file
171
168
  * - The signed PDF will be returned with the signature embedded
172
169
  * - PDF signature will be visible in PDF readers that support digital signatures
173
- *
174
170
  */
175
171
  post: operations["iamSmartPdfSigning"];
176
172
  delete?: never;
@@ -208,7 +204,6 @@ export interface paths {
208
204
  * - Verify user identity before sensitive operations
209
205
  * - Refresh user authentication for extended sessions
210
206
  * - Comply with security policies requiring periodic re-verification
211
- *
212
207
  */
213
208
  post: operations["iamSmartReauthentication"];
214
209
  delete?: never;
@@ -259,7 +254,6 @@ export interface paths {
259
254
  * If you request overlapping fields in both `profileFields` and `formData.formFields`,
260
255
  * the `profileFields` takes precedence. You must display a consent page per iAM Smart
261
256
  * UI/UX requirements when using profile fields.
262
- *
263
257
  */
264
258
  post: operations["iamSmartAnonFormFilling"];
265
259
  delete?: never;
@@ -292,7 +286,6 @@ export interface paths {
292
286
  *
293
287
  * - Must be a SHA-256 hash of the document content
294
288
  * - Must be exactly 64 hexadecimal characters
295
- *
296
289
  */
297
290
  post: operations["iamSmartAnonHashSigning"];
298
291
  delete?: never;
@@ -318,7 +311,6 @@ export interface paths {
318
311
  *
319
312
  *
320
313
  * **Use the temporary token** with the polling endpoint to retrieve the signed document once the user completes the signing process.
321
- *
322
314
  */
323
315
  post: operations["iamSmartAnonPdfSigning"];
324
316
  delete?: never;
@@ -347,7 +339,6 @@ export interface paths {
347
339
  * @description This endpoint is called by iAM Smart government servers to deliver
348
340
  * the encrypted results of user authentication, form filling, or signing requests.
349
341
  * The content is encrypted and must be decrypted using the CEK (Content Encryption Key).
350
- *
351
342
  */
352
343
  post: operations["govCallback"];
353
344
  delete?: never;
@@ -374,7 +365,6 @@ export interface paths {
374
365
  * @description iAM Smart redirects the user to this endpoint after completing the authentication
375
366
  * or service request flow. It processes the authorization code or error from
376
367
  * iAM Smart and again redirects to the client's specified redirect URL.
377
- *
378
368
  */
379
369
  get: operations["iamSmartRedirect"];
380
370
  put?: never;
@@ -692,7 +682,6 @@ export interface paths {
692
682
  *
693
683
  * **Note:** The redirect is **UX-only**; you still need to call `/ocr/poll` with the
694
684
  * returned `token` to obtain the authoritative decision.
695
- *
696
685
  */
697
686
  post: operations["request1"];
698
687
  delete?: never;
@@ -729,7 +718,6 @@ export interface paths {
729
718
  *
730
719
  *
731
720
  * **Terminal states:** `Success`, `Failure`, or `Void\*`.
732
- *
733
721
  */
734
722
  post: operations["ocrPoll"];
735
723
  delete?: never;
@@ -738,6 +726,147 @@ export interface paths {
738
726
  patch?: never;
739
727
  trace?: never;
740
728
  };
729
+ "/kyc/cn/identity": {
730
+ parameters: {
731
+ query?: never;
732
+ header?: never;
733
+ path?: never;
734
+ cookie?: never;
735
+ };
736
+ get?: never;
737
+ put?: never;
738
+ /**
739
+ * Verify Chinese Citizen Identity
740
+ * @description Verify a Chinese citizen's identity by checking their name and ID number against government records.
741
+ *
742
+ * Choose a verification type based on your requirements:
743
+ * - **two-factor**: Basic verification using name and ID number
744
+ * - **four-factor**: Enhanced verification including ID card validity dates
745
+ * - **image**: Biometric verification with facial photo comparison
746
+ */
747
+ post: operations["kycCnIdentity"];
748
+ delete?: never;
749
+ options?: never;
750
+ head?: never;
751
+ patch?: never;
752
+ trace?: never;
753
+ };
754
+ "/kyc/cn/location": {
755
+ parameters: {
756
+ query?: never;
757
+ header?: never;
758
+ path?: never;
759
+ cookie?: never;
760
+ };
761
+ get?: never;
762
+ put?: never;
763
+ /**
764
+ * Verify Location by Mobile Number
765
+ * @description Verify a person's location or query their city based on mobile phone activity data.
766
+ *
767
+ * **Operations:**
768
+ * - **verify**: Check the distance between a mobile user's location and a specified address
769
+ * - **query**: Retrieve the city where the mobile user has been active (work or residential only)
770
+ *
771
+ * **Location Types:**
772
+ * - `1`: Common location — area with highest mobile activity (verify only)
773
+ * - `2`: Work location — activity during 7:00-19:00 on weekdays (verify and query)
774
+ * - `3`: Residential location — activity during 21:00-07:00 (verify and query)
775
+ */
776
+ post: operations["kycCnLocation"];
777
+ delete?: never;
778
+ options?: never;
779
+ head?: never;
780
+ patch?: never;
781
+ trace?: never;
782
+ };
783
+ "/kyc/cn/operator": {
784
+ parameters: {
785
+ query?: never;
786
+ header?: never;
787
+ path?: never;
788
+ cookie?: never;
789
+ };
790
+ get?: never;
791
+ put?: never;
792
+ /**
793
+ * Verify Mobile Operator Registration
794
+ * @description Verify mobile phone number registration details or check if the number is registered to a specific person.
795
+ *
796
+ * **Verification Types:**
797
+ * - **attribution**: Get the carrier, province, and city for a mobile number
798
+ * - **name-check**: Verify if the mobile number is registered to a specific name
799
+ * - **id-check**: Verify if the mobile number is registered to a specific ID number
800
+ * - **three-factor**: Verify if mobile, name, and ID number all match the same person
801
+ */
802
+ post: operations["kycCnOperator"];
803
+ delete?: never;
804
+ options?: never;
805
+ head?: never;
806
+ patch?: never;
807
+ trace?: never;
808
+ };
809
+ "/kyc/cn/anti-fraud": {
810
+ parameters: {
811
+ query?: never;
812
+ header?: never;
813
+ path?: never;
814
+ cookie?: never;
815
+ };
816
+ get?: never;
817
+ put?: never;
818
+ /**
819
+ * Anti-Fraud Risk Assessment
820
+ * @description Assess fraud and gambling risk based on mobile number or ID number.
821
+ *
822
+ * **Risk Levels:**
823
+ * - `0`: No risk detected
824
+ * - `1`: Low risk
825
+ * - `2`: Medium risk
826
+ * - `3`: High risk
827
+ *
828
+ * **Risk Types:**
829
+ * - `1`: Fraud
830
+ * - `2`: Gambling House (Dealer)
831
+ * - `4`: Gambling Player
832
+ * - `8`: Suspected gambling/fraud runner (money mule)
833
+ */
834
+ post: operations["kycCnAntiFraud"];
835
+ delete?: never;
836
+ options?: never;
837
+ head?: never;
838
+ patch?: never;
839
+ trace?: never;
840
+ };
841
+ "/kyc/cn/police": {
842
+ parameters: {
843
+ query?: never;
844
+ header?: never;
845
+ path?: never;
846
+ cookie?: never;
847
+ };
848
+ get?: never;
849
+ put?: never;
850
+ /**
851
+ * Police Blacklist Check
852
+ * @description Check if a person is on the public security blacklist and retrieve detailed police records.
853
+ *
854
+ * Returns information about:
855
+ * - Criminal offenses
856
+ * - Civil cases
857
+ * - Drug-related records
858
+ * - Fugitive status
859
+ * - Monitoring status
860
+ * - Terrorism-related records
861
+ * - Public order concerns
862
+ */
863
+ post: operations["kycCnPolice"];
864
+ delete?: never;
865
+ options?: never;
866
+ head?: never;
867
+ patch?: never;
868
+ trace?: never;
869
+ };
741
870
  "/cra/request": {
742
871
  parameters: {
743
872
  query?: never;
@@ -771,7 +900,6 @@ export interface paths {
771
900
  *
772
901
  * In any case, the endpoint returns a JWT token that should be used with the
773
902
  * `/cra/poll` endpoint to retrieve the document when ready.
774
- *
775
903
  */
776
904
  post: operations["craRequest"];
777
905
  delete?: never;
@@ -802,7 +930,6 @@ export interface paths {
802
930
  *
803
931
  * Once the report is ready, the endpoint will bill the service and return
804
932
  * a presigned URL valid for 1 hour to download the PDF document.
805
- *
806
933
  */
807
934
  post: operations["craPoll"];
808
935
  delete?: never;
@@ -838,7 +965,6 @@ export interface paths {
838
965
  * Tokenized search (e.g. searching "PLE" will not result in "APPLE"): AU, SG
839
966
  * Left partial search: HK
840
967
  * Partial name search: US
841
- *
842
968
  */
843
969
  post: operations["searchCompanies"];
844
970
  delete?: never;
@@ -870,7 +996,6 @@ export interface paths {
870
996
  * Document categories include: Annual Return, Director / Secretary
871
997
  * Changes, Charges Filed, Incorporation & Name Change, Liquidation &
872
998
  * Deregistration, Registered Office / Address, Share Capital, and Other.
873
- *
874
999
  */
875
1000
  post: operations["searchDocuments"];
876
1001
  delete?: never;
@@ -901,7 +1026,6 @@ export interface paths {
901
1026
  * and other available details such as entity type, registration address, and remarks where
902
1027
  * applicable. The exact fields returned may vary depending on the data provided by each
903
1028
  * country’s registry.
904
- *
905
1029
  */
906
1030
  post: operations["searchCompany"];
907
1031
  delete?: never;
@@ -1096,13 +1220,11 @@ export interface components {
1096
1220
  * Requested scope of authorization based on available services.
1097
1221
  * Multiple scopes should be space-separated. Valid scopes are:
1098
1222
  * eidapi_auth, eidapi_profiles, eidapi_formFilling, eidapi_sign, eidapi_fr, eidapi_bulksign
1099
- *
1100
1223
  * @example eidapi_auth eidapi_formFilling eidapi_sign
1101
1224
  */
1102
1225
  IamSmartScope: string;
1103
1226
  /**
1104
1227
  * @description iAM Smart App display language (case sensitive). Will default to 'en-US' if not specified
1105
- *
1106
1228
  * @default en-US
1107
1229
  * @enum {string}
1108
1230
  */
@@ -1113,7 +1235,6 @@ export interface components {
1113
1235
  * Browser: https URL to your website.
1114
1236
  *
1115
1237
  * Mobile: Universal link (your-app://) or app scheme.
1116
- *
1117
1238
  * @example https://www.yourwebsite.com/callback
1118
1239
  * @example com.filleasy.app
1119
1240
  */
@@ -1149,7 +1270,6 @@ export interface components {
1149
1270
  * @description Mandatorily obtain specific profile fields.
1150
1271
  * Note: You must display a consent page per iAM Smart UI/UX requirements when using these fields.
1151
1272
  * If fields overlap between `profileFields` and `formData.formFields`, `profileFields` takes precedence.
1152
- *
1153
1273
  * @example [
1154
1274
  * "idNo",
1155
1275
  * "enName",
@@ -1175,7 +1295,6 @@ export interface components {
1175
1295
  * For Hong Kong: Business Registration Number (BRN) - an 8-digit number.
1176
1296
  * For Australia: Australian Company Number (ACN).
1177
1297
  * For Singapore: Unique Entity Number (UEN).
1178
- *
1179
1298
  * @example 72599839
1180
1299
  */
1181
1300
  companyId: string;
@@ -1185,7 +1304,6 @@ export interface components {
1185
1304
  * - "ACN" - Australian Company Number (Australia)
1186
1305
  * - "UEN" - Unique Entity Number (Singapore)
1187
1306
  * - "Unavailable" - When the country does not provide a company ID
1188
- *
1189
1307
  * @example BRN
1190
1308
  */
1191
1309
  idType: string;
@@ -1200,7 +1318,6 @@ export interface components {
1200
1318
  * @description Current active status of the company.
1201
1319
  * - "Live" - Company is currently active and in good standing
1202
1320
  * - "Dissolved" - Company has been dissolved/deregistered
1203
- *
1204
1321
  * @example Live
1205
1322
  * @enum {string}
1206
1323
  */
@@ -1209,27 +1326,13 @@ export interface components {
1209
1326
  * @description Indicates whether the returned name is the current or a previous name.
1210
1327
  * - "current" - This is the company's current registered name
1211
1328
  * - "old" - This is a previous/historical name of the company
1212
- *
1213
1329
  * @example current
1214
1330
  * @enum {string}
1215
1331
  */
1216
1332
  nameType?: "current" | "old";
1217
- /**
1218
- * @description Type of incorporation/registration based on Companies Ordinance (Cap. 622)
1219
- * @example Company Limited by Shares
1220
- * @enum {string}
1221
- */
1222
- incorporationType?: "Company Limited by Shares" | "Registered Non-Hong Kong Company" | "Company Limited by Guarantee" | "Unlimited Company" | "Registered Society/Organization" | "Open-ended Fund Company" | "Limited Partnership Fund" | "N/A";
1223
- /**
1224
- * @description Private vs Public company classification based on Companies Ordinance (Cap. 622)
1225
- * @example Private Company
1226
- * @enum {string}
1227
- */
1228
- entityCategory?: "Public Company" | "Private Company" | "N/A";
1229
1333
  /** @description Registered address of the company (when available) */
1230
1334
  address?: string;
1231
- };
1232
- CompanyBaseData: components["schemas"]["Company"] & {
1335
+ registrationDetails: components["schemas"]["registrationDetail"][];
1233
1336
  /**
1234
1337
  * Format: date
1235
1338
  * @description Date of dissolution (YYYY-MM-DD format, empty string if not dissolved)
@@ -1260,6 +1363,13 @@ export interface components {
1260
1363
  effectiveDate?: string;
1261
1364
  }[];
1262
1365
  };
1366
+ /**
1367
+ * @description Legal classification or entity type identifier.
1368
+ * Provides details about a company based on its incorporation structure (e.g., Limited by Shares) or its regulatory category (e.g., Private vs. Public) according to the relevant national companies legislation.
1369
+ * @example Private Company
1370
+ * @enum {string}
1371
+ */
1372
+ registrationDetail: "Company Limited by Shares" | "Registered Non-Hong Kong Company" | "Company Limited by Guarantee" | "Unlimited Company" | "Registered Society/Organization" | "Open-ended Fund Company" | "Limited Partnership Fund" | "Public Company" | "Private Company" | "Foreign Company" | "Foreign Company Branch" | "Registered Australian Corporation under non-Corporations Law" | "Company Limited by Both Shares and Guarantees" | "No Liability Company" | "Sole Proprietorship/ Partnership" | "Sole Proprietorship" | "Limited Liability Partnership" | "Limited Partnership" | "Unlimited Partnership" | "Local Company" | "Juristic Ordinary Partnership" | "Foreign Juristic Person" | "Joint Venture" | "Chamber of Commerce" | "N/A";
1263
1373
  };
1264
1374
  responses: {
1265
1375
  /** @description Unauthorized - Token is missing, invalid, or expired */
@@ -1339,9 +1449,10 @@ export interface operations {
1339
1449
  };
1340
1450
  };
1341
1451
  responses: {
1342
- /** @description Authentication request successfully initialized.
1452
+ /**
1453
+ * @description Authentication request successfully initialized.
1343
1454
  * Store the token for subsequent API calls.
1344
- * */
1455
+ */
1345
1456
  200: {
1346
1457
  headers: {
1347
1458
  [name: string]: unknown;
@@ -1354,7 +1465,6 @@ export interface operations {
1354
1465
  * Format: uri
1355
1466
  * @description Browser: URL to iAM Smart QR page for scanning.
1356
1467
  * Mobile: Universal link to launch iAM Smart app.
1357
- *
1358
1468
  * @example https://hk.gov.iamsmart.testapp://auth?clientID=...
1359
1469
  */
1360
1470
  url: string;
@@ -1385,9 +1495,10 @@ export interface operations {
1385
1495
  };
1386
1496
  };
1387
1497
  responses: {
1388
- /** @description Form filling request successfully initialized.
1498
+ /**
1499
+ * @description Form filling request successfully initialized.
1389
1500
  * Poll with the returned token to retrieve form data when ready.
1390
- * */
1501
+ */
1391
1502
  200: {
1392
1503
  headers: {
1393
1504
  [name: string]: unknown;
@@ -1441,9 +1552,10 @@ export interface operations {
1441
1552
  };
1442
1553
  };
1443
1554
  responses: {
1444
- /** @description Signing request successfully initialized.
1555
+ /**
1556
+ * @description Signing request successfully initialized.
1445
1557
  * Poll with the returned token to get signature results.
1446
- * */
1558
+ */
1447
1559
  200: {
1448
1560
  headers: {
1449
1561
  [name: string]: unknown;
@@ -1502,9 +1614,10 @@ export interface operations {
1502
1614
  };
1503
1615
  };
1504
1616
  responses: {
1505
- /** @description PDF signing request successfully initialized.
1617
+ /**
1618
+ * @description PDF signing request successfully initialized.
1506
1619
  * Poll with the returned token to retrieve signed PDF when ready.
1507
- * */
1620
+ */
1508
1621
  200: {
1509
1622
  headers: {
1510
1623
  [name: string]: unknown;
@@ -1543,9 +1656,10 @@ export interface operations {
1543
1656
  };
1544
1657
  };
1545
1658
  responses: {
1546
- /** @description Re-authentication request successfully initialized.
1659
+ /**
1660
+ * @description Re-authentication request successfully initialized.
1547
1661
  * Poll with the returned token to get re-authentication results.
1548
- * */
1662
+ */
1549
1663
  200: {
1550
1664
  headers: {
1551
1665
  [name: string]: unknown;
@@ -1607,9 +1721,10 @@ export interface operations {
1607
1721
  };
1608
1722
  };
1609
1723
  responses: {
1610
- /** @description Anonymous form filling request successfully initialized.
1724
+ /**
1725
+ * @description Anonymous form filling request successfully initialized.
1611
1726
  * Redirect user to the URL, then poll with the token to retrieve form data.
1612
- * */
1727
+ */
1613
1728
  200: {
1614
1729
  headers: {
1615
1730
  [name: string]: unknown;
@@ -1658,9 +1773,10 @@ export interface operations {
1658
1773
  };
1659
1774
  };
1660
1775
  responses: {
1661
- /** @description Anonymous signing request successfully initialized.
1776
+ /**
1777
+ * @description Anonymous signing request successfully initialized.
1662
1778
  * Redirect user to the URL, then poll with the token to retrieve signature.
1663
- * */
1779
+ */
1664
1780
  200: {
1665
1781
  headers: {
1666
1782
  [name: string]: unknown;
@@ -2141,9 +2257,11 @@ export interface operations {
2141
2257
  [name: string]: unknown;
2142
2258
  };
2143
2259
  content: {
2144
- /** @example {
2260
+ /**
2261
+ * @example {
2145
2262
  * "message": "Invalid request body"
2146
- * } */
2263
+ * }
2264
+ */
2147
2265
  "application/json": {
2148
2266
  /** @enum {string} */
2149
2267
  message?: "Invalid request body";
@@ -2156,9 +2274,11 @@ export interface operations {
2156
2274
  [name: string]: unknown;
2157
2275
  };
2158
2276
  content: {
2159
- /** @example {
2277
+ /**
2278
+ * @example {
2160
2279
  * "message": "Unauthorized"
2161
- * } */
2280
+ * }
2281
+ */
2162
2282
  "application/json": {
2163
2283
  /** @enum {string} */
2164
2284
  message?: "Unauthorized";
@@ -2274,7 +2394,6 @@ export interface operations {
2274
2394
  * Format: uri
2275
2395
  * @description Where to redirect the user **after success**.
2276
2396
  * Must be publicly reachable over **https**.
2277
- *
2278
2397
  * @example https://example.com/ocr/complete
2279
2398
  */
2280
2399
  completeCallbackUrl: string;
@@ -2282,7 +2401,6 @@ export interface operations {
2282
2401
  * Format: uri
2283
2402
  * @description Where to redirect the user if they **cancel/exit**.
2284
2403
  * Must be publicly reachable over **https**.
2285
- *
2286
2404
  * @example https://example.com/ocr/interrupt
2287
2405
  */
2288
2406
  interruptCallbackUrl: string;
@@ -2290,7 +2408,6 @@ export interface operations {
2290
2408
  * @description The identity document type to verify.
2291
2409
  * `00000001003` (Passport), `08520000002` (HKID New), `08520000001` (HKID Old).
2292
2410
  * Use the exact code for your target document.
2293
- *
2294
2411
  * @example 08520000002
2295
2412
  * @enum {string}
2296
2413
  */
@@ -2310,13 +2427,13 @@ export interface operations {
2310
2427
  * Format: uri
2311
2428
  * @description Launch URL to open on a mobile browser or in an in-app web view.
2312
2429
  * This URL contains the configuration for the H5 verification flow.
2313
- *
2314
2430
  * @example https://<cdn>/page/realid-fe/index.html?clientcfg=eyJ...
2315
2431
  */
2316
2432
  url: string;
2317
- /** @description JWT token carrying bizId and transactionId.
2433
+ /**
2434
+ * @description JWT token carrying bizId and transactionId.
2318
2435
  * Store this token to poll for verification results using `/ocr/poll`.
2319
- * */
2436
+ */
2320
2437
  token: components["schemas"]["Token"];
2321
2438
  };
2322
2439
  };
@@ -2537,6 +2654,511 @@ export interface operations {
2537
2654
  };
2538
2655
  };
2539
2656
  };
2657
+ kycCnIdentity: {
2658
+ parameters: {
2659
+ query?: never;
2660
+ header?: never;
2661
+ path?: never;
2662
+ cookie?: never;
2663
+ };
2664
+ requestBody: {
2665
+ content: {
2666
+ "application/json": {
2667
+ /**
2668
+ * @description The verification method to use:
2669
+ * - `two-factor`: Verify name matches ID number
2670
+ * - `four-factor`: Verify name, ID number, and ID card validity dates
2671
+ * - `image`: Verify name, ID number, and compare facial photo
2672
+ * @example two-factor
2673
+ * @enum {string}
2674
+ */
2675
+ type: "two-factor" | "four-factor" | "image";
2676
+ /**
2677
+ * @description Full legal name as it appears on the ID card (Chinese characters)
2678
+ * @example 李明
2679
+ */
2680
+ name: string;
2681
+ /**
2682
+ * @description 18-digit Chinese Resident Identity Card number
2683
+ * @example 110101199003076515
2684
+ */
2685
+ idNo: string;
2686
+ /**
2687
+ * @description ID card issue date in YYYYMMDD format.
2688
+ * **Required** when `type` is `four-factor`.
2689
+ * @example 20200315
2690
+ */
2691
+ frDate?: string;
2692
+ /**
2693
+ * @description ID card expiry date in YYYYMMDD format, or "长期" for permanent validity.
2694
+ * **Required** when `type` is `four-factor`.
2695
+ * @example 20400315
2696
+ */
2697
+ toDate?: string;
2698
+ /**
2699
+ * @description Base64-encoded facial photograph for biometric comparison.
2700
+ * **Required** when `type` is `image`.
2701
+ * Supported formats: JPEG, PNG. Recommended size: 300x400 pixels minimum.
2702
+ */
2703
+ img?: string;
2704
+ };
2705
+ };
2706
+ };
2707
+ responses: {
2708
+ /** @description Identity verification completed */
2709
+ 200: {
2710
+ headers: {
2711
+ [name: string]: unknown;
2712
+ };
2713
+ content: {
2714
+ "application/json": {
2715
+ /**
2716
+ * @description Whether the verification request was processed successfully
2717
+ * @example true
2718
+ */
2719
+ success: boolean;
2720
+ /**
2721
+ * @description Whether the provided information matches government records.
2722
+ * - `true`: Information matches
2723
+ * - `false`: Information does not match
2724
+ * - `null`: Unable to verify (no records found)
2725
+ * @example true
2726
+ */
2727
+ consistent?: boolean | null;
2728
+ /**
2729
+ * @description Raw verification result code ("1" = match, "-1" = no match)
2730
+ * @example 1
2731
+ */
2732
+ checkResult?: string;
2733
+ /**
2734
+ * @description Human-readable description of the verification result
2735
+ * @example Identity information matches
2736
+ */
2737
+ message: string;
2738
+ };
2739
+ };
2740
+ };
2741
+ /** @description Invalid request parameters */
2742
+ 400: {
2743
+ headers: {
2744
+ [name: string]: unknown;
2745
+ };
2746
+ content?: never;
2747
+ };
2748
+ /** @description Upstream verification service error */
2749
+ 502: {
2750
+ headers: {
2751
+ [name: string]: unknown;
2752
+ };
2753
+ content?: never;
2754
+ };
2755
+ };
2756
+ };
2757
+ kycCnLocation: {
2758
+ parameters: {
2759
+ query?: never;
2760
+ header?: never;
2761
+ path?: never;
2762
+ cookie?: never;
2763
+ };
2764
+ requestBody: {
2765
+ content: {
2766
+ "application/json": {
2767
+ /**
2768
+ * @description Operation type:
2769
+ * - `verify`: Check distance between mobile location and a specified address
2770
+ * - `query`: Get the city where the user is located
2771
+ * @example verify
2772
+ * @enum {string}
2773
+ */
2774
+ operation: "verify" | "query";
2775
+ /**
2776
+ * @description 11-digit Chinese mobile phone number
2777
+ * @example 13912345678
2778
+ */
2779
+ mobile: string;
2780
+ /**
2781
+ * @description Location category to check:
2782
+ * - `1`: Common location (highest activity) - **verify only**
2783
+ * - `2`: Work location (7:00-19:00 weekdays) - verify and query
2784
+ * - `3`: Residential location (21:00-07:00) - verify and query
2785
+ *
2786
+ * **Note:** Query operation only accepts types 2 or 3.
2787
+ * @example 2
2788
+ * @enum {string}
2789
+ */
2790
+ locationType: "1" | "2" | "3";
2791
+ /**
2792
+ * @description City name in Chinese. **Required** when `operation` is `verify`.
2793
+ * @example 北京
2794
+ */
2795
+ city?: string;
2796
+ /**
2797
+ * @description Full street address in Chinese. **Required** when `operation` is `verify`.
2798
+ * @example 朝阳区建国路88号
2799
+ */
2800
+ address?: string;
2801
+ };
2802
+ };
2803
+ };
2804
+ responses: {
2805
+ /** @description Location verification completed */
2806
+ 200: {
2807
+ headers: {
2808
+ [name: string]: unknown;
2809
+ };
2810
+ content: {
2811
+ "application/json": {
2812
+ /**
2813
+ * @description Whether the verification was processed successfully
2814
+ * @example true
2815
+ */
2816
+ success: boolean;
2817
+ /**
2818
+ * @description The location category that was checked
2819
+ * @example 2
2820
+ */
2821
+ locationType?: string;
2822
+ /**
2823
+ * @description Human-readable description of the location category
2824
+ * @example Work location (7:00-19:00 weekdays)
2825
+ */
2826
+ locationTypeDescription?: string;
2827
+ /**
2828
+ * @description Distance range between mobile location and address:
2829
+ * - `1`: ≤3km
2830
+ * - `2`: ≤5km
2831
+ * - `3`: ≤10km
2832
+ * - `4`: ≤20km
2833
+ * - `5`: ≤30km
2834
+ * - `6`: ≤50km
2835
+ * - `7`: >50km
2836
+ * @example 1
2837
+ * @enum {string}
2838
+ */
2839
+ distanceSegment?: "1" | "2" | "3" | "4" | "5" | "6" | "7";
2840
+ /**
2841
+ * @description Human-readable distance range
2842
+ * @example ≤3km
2843
+ */
2844
+ distanceDescription?: string;
2845
+ /** @example Distance between Work location and provided address is ≤3km */
2846
+ message: string;
2847
+ } | {
2848
+ /** @example true */
2849
+ success: boolean;
2850
+ /**
2851
+ * @description The location category ("work" or "residential")
2852
+ * @example work
2853
+ */
2854
+ locationType?: string;
2855
+ /**
2856
+ * @description The city where the user has been active
2857
+ * @example 北京
2858
+ */
2859
+ city?: string;
2860
+ /** @example Recent 3 months work location: 北京 */
2861
+ message: string;
2862
+ };
2863
+ };
2864
+ };
2865
+ /** @description Invalid request parameters */
2866
+ 400: {
2867
+ headers: {
2868
+ [name: string]: unknown;
2869
+ };
2870
+ content?: never;
2871
+ };
2872
+ /** @description Upstream verification service error */
2873
+ 502: {
2874
+ headers: {
2875
+ [name: string]: unknown;
2876
+ };
2877
+ content?: never;
2878
+ };
2879
+ };
2880
+ };
2881
+ kycCnOperator: {
2882
+ parameters: {
2883
+ query?: never;
2884
+ header?: never;
2885
+ path?: never;
2886
+ cookie?: never;
2887
+ };
2888
+ requestBody: {
2889
+ content: {
2890
+ "application/json": {
2891
+ /**
2892
+ * @description Verification type:
2893
+ * - `attribution`: Look up carrier and location info
2894
+ * - `name-check`: Verify mobile is registered to this name
2895
+ * - `id-check`: Verify mobile is registered to this ID number
2896
+ * - `three-factor`: Verify mobile, name, and ID all match
2897
+ * @example three-factor
2898
+ * @enum {string}
2899
+ */
2900
+ type: "attribution" | "name-check" | "id-check" | "three-factor";
2901
+ /**
2902
+ * @description 11-digit Chinese mobile phone number
2903
+ * @example 13912345678
2904
+ */
2905
+ mobile: string;
2906
+ /**
2907
+ * @description Full legal name in Chinese characters.
2908
+ * **Required** when `type` is `name-check` or `three-factor`.
2909
+ * @example 李明
2910
+ */
2911
+ name?: string;
2912
+ /**
2913
+ * @description 18-digit Chinese Resident Identity Card number.
2914
+ * **Required** when `type` is `id-check` or `three-factor`.
2915
+ * @example 110101199003076515
2916
+ */
2917
+ idNo?: string;
2918
+ };
2919
+ };
2920
+ };
2921
+ responses: {
2922
+ /** @description Operator verification completed */
2923
+ 200: {
2924
+ headers: {
2925
+ [name: string]: unknown;
2926
+ };
2927
+ content: {
2928
+ "application/json": {
2929
+ /** @example true */
2930
+ success: boolean;
2931
+ /**
2932
+ * @description Province where the mobile number is registered
2933
+ * @example 北京
2934
+ */
2935
+ province?: string;
2936
+ /**
2937
+ * @description City where the mobile number is registered
2938
+ * @example 北京
2939
+ */
2940
+ city?: string;
2941
+ /**
2942
+ * @description Mobile carrier name
2943
+ * @example 中国移动
2944
+ */
2945
+ operator?: string;
2946
+ /** @example Mobile number belongs to 中国移动 in 北京, 北京 */
2947
+ message: string;
2948
+ } | {
2949
+ /** @example true */
2950
+ success: boolean;
2951
+ /**
2952
+ * @description Whether the mobile registration matches the provided information.
2953
+ * - `true`: Information matches
2954
+ * - `false`: Information does not match
2955
+ * - `null`: Unable to verify
2956
+ * @example true
2957
+ */
2958
+ consistent?: boolean | null;
2959
+ /**
2960
+ * @description Raw verification result ("1" = match, "-1" = no match)
2961
+ * @example 1
2962
+ */
2963
+ checkResult?: string;
2964
+ /** @example Mobile number, name, and ID number all match */
2965
+ message: string;
2966
+ };
2967
+ };
2968
+ };
2969
+ /** @description Invalid request parameters */
2970
+ 400: {
2971
+ headers: {
2972
+ [name: string]: unknown;
2973
+ };
2974
+ content?: never;
2975
+ };
2976
+ /** @description Upstream verification service error */
2977
+ 502: {
2978
+ headers: {
2979
+ [name: string]: unknown;
2980
+ };
2981
+ content?: never;
2982
+ };
2983
+ };
2984
+ };
2985
+ kycCnAntiFraud: {
2986
+ parameters: {
2987
+ query?: never;
2988
+ header?: never;
2989
+ path?: never;
2990
+ cookie?: never;
2991
+ };
2992
+ requestBody: {
2993
+ content: {
2994
+ "application/json": {
2995
+ /**
2996
+ * @description 11-digit Chinese mobile phone number
2997
+ * @example 13912345678
2998
+ */
2999
+ mobile?: string;
3000
+ /**
3001
+ * @description 18-digit Chinese Resident Identity Card number
3002
+ * @example 110101199003076515
3003
+ */
3004
+ idNo?: string;
3005
+ } & (unknown | unknown);
3006
+ };
3007
+ };
3008
+ responses: {
3009
+ /** @description Anti-fraud check completed */
3010
+ 200: {
3011
+ headers: {
3012
+ [name: string]: unknown;
3013
+ };
3014
+ content: {
3015
+ "application/json": {
3016
+ /** @example true */
3017
+ success: boolean;
3018
+ /** @description List of detected risk items */
3019
+ risks: {
3020
+ /**
3021
+ * @description Risk category:
3022
+ * - `1`: Fraud
3023
+ * - `2`: Gambling House (Dealer)
3024
+ * - `4`: Gambling Player
3025
+ * - `8`: Suspected gambling/fraud runner (money mule)
3026
+ */
3027
+ riskType?: string;
3028
+ /** @description Risk level (0=None, 1=Low, 2=Medium, 3=High) */
3029
+ riskLevel?: string;
3030
+ }[];
3031
+ /** @example Anti-fraud check completed */
3032
+ message: string;
3033
+ };
3034
+ };
3035
+ };
3036
+ /** @description Invalid request parameters */
3037
+ 400: {
3038
+ headers: {
3039
+ [name: string]: unknown;
3040
+ };
3041
+ content?: never;
3042
+ };
3043
+ /** @description Upstream verification service error */
3044
+ 502: {
3045
+ headers: {
3046
+ [name: string]: unknown;
3047
+ };
3048
+ content?: never;
3049
+ };
3050
+ };
3051
+ };
3052
+ kycCnPolice: {
3053
+ parameters: {
3054
+ query?: never;
3055
+ header?: never;
3056
+ path?: never;
3057
+ cookie?: never;
3058
+ };
3059
+ requestBody: {
3060
+ content: {
3061
+ "application/json": {
3062
+ /**
3063
+ * @description Full legal name in Chinese characters
3064
+ * @example 李明
3065
+ */
3066
+ name: string;
3067
+ /**
3068
+ * @description 18-digit Chinese Resident Identity Card number
3069
+ * @example 110101199003076515
3070
+ */
3071
+ idNo: string;
3072
+ };
3073
+ };
3074
+ };
3075
+ responses: {
3076
+ /** @description Police check completed */
3077
+ 200: {
3078
+ headers: {
3079
+ [name: string]: unknown;
3080
+ };
3081
+ content: {
3082
+ "application/json": {
3083
+ /** @example true */
3084
+ success: boolean;
3085
+ /**
3086
+ * @description Whether the person is a normal citizen with no risk records.
3087
+ * - `true`: Normal person, no risk events
3088
+ * - `false`: Has risk events on record
3089
+ * - `null`: Unable to verify
3090
+ * @example true
3091
+ */
3092
+ isNormal?: boolean | null;
3093
+ /** @description Detailed breakdown of police records */
3094
+ policeRecords?: {
3095
+ /**
3096
+ * @description "1" = normal person, "0" = has risk events
3097
+ * @example 1
3098
+ */
3099
+ isNormal?: string;
3100
+ /**
3101
+ * @description "1" = criminal offender, "0" = no
3102
+ * @example 0
3103
+ */
3104
+ isCriminal?: string;
3105
+ /**
3106
+ * @description "1" = involved in civil case, "0" = no
3107
+ * @example 0
3108
+ */
3109
+ IsCivilCase?: string;
3110
+ /**
3111
+ * @description "1" = drug related, "0" = no
3112
+ * @example 0
3113
+ */
3114
+ IsDrugRela?: string;
3115
+ /**
3116
+ * @description "1" = drug user, "0" = no
3117
+ * @example 0
3118
+ */
3119
+ IsDrug?: string;
3120
+ /**
3121
+ * @description "1" = fugitive, "0" = no
3122
+ * @example 0
3123
+ */
3124
+ IsEscaped?: string;
3125
+ /**
3126
+ * @description "1" = key monitored person, "0" = no
3127
+ * @example 0
3128
+ */
3129
+ isMonitor?: string;
3130
+ /**
3131
+ * @description "1" = terrorist related, "0" = no
3132
+ * @example 0
3133
+ */
3134
+ isTerrorist?: string;
3135
+ /**
3136
+ * @description "1" = stability related (public order), "0" = no
3137
+ * @example 0
3138
+ */
3139
+ isStability?: string;
3140
+ } | null;
3141
+ /** @example No police records found */
3142
+ message: string;
3143
+ };
3144
+ };
3145
+ };
3146
+ /** @description Invalid request parameters */
3147
+ 400: {
3148
+ headers: {
3149
+ [name: string]: unknown;
3150
+ };
3151
+ content?: never;
3152
+ };
3153
+ /** @description Upstream verification service error */
3154
+ 502: {
3155
+ headers: {
3156
+ [name: string]: unknown;
3157
+ };
3158
+ content?: never;
3159
+ };
3160
+ };
3161
+ };
2540
3162
  craRequest: {
2541
3163
  parameters: {
2542
3164
  query?: never;
@@ -2866,20 +3488,13 @@ export interface operations {
2866
3488
  };
2867
3489
  };
2868
3490
  };
2869
- /** @description Bad Request - Invalid input parameters */
3491
+ /** @description Bad Request - Invalid input parameters, or service not offered for this country */
2870
3492
  400: {
2871
3493
  headers: {
2872
3494
  [name: string]: unknown;
2873
3495
  };
2874
3496
  content?: never;
2875
3497
  };
2876
- /** @description No matching companies found */
2877
- 404: {
2878
- headers: {
2879
- [name: string]: unknown;
2880
- };
2881
- content?: never;
2882
- };
2883
3498
  /** @description Internal server error */
2884
3499
  500: {
2885
3500
  headers: {
@@ -2955,20 +3570,13 @@ export interface operations {
2955
3570
  };
2956
3571
  };
2957
3572
  };
2958
- /** @description Bad Request - Invalid input parameters */
3573
+ /** @description Bad Request - Invalid input parameters, or service not offered for this country */
2959
3574
  400: {
2960
3575
  headers: {
2961
3576
  [name: string]: unknown;
2962
3577
  };
2963
3578
  content?: never;
2964
3579
  };
2965
- /** @description No documents found */
2966
- 404: {
2967
- headers: {
2968
- [name: string]: unknown;
2969
- };
2970
- content?: never;
2971
- };
2972
3580
  /** @description Internal server error */
2973
3581
  500: {
2974
3582
  headers: {
@@ -3009,25 +3617,18 @@ export interface operations {
3009
3617
  * @enum {string}
3010
3618
  */
3011
3619
  message: "success" | "search error";
3012
- /** @description Company base information object */
3013
- result?: components["schemas"]["CompanyBaseData"];
3620
+ /** @description Company base information object or null if not found */
3621
+ result?: components["schemas"]["Company"] | null;
3014
3622
  };
3015
3623
  };
3016
3624
  };
3017
- /** @description Bad Request - Invalid input parameters */
3625
+ /** @description Bad Request - Invalid input parameters, or service not offered for this country */
3018
3626
  400: {
3019
3627
  headers: {
3020
3628
  [name: string]: unknown;
3021
3629
  };
3022
3630
  content?: never;
3023
3631
  };
3024
- /** @description Company not found */
3025
- 404: {
3026
- headers: {
3027
- [name: string]: unknown;
3028
- };
3029
- content?: never;
3030
- };
3031
3632
  /** @description Internal server error */
3032
3633
  500: {
3033
3634
  headers: {
@@ -3053,7 +3654,6 @@ export interface operations {
3053
3654
  * It queries the scopes required for accessing the resources or services in question.
3054
3655
  * Available scopes: sub, fullnameAR, gender, mobile, lastnameEN, fullnameEN, uuid, lastnameAR, idn, nationalityEN, firstnameEN, userType, nationalityAR, firstnameAR, email.
3055
3656
  * (To be shared by UAEPASS Team if its value is other than specified in sample above)
3056
- *
3057
3657
  * @example sub fullnameEN email mobile
3058
3658
  */
3059
3659
  scope?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fill-easy/api",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "type": "module",
5
5
  "description": "Type-safe SDK for Fill Easy API",
6
6
  "main": "dist/index.js",