@iblai/iblai-api 4.261.1-core → 4.262.0-core

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 (43) hide show
  1. package/dist/index.cjs.js +943 -123
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +941 -124
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +943 -123
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +16 -0
  8. package/dist/types/models/LifecycleStageEnum.d.ts +14 -0
  9. package/dist/types/models/Organization.d.ts +34 -0
  10. package/dist/types/models/PaginatedOrganizationList.d.ts +7 -0
  11. package/dist/types/models/PaginatedPersonList.d.ts +7 -0
  12. package/dist/types/models/PatchedOrganization.d.ts +34 -0
  13. package/dist/types/models/PatchedPerson.d.ts +73 -0
  14. package/dist/types/models/Person.d.ts +73 -0
  15. package/dist/types/models/PersonInviteConflict.d.ts +12 -0
  16. package/dist/types/models/PersonInviteRequest.d.ts +18 -0
  17. package/dist/types/models/PersonInviteResponse.d.ts +37 -0
  18. package/dist/types/models/PersonLinkUserRequest.d.ts +6 -0
  19. package/dist/types/models/PersonMergeRequest.d.ts +10 -0
  20. package/dist/types/models/PersonMergeResponse.d.ts +17 -0
  21. package/dist/types/services/CrmService.d.ts +222 -0
  22. package/dist/types/services/OrganizationsService.d.ts +83 -0
  23. package/dist/types/services/PersonsService.d.ts +142 -0
  24. package/package.json +1 -1
  25. package/sdk_schema.yml +1803 -1
  26. package/src/core/OpenAPI.ts +1 -1
  27. package/src/index.ts +16 -0
  28. package/src/models/LifecycleStageEnum.ts +18 -0
  29. package/src/models/Organization.ts +39 -0
  30. package/src/models/PaginatedOrganizationList.ts +12 -0
  31. package/src/models/PaginatedPersonList.ts +12 -0
  32. package/src/models/PatchedOrganization.ts +39 -0
  33. package/src/models/PatchedPerson.ts +78 -0
  34. package/src/models/Person.ts +78 -0
  35. package/src/models/PersonInviteConflict.ts +17 -0
  36. package/src/models/PersonInviteRequest.ts +23 -0
  37. package/src/models/PersonInviteResponse.ts +42 -0
  38. package/src/models/PersonLinkUserRequest.ts +11 -0
  39. package/src/models/PersonMergeRequest.ts +15 -0
  40. package/src/models/PersonMergeResponse.ts +22 -0
  41. package/src/services/CrmService.ts +481 -0
  42. package/src/services/OrganizationsService.ts +186 -0
  43. package/src/services/PersonsService.ts +304 -0
@@ -21,7 +21,7 @@ export type OpenAPIConfig = {
21
21
 
22
22
  export const OpenAPI: OpenAPIConfig = {
23
23
  BASE: 'https://base.manager.iblai.app',
24
- VERSION: '4.261.1-core',
24
+ VERSION: '4.262.0-core',
25
25
  WITH_CREDENTIALS: false,
26
26
  CREDENTIALS: 'include',
27
27
  TOKEN: undefined,
package/src/index.ts CHANGED
@@ -199,6 +199,7 @@ export type { LearnerListPagination } from './models/LearnerListPagination';
199
199
  export type { LearnerListResponse } from './models/LearnerListResponse';
200
200
  export type { LearnerMetrics } from './models/LearnerMetrics';
201
201
  export type { LearnerSummary } from './models/LearnerSummary';
202
+ export { LifecycleStageEnum } from './models/LifecycleStageEnum';
202
203
  export type { LtiKey } from './models/LtiKey';
203
204
  export type { LtiLaunchGate } from './models/LtiLaunchGate';
204
205
  export type { LtiMentor } from './models/LtiMentor';
@@ -232,6 +233,7 @@ export type { NotificationToggle } from './models/NotificationToggle';
232
233
  export type { NotificationTypePreference } from './models/NotificationTypePreference';
233
234
  export type { NullEnum } from './models/NullEnum';
234
235
  export type { OnboardingStatusUpdate } from './models/OnboardingStatusUpdate';
236
+ export type { Organization } from './models/Organization';
235
237
  export type { OverTime } from './models/OverTime';
236
238
  export type { OvertimeDataPoint } from './models/OvertimeDataPoint';
237
239
  export type { OvertimeMeta } from './models/OvertimeMeta';
@@ -248,8 +250,10 @@ export type { PaginatedCourseSuggestion } from './models/PaginatedCourseSuggesti
248
250
  export type { PaginatedItemPaywallConfigList } from './models/PaginatedItemPaywallConfigList';
249
251
  export type { PaginatedItemSubscriptionList } from './models/PaginatedItemSubscriptionList';
250
252
  export type { PaginatedItemSubscriptionListList } from './models/PaginatedItemSubscriptionListList';
253
+ export type { PaginatedOrganizationList } from './models/PaginatedOrganizationList';
251
254
  export type { PaginatedPathwayGroupSuggestion } from './models/PaginatedPathwayGroupSuggestion';
252
255
  export type { PaginatedPathwaySuggestion } from './models/PaginatedPathwaySuggestion';
256
+ export type { PaginatedPersonList } from './models/PaginatedPersonList';
253
257
  export type { PaginatedPlatformInvitation } from './models/PaginatedPlatformInvitation';
254
258
  export type { PaginatedPlatformLicense } from './models/PaginatedPlatformLicense';
255
259
  export type { PaginatedProgramGroupSuggestion } from './models/PaginatedProgramGroupSuggestion';
@@ -278,6 +282,8 @@ export type { PatchedNotification } from './models/PatchedNotification';
278
282
  export type { PatchedNotificationTemplateDetail } from './models/PatchedNotificationTemplateDetail';
279
283
  export type { PatchedNotificationToggle } from './models/PatchedNotificationToggle';
280
284
  export type { PatchedNotificationTypePreference } from './models/PatchedNotificationTypePreference';
285
+ export type { PatchedOrganization } from './models/PatchedOrganization';
286
+ export type { PatchedPerson } from './models/PatchedPerson';
281
287
  export type { PatchedPlatformPublicImageAsset } from './models/PatchedPlatformPublicImageAsset';
282
288
  export type { PatchedPlatformPublicMetadata } from './models/PatchedPlatformPublicMetadata';
283
289
  export type { PatchedRbacGroup } from './models/PatchedRbacGroup';
@@ -330,6 +336,13 @@ export type { PerLearnerTimeSpentInCourseTree } from './models/PerLearnerTimeSpe
330
336
  export type { PerlearnerUserList } from './models/PerlearnerUserList';
331
337
  export type { PerlearnerUserListData } from './models/PerlearnerUserListData';
332
338
  export type { PermissionCheckRequest } from './models/PermissionCheckRequest';
339
+ export type { Person } from './models/Person';
340
+ export type { PersonInviteConflict } from './models/PersonInviteConflict';
341
+ export type { PersonInviteRequest } from './models/PersonInviteRequest';
342
+ export type { PersonInviteResponse } from './models/PersonInviteResponse';
343
+ export type { PersonLinkUserRequest } from './models/PersonLinkUserRequest';
344
+ export type { PersonMergeRequest } from './models/PersonMergeRequest';
345
+ export type { PersonMergeResponse } from './models/PersonMergeResponse';
333
346
  export type { Platform } from './models/Platform';
334
347
  export type { PlatformApiKey } from './models/PlatformApiKey';
335
348
  export type { PlatformConfigurationList } from './models/PlatformConfigurationList';
@@ -579,11 +592,14 @@ export { CommerceService } from './services/CommerceService';
579
592
  export { CoreService } from './services/CoreService';
580
593
  export { CredentialsService } from './services/CredentialsService';
581
594
  export { CreditsService } from './services/CreditsService';
595
+ export { CrmService } from './services/CrmService';
582
596
  export { CustomDomainsService } from './services/CustomDomainsService';
583
597
  export { FeaturesService } from './services/FeaturesService';
584
598
  export { ItemsService } from './services/ItemsService';
585
599
  export { MediaService } from './services/MediaService';
586
600
  export { NotificationsService } from './services/NotificationsService';
601
+ export { OrganizationsService } from './services/OrganizationsService';
602
+ export { PersonsService } from './services/PersonsService';
587
603
  export { PlatformsService } from './services/PlatformsService';
588
604
  export { PricesService } from './services/PricesService';
589
605
  export { RecommendationsService } from './services/RecommendationsService';
@@ -0,0 +1,18 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * * `lead` - Lead
7
+ * * `qualified` - Qualified
8
+ * * `opportunity` - Opportunity
9
+ * * `customer` - Customer
10
+ * * `churned` - Churned
11
+ */
12
+ export enum LifecycleStageEnum {
13
+ LEAD = 'lead',
14
+ QUALIFIED = 'qualified',
15
+ OPPORTUNITY = 'opportunity',
16
+ CUSTOMER = 'customer',
17
+ CHURNED = 'churned',
18
+ }
@@ -0,0 +1,39 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type Organization = {
6
+ /**
7
+ * Server-assigned UUID.
8
+ */
9
+ readonly id: string;
10
+ /**
11
+ * Platform the Organization belongs to. Set server-side from the auth token.
12
+ */
13
+ readonly platform: number;
14
+ /**
15
+ * Display name. Unique per platform (case-sensitive).
16
+ */
17
+ name: string;
18
+ /**
19
+ * Free-form JSON address (street, city, country, etc.).
20
+ */
21
+ address?: any;
22
+ /**
23
+ * platform `core.User` id of the internal owner / account manager. Optional.
24
+ */
25
+ owner?: number | null;
26
+ /**
27
+ * Free-form JSON for Platform-defined attributes.
28
+ */
29
+ metadata?: any;
30
+ /**
31
+ * Creation timestamp.
32
+ */
33
+ readonly created_at: string;
34
+ /**
35
+ * Last-modified timestamp.
36
+ */
37
+ readonly updated_at: string;
38
+ };
39
+
@@ -0,0 +1,12 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { Organization } from './Organization';
6
+ export type PaginatedOrganizationList = {
7
+ count: number;
8
+ next?: string | null;
9
+ previous?: string | null;
10
+ results: Array<Organization>;
11
+ };
12
+
@@ -0,0 +1,12 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { Person } from './Person';
6
+ export type PaginatedPersonList = {
7
+ count: number;
8
+ next?: string | null;
9
+ previous?: string | null;
10
+ results: Array<Person>;
11
+ };
12
+
@@ -0,0 +1,39 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type PatchedOrganization = {
6
+ /**
7
+ * Server-assigned UUID.
8
+ */
9
+ readonly id?: string;
10
+ /**
11
+ * Platform the Organization belongs to. Set server-side from the auth token.
12
+ */
13
+ readonly platform?: number;
14
+ /**
15
+ * Display name. Unique per platform (case-sensitive).
16
+ */
17
+ name?: string;
18
+ /**
19
+ * Free-form JSON address (street, city, country, etc.).
20
+ */
21
+ address?: any;
22
+ /**
23
+ * platform `core.User` id of the internal owner / account manager. Optional.
24
+ */
25
+ owner?: number | null;
26
+ /**
27
+ * Free-form JSON for Platform-defined attributes.
28
+ */
29
+ metadata?: any;
30
+ /**
31
+ * Creation timestamp.
32
+ */
33
+ readonly created_at?: string;
34
+ /**
35
+ * Last-modified timestamp.
36
+ */
37
+ readonly updated_at?: string;
38
+ };
39
+
@@ -0,0 +1,78 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { LifecycleStageEnum } from './LifecycleStageEnum';
6
+ export type PatchedPerson = {
7
+ /**
8
+ * Server-assigned UUID. Stable across renames and merges.
9
+ */
10
+ readonly id?: string;
11
+ /**
12
+ * Platform the person belongs to. Set automatically from your credentials; you cannot pass another Platform's id.
13
+ */
14
+ readonly platform?: number;
15
+ /**
16
+ * Display name (e.g. 'Alice Chen').
17
+ */
18
+ name?: string;
19
+ /**
20
+ * Canonical email address. When a platform user is created with a matching email in your Platform, this person is automatically linked to them (case-insensitive).
21
+ */
22
+ primary_email?: string;
23
+ /**
24
+ * Additional email addresses associated with this person.
25
+ */
26
+ emails?: any;
27
+ /**
28
+ * Phone/contact numbers in any free-form shape.
29
+ */
30
+ contact_numbers?: any;
31
+ /**
32
+ * Role / job title — display only, not validated.
33
+ */
34
+ job_title?: string;
35
+ /**
36
+ * UUID of an organization in your Platform. References to organizations in other Platforms are rejected.
37
+ */
38
+ organization?: string | null;
39
+ /**
40
+ * Id of the platform user who owns / manages this person (internal account manager). Optional.
41
+ */
42
+ owner?: number | null;
43
+ /**
44
+ * Read-only. Populated once this person is bound to a platform user — either automatically on user creation when emails match, or explicitly via `POST /persons/{id}/link-user/`.
45
+ */
46
+ readonly platform_user?: number | null;
47
+ /**
48
+ * Sales pipeline stage. One of: `lead`, `qualified`, `opportunity`, `customer`, `churned`.
49
+ *
50
+ * * `lead` - Lead
51
+ * * `qualified` - Qualified
52
+ * * `opportunity` - Opportunity
53
+ * * `customer` - Customer
54
+ * * `churned` - Churned
55
+ */
56
+ lifecycle_stage?: LifecycleStageEnum;
57
+ /**
58
+ * Optional external system id (e.g. import key from another CRM). When non-blank, must be unique within your Platform.
59
+ */
60
+ unique_id?: string;
61
+ /**
62
+ * Read-only. Set to `false` when the person is linked to a platform user or merged into another person.
63
+ */
64
+ readonly active?: boolean;
65
+ /**
66
+ * Free-form JSON for Platform-defined attributes.
67
+ */
68
+ metadata?: any;
69
+ /**
70
+ * Creation timestamp.
71
+ */
72
+ readonly created_at?: string;
73
+ /**
74
+ * Last-modified timestamp.
75
+ */
76
+ readonly updated_at?: string;
77
+ };
78
+
@@ -0,0 +1,78 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { LifecycleStageEnum } from './LifecycleStageEnum';
6
+ export type Person = {
7
+ /**
8
+ * Server-assigned UUID. Stable across renames and merges.
9
+ */
10
+ readonly id: string;
11
+ /**
12
+ * Platform the person belongs to. Set automatically from your credentials; you cannot pass another Platform's id.
13
+ */
14
+ readonly platform: number;
15
+ /**
16
+ * Display name (e.g. 'Alice Chen').
17
+ */
18
+ name: string;
19
+ /**
20
+ * Canonical email address. When a platform user is created with a matching email in your Platform, this person is automatically linked to them (case-insensitive).
21
+ */
22
+ primary_email?: string;
23
+ /**
24
+ * Additional email addresses associated with this person.
25
+ */
26
+ emails?: any;
27
+ /**
28
+ * Phone/contact numbers in any free-form shape.
29
+ */
30
+ contact_numbers?: any;
31
+ /**
32
+ * Role / job title — display only, not validated.
33
+ */
34
+ job_title?: string;
35
+ /**
36
+ * UUID of an organization in your Platform. References to organizations in other Platforms are rejected.
37
+ */
38
+ organization?: string | null;
39
+ /**
40
+ * Id of the platform user who owns / manages this person (internal account manager). Optional.
41
+ */
42
+ owner?: number | null;
43
+ /**
44
+ * Read-only. Populated once this person is bound to a platform user — either automatically on user creation when emails match, or explicitly via `POST /persons/{id}/link-user/`.
45
+ */
46
+ readonly platform_user: number | null;
47
+ /**
48
+ * Sales pipeline stage. One of: `lead`, `qualified`, `opportunity`, `customer`, `churned`.
49
+ *
50
+ * * `lead` - Lead
51
+ * * `qualified` - Qualified
52
+ * * `opportunity` - Opportunity
53
+ * * `customer` - Customer
54
+ * * `churned` - Churned
55
+ */
56
+ lifecycle_stage?: LifecycleStageEnum;
57
+ /**
58
+ * Optional external system id (e.g. import key from another CRM). When non-blank, must be unique within your Platform.
59
+ */
60
+ unique_id?: string;
61
+ /**
62
+ * Read-only. Set to `false` when the person is linked to a platform user or merged into another person.
63
+ */
64
+ readonly active: boolean;
65
+ /**
66
+ * Free-form JSON for Platform-defined attributes.
67
+ */
68
+ metadata?: any;
69
+ /**
70
+ * Creation timestamp.
71
+ */
72
+ readonly created_at: string;
73
+ /**
74
+ * Last-modified timestamp.
75
+ */
76
+ readonly updated_at: string;
77
+ };
78
+
@@ -0,0 +1,17 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * Shape returned when an active invitation already exists for this email.
7
+ */
8
+ export type PersonInviteConflict = {
9
+ detail: string;
10
+ /**
11
+ * Id of the pre-existing active invitation.
12
+ */
13
+ invitation_id: number;
14
+ person_id: string;
15
+ platform_key: string;
16
+ };
17
+
@@ -0,0 +1,23 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type PersonInviteRequest = {
6
+ /**
7
+ * Grant Platform-admin privileges on acceptance. Defaults to `false`.
8
+ */
9
+ is_admin?: boolean;
10
+ /**
11
+ * Grant staff privileges on acceptance. Defaults to `false`.
12
+ */
13
+ is_staff?: boolean;
14
+ /**
15
+ * Optional enrollment payload. Forwarded to the platform invitation to auto-enroll the invitee in the listed courses, programs, or pathways on acceptance.
16
+ */
17
+ enrollment_config?: Record<string, any>;
18
+ /**
19
+ * URL to send the invitee to after they accept the invitation (e.g. a custom landing page, an enrollment screen). Passed straight through to the platform invitation row. Leave blank to use the platform default.
20
+ */
21
+ redirect_to?: string;
22
+ };
23
+
@@ -0,0 +1,42 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * Shape returned by `POST /persons/{id}/invite/`.
7
+ */
8
+ export type PersonInviteResponse = {
9
+ /**
10
+ * UUID of the person that was invited.
11
+ */
12
+ person_id: string;
13
+ /**
14
+ * Id of the newly created invitation.
15
+ */
16
+ invitation_id: number;
17
+ /**
18
+ * Email address the invitation was sent to.
19
+ */
20
+ invitation_email: string;
21
+ /**
22
+ * Key of the Platform the invitation targets.
23
+ */
24
+ platform_key: string;
25
+ /**
26
+ * Whether the invitation is auto-accepted when the invitee first signs in.
27
+ */
28
+ auto_accept: boolean;
29
+ /**
30
+ * Whether the invitation is currently active.
31
+ */
32
+ active: boolean;
33
+ /**
34
+ * URL the invitee will be sent to after accepting. Null/blank means the platform default destination.
35
+ */
36
+ redirect_to: string | null;
37
+ /**
38
+ * When the invitation was created.
39
+ */
40
+ created: string | null;
41
+ };
42
+
@@ -0,0 +1,11 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type PersonLinkUserRequest = {
6
+ /**
7
+ * Id of the platform user to bind to this person. The user must already be a member of your Platform — invite them first if they are not.
8
+ */
9
+ user_id: number;
10
+ };
11
+
@@ -0,0 +1,15 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type PersonMergeRequest = {
6
+ /**
7
+ * UUID of the person to keep (the surviving record). Must belong to your Platform.
8
+ */
9
+ primary_id: string;
10
+ /**
11
+ * UUIDs of the persons to merge into `primary_id`. Each must belong to your Platform. `primary_id` may not appear in this list. The duplicates are marked inactive; their related records (deals, activities, tags) are re-parented onto the primary.
12
+ */
13
+ duplicate_ids: Array<string>;
14
+ };
15
+
@@ -0,0 +1,22 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * Shape returned by `POST /persons/merge/`.
7
+ */
8
+ export type PersonMergeResponse = {
9
+ /**
10
+ * UUID of the surviving (primary) person.
11
+ */
12
+ primary_id: string;
13
+ /**
14
+ * UUIDs of the persons marked inactive by this merge.
15
+ */
16
+ merged_ids: Array<string>;
17
+ /**
18
+ * Per-relation counts of related records (deals, activities, tags) re-parented onto the primary.
19
+ */
20
+ reparented: Record<string, any>;
21
+ };
22
+