@iblai/iblai-api 4.265.1-core → 4.265.2-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 (77) hide show
  1. package/dist/index.cjs.js +2168 -258
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +2165 -259
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +2168 -258
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +26 -1
  8. package/dist/types/models/Activity.d.ts +83 -0
  9. package/dist/types/models/ActivityTypeEnum.d.ts +18 -0
  10. package/dist/types/models/Deal.d.ts +83 -0
  11. package/dist/types/models/DealLostRequest.d.ts +10 -0
  12. package/dist/types/models/DealMoveStageRequest.d.ts +10 -0
  13. package/dist/types/models/DealStatusEnum.d.ts +10 -0
  14. package/dist/types/models/DealWonRequest.d.ts +6 -0
  15. package/dist/types/models/LeadSource.d.ts +30 -0
  16. package/dist/types/models/NotificationTemplateDetail.d.ts +24 -2
  17. package/dist/types/models/NotificationTemplateList.d.ts +5 -2
  18. package/dist/types/models/Organization.d.ts +1 -1
  19. package/dist/types/models/PaginatedActivityList.d.ts +7 -0
  20. package/dist/types/models/PaginatedDealList.d.ts +7 -0
  21. package/dist/types/models/PaginatedLeadSourceList.d.ts +7 -0
  22. package/dist/types/models/PaginatedPipelineList.d.ts +7 -0
  23. package/dist/types/models/PaginatedPipelineStageList.d.ts +7 -0
  24. package/dist/types/models/PatchedActivity.d.ts +83 -0
  25. package/dist/types/models/PatchedDeal.d.ts +83 -0
  26. package/dist/types/models/PatchedLeadSource.d.ts +30 -0
  27. package/dist/types/models/PatchedNotificationTemplateDetail.d.ts +24 -2
  28. package/dist/types/models/PatchedOrganization.d.ts +1 -1
  29. package/dist/types/models/PatchedPipeline.d.ts +34 -0
  30. package/dist/types/models/PatchedPipelineStage.d.ts +40 -0
  31. package/dist/types/models/Pipeline.d.ts +34 -0
  32. package/dist/types/models/PipelineStage.d.ts +40 -0
  33. package/dist/types/models/RecipientsRecipientModeEnum.d.ts +14 -0
  34. package/dist/types/models/{TypeD36Enum.d.ts → Type4b7Enum.d.ts} +7 -1
  35. package/dist/types/services/ActivitiesService.d.ts +126 -0
  36. package/dist/types/services/CrmService.d.ts +553 -1
  37. package/dist/types/services/DealsService.d.ts +160 -0
  38. package/dist/types/services/LeadSourcesService.d.ts +95 -0
  39. package/dist/types/services/PersonsService.d.ts +1 -1
  40. package/dist/types/services/PipelinesService.d.ts +183 -0
  41. package/package.json +1 -1
  42. package/sdk_schema.yml +4093 -141
  43. package/src/core/OpenAPI.ts +1 -1
  44. package/src/index.ts +26 -1
  45. package/src/models/Activity.ts +88 -0
  46. package/src/models/ActivityTypeEnum.ts +22 -0
  47. package/src/models/Deal.ts +88 -0
  48. package/src/models/DealLostRequest.ts +15 -0
  49. package/src/models/DealMoveStageRequest.ts +15 -0
  50. package/src/models/DealStatusEnum.ts +14 -0
  51. package/src/models/DealWonRequest.ts +11 -0
  52. package/src/models/LeadSource.ts +35 -0
  53. package/src/models/NotificationTemplateDetail.ts +24 -2
  54. package/src/models/NotificationTemplateList.ts +5 -2
  55. package/src/models/Organization.ts +1 -1
  56. package/src/models/PaginatedActivityList.ts +12 -0
  57. package/src/models/PaginatedDealList.ts +12 -0
  58. package/src/models/PaginatedLeadSourceList.ts +12 -0
  59. package/src/models/PaginatedPipelineList.ts +12 -0
  60. package/src/models/PaginatedPipelineStageList.ts +12 -0
  61. package/src/models/PatchedActivity.ts +88 -0
  62. package/src/models/PatchedDeal.ts +88 -0
  63. package/src/models/PatchedLeadSource.ts +35 -0
  64. package/src/models/PatchedNotificationTemplateDetail.ts +24 -2
  65. package/src/models/PatchedOrganization.ts +1 -1
  66. package/src/models/PatchedPipeline.ts +39 -0
  67. package/src/models/PatchedPipelineStage.ts +45 -0
  68. package/src/models/Pipeline.ts +39 -0
  69. package/src/models/PipelineStage.ts +45 -0
  70. package/src/models/RecipientsRecipientModeEnum.ts +18 -0
  71. package/src/models/{TypeD36Enum.ts → Type4b7Enum.ts} +7 -1
  72. package/src/services/ActivitiesService.ts +255 -0
  73. package/src/services/CrmService.ts +1161 -1
  74. package/src/services/DealsService.ts +337 -0
  75. package/src/services/LeadSourcesService.ts +198 -0
  76. package/src/services/PersonsService.ts +1 -1
  77. package/src/services/PipelinesService.ts +406 -0
package/dist/index.esm.js CHANGED
@@ -108,7 +108,7 @@ class CancelablePromise {
108
108
 
109
109
  const OpenAPI = {
110
110
  BASE: 'https://base.manager.iblai.app',
111
- VERSION: '4.265.1-core',
111
+ VERSION: '4.265.2-core',
112
112
  WITH_CREDENTIALS: false,
113
113
  CREDENTIALS: 'include',
114
114
  TOKEN: undefined,
@@ -134,6 +134,30 @@ var AcceptanceEnum;
134
134
  AcceptanceEnum["REJECTED"] = "Rejected";
135
135
  })(AcceptanceEnum || (AcceptanceEnum = {}));
136
136
 
137
+ /* generated using openapi-typescript-codegen -- do not edit */
138
+ /* istanbul ignore file */
139
+ /* tslint:disable */
140
+ /* eslint-disable */
141
+ /**
142
+ * * `call` - Call
143
+ * * `meeting` - Meeting
144
+ * * `email` - Email
145
+ * * `note` - Note
146
+ * * `task` - Task
147
+ * * `lunch` - Lunch
148
+ * * `deadline` - Deadline
149
+ */
150
+ var ActivityTypeEnum;
151
+ (function (ActivityTypeEnum) {
152
+ ActivityTypeEnum["CALL"] = "call";
153
+ ActivityTypeEnum["MEETING"] = "meeting";
154
+ ActivityTypeEnum["EMAIL"] = "email";
155
+ ActivityTypeEnum["NOTE"] = "note";
156
+ ActivityTypeEnum["TASK"] = "task";
157
+ ActivityTypeEnum["LUNCH"] = "lunch";
158
+ ActivityTypeEnum["DEADLINE"] = "deadline";
159
+ })(ActivityTypeEnum || (ActivityTypeEnum = {}));
160
+
137
161
  /* generated using openapi-typescript-codegen -- do not edit */
138
162
  /* istanbul ignore file */
139
163
  /* tslint:disable */
@@ -229,6 +253,22 @@ var CreditTransactionHistoryStatusEnum;
229
253
  CreditTransactionHistoryStatusEnum["CANCELLED"] = "cancelled";
230
254
  })(CreditTransactionHistoryStatusEnum || (CreditTransactionHistoryStatusEnum = {}));
231
255
 
256
+ /* generated using openapi-typescript-codegen -- do not edit */
257
+ /* istanbul ignore file */
258
+ /* tslint:disable */
259
+ /* eslint-disable */
260
+ /**
261
+ * * `open` - Open
262
+ * * `won` - Won
263
+ * * `lost` - Lost
264
+ */
265
+ var DealStatusEnum;
266
+ (function (DealStatusEnum) {
267
+ DealStatusEnum["OPEN"] = "open";
268
+ DealStatusEnum["WON"] = "won";
269
+ DealStatusEnum["LOST"] = "lost";
270
+ })(DealStatusEnum || (DealStatusEnum = {}));
271
+
232
272
  /* generated using openapi-typescript-codegen -- do not edit */
233
273
  /* istanbul ignore file */
234
274
  /* tslint:disable */
@@ -691,6 +731,26 @@ var ProgramTypeEnum;
691
731
  ProgramTypeEnum["OTHER"] = "other";
692
732
  })(ProgramTypeEnum || (ProgramTypeEnum = {}));
693
733
 
734
+ /* generated using openapi-typescript-codegen -- do not edit */
735
+ /* istanbul ignore file */
736
+ /* tslint:disable */
737
+ /* eslint-disable */
738
+ /**
739
+ * * `platform_admins_only` - platform_admins_only
740
+ * * `object_owner_only` - object_owner_only
741
+ * * `object_owner_only_strict` - object_owner_only_strict
742
+ * * `platform_admins_and_object_owner` - platform_admins_and_object_owner
743
+ * * `custom` - custom
744
+ */
745
+ var RecipientsRecipientModeEnum;
746
+ (function (RecipientsRecipientModeEnum) {
747
+ RecipientsRecipientModeEnum["PLATFORM_ADMINS_ONLY"] = "platform_admins_only";
748
+ RecipientsRecipientModeEnum["OBJECT_OWNER_ONLY"] = "object_owner_only";
749
+ RecipientsRecipientModeEnum["OBJECT_OWNER_ONLY_STRICT"] = "object_owner_only_strict";
750
+ RecipientsRecipientModeEnum["PLATFORM_ADMINS_AND_OBJECT_OWNER"] = "platform_admins_and_object_owner";
751
+ RecipientsRecipientModeEnum["CUSTOM"] = "custom";
752
+ })(RecipientsRecipientModeEnum || (RecipientsRecipientModeEnum = {}));
753
+
694
754
  /* generated using openapi-typescript-codegen -- do not edit */
695
755
  /* istanbul ignore file */
696
756
  /* tslint:disable */
@@ -795,6 +855,9 @@ var TransactionTypeEnum;
795
855
  * * `COURSE_LICENSE_GROUP_ASSIGNMENT` - Course License Group Assignment
796
856
  * * `COURSE_SCHEDULE_CHANGE` - Course Schedule Change
797
857
  * * `COURSES_PROGRESS_SUMMARY` - Courses Progress Summary
858
+ * * `CRM_DEAL_STAGE_CHANGED` - Crm Deal Stage Changed
859
+ * * `CRM_PERSON_CREATED` - Crm Person Created
860
+ * * `CRM_PERSON_LINKED_TO_USER` - Crm Person Linked To User
798
861
  * * `CUSTOM_NOTIFICATION` - Custom Notification
799
862
  * * `DEFAULT_TEMPLATE` - Default Template
800
863
  * * `HUMAN_SUPPORT_NOTIFICATION` - Human Support Notification
@@ -819,41 +882,44 @@ var TransactionTypeEnum;
819
882
  * * `USER_NOTIF_USER_INACTIVITY` - User Notif User Inactivity
820
883
  * * `USER_NOTIF_USER_REGISTRATION` - User Notif User Registration
821
884
  */
822
- var TypeD36Enum;
823
- (function (TypeD36Enum) {
824
- TypeD36Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
825
- TypeD36Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
826
- TypeD36Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
827
- TypeD36Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
828
- TypeD36Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
829
- TypeD36Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
830
- TypeD36Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
831
- TypeD36Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
832
- TypeD36Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
833
- TypeD36Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
834
- TypeD36Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
835
- TypeD36Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
836
- TypeD36Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
837
- TypeD36Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
838
- TypeD36Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
839
- TypeD36Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
840
- TypeD36Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
841
- TypeD36Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
842
- TypeD36Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
843
- TypeD36Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
844
- TypeD36Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
845
- TypeD36Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
846
- TypeD36Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
847
- TypeD36Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
848
- TypeD36Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
849
- TypeD36Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
850
- TypeD36Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
851
- TypeD36Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
852
- TypeD36Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
853
- TypeD36Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
854
- TypeD36Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
855
- TypeD36Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
856
- })(TypeD36Enum || (TypeD36Enum = {}));
885
+ var Type4b7Enum;
886
+ (function (Type4b7Enum) {
887
+ Type4b7Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
888
+ Type4b7Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
889
+ Type4b7Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
890
+ Type4b7Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
891
+ Type4b7Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
892
+ Type4b7Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
893
+ Type4b7Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
894
+ Type4b7Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
895
+ Type4b7Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
896
+ Type4b7Enum["CRM_DEAL_STAGE_CHANGED"] = "CRM_DEAL_STAGE_CHANGED";
897
+ Type4b7Enum["CRM_PERSON_CREATED"] = "CRM_PERSON_CREATED";
898
+ Type4b7Enum["CRM_PERSON_LINKED_TO_USER"] = "CRM_PERSON_LINKED_TO_USER";
899
+ Type4b7Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
900
+ Type4b7Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
901
+ Type4b7Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
902
+ Type4b7Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
903
+ Type4b7Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
904
+ Type4b7Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
905
+ Type4b7Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
906
+ Type4b7Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
907
+ Type4b7Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
908
+ Type4b7Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
909
+ Type4b7Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
910
+ Type4b7Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
911
+ Type4b7Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
912
+ Type4b7Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
913
+ Type4b7Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
914
+ Type4b7Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
915
+ Type4b7Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
916
+ Type4b7Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
917
+ Type4b7Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
918
+ Type4b7Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
919
+ Type4b7Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
920
+ Type4b7Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
921
+ Type4b7Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
922
+ })(Type4b7Enum || (Type4b7Enum = {}));
857
923
 
858
924
  /* generated using openapi-typescript-codegen -- do not edit */
859
925
  /* istanbul ignore file */
@@ -1174,6 +1240,195 @@ class AccountService {
1174
1240
  }
1175
1241
  }
1176
1242
 
1243
+ class ActivitiesService {
1244
+ /**
1245
+ * List activities
1246
+ * Returns a paginated list of Activities in your Platform. Supports filtering by `type`, `is_done`, `owner`, `deal`, `person`, schedule-from ranges, and `metadata__has_key`.
1247
+ *
1248
+ * **Required permission:** `Ibl.CRM/Activities/list`.
1249
+ * @returns PaginatedActivityList
1250
+ * @throws ApiError
1251
+ */
1252
+ static activitiesList({
1253
+ deal,
1254
+ isDone,
1255
+ metadataHasKey,
1256
+ owner,
1257
+ page,
1258
+ pageSize,
1259
+ person,
1260
+ scheduleFromGte,
1261
+ scheduleFromLte,
1262
+ type
1263
+ }) {
1264
+ return request(OpenAPI, {
1265
+ method: 'GET',
1266
+ url: '/activities/',
1267
+ query: {
1268
+ 'deal': deal,
1269
+ 'is_done': isDone,
1270
+ 'metadata__has_key': metadataHasKey,
1271
+ 'owner': owner,
1272
+ 'page': page,
1273
+ 'page_size': pageSize,
1274
+ 'person': person,
1275
+ 'schedule_from__gte': scheduleFromGte,
1276
+ 'schedule_from__lte': scheduleFromLte,
1277
+ 'type': type
1278
+ },
1279
+ errors: {
1280
+ 401: `Authentication required.`,
1281
+ 403: `Missing required permission \`Ibl.CRM/Activities/list\`.`
1282
+ }
1283
+ });
1284
+ }
1285
+ /**
1286
+ * Create an activity
1287
+ * Creates an Activity. Either `deal` or `person` must be supplied; both must belong to your Platform.
1288
+ *
1289
+ * **Required permission:** `Ibl.CRM/Activities/write`.
1290
+ * @returns Activity
1291
+ * @throws ApiError
1292
+ */
1293
+ static activitiesCreate({
1294
+ requestBody
1295
+ }) {
1296
+ return request(OpenAPI, {
1297
+ method: 'POST',
1298
+ url: '/activities/',
1299
+ body: requestBody,
1300
+ mediaType: 'application/json',
1301
+ errors: {
1302
+ 400: `Validation error.`,
1303
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`
1304
+ }
1305
+ });
1306
+ }
1307
+ /**
1308
+ * Retrieve an activity
1309
+ * Returns a single Activity by id.
1310
+ *
1311
+ * **Required permission:** `Ibl.CRM/Activities/read`.
1312
+ * @returns Activity
1313
+ * @throws ApiError
1314
+ */
1315
+ static activitiesRetrieve({
1316
+ id
1317
+ }) {
1318
+ return request(OpenAPI, {
1319
+ method: 'GET',
1320
+ url: '/activities/{id}/',
1321
+ path: {
1322
+ 'id': id
1323
+ },
1324
+ errors: {
1325
+ 403: `Missing required permission \`Ibl.CRM/Activities/read\`.`,
1326
+ 404: `Activity not found.`
1327
+ }
1328
+ });
1329
+ }
1330
+ /**
1331
+ * Replace an activity
1332
+ * Replaces all editable fields on the Activity.
1333
+ *
1334
+ * **Required permission:** `Ibl.CRM/Activities/write`.
1335
+ * @returns Activity
1336
+ * @throws ApiError
1337
+ */
1338
+ static activitiesUpdate({
1339
+ id,
1340
+ requestBody
1341
+ }) {
1342
+ return request(OpenAPI, {
1343
+ method: 'PUT',
1344
+ url: '/activities/{id}/',
1345
+ path: {
1346
+ 'id': id
1347
+ },
1348
+ body: requestBody,
1349
+ mediaType: 'application/json',
1350
+ errors: {
1351
+ 400: `Validation error.`,
1352
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
1353
+ 404: `Activity not found.`
1354
+ }
1355
+ });
1356
+ }
1357
+ /**
1358
+ * Update an activity
1359
+ * Updates only the supplied fields on the Activity.
1360
+ *
1361
+ * **Required permission:** `Ibl.CRM/Activities/write`.
1362
+ * @returns Activity
1363
+ * @throws ApiError
1364
+ */
1365
+ static activitiesPartialUpdate({
1366
+ id,
1367
+ requestBody
1368
+ }) {
1369
+ return request(OpenAPI, {
1370
+ method: 'PATCH',
1371
+ url: '/activities/{id}/',
1372
+ path: {
1373
+ 'id': id
1374
+ },
1375
+ body: requestBody,
1376
+ mediaType: 'application/json',
1377
+ errors: {
1378
+ 400: `Validation error.`,
1379
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
1380
+ 404: `Activity not found.`
1381
+ }
1382
+ });
1383
+ }
1384
+ /**
1385
+ * Delete an activity
1386
+ * Deletes the Activity.
1387
+ *
1388
+ * **Required permission:** `Ibl.CRM/Activities/delete`.
1389
+ * @returns void
1390
+ * @throws ApiError
1391
+ */
1392
+ static activitiesDestroy({
1393
+ id
1394
+ }) {
1395
+ return request(OpenAPI, {
1396
+ method: 'DELETE',
1397
+ url: '/activities/{id}/',
1398
+ path: {
1399
+ 'id': id
1400
+ },
1401
+ errors: {
1402
+ 403: `Missing required permission \`Ibl.CRM/Activities/delete\`.`,
1403
+ 404: `Activity not found.`
1404
+ }
1405
+ });
1406
+ }
1407
+ /**
1408
+ * Mark an activity as done
1409
+ * Flips `is_done=True` and stamps `done_at` if it isn't already set. Idempotent — calling on an already-done Activity preserves the original `done_at`.
1410
+ *
1411
+ * **Required permission:** `Ibl.CRM/Activities/write`.
1412
+ * @returns Activity
1413
+ * @throws ApiError
1414
+ */
1415
+ static activitiesDoneCreate({
1416
+ id
1417
+ }) {
1418
+ return request(OpenAPI, {
1419
+ method: 'POST',
1420
+ url: '/activities/{id}/done/',
1421
+ path: {
1422
+ 'id': id
1423
+ },
1424
+ errors: {
1425
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
1426
+ 404: `Activity not found.`
1427
+ }
1428
+ });
1429
+ }
1430
+ }
1431
+
1177
1432
  class AiAnalyticsService {
1178
1433
  /**
1179
1434
  * Get Content Analytics
@@ -19785,94 +20040,106 @@ class CreditsService {
19785
20040
 
19786
20041
  class CrmService {
19787
20042
  /**
19788
- * List organizations
19789
- * Returns a paginated list of organizations in your Platform. Supports filtering by `owner` and by `name` (case-insensitive substring match).
20043
+ * List activities
20044
+ * Returns a paginated list of Activities in your Platform. Supports filtering by `type`, `is_done`, `owner`, `deal`, `person`, schedule-from ranges, and `metadata__has_key`.
19790
20045
  *
19791
- * **Required permission:** `Ibl.CRM/Organizations/list`.
19792
- * @returns PaginatedOrganizationList
20046
+ * **Required permission:** `Ibl.CRM/Activities/list`.
20047
+ * @returns PaginatedActivityList
19793
20048
  * @throws ApiError
19794
20049
  */
19795
- static crmOrganizationsList({
19796
- name,
20050
+ static crmActivitiesList({
20051
+ deal,
20052
+ isDone,
20053
+ metadataHasKey,
19797
20054
  owner,
19798
20055
  page,
19799
- pageSize
20056
+ pageSize,
20057
+ person,
20058
+ scheduleFromGte,
20059
+ scheduleFromLte,
20060
+ type
19800
20061
  }) {
19801
20062
  return request(OpenAPI, {
19802
20063
  method: 'GET',
19803
- url: '/api/crm/organizations/',
20064
+ url: '/api/crm/activities/',
19804
20065
  query: {
19805
- 'name': name,
20066
+ 'deal': deal,
20067
+ 'is_done': isDone,
20068
+ 'metadata__has_key': metadataHasKey,
19806
20069
  'owner': owner,
19807
20070
  'page': page,
19808
- 'page_size': pageSize
20071
+ 'page_size': pageSize,
20072
+ 'person': person,
20073
+ 'schedule_from__gte': scheduleFromGte,
20074
+ 'schedule_from__lte': scheduleFromLte,
20075
+ 'type': type
19809
20076
  },
19810
20077
  errors: {
19811
20078
  401: `Authentication required.`,
19812
- 403: `Missing required permission \`Ibl.CRM/Organizations/list\`.`
20079
+ 403: `Missing required permission \`Ibl.CRM/Activities/list\`.`
19813
20080
  }
19814
20081
  });
19815
20082
  }
19816
20083
  /**
19817
- * Create an organization
19818
- * Creates a new organization in your Platform. The Platform is inferred from your credentials. `name` must be unique within your Platform.
20084
+ * Create an activity
20085
+ * Creates an Activity. Either `deal` or `person` must be supplied; both must belong to your Platform.
19819
20086
  *
19820
- * **Required permission:** `Ibl.CRM/Organizations/write`.
19821
- * @returns Organization
20087
+ * **Required permission:** `Ibl.CRM/Activities/write`.
20088
+ * @returns Activity
19822
20089
  * @throws ApiError
19823
20090
  */
19824
- static crmOrganizationsCreate({
20091
+ static crmActivitiesCreate({
19825
20092
  requestBody
19826
20093
  }) {
19827
20094
  return request(OpenAPI, {
19828
20095
  method: 'POST',
19829
- url: '/api/crm/organizations/',
20096
+ url: '/api/crm/activities/',
19830
20097
  body: requestBody,
19831
20098
  mediaType: 'application/json',
19832
20099
  errors: {
19833
- 400: `Validation error (for example, duplicate name).`,
19834
- 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`
20100
+ 400: `Validation error.`,
20101
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`
19835
20102
  }
19836
20103
  });
19837
20104
  }
19838
20105
  /**
19839
- * Retrieve an organization
19840
- * Returns a single organization by id.
20106
+ * Retrieve an activity
20107
+ * Returns a single Activity by id.
19841
20108
  *
19842
- * **Required permission:** `Ibl.CRM/Organizations/read`.
19843
- * @returns Organization
20109
+ * **Required permission:** `Ibl.CRM/Activities/read`.
20110
+ * @returns Activity
19844
20111
  * @throws ApiError
19845
20112
  */
19846
- static crmOrganizationsRetrieve({
20113
+ static crmActivitiesRetrieve({
19847
20114
  id
19848
20115
  }) {
19849
20116
  return request(OpenAPI, {
19850
20117
  method: 'GET',
19851
- url: '/api/crm/organizations/{id}/',
20118
+ url: '/api/crm/activities/{id}/',
19852
20119
  path: {
19853
20120
  'id': id
19854
20121
  },
19855
20122
  errors: {
19856
- 403: `Missing required permission \`Ibl.CRM/Organizations/read\`.`,
19857
- 404: `Organization not found.`
20123
+ 403: `Missing required permission \`Ibl.CRM/Activities/read\`.`,
20124
+ 404: `Activity not found.`
19858
20125
  }
19859
20126
  });
19860
20127
  }
19861
20128
  /**
19862
- * Replace an organization
19863
- * Replaces all editable fields on the organization.
20129
+ * Replace an activity
20130
+ * Replaces all editable fields on the Activity.
19864
20131
  *
19865
- * **Required permission:** `Ibl.CRM/Organizations/write`.
19866
- * @returns Organization
20132
+ * **Required permission:** `Ibl.CRM/Activities/write`.
20133
+ * @returns Activity
19867
20134
  * @throws ApiError
19868
20135
  */
19869
- static crmOrganizationsUpdate({
20136
+ static crmActivitiesUpdate({
19870
20137
  id,
19871
20138
  requestBody
19872
20139
  }) {
19873
20140
  return request(OpenAPI, {
19874
20141
  method: 'PUT',
19875
- url: '/api/crm/organizations/{id}/',
20142
+ url: '/api/crm/activities/{id}/',
19876
20143
  path: {
19877
20144
  'id': id
19878
20145
  },
@@ -19880,26 +20147,26 @@ class CrmService {
19880
20147
  mediaType: 'application/json',
19881
20148
  errors: {
19882
20149
  400: `Validation error.`,
19883
- 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`,
19884
- 404: `Organization not found.`
20150
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
20151
+ 404: `Activity not found.`
19885
20152
  }
19886
20153
  });
19887
20154
  }
19888
20155
  /**
19889
- * Update an organization
19890
- * Updates only the supplied fields on the organization.
20156
+ * Update an activity
20157
+ * Updates only the supplied fields on the Activity.
19891
20158
  *
19892
- * **Required permission:** `Ibl.CRM/Organizations/write`.
19893
- * @returns Organization
20159
+ * **Required permission:** `Ibl.CRM/Activities/write`.
20160
+ * @returns Activity
19894
20161
  * @throws ApiError
19895
20162
  */
19896
- static crmOrganizationsPartialUpdate({
20163
+ static crmActivitiesPartialUpdate({
19897
20164
  id,
19898
20165
  requestBody
19899
20166
  }) {
19900
20167
  return request(OpenAPI, {
19901
20168
  method: 'PATCH',
19902
- url: '/api/crm/organizations/{id}/',
20169
+ url: '/api/crm/activities/{id}/',
19903
20170
  path: {
19904
20171
  'id': id
19905
20172
  },
@@ -19907,131 +20174,166 @@ class CrmService {
19907
20174
  mediaType: 'application/json',
19908
20175
  errors: {
19909
20176
  400: `Validation error.`,
19910
- 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`,
19911
- 404: `Organization not found.`
20177
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
20178
+ 404: `Activity not found.`
19912
20179
  }
19913
20180
  });
19914
20181
  }
19915
20182
  /**
19916
- * Delete an organization
19917
- * Deletes the organization. Any persons linked to it are kept; their organization reference is cleared.
20183
+ * Delete an activity
20184
+ * Deletes the Activity.
19918
20185
  *
19919
- * **Required permission:** `Ibl.CRM/Organizations/delete`.
20186
+ * **Required permission:** `Ibl.CRM/Activities/delete`.
19920
20187
  * @returns void
19921
20188
  * @throws ApiError
19922
20189
  */
19923
- static crmOrganizationsDestroy({
20190
+ static crmActivitiesDestroy({
19924
20191
  id
19925
20192
  }) {
19926
20193
  return request(OpenAPI, {
19927
20194
  method: 'DELETE',
19928
- url: '/api/crm/organizations/{id}/',
20195
+ url: '/api/crm/activities/{id}/',
19929
20196
  path: {
19930
20197
  'id': id
19931
20198
  },
19932
20199
  errors: {
19933
- 403: `Missing required permission \`Ibl.CRM/Organizations/delete\`.`,
19934
- 404: `Organization not found.`
20200
+ 403: `Missing required permission \`Ibl.CRM/Activities/delete\`.`,
20201
+ 404: `Activity not found.`
19935
20202
  }
19936
20203
  });
19937
20204
  }
19938
20205
  /**
19939
- * List persons
19940
- * Returns a paginated list of persons in your Platform. Supports filtering by `lifecycle_stage`, `owner`, `organization`, `created_at__gte`/`created_at__lte`, and `metadata__has_key`.
20206
+ * Mark an activity as done
20207
+ * Flips `is_done=True` and stamps `done_at` if it isn't already set. Idempotent calling on an already-done Activity preserves the original `done_at`.
19941
20208
  *
19942
- * **Required permission:** `Ibl.CRM/Persons/list`.
19943
- * @returns PaginatedPersonList
20209
+ * **Required permission:** `Ibl.CRM/Activities/write`.
20210
+ * @returns Activity
19944
20211
  * @throws ApiError
19945
20212
  */
19946
- static crmPersonsList({
20213
+ static crmActivitiesDoneCreate({
20214
+ id
20215
+ }) {
20216
+ return request(OpenAPI, {
20217
+ method: 'POST',
20218
+ url: '/api/crm/activities/{id}/done/',
20219
+ path: {
20220
+ 'id': id
20221
+ },
20222
+ errors: {
20223
+ 403: `Missing required permission \`Ibl.CRM/Activities/write\`.`,
20224
+ 404: `Activity not found.`
20225
+ }
20226
+ });
20227
+ }
20228
+ /**
20229
+ * List deals
20230
+ * Returns a paginated list of Deals in your Platform. Supports filtering by `status`, `pipeline`, `stage`, `owner`, `source`, `person`, `organization`, expected-close-date and created-at ranges, and `metadata__has_key`.
20231
+ *
20232
+ * **Required permission:** `Ibl.CRM/Deals/list`.
20233
+ * @returns PaginatedDealList
20234
+ * @throws ApiError
20235
+ */
20236
+ static crmDealsList({
19947
20237
  createdAtGte,
19948
20238
  createdAtLte,
19949
- lifecycleStage,
20239
+ expectedCloseDateGte,
20240
+ expectedCloseDateLte,
19950
20241
  metadataHasKey,
19951
20242
  organization,
19952
20243
  owner,
19953
20244
  page,
19954
- pageSize
20245
+ pageSize,
20246
+ person,
20247
+ pipeline,
20248
+ source,
20249
+ stage,
20250
+ status
19955
20251
  }) {
19956
20252
  return request(OpenAPI, {
19957
20253
  method: 'GET',
19958
- url: '/api/crm/persons/',
20254
+ url: '/api/crm/deals/',
19959
20255
  query: {
19960
20256
  'created_at__gte': createdAtGte,
19961
20257
  'created_at__lte': createdAtLte,
19962
- 'lifecycle_stage': lifecycleStage,
20258
+ 'expected_close_date__gte': expectedCloseDateGte,
20259
+ 'expected_close_date__lte': expectedCloseDateLte,
19963
20260
  'metadata__has_key': metadataHasKey,
19964
20261
  'organization': organization,
19965
20262
  'owner': owner,
19966
20263
  'page': page,
19967
- 'page_size': pageSize
20264
+ 'page_size': pageSize,
20265
+ 'person': person,
20266
+ 'pipeline': pipeline,
20267
+ 'source': source,
20268
+ 'stage': stage,
20269
+ 'status': status
19968
20270
  },
19969
20271
  errors: {
19970
20272
  401: `Authentication required.`,
19971
- 403: `Missing required permission \`Ibl.CRM/Persons/list\`.`
20273
+ 403: `Missing required permission \`Ibl.CRM/Deals/list\`.`
19972
20274
  }
19973
20275
  });
19974
20276
  }
19975
20277
  /**
19976
- * Create a person
19977
- * Creates a new person in your Platform. The Platform is inferred from your credentials. If `organization` is supplied, it must reference an organization in your Platform.
20278
+ * Create a deal
20279
+ * Creates a new Deal. All FK targets (`person`, `organization`, `pipeline`, `stage`, `source`) must belong to your Platform; `stage` must belong to `pipeline`. `status` and `closed_at` are service-managed passing them returns `400`.
19978
20280
  *
19979
- * **Required permission:** `Ibl.CRM/Persons/write`.
19980
- * @returns Person
20281
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20282
+ * @returns Deal
19981
20283
  * @throws ApiError
19982
20284
  */
19983
- static crmPersonsCreate({
20285
+ static crmDealsCreate({
19984
20286
  requestBody
19985
20287
  }) {
19986
20288
  return request(OpenAPI, {
19987
20289
  method: 'POST',
19988
- url: '/api/crm/persons/',
20290
+ url: '/api/crm/deals/',
19989
20291
  body: requestBody,
19990
20292
  mediaType: 'application/json',
19991
20293
  errors: {
19992
20294
  400: `Validation error.`,
19993
- 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`
20295
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`
19994
20296
  }
19995
20297
  });
19996
20298
  }
19997
20299
  /**
19998
- * Retrieve a person
19999
- * Returns a single person by id.
20300
+ * Retrieve a deal
20301
+ * Returns a single Deal by id.
20000
20302
  *
20001
- * **Required permission:** `Ibl.CRM/Persons/read`.
20002
- * @returns Person
20303
+ * **Required permission:** `Ibl.CRM/Deals/read`.
20304
+ * @returns Deal
20003
20305
  * @throws ApiError
20004
20306
  */
20005
- static crmPersonsRetrieve({
20307
+ static crmDealsRetrieve({
20006
20308
  id
20007
20309
  }) {
20008
20310
  return request(OpenAPI, {
20009
20311
  method: 'GET',
20010
- url: '/api/crm/persons/{id}/',
20312
+ url: '/api/crm/deals/{id}/',
20011
20313
  path: {
20012
20314
  'id': id
20013
20315
  },
20014
20316
  errors: {
20015
- 403: `Missing required permission \`Ibl.CRM/Persons/read\`.`,
20016
- 404: `Person not found.`
20317
+ 403: `Missing required permission \`Ibl.CRM/Deals/read\`.`,
20318
+ 404: `Deal not found.`
20017
20319
  }
20018
20320
  });
20019
20321
  }
20020
20322
  /**
20021
- * Replace a person
20022
- * Replaces all editable fields on the person.
20323
+ * Replace a deal
20324
+ * Replaces all editable fields on the Deal.
20023
20325
  *
20024
- * **Required permission:** `Ibl.CRM/Persons/write`.
20025
- * @returns Person
20326
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20327
+ * @returns Deal
20026
20328
  * @throws ApiError
20027
20329
  */
20028
- static crmPersonsUpdate({
20330
+ static crmDealsUpdate({
20029
20331
  id,
20030
20332
  requestBody
20031
20333
  }) {
20032
20334
  return request(OpenAPI, {
20033
20335
  method: 'PUT',
20034
- url: '/api/crm/persons/{id}/',
20336
+ url: '/api/crm/deals/{id}/',
20035
20337
  path: {
20036
20338
  'id': id
20037
20339
  },
@@ -20039,8 +20341,550 @@ class CrmService {
20039
20341
  mediaType: 'application/json',
20040
20342
  errors: {
20041
20343
  400: `Validation error.`,
20042
- 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
20043
- 404: `Person not found.`
20344
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
20345
+ 404: `Deal not found.`
20346
+ }
20347
+ });
20348
+ }
20349
+ /**
20350
+ * Update a deal
20351
+ * Updates only the supplied fields on the Deal. Direct writes to `status` or `closed_at` are rejected with `400` — use `POST /deals/{id}/move-stage/`, `won/`, or `lost/`.
20352
+ *
20353
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20354
+ * @returns Deal
20355
+ * @throws ApiError
20356
+ */
20357
+ static crmDealsPartialUpdate({
20358
+ id,
20359
+ requestBody
20360
+ }) {
20361
+ return request(OpenAPI, {
20362
+ method: 'PATCH',
20363
+ url: '/api/crm/deals/{id}/',
20364
+ path: {
20365
+ 'id': id
20366
+ },
20367
+ body: requestBody,
20368
+ mediaType: 'application/json',
20369
+ errors: {
20370
+ 400: `Validation error.`,
20371
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
20372
+ 404: `Deal not found.`
20373
+ }
20374
+ });
20375
+ }
20376
+ /**
20377
+ * Delete a deal
20378
+ * Deletes the Deal.
20379
+ *
20380
+ * **Required permission:** `Ibl.CRM/Deals/delete`.
20381
+ * @returns void
20382
+ * @throws ApiError
20383
+ */
20384
+ static crmDealsDestroy({
20385
+ id
20386
+ }) {
20387
+ return request(OpenAPI, {
20388
+ method: 'DELETE',
20389
+ url: '/api/crm/deals/{id}/',
20390
+ path: {
20391
+ 'id': id
20392
+ },
20393
+ errors: {
20394
+ 403: `Missing required permission \`Ibl.CRM/Deals/delete\`.`,
20395
+ 404: `Deal not found.`
20396
+ }
20397
+ });
20398
+ }
20399
+ /**
20400
+ * Mark a deal as lost
20401
+ * Moves the Deal into a closed-lost stage and persists `lost_reason`. If `stage_code` is omitted, the first `is_lost=True` stage in the Deal's pipeline (by sort order) is used.
20402
+ *
20403
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20404
+ * @returns Deal
20405
+ * @throws ApiError
20406
+ */
20407
+ static crmDealsLostCreate({
20408
+ id,
20409
+ requestBody
20410
+ }) {
20411
+ return request(OpenAPI, {
20412
+ method: 'POST',
20413
+ url: '/api/crm/deals/{id}/lost/',
20414
+ path: {
20415
+ 'id': id
20416
+ },
20417
+ body: requestBody,
20418
+ mediaType: 'application/json',
20419
+ errors: {
20420
+ 400: `Missing \`lost_reason\`, no \`is_lost\` stage configured, or the supplied stage_code is not flagged is_lost=True.`,
20421
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
20422
+ 404: `Deal not found.`
20423
+ }
20424
+ });
20425
+ }
20426
+ /**
20427
+ * Move a deal to a different stage
20428
+ * Moves the Deal to the stage identified by `stage_id` or `stage_code`. The target stage must belong to this Deal's pipeline. Records an audit Activity and emits `deal_stage_changed`. `Deal.status` is recomputed from the new stage's `is_won` / `is_lost` flags.
20429
+ *
20430
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20431
+ * @returns Deal
20432
+ * @throws ApiError
20433
+ */
20434
+ static crmDealsMoveStageCreate({
20435
+ id,
20436
+ requestBody
20437
+ }) {
20438
+ return request(OpenAPI, {
20439
+ method: 'POST',
20440
+ url: '/api/crm/deals/{id}/move-stage/',
20441
+ path: {
20442
+ 'id': id
20443
+ },
20444
+ body: requestBody,
20445
+ mediaType: 'application/json',
20446
+ errors: {
20447
+ 400: `Validation error (e.g. stage not in pipeline).`,
20448
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
20449
+ 404: `Deal or stage not found.`
20450
+ }
20451
+ });
20452
+ }
20453
+ /**
20454
+ * Mark a deal as won
20455
+ * Moves the Deal into a closed-won stage and sets `status='won'`. If `stage_code` is omitted, the first `is_won=True` stage in the Deal's pipeline (by sort order) is used.
20456
+ *
20457
+ * **Required permission:** `Ibl.CRM/Deals/write`.
20458
+ * @returns Deal
20459
+ * @throws ApiError
20460
+ */
20461
+ static crmDealsWonCreate({
20462
+ id,
20463
+ requestBody
20464
+ }) {
20465
+ return request(OpenAPI, {
20466
+ method: 'POST',
20467
+ url: '/api/crm/deals/{id}/won/',
20468
+ path: {
20469
+ 'id': id
20470
+ },
20471
+ body: requestBody,
20472
+ mediaType: 'application/json',
20473
+ errors: {
20474
+ 400: `No \`is_won\` stage configured, or the supplied stage_code is not flagged is_won=True.`,
20475
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
20476
+ 404: `Deal not found.`
20477
+ }
20478
+ });
20479
+ }
20480
+ /**
20481
+ * List lead sources
20482
+ * Returns a paginated list of LeadSources in your Platform.
20483
+ *
20484
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
20485
+ * @returns PaginatedLeadSourceList
20486
+ * @throws ApiError
20487
+ */
20488
+ static crmLeadSourcesList({
20489
+ code,
20490
+ name,
20491
+ page,
20492
+ pageSize
20493
+ }) {
20494
+ return request(OpenAPI, {
20495
+ method: 'GET',
20496
+ url: '/api/crm/lead-sources/',
20497
+ query: {
20498
+ 'code': code,
20499
+ 'name': name,
20500
+ 'page': page,
20501
+ 'page_size': pageSize
20502
+ },
20503
+ errors: {
20504
+ 401: `Authentication required.`,
20505
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`
20506
+ }
20507
+ });
20508
+ }
20509
+ /**
20510
+ * Create a lead source
20511
+ * Creates a new LeadSource in your Platform. `code` must be unique.
20512
+ *
20513
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
20514
+ * @returns LeadSource
20515
+ * @throws ApiError
20516
+ */
20517
+ static crmLeadSourcesCreate({
20518
+ requestBody
20519
+ }) {
20520
+ return request(OpenAPI, {
20521
+ method: 'POST',
20522
+ url: '/api/crm/lead-sources/',
20523
+ body: requestBody,
20524
+ mediaType: 'application/json',
20525
+ errors: {
20526
+ 400: `Validation error.`,
20527
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`
20528
+ }
20529
+ });
20530
+ }
20531
+ /**
20532
+ * Retrieve a lead source
20533
+ * Returns a single LeadSource by id.
20534
+ *
20535
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
20536
+ * @returns LeadSource
20537
+ * @throws ApiError
20538
+ */
20539
+ static crmLeadSourcesRetrieve({
20540
+ id
20541
+ }) {
20542
+ return request(OpenAPI, {
20543
+ method: 'GET',
20544
+ url: '/api/crm/lead-sources/{id}/',
20545
+ path: {
20546
+ 'id': id
20547
+ },
20548
+ errors: {
20549
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
20550
+ 404: `LeadSource not found.`
20551
+ }
20552
+ });
20553
+ }
20554
+ /**
20555
+ * Replace a lead source
20556
+ * Replaces all editable fields on the LeadSource.
20557
+ *
20558
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
20559
+ * @returns LeadSource
20560
+ * @throws ApiError
20561
+ */
20562
+ static crmLeadSourcesUpdate({
20563
+ id,
20564
+ requestBody
20565
+ }) {
20566
+ return request(OpenAPI, {
20567
+ method: 'PUT',
20568
+ url: '/api/crm/lead-sources/{id}/',
20569
+ path: {
20570
+ 'id': id
20571
+ },
20572
+ body: requestBody,
20573
+ mediaType: 'application/json',
20574
+ errors: {
20575
+ 400: `Validation error.`,
20576
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
20577
+ 404: `LeadSource not found.`
20578
+ }
20579
+ });
20580
+ }
20581
+ /**
20582
+ * Update a lead source
20583
+ * Updates only the supplied fields on the LeadSource.
20584
+ *
20585
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
20586
+ * @returns LeadSource
20587
+ * @throws ApiError
20588
+ */
20589
+ static crmLeadSourcesPartialUpdate({
20590
+ id,
20591
+ requestBody
20592
+ }) {
20593
+ return request(OpenAPI, {
20594
+ method: 'PATCH',
20595
+ url: '/api/crm/lead-sources/{id}/',
20596
+ path: {
20597
+ 'id': id
20598
+ },
20599
+ body: requestBody,
20600
+ mediaType: 'application/json',
20601
+ errors: {
20602
+ 400: `Validation error.`,
20603
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
20604
+ 404: `LeadSource not found.`
20605
+ }
20606
+ });
20607
+ }
20608
+ /**
20609
+ * Delete a lead source
20610
+ * Deletes the LeadSource. Any Deals referencing it have their `source` cleared.
20611
+ *
20612
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
20613
+ * @returns void
20614
+ * @throws ApiError
20615
+ */
20616
+ static crmLeadSourcesDestroy({
20617
+ id
20618
+ }) {
20619
+ return request(OpenAPI, {
20620
+ method: 'DELETE',
20621
+ url: '/api/crm/lead-sources/{id}/',
20622
+ path: {
20623
+ 'id': id
20624
+ },
20625
+ errors: {
20626
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
20627
+ 404: `LeadSource not found.`
20628
+ }
20629
+ });
20630
+ }
20631
+ /**
20632
+ * List organizations
20633
+ * Returns a paginated list of organizations in your Platform. Supports filtering by `owner` and by `name` (case-insensitive substring match).
20634
+ *
20635
+ * **Required permission:** `Ibl.CRM/Organizations/list`.
20636
+ * @returns PaginatedOrganizationList
20637
+ * @throws ApiError
20638
+ */
20639
+ static crmOrganizationsList({
20640
+ name,
20641
+ owner,
20642
+ page,
20643
+ pageSize
20644
+ }) {
20645
+ return request(OpenAPI, {
20646
+ method: 'GET',
20647
+ url: '/api/crm/organizations/',
20648
+ query: {
20649
+ 'name': name,
20650
+ 'owner': owner,
20651
+ 'page': page,
20652
+ 'page_size': pageSize
20653
+ },
20654
+ errors: {
20655
+ 401: `Authentication required.`,
20656
+ 403: `Missing required permission \`Ibl.CRM/Organizations/list\`.`
20657
+ }
20658
+ });
20659
+ }
20660
+ /**
20661
+ * Create an organization
20662
+ * Creates a new organization in your Platform. The Platform is inferred from your credentials. `name` must be unique within your Platform.
20663
+ *
20664
+ * **Required permission:** `Ibl.CRM/Organizations/write`.
20665
+ * @returns Organization
20666
+ * @throws ApiError
20667
+ */
20668
+ static crmOrganizationsCreate({
20669
+ requestBody
20670
+ }) {
20671
+ return request(OpenAPI, {
20672
+ method: 'POST',
20673
+ url: '/api/crm/organizations/',
20674
+ body: requestBody,
20675
+ mediaType: 'application/json',
20676
+ errors: {
20677
+ 400: `Validation error (for example, duplicate name).`,
20678
+ 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`
20679
+ }
20680
+ });
20681
+ }
20682
+ /**
20683
+ * Retrieve an organization
20684
+ * Returns a single organization by id.
20685
+ *
20686
+ * **Required permission:** `Ibl.CRM/Organizations/read`.
20687
+ * @returns Organization
20688
+ * @throws ApiError
20689
+ */
20690
+ static crmOrganizationsRetrieve({
20691
+ id
20692
+ }) {
20693
+ return request(OpenAPI, {
20694
+ method: 'GET',
20695
+ url: '/api/crm/organizations/{id}/',
20696
+ path: {
20697
+ 'id': id
20698
+ },
20699
+ errors: {
20700
+ 403: `Missing required permission \`Ibl.CRM/Organizations/read\`.`,
20701
+ 404: `Organization not found.`
20702
+ }
20703
+ });
20704
+ }
20705
+ /**
20706
+ * Replace an organization
20707
+ * Replaces all editable fields on the organization.
20708
+ *
20709
+ * **Required permission:** `Ibl.CRM/Organizations/write`.
20710
+ * @returns Organization
20711
+ * @throws ApiError
20712
+ */
20713
+ static crmOrganizationsUpdate({
20714
+ id,
20715
+ requestBody
20716
+ }) {
20717
+ return request(OpenAPI, {
20718
+ method: 'PUT',
20719
+ url: '/api/crm/organizations/{id}/',
20720
+ path: {
20721
+ 'id': id
20722
+ },
20723
+ body: requestBody,
20724
+ mediaType: 'application/json',
20725
+ errors: {
20726
+ 400: `Validation error.`,
20727
+ 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`,
20728
+ 404: `Organization not found.`
20729
+ }
20730
+ });
20731
+ }
20732
+ /**
20733
+ * Update an organization
20734
+ * Updates only the supplied fields on the organization.
20735
+ *
20736
+ * **Required permission:** `Ibl.CRM/Organizations/write`.
20737
+ * @returns Organization
20738
+ * @throws ApiError
20739
+ */
20740
+ static crmOrganizationsPartialUpdate({
20741
+ id,
20742
+ requestBody
20743
+ }) {
20744
+ return request(OpenAPI, {
20745
+ method: 'PATCH',
20746
+ url: '/api/crm/organizations/{id}/',
20747
+ path: {
20748
+ 'id': id
20749
+ },
20750
+ body: requestBody,
20751
+ mediaType: 'application/json',
20752
+ errors: {
20753
+ 400: `Validation error.`,
20754
+ 403: `Missing required permission \`Ibl.CRM/Organizations/write\`.`,
20755
+ 404: `Organization not found.`
20756
+ }
20757
+ });
20758
+ }
20759
+ /**
20760
+ * Delete an organization
20761
+ * Deletes the organization. Any persons linked to it are kept; their organization reference is cleared.
20762
+ *
20763
+ * **Required permission:** `Ibl.CRM/Organizations/delete`.
20764
+ * @returns void
20765
+ * @throws ApiError
20766
+ */
20767
+ static crmOrganizationsDestroy({
20768
+ id
20769
+ }) {
20770
+ return request(OpenAPI, {
20771
+ method: 'DELETE',
20772
+ url: '/api/crm/organizations/{id}/',
20773
+ path: {
20774
+ 'id': id
20775
+ },
20776
+ errors: {
20777
+ 403: `Missing required permission \`Ibl.CRM/Organizations/delete\`.`,
20778
+ 404: `Organization not found.`
20779
+ }
20780
+ });
20781
+ }
20782
+ /**
20783
+ * List persons
20784
+ * Returns a paginated list of persons in your Platform. Supports filtering by `lifecycle_stage`, `owner`, `organization`, `created_at__gte`/`created_at__lte`, and `metadata__has_key`.
20785
+ *
20786
+ * **Required permission:** `Ibl.CRM/Persons/list`.
20787
+ * @returns PaginatedPersonList
20788
+ * @throws ApiError
20789
+ */
20790
+ static crmPersonsList({
20791
+ createdAtGte,
20792
+ createdAtLte,
20793
+ lifecycleStage,
20794
+ metadataHasKey,
20795
+ organization,
20796
+ owner,
20797
+ page,
20798
+ pageSize
20799
+ }) {
20800
+ return request(OpenAPI, {
20801
+ method: 'GET',
20802
+ url: '/api/crm/persons/',
20803
+ query: {
20804
+ 'created_at__gte': createdAtGte,
20805
+ 'created_at__lte': createdAtLte,
20806
+ 'lifecycle_stage': lifecycleStage,
20807
+ 'metadata__has_key': metadataHasKey,
20808
+ 'organization': organization,
20809
+ 'owner': owner,
20810
+ 'page': page,
20811
+ 'page_size': pageSize
20812
+ },
20813
+ errors: {
20814
+ 401: `Authentication required.`,
20815
+ 403: `Missing required permission \`Ibl.CRM/Persons/list\`.`
20816
+ }
20817
+ });
20818
+ }
20819
+ /**
20820
+ * Create a person
20821
+ * Creates a new person in your Platform. The Platform is inferred from your credentials. If `organization` is supplied, it must reference an organization in your Platform.
20822
+ *
20823
+ * **Required permission:** `Ibl.CRM/Persons/write`.
20824
+ * @returns Person
20825
+ * @throws ApiError
20826
+ */
20827
+ static crmPersonsCreate({
20828
+ requestBody
20829
+ }) {
20830
+ return request(OpenAPI, {
20831
+ method: 'POST',
20832
+ url: '/api/crm/persons/',
20833
+ body: requestBody,
20834
+ mediaType: 'application/json',
20835
+ errors: {
20836
+ 400: `Validation error.`,
20837
+ 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`
20838
+ }
20839
+ });
20840
+ }
20841
+ /**
20842
+ * Retrieve a person
20843
+ * Returns a single person by id.
20844
+ *
20845
+ * **Required permission:** `Ibl.CRM/Persons/read`.
20846
+ * @returns Person
20847
+ * @throws ApiError
20848
+ */
20849
+ static crmPersonsRetrieve({
20850
+ id
20851
+ }) {
20852
+ return request(OpenAPI, {
20853
+ method: 'GET',
20854
+ url: '/api/crm/persons/{id}/',
20855
+ path: {
20856
+ 'id': id
20857
+ },
20858
+ errors: {
20859
+ 403: `Missing required permission \`Ibl.CRM/Persons/read\`.`,
20860
+ 404: `Person not found.`
20861
+ }
20862
+ });
20863
+ }
20864
+ /**
20865
+ * Replace a person
20866
+ * Replaces all editable fields on the person.
20867
+ *
20868
+ * **Required permission:** `Ibl.CRM/Persons/write`.
20869
+ * @returns Person
20870
+ * @throws ApiError
20871
+ */
20872
+ static crmPersonsUpdate({
20873
+ id,
20874
+ requestBody
20875
+ }) {
20876
+ return request(OpenAPI, {
20877
+ method: 'PUT',
20878
+ url: '/api/crm/persons/{id}/',
20879
+ path: {
20880
+ 'id': id
20881
+ },
20882
+ body: requestBody,
20883
+ mediaType: 'application/json',
20884
+ errors: {
20885
+ 400: `Validation error.`,
20886
+ 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
20887
+ 404: `Person not found.`
20044
20888
  }
20045
20889
  });
20046
20890
  }
@@ -20048,99 +20892,689 @@ class CrmService {
20048
20892
  * Update a person
20049
20893
  * Updates only the supplied fields on the person.
20050
20894
  *
20051
- * **Required permission:** `Ibl.CRM/Persons/write`.
20052
- * @returns Person
20895
+ * **Required permission:** `Ibl.CRM/Persons/write`.
20896
+ * @returns Person
20897
+ * @throws ApiError
20898
+ */
20899
+ static crmPersonsPartialUpdate({
20900
+ id,
20901
+ requestBody
20902
+ }) {
20903
+ return request(OpenAPI, {
20904
+ method: 'PATCH',
20905
+ url: '/api/crm/persons/{id}/',
20906
+ path: {
20907
+ 'id': id
20908
+ },
20909
+ body: requestBody,
20910
+ mediaType: 'application/json',
20911
+ errors: {
20912
+ 400: `Validation error.`,
20913
+ 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
20914
+ 404: `Person not found.`
20915
+ }
20916
+ });
20917
+ }
20918
+ /**
20919
+ * Delete a person
20920
+ * Deletes the person.
20921
+ *
20922
+ * **Required permission:** `Ibl.CRM/Persons/delete`.
20923
+ * @returns void
20924
+ * @throws ApiError
20925
+ */
20926
+ static crmPersonsDestroy({
20927
+ id
20928
+ }) {
20929
+ return request(OpenAPI, {
20930
+ method: 'DELETE',
20931
+ url: '/api/crm/persons/{id}/',
20932
+ path: {
20933
+ 'id': id
20934
+ },
20935
+ errors: {
20936
+ 403: `Missing required permission \`Ibl.CRM/Persons/delete\`.`,
20937
+ 404: `Person not found.`
20938
+ }
20939
+ });
20940
+ }
20941
+ /**
20942
+ * Invite a person to the platform
20943
+ * Sends a platform invitation to the person's `primary_email`. On acceptance, the invitee joins your Platform with the privileges configured in the request body.
20944
+ *
20945
+ * Returns `409 Conflict` if an active invitation already exists for this email in your Platform, and `422 Unprocessable Entity` if the person is already linked to a platform user.
20946
+ *
20947
+ * **Required permission:** `Ibl.CRM/Invite/action`.
20948
+ * @returns PersonInviteResponse
20949
+ * @throws ApiError
20950
+ */
20951
+ static crmPersonsInviteCreate({
20952
+ id,
20953
+ requestBody
20954
+ }) {
20955
+ return request(OpenAPI, {
20956
+ method: 'POST',
20957
+ url: '/api/crm/persons/{id}/invite/',
20958
+ path: {
20959
+ 'id': id
20960
+ },
20961
+ body: requestBody,
20962
+ mediaType: 'application/json',
20963
+ errors: {
20964
+ 400: `Person has no \`primary_email\`; cannot invite.`,
20965
+ 403: `Missing required permission \`Ibl.CRM/Invite/action\`.`,
20966
+ 404: `Person not found.`,
20967
+ 422: `Person is already linked to a platform user.`
20968
+ }
20969
+ });
20970
+ }
20971
+ /**
20972
+ * Bind a person to an existing platform user
20973
+ * Links this person to an existing platform user. The target user must already be a member of your Platform — if they are not, send them an invitation via `POST /persons/{id}/invite/` instead.
20974
+ *
20975
+ * This call is idempotent: linking a person that is already bound to the same user is a no-op. Re-linking a person that is already bound to a *different* user is refused; the existing binding is preserved and the unchanged person is returned.
20976
+ *
20977
+ * **Required permission:** `Ibl.CRM/Persons/write`.
20978
+ * @returns Person
20979
+ * @throws ApiError
20980
+ */
20981
+ static crmPersonsLinkUserCreate({
20982
+ id,
20983
+ requestBody
20984
+ }) {
20985
+ return request(OpenAPI, {
20986
+ method: 'POST',
20987
+ url: '/api/crm/persons/{id}/link-user/',
20988
+ path: {
20989
+ 'id': id
20990
+ },
20991
+ body: requestBody,
20992
+ mediaType: 'application/json',
20993
+ errors: {
20994
+ 400: `Validation error.`,
20995
+ 403: `Missing required permission \`Ibl.CRM/Persons/write\`, or the target user is not a member of your Platform.`,
20996
+ 404: `Person or user not found.`
20997
+ }
20998
+ });
20999
+ }
21000
+ /**
21001
+ * Merge duplicate persons into a primary
21002
+ * Marks each person in `duplicate_ids` as inactive and reports how many related records (deals, activities, tags) were re-parented onto `primary_id`.
21003
+ *
21004
+ * All ids — both the primary and every duplicate — must belong to your Platform. `primary_id` may not appear in `duplicate_ids`.
21005
+ *
21006
+ * **Required permission:** `Ibl.CRM/Persons/write`.
21007
+ * @returns PersonMergeResponse
21008
+ * @throws ApiError
21009
+ */
21010
+ static crmPersonsMergeCreate({
21011
+ requestBody
21012
+ }) {
21013
+ return request(OpenAPI, {
21014
+ method: 'POST',
21015
+ url: '/api/crm/persons/merge/',
21016
+ body: requestBody,
21017
+ mediaType: 'application/json',
21018
+ errors: {
21019
+ 400: `Validation error: the primary appears in duplicates, or one or more ids belong to another Platform.`,
21020
+ 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
21021
+ 404: `Primary person not found.`
21022
+ }
21023
+ });
21024
+ }
21025
+ /**
21026
+ * List pipelines
21027
+ * Returns a paginated list of Pipelines in your Platform. Each Pipeline includes its ordered `stages` inline.
21028
+ *
21029
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
21030
+ * @returns PaginatedPipelineList
21031
+ * @throws ApiError
21032
+ */
21033
+ static crmPipelinesList({
21034
+ code,
21035
+ isDefault,
21036
+ name,
21037
+ page,
21038
+ pageSize
21039
+ }) {
21040
+ return request(OpenAPI, {
21041
+ method: 'GET',
21042
+ url: '/api/crm/pipelines/',
21043
+ query: {
21044
+ 'code': code,
21045
+ 'is_default': isDefault,
21046
+ 'name': name,
21047
+ 'page': page,
21048
+ 'page_size': pageSize
21049
+ },
21050
+ errors: {
21051
+ 401: `Authentication required.`,
21052
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`
21053
+ }
21054
+ });
21055
+ }
21056
+ /**
21057
+ * Create a pipeline
21058
+ * Creates a new Pipeline. `code` must be unique within your Platform. Promoting another Pipeline to `is_default=true` while one already exists will fail — unset the existing default first.
21059
+ *
21060
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21061
+ * @returns Pipeline
21062
+ * @throws ApiError
21063
+ */
21064
+ static crmPipelinesCreate({
21065
+ requestBody
21066
+ }) {
21067
+ return request(OpenAPI, {
21068
+ method: 'POST',
21069
+ url: '/api/crm/pipelines/',
21070
+ body: requestBody,
21071
+ mediaType: 'application/json',
21072
+ errors: {
21073
+ 400: `Validation error.`,
21074
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`
21075
+ }
21076
+ });
21077
+ }
21078
+ /**
21079
+ * List stages for a pipeline
21080
+ * Returns the ordered list of PipelineStages for the given Pipeline.
21081
+ *
21082
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
21083
+ * @returns PaginatedPipelineStageList
21084
+ * @throws ApiError
21085
+ */
21086
+ static crmPipelinesStagesList({
21087
+ pipelinePk,
21088
+ code,
21089
+ isLost,
21090
+ isWon,
21091
+ page,
21092
+ pageSize
21093
+ }) {
21094
+ return request(OpenAPI, {
21095
+ method: 'GET',
21096
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/',
21097
+ path: {
21098
+ 'pipeline_pk': pipelinePk
21099
+ },
21100
+ query: {
21101
+ 'code': code,
21102
+ 'is_lost': isLost,
21103
+ 'is_won': isWon,
21104
+ 'page': page,
21105
+ 'page_size': pageSize
21106
+ },
21107
+ errors: {
21108
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`,
21109
+ 404: `Pipeline not found.`
21110
+ }
21111
+ });
21112
+ }
21113
+ /**
21114
+ * Create a stage
21115
+ * Creates a new PipelineStage in the URL Pipeline. `code` must be unique within that Pipeline. At most one of `is_won` / `is_lost` may be true.
21116
+ *
21117
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21118
+ * @returns PipelineStage
21119
+ * @throws ApiError
21120
+ */
21121
+ static crmPipelinesStagesCreate({
21122
+ pipelinePk,
21123
+ requestBody
21124
+ }) {
21125
+ return request(OpenAPI, {
21126
+ method: 'POST',
21127
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/',
21128
+ path: {
21129
+ 'pipeline_pk': pipelinePk
21130
+ },
21131
+ body: requestBody,
21132
+ mediaType: 'application/json',
21133
+ errors: {
21134
+ 400: `Validation error.`,
21135
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21136
+ 404: `Pipeline not found.`
21137
+ }
21138
+ });
21139
+ }
21140
+ /**
21141
+ * Retrieve a stage
21142
+ * Returns a single PipelineStage by id (must belong to the URL Pipeline).
21143
+ *
21144
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
21145
+ * @returns PipelineStage
21146
+ * @throws ApiError
21147
+ */
21148
+ static crmPipelinesStagesRetrieve({
21149
+ id,
21150
+ pipelinePk
21151
+ }) {
21152
+ return request(OpenAPI, {
21153
+ method: 'GET',
21154
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/{id}/',
21155
+ path: {
21156
+ 'id': id,
21157
+ 'pipeline_pk': pipelinePk
21158
+ },
21159
+ errors: {
21160
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
21161
+ 404: `Stage not found in this Pipeline.`
21162
+ }
21163
+ });
21164
+ }
21165
+ /**
21166
+ * Replace a stage
21167
+ * Replaces all editable fields on the PipelineStage.
21168
+ *
21169
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21170
+ * @returns PipelineStage
20053
21171
  * @throws ApiError
20054
21172
  */
20055
- static crmPersonsPartialUpdate({
21173
+ static crmPipelinesStagesUpdate({
21174
+ id,
21175
+ pipelinePk,
21176
+ requestBody
21177
+ }) {
21178
+ return request(OpenAPI, {
21179
+ method: 'PUT',
21180
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/{id}/',
21181
+ path: {
21182
+ 'id': id,
21183
+ 'pipeline_pk': pipelinePk
21184
+ },
21185
+ body: requestBody,
21186
+ mediaType: 'application/json',
21187
+ errors: {
21188
+ 400: `Validation error.`,
21189
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21190
+ 404: `Stage not found in this Pipeline.`
21191
+ }
21192
+ });
21193
+ }
21194
+ /**
21195
+ * Update a stage
21196
+ * Updates only the supplied fields on the PipelineStage.
21197
+ *
21198
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21199
+ * @returns PipelineStage
21200
+ * @throws ApiError
21201
+ */
21202
+ static crmPipelinesStagesPartialUpdate({
20056
21203
  id,
21204
+ pipelinePk,
20057
21205
  requestBody
20058
21206
  }) {
20059
21207
  return request(OpenAPI, {
20060
21208
  method: 'PATCH',
20061
- url: '/api/crm/persons/{id}/',
21209
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/{id}/',
21210
+ path: {
21211
+ 'id': id,
21212
+ 'pipeline_pk': pipelinePk
21213
+ },
21214
+ body: requestBody,
21215
+ mediaType: 'application/json',
21216
+ errors: {
21217
+ 400: `Validation error.`,
21218
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21219
+ 404: `Stage not found in this Pipeline.`
21220
+ }
21221
+ });
21222
+ }
21223
+ /**
21224
+ * Delete a stage
21225
+ * Deletes the PipelineStage. Fails with `409 Conflict` if any Deal still references it (FK is PROTECTed).
21226
+ *
21227
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
21228
+ * @returns void
21229
+ * @throws ApiError
21230
+ */
21231
+ static crmPipelinesStagesDestroy({
21232
+ id,
21233
+ pipelinePk
21234
+ }) {
21235
+ return request(OpenAPI, {
21236
+ method: 'DELETE',
21237
+ url: '/api/crm/pipelines/{pipeline_pk}/stages/{id}/',
21238
+ path: {
21239
+ 'id': id,
21240
+ 'pipeline_pk': pipelinePk
21241
+ },
21242
+ errors: {
21243
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
21244
+ 404: `Stage not found in this Pipeline.`,
21245
+ 409: `Stage still has Deals attached.`
21246
+ }
21247
+ });
21248
+ }
21249
+ /**
21250
+ * Retrieve a pipeline
21251
+ * Returns a single Pipeline by id, including its ordered `stages`.
21252
+ *
21253
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
21254
+ * @returns Pipeline
21255
+ * @throws ApiError
21256
+ */
21257
+ static crmPipelinesRetrieve({
21258
+ id
21259
+ }) {
21260
+ return request(OpenAPI, {
21261
+ method: 'GET',
21262
+ url: '/api/crm/pipelines/{id}/',
21263
+ path: {
21264
+ 'id': id
21265
+ },
21266
+ errors: {
21267
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
21268
+ 404: `Pipeline not found.`
21269
+ }
21270
+ });
21271
+ }
21272
+ /**
21273
+ * Replace a pipeline
21274
+ * Replaces all editable fields on the Pipeline.
21275
+ *
21276
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21277
+ * @returns Pipeline
21278
+ * @throws ApiError
21279
+ */
21280
+ static crmPipelinesUpdate({
21281
+ id,
21282
+ requestBody
21283
+ }) {
21284
+ return request(OpenAPI, {
21285
+ method: 'PUT',
21286
+ url: '/api/crm/pipelines/{id}/',
21287
+ path: {
21288
+ 'id': id
21289
+ },
21290
+ body: requestBody,
21291
+ mediaType: 'application/json',
21292
+ errors: {
21293
+ 400: `Validation error.`,
21294
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21295
+ 404: `Pipeline not found.`
21296
+ }
21297
+ });
21298
+ }
21299
+ /**
21300
+ * Update a pipeline
21301
+ * Updates only the supplied fields on the Pipeline.
21302
+ *
21303
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21304
+ * @returns Pipeline
21305
+ * @throws ApiError
21306
+ */
21307
+ static crmPipelinesPartialUpdate({
21308
+ id,
21309
+ requestBody
21310
+ }) {
21311
+ return request(OpenAPI, {
21312
+ method: 'PATCH',
21313
+ url: '/api/crm/pipelines/{id}/',
21314
+ path: {
21315
+ 'id': id
21316
+ },
21317
+ body: requestBody,
21318
+ mediaType: 'application/json',
21319
+ errors: {
21320
+ 400: `Validation error.`,
21321
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21322
+ 404: `Pipeline not found.`
21323
+ }
21324
+ });
21325
+ }
21326
+ /**
21327
+ * Delete a pipeline
21328
+ * Deletes the Pipeline. Fails with `409 Conflict` if any Deal still references it (FK is PROTECTed).
21329
+ *
21330
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
21331
+ * @returns void
21332
+ * @throws ApiError
21333
+ */
21334
+ static crmPipelinesDestroy({
21335
+ id
21336
+ }) {
21337
+ return request(OpenAPI, {
21338
+ method: 'DELETE',
21339
+ url: '/api/crm/pipelines/{id}/',
20062
21340
  path: {
20063
21341
  'id': id
20064
21342
  },
21343
+ errors: {
21344
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
21345
+ 404: `Pipeline not found.`,
21346
+ 409: `Pipeline still has Deals attached.`
21347
+ }
21348
+ });
21349
+ }
21350
+ }
21351
+
21352
+ class CustomDomainsService {
21353
+ /**
21354
+ * API endpoint to get custom domains (public, no authentication or permission checks)
21355
+ * @returns any No response body
21356
+ * @throws ApiError
21357
+ */
21358
+ static customDomainsRetrieve() {
21359
+ return request(OpenAPI, {
21360
+ method: 'GET',
21361
+ url: '/api/custom-domains/'
21362
+ });
21363
+ }
21364
+ /**
21365
+ * API endpoint to hard delete a custom domain
21366
+ * @returns void
21367
+ * @throws ApiError
21368
+ */
21369
+ static customDomainsDeleteDestroy({
21370
+ domainId
21371
+ }) {
21372
+ return request(OpenAPI, {
21373
+ method: 'DELETE',
21374
+ url: '/api/custom-domains/{domain_id}/delete/',
21375
+ path: {
21376
+ 'domain_id': domainId
21377
+ }
21378
+ });
21379
+ }
21380
+ /**
21381
+ * API endpoint to update the is_deleted status of a custom domain
21382
+ * @returns any No response body
21383
+ * @throws ApiError
21384
+ */
21385
+ static customDomainsDeletedStatusCreate({
21386
+ domainId
21387
+ }) {
21388
+ return request(OpenAPI, {
21389
+ method: 'POST',
21390
+ url: '/api/custom-domains/{domain_id}/deleted-status/',
21391
+ path: {
21392
+ 'domain_id': domainId
21393
+ }
21394
+ });
21395
+ }
21396
+ /**
21397
+ * API endpoint to update custom domain SPA type
21398
+ * @returns any No response body
21399
+ * @throws ApiError
21400
+ */
21401
+ static customDomainsStatusUpdate({
21402
+ domainId
21403
+ }) {
21404
+ return request(OpenAPI, {
21405
+ method: 'PUT',
21406
+ url: '/api/custom-domains/{domain_id}/status/',
21407
+ path: {
21408
+ 'domain_id': domainId
21409
+ }
21410
+ });
21411
+ }
21412
+ /**
21413
+ * API endpoint to update custom domain SPA type by domain name
21414
+ * @returns any No response body
21415
+ * @throws ApiError
21416
+ */
21417
+ static customDomainsByNameStatusUpdate({
21418
+ domainName
21419
+ }) {
21420
+ return request(OpenAPI, {
21421
+ method: 'PUT',
21422
+ url: '/api/custom-domains/by-name/{domain_name}/status/',
21423
+ path: {
21424
+ 'domain_name': domainName
21425
+ }
21426
+ });
21427
+ }
21428
+ /**
21429
+ * API endpoint to create a custom domain
21430
+ * @returns any No response body
21431
+ * @throws ApiError
21432
+ */
21433
+ static customDomainsCreateCreate() {
21434
+ return request(OpenAPI, {
21435
+ method: 'POST',
21436
+ url: '/api/custom-domains/create/'
21437
+ });
21438
+ }
21439
+ }
21440
+
21441
+ class DealsService {
21442
+ /**
21443
+ * List deals
21444
+ * Returns a paginated list of Deals in your Platform. Supports filtering by `status`, `pipeline`, `stage`, `owner`, `source`, `person`, `organization`, expected-close-date and created-at ranges, and `metadata__has_key`.
21445
+ *
21446
+ * **Required permission:** `Ibl.CRM/Deals/list`.
21447
+ * @returns PaginatedDealList
21448
+ * @throws ApiError
21449
+ */
21450
+ static dealsList({
21451
+ createdAtGte,
21452
+ createdAtLte,
21453
+ expectedCloseDateGte,
21454
+ expectedCloseDateLte,
21455
+ metadataHasKey,
21456
+ organization,
21457
+ owner,
21458
+ page,
21459
+ pageSize,
21460
+ person,
21461
+ pipeline,
21462
+ source,
21463
+ stage,
21464
+ status
21465
+ }) {
21466
+ return request(OpenAPI, {
21467
+ method: 'GET',
21468
+ url: '/deals/',
21469
+ query: {
21470
+ 'created_at__gte': createdAtGte,
21471
+ 'created_at__lte': createdAtLte,
21472
+ 'expected_close_date__gte': expectedCloseDateGte,
21473
+ 'expected_close_date__lte': expectedCloseDateLte,
21474
+ 'metadata__has_key': metadataHasKey,
21475
+ 'organization': organization,
21476
+ 'owner': owner,
21477
+ 'page': page,
21478
+ 'page_size': pageSize,
21479
+ 'person': person,
21480
+ 'pipeline': pipeline,
21481
+ 'source': source,
21482
+ 'stage': stage,
21483
+ 'status': status
21484
+ },
21485
+ errors: {
21486
+ 401: `Authentication required.`,
21487
+ 403: `Missing required permission \`Ibl.CRM/Deals/list\`.`
21488
+ }
21489
+ });
21490
+ }
21491
+ /**
21492
+ * Create a deal
21493
+ * Creates a new Deal. All FK targets (`person`, `organization`, `pipeline`, `stage`, `source`) must belong to your Platform; `stage` must belong to `pipeline`. `status` and `closed_at` are service-managed — passing them returns `400`.
21494
+ *
21495
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21496
+ * @returns Deal
21497
+ * @throws ApiError
21498
+ */
21499
+ static dealsCreate({
21500
+ requestBody
21501
+ }) {
21502
+ return request(OpenAPI, {
21503
+ method: 'POST',
21504
+ url: '/deals/',
20065
21505
  body: requestBody,
20066
21506
  mediaType: 'application/json',
20067
21507
  errors: {
20068
21508
  400: `Validation error.`,
20069
- 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
20070
- 404: `Person not found.`
21509
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`
20071
21510
  }
20072
21511
  });
20073
21512
  }
20074
21513
  /**
20075
- * Delete a person
20076
- * Deletes the person.
21514
+ * Retrieve a deal
21515
+ * Returns a single Deal by id.
20077
21516
  *
20078
- * **Required permission:** `Ibl.CRM/Persons/delete`.
20079
- * @returns void
21517
+ * **Required permission:** `Ibl.CRM/Deals/read`.
21518
+ * @returns Deal
20080
21519
  * @throws ApiError
20081
21520
  */
20082
- static crmPersonsDestroy({
21521
+ static dealsRetrieve({
20083
21522
  id
20084
21523
  }) {
20085
21524
  return request(OpenAPI, {
20086
- method: 'DELETE',
20087
- url: '/api/crm/persons/{id}/',
21525
+ method: 'GET',
21526
+ url: '/deals/{id}/',
20088
21527
  path: {
20089
21528
  'id': id
20090
21529
  },
20091
21530
  errors: {
20092
- 403: `Missing required permission \`Ibl.CRM/Persons/delete\`.`,
20093
- 404: `Person not found.`
21531
+ 403: `Missing required permission \`Ibl.CRM/Deals/read\`.`,
21532
+ 404: `Deal not found.`
20094
21533
  }
20095
21534
  });
20096
21535
  }
20097
21536
  /**
20098
- * Invite a person to the platform
20099
- * Sends a platform invitation to the person's `primary_email`. On acceptance, the invitee joins your Platform with the privileges configured in the request body.
21537
+ * Replace a deal
21538
+ * Replaces all editable fields on the Deal.
20100
21539
  *
20101
- * Returns `409 Conflict` if an active invitation already exists for this email in your Platform, and `422 Unprocessable Entity` if the person is already linked to a platform user.
20102
- *
20103
- * **Required permission:** `Ibl.CRM/Invite/action`.
20104
- * @returns PersonInviteResponse
21540
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21541
+ * @returns Deal
20105
21542
  * @throws ApiError
20106
21543
  */
20107
- static crmPersonsInviteCreate({
21544
+ static dealsUpdate({
20108
21545
  id,
20109
21546
  requestBody
20110
21547
  }) {
20111
21548
  return request(OpenAPI, {
20112
- method: 'POST',
20113
- url: '/api/crm/persons/{id}/invite/',
21549
+ method: 'PUT',
21550
+ url: '/deals/{id}/',
20114
21551
  path: {
20115
21552
  'id': id
20116
21553
  },
20117
21554
  body: requestBody,
20118
21555
  mediaType: 'application/json',
20119
21556
  errors: {
20120
- 400: `Person has no \`primary_email\`; cannot invite.`,
20121
- 403: `Missing required permission \`Ibl.CRM/Invite/action\`.`,
20122
- 404: `Person not found.`,
20123
- 422: `Person is already linked to a platform user.`
21557
+ 400: `Validation error.`,
21558
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
21559
+ 404: `Deal not found.`
20124
21560
  }
20125
21561
  });
20126
21562
  }
20127
21563
  /**
20128
- * Bind a person to an existing platform user
20129
- * Links this person to an existing platform user. The target user must already be a member of your Platform if they are not, send them an invitation via `POST /persons/{id}/invite/` instead.
20130
- *
20131
- * This call is idempotent: linking a person that is already bound to the same user is a no-op. Re-linking a person that is already bound to a *different* user is refused; the existing binding is preserved and the unchanged person is returned.
21564
+ * Update a deal
21565
+ * Updates only the supplied fields on the Deal. Direct writes to `status` or `closed_at` are rejected with `400`use `POST /deals/{id}/move-stage/`, `won/`, or `lost/`.
20132
21566
  *
20133
- * **Required permission:** `Ibl.CRM/Persons/write`.
20134
- * @returns Person
21567
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21568
+ * @returns Deal
20135
21569
  * @throws ApiError
20136
21570
  */
20137
- static crmPersonsLinkUserCreate({
21571
+ static dealsPartialUpdate({
20138
21572
  id,
20139
21573
  requestBody
20140
21574
  }) {
20141
21575
  return request(OpenAPI, {
20142
- method: 'POST',
20143
- url: '/api/crm/persons/{id}/link-user/',
21576
+ method: 'PATCH',
21577
+ url: '/deals/{id}/',
20144
21578
  path: {
20145
21579
  'id': id
20146
21580
  },
@@ -20148,125 +21582,115 @@ class CrmService {
20148
21582
  mediaType: 'application/json',
20149
21583
  errors: {
20150
21584
  400: `Validation error.`,
20151
- 403: `Missing required permission \`Ibl.CRM/Persons/write\`, or the target user is not a member of your Platform.`,
20152
- 404: `Person or user not found.`
21585
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
21586
+ 404: `Deal not found.`
20153
21587
  }
20154
21588
  });
20155
21589
  }
20156
21590
  /**
20157
- * Merge duplicate persons into a primary
20158
- * Marks each person in `duplicate_ids` as inactive and reports how many related records (deals, activities, tags) were re-parented onto `primary_id`.
20159
- *
20160
- * All ids — both the primary and every duplicate — must belong to your Platform. `primary_id` may not appear in `duplicate_ids`.
21591
+ * Delete a deal
21592
+ * Deletes the Deal.
20161
21593
  *
20162
- * **Required permission:** `Ibl.CRM/Persons/write`.
20163
- * @returns PersonMergeResponse
20164
- * @throws ApiError
20165
- */
20166
- static crmPersonsMergeCreate({
20167
- requestBody
20168
- }) {
20169
- return request(OpenAPI, {
20170
- method: 'POST',
20171
- url: '/api/crm/persons/merge/',
20172
- body: requestBody,
20173
- mediaType: 'application/json',
20174
- errors: {
20175
- 400: `Validation error: the primary appears in duplicates, or one or more ids belong to another Platform.`,
20176
- 403: `Missing required permission \`Ibl.CRM/Persons/write\`.`,
20177
- 404: `Primary person not found.`
20178
- }
20179
- });
20180
- }
20181
- }
20182
-
20183
- class CustomDomainsService {
20184
- /**
20185
- * API endpoint to get custom domains (public, no authentication or permission checks)
20186
- * @returns any No response body
20187
- * @throws ApiError
20188
- */
20189
- static customDomainsRetrieve() {
20190
- return request(OpenAPI, {
20191
- method: 'GET',
20192
- url: '/api/custom-domains/'
20193
- });
20194
- }
20195
- /**
20196
- * API endpoint to hard delete a custom domain
21594
+ * **Required permission:** `Ibl.CRM/Deals/delete`.
20197
21595
  * @returns void
20198
21596
  * @throws ApiError
20199
21597
  */
20200
- static customDomainsDeleteDestroy({
20201
- domainId
21598
+ static dealsDestroy({
21599
+ id
20202
21600
  }) {
20203
21601
  return request(OpenAPI, {
20204
21602
  method: 'DELETE',
20205
- url: '/api/custom-domains/{domain_id}/delete/',
21603
+ url: '/deals/{id}/',
20206
21604
  path: {
20207
- 'domain_id': domainId
21605
+ 'id': id
21606
+ },
21607
+ errors: {
21608
+ 403: `Missing required permission \`Ibl.CRM/Deals/delete\`.`,
21609
+ 404: `Deal not found.`
20208
21610
  }
20209
21611
  });
20210
21612
  }
20211
21613
  /**
20212
- * API endpoint to update the is_deleted status of a custom domain
20213
- * @returns any No response body
21614
+ * Mark a deal as lost
21615
+ * Moves the Deal into a closed-lost stage and persists `lost_reason`. If `stage_code` is omitted, the first `is_lost=True` stage in the Deal's pipeline (by sort order) is used.
21616
+ *
21617
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21618
+ * @returns Deal
20214
21619
  * @throws ApiError
20215
21620
  */
20216
- static customDomainsDeletedStatusCreate({
20217
- domainId
21621
+ static dealsLostCreate({
21622
+ id,
21623
+ requestBody
20218
21624
  }) {
20219
21625
  return request(OpenAPI, {
20220
21626
  method: 'POST',
20221
- url: '/api/custom-domains/{domain_id}/deleted-status/',
21627
+ url: '/deals/{id}/lost/',
20222
21628
  path: {
20223
- 'domain_id': domainId
21629
+ 'id': id
21630
+ },
21631
+ body: requestBody,
21632
+ mediaType: 'application/json',
21633
+ errors: {
21634
+ 400: `Missing \`lost_reason\`, no \`is_lost\` stage configured, or the supplied stage_code is not flagged is_lost=True.`,
21635
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
21636
+ 404: `Deal not found.`
20224
21637
  }
20225
21638
  });
20226
21639
  }
20227
21640
  /**
20228
- * API endpoint to update custom domain SPA type
20229
- * @returns any No response body
21641
+ * Move a deal to a different stage
21642
+ * Moves the Deal to the stage identified by `stage_id` or `stage_code`. The target stage must belong to this Deal's pipeline. Records an audit Activity and emits `deal_stage_changed`. `Deal.status` is recomputed from the new stage's `is_won` / `is_lost` flags.
21643
+ *
21644
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21645
+ * @returns Deal
20230
21646
  * @throws ApiError
20231
21647
  */
20232
- static customDomainsStatusUpdate({
20233
- domainId
21648
+ static dealsMoveStageCreate({
21649
+ id,
21650
+ requestBody
20234
21651
  }) {
20235
21652
  return request(OpenAPI, {
20236
- method: 'PUT',
20237
- url: '/api/custom-domains/{domain_id}/status/',
21653
+ method: 'POST',
21654
+ url: '/deals/{id}/move-stage/',
20238
21655
  path: {
20239
- 'domain_id': domainId
21656
+ 'id': id
21657
+ },
21658
+ body: requestBody,
21659
+ mediaType: 'application/json',
21660
+ errors: {
21661
+ 400: `Validation error (e.g. stage not in pipeline).`,
21662
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
21663
+ 404: `Deal or stage not found.`
20240
21664
  }
20241
21665
  });
20242
21666
  }
20243
21667
  /**
20244
- * API endpoint to update custom domain SPA type by domain name
20245
- * @returns any No response body
21668
+ * Mark a deal as won
21669
+ * Moves the Deal into a closed-won stage and sets `status='won'`. If `stage_code` is omitted, the first `is_won=True` stage in the Deal's pipeline (by sort order) is used.
21670
+ *
21671
+ * **Required permission:** `Ibl.CRM/Deals/write`.
21672
+ * @returns Deal
20246
21673
  * @throws ApiError
20247
21674
  */
20248
- static customDomainsByNameStatusUpdate({
20249
- domainName
21675
+ static dealsWonCreate({
21676
+ id,
21677
+ requestBody
20250
21678
  }) {
20251
21679
  return request(OpenAPI, {
20252
- method: 'PUT',
20253
- url: '/api/custom-domains/by-name/{domain_name}/status/',
21680
+ method: 'POST',
21681
+ url: '/deals/{id}/won/',
20254
21682
  path: {
20255
- 'domain_name': domainName
21683
+ 'id': id
21684
+ },
21685
+ body: requestBody,
21686
+ mediaType: 'application/json',
21687
+ errors: {
21688
+ 400: `No \`is_won\` stage configured, or the supplied stage_code is not flagged is_won=True.`,
21689
+ 403: `Missing required permission \`Ibl.CRM/Deals/write\`.`,
21690
+ 404: `Deal not found.`
20256
21691
  }
20257
21692
  });
20258
21693
  }
20259
- /**
20260
- * API endpoint to create a custom domain
20261
- * @returns any No response body
20262
- * @throws ApiError
20263
- */
20264
- static customDomainsCreateCreate() {
20265
- return request(OpenAPI, {
20266
- method: 'POST',
20267
- url: '/api/custom-domains/create/'
20268
- });
20269
- }
20270
21694
  }
20271
21695
 
20272
21696
  class FeaturesService {
@@ -20360,43 +21784,197 @@ class FeaturesService {
20360
21784
  });
20361
21785
  }
20362
21786
  /**
20363
- * POST
20364
- * Update user feature config
20365
- *
20366
- * Params:
20367
- * user_id/username/email
20368
- * platform_key
21787
+ * POST
21788
+ * Update user feature config
21789
+ *
21790
+ * Params:
21791
+ * user_id/username/email
21792
+ * platform_key
21793
+ *
21794
+ * config
21795
+ * (OR)
21796
+ * feature
21797
+ * values
21798
+ * @returns any No response body
21799
+ * @throws ApiError
21800
+ */
21801
+ static featuresConfigCreate() {
21802
+ return request(OpenAPI, {
21803
+ method: 'POST',
21804
+ url: '/api/features/config/'
21805
+ });
21806
+ }
21807
+ }
21808
+
21809
+ class ItemsService {
21810
+ /**
21811
+ * Get public pricing by paywall config unique_id
21812
+ * Looks up the paywall config by its unique_id and delegates to the standard public pricing endpoint.
21813
+ * @returns PublicItemPricing
21814
+ * @throws ApiError
21815
+ */
21816
+ static itemsPublicPricingRetrieve({
21817
+ configUniqueId
21818
+ }) {
21819
+ return request(OpenAPI, {
21820
+ method: 'GET',
21821
+ url: '/items/{config_unique_id}/public-pricing/',
21822
+ path: {
21823
+ 'config_unique_id': configUniqueId
21824
+ }
21825
+ });
21826
+ }
21827
+ }
21828
+
21829
+ class LeadSourcesService {
21830
+ /**
21831
+ * List lead sources
21832
+ * Returns a paginated list of LeadSources in your Platform.
21833
+ *
21834
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
21835
+ * @returns PaginatedLeadSourceList
21836
+ * @throws ApiError
21837
+ */
21838
+ static leadSourcesList({
21839
+ code,
21840
+ name,
21841
+ page,
21842
+ pageSize
21843
+ }) {
21844
+ return request(OpenAPI, {
21845
+ method: 'GET',
21846
+ url: '/lead-sources/',
21847
+ query: {
21848
+ 'code': code,
21849
+ 'name': name,
21850
+ 'page': page,
21851
+ 'page_size': pageSize
21852
+ },
21853
+ errors: {
21854
+ 401: `Authentication required.`,
21855
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`
21856
+ }
21857
+ });
21858
+ }
21859
+ /**
21860
+ * Create a lead source
21861
+ * Creates a new LeadSource in your Platform. `code` must be unique.
21862
+ *
21863
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21864
+ * @returns LeadSource
21865
+ * @throws ApiError
21866
+ */
21867
+ static leadSourcesCreate({
21868
+ requestBody
21869
+ }) {
21870
+ return request(OpenAPI, {
21871
+ method: 'POST',
21872
+ url: '/lead-sources/',
21873
+ body: requestBody,
21874
+ mediaType: 'application/json',
21875
+ errors: {
21876
+ 400: `Validation error.`,
21877
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`
21878
+ }
21879
+ });
21880
+ }
21881
+ /**
21882
+ * Retrieve a lead source
21883
+ * Returns a single LeadSource by id.
21884
+ *
21885
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
21886
+ * @returns LeadSource
21887
+ * @throws ApiError
21888
+ */
21889
+ static leadSourcesRetrieve({
21890
+ id
21891
+ }) {
21892
+ return request(OpenAPI, {
21893
+ method: 'GET',
21894
+ url: '/lead-sources/{id}/',
21895
+ path: {
21896
+ 'id': id
21897
+ },
21898
+ errors: {
21899
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
21900
+ 404: `LeadSource not found.`
21901
+ }
21902
+ });
21903
+ }
21904
+ /**
21905
+ * Replace a lead source
21906
+ * Replaces all editable fields on the LeadSource.
21907
+ *
21908
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21909
+ * @returns LeadSource
21910
+ * @throws ApiError
21911
+ */
21912
+ static leadSourcesUpdate({
21913
+ id,
21914
+ requestBody
21915
+ }) {
21916
+ return request(OpenAPI, {
21917
+ method: 'PUT',
21918
+ url: '/lead-sources/{id}/',
21919
+ path: {
21920
+ 'id': id
21921
+ },
21922
+ body: requestBody,
21923
+ mediaType: 'application/json',
21924
+ errors: {
21925
+ 400: `Validation error.`,
21926
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21927
+ 404: `LeadSource not found.`
21928
+ }
21929
+ });
21930
+ }
21931
+ /**
21932
+ * Update a lead source
21933
+ * Updates only the supplied fields on the LeadSource.
20369
21934
  *
20370
- * config
20371
- * (OR)
20372
- * feature
20373
- * values
20374
- * @returns any No response body
21935
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
21936
+ * @returns LeadSource
20375
21937
  * @throws ApiError
20376
21938
  */
20377
- static featuresConfigCreate() {
21939
+ static leadSourcesPartialUpdate({
21940
+ id,
21941
+ requestBody
21942
+ }) {
20378
21943
  return request(OpenAPI, {
20379
- method: 'POST',
20380
- url: '/api/features/config/'
21944
+ method: 'PATCH',
21945
+ url: '/lead-sources/{id}/',
21946
+ path: {
21947
+ 'id': id
21948
+ },
21949
+ body: requestBody,
21950
+ mediaType: 'application/json',
21951
+ errors: {
21952
+ 400: `Validation error.`,
21953
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
21954
+ 404: `LeadSource not found.`
21955
+ }
20381
21956
  });
20382
21957
  }
20383
- }
20384
-
20385
- class ItemsService {
20386
21958
  /**
20387
- * Get public pricing by paywall config unique_id
20388
- * Looks up the paywall config by its unique_id and delegates to the standard public pricing endpoint.
20389
- * @returns PublicItemPricing
21959
+ * Delete a lead source
21960
+ * Deletes the LeadSource. Any Deals referencing it have their `source` cleared.
21961
+ *
21962
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
21963
+ * @returns void
20390
21964
  * @throws ApiError
20391
21965
  */
20392
- static itemsPublicPricingRetrieve({
20393
- configUniqueId
21966
+ static leadSourcesDestroy({
21967
+ id
20394
21968
  }) {
20395
21969
  return request(OpenAPI, {
20396
- method: 'GET',
20397
- url: '/items/{config_unique_id}/public-pricing/',
21970
+ method: 'DELETE',
21971
+ url: '/lead-sources/{id}/',
20398
21972
  path: {
20399
- 'config_unique_id': configUniqueId
21973
+ 'id': id
21974
+ },
21975
+ errors: {
21976
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
21977
+ 404: `LeadSource not found.`
20400
21978
  }
20401
21979
  });
20402
21980
  }
@@ -21686,6 +23264,334 @@ class PersonsService {
21686
23264
  }
21687
23265
  }
21688
23266
 
23267
+ class PipelinesService {
23268
+ /**
23269
+ * List pipelines
23270
+ * Returns a paginated list of Pipelines in your Platform. Each Pipeline includes its ordered `stages` inline.
23271
+ *
23272
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
23273
+ * @returns PaginatedPipelineList
23274
+ * @throws ApiError
23275
+ */
23276
+ static pipelinesList({
23277
+ code,
23278
+ isDefault,
23279
+ name,
23280
+ page,
23281
+ pageSize
23282
+ }) {
23283
+ return request(OpenAPI, {
23284
+ method: 'GET',
23285
+ url: '/pipelines/',
23286
+ query: {
23287
+ 'code': code,
23288
+ 'is_default': isDefault,
23289
+ 'name': name,
23290
+ 'page': page,
23291
+ 'page_size': pageSize
23292
+ },
23293
+ errors: {
23294
+ 401: `Authentication required.`,
23295
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`
23296
+ }
23297
+ });
23298
+ }
23299
+ /**
23300
+ * Create a pipeline
23301
+ * Creates a new Pipeline. `code` must be unique within your Platform. Promoting another Pipeline to `is_default=true` while one already exists will fail — unset the existing default first.
23302
+ *
23303
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23304
+ * @returns Pipeline
23305
+ * @throws ApiError
23306
+ */
23307
+ static pipelinesCreate({
23308
+ requestBody
23309
+ }) {
23310
+ return request(OpenAPI, {
23311
+ method: 'POST',
23312
+ url: '/pipelines/',
23313
+ body: requestBody,
23314
+ mediaType: 'application/json',
23315
+ errors: {
23316
+ 400: `Validation error.`,
23317
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`
23318
+ }
23319
+ });
23320
+ }
23321
+ /**
23322
+ * List stages for a pipeline
23323
+ * Returns the ordered list of PipelineStages for the given Pipeline.
23324
+ *
23325
+ * **Required permission:** `Ibl.CRM/Pipelines/list`.
23326
+ * @returns PaginatedPipelineStageList
23327
+ * @throws ApiError
23328
+ */
23329
+ static pipelinesStagesList({
23330
+ pipelinePk,
23331
+ code,
23332
+ isLost,
23333
+ isWon,
23334
+ page,
23335
+ pageSize
23336
+ }) {
23337
+ return request(OpenAPI, {
23338
+ method: 'GET',
23339
+ url: '/pipelines/{pipeline_pk}/stages/',
23340
+ path: {
23341
+ 'pipeline_pk': pipelinePk
23342
+ },
23343
+ query: {
23344
+ 'code': code,
23345
+ 'is_lost': isLost,
23346
+ 'is_won': isWon,
23347
+ 'page': page,
23348
+ 'page_size': pageSize
23349
+ },
23350
+ errors: {
23351
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/list\`.`,
23352
+ 404: `Pipeline not found.`
23353
+ }
23354
+ });
23355
+ }
23356
+ /**
23357
+ * Create a stage
23358
+ * Creates a new PipelineStage in the URL Pipeline. `code` must be unique within that Pipeline. At most one of `is_won` / `is_lost` may be true.
23359
+ *
23360
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23361
+ * @returns PipelineStage
23362
+ * @throws ApiError
23363
+ */
23364
+ static pipelinesStagesCreate({
23365
+ pipelinePk,
23366
+ requestBody
23367
+ }) {
23368
+ return request(OpenAPI, {
23369
+ method: 'POST',
23370
+ url: '/pipelines/{pipeline_pk}/stages/',
23371
+ path: {
23372
+ 'pipeline_pk': pipelinePk
23373
+ },
23374
+ body: requestBody,
23375
+ mediaType: 'application/json',
23376
+ errors: {
23377
+ 400: `Validation error.`,
23378
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
23379
+ 404: `Pipeline not found.`
23380
+ }
23381
+ });
23382
+ }
23383
+ /**
23384
+ * Retrieve a stage
23385
+ * Returns a single PipelineStage by id (must belong to the URL Pipeline).
23386
+ *
23387
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
23388
+ * @returns PipelineStage
23389
+ * @throws ApiError
23390
+ */
23391
+ static pipelinesStagesRetrieve({
23392
+ id,
23393
+ pipelinePk
23394
+ }) {
23395
+ return request(OpenAPI, {
23396
+ method: 'GET',
23397
+ url: '/pipelines/{pipeline_pk}/stages/{id}/',
23398
+ path: {
23399
+ 'id': id,
23400
+ 'pipeline_pk': pipelinePk
23401
+ },
23402
+ errors: {
23403
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
23404
+ 404: `Stage not found in this Pipeline.`
23405
+ }
23406
+ });
23407
+ }
23408
+ /**
23409
+ * Replace a stage
23410
+ * Replaces all editable fields on the PipelineStage.
23411
+ *
23412
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23413
+ * @returns PipelineStage
23414
+ * @throws ApiError
23415
+ */
23416
+ static pipelinesStagesUpdate({
23417
+ id,
23418
+ pipelinePk,
23419
+ requestBody
23420
+ }) {
23421
+ return request(OpenAPI, {
23422
+ method: 'PUT',
23423
+ url: '/pipelines/{pipeline_pk}/stages/{id}/',
23424
+ path: {
23425
+ 'id': id,
23426
+ 'pipeline_pk': pipelinePk
23427
+ },
23428
+ body: requestBody,
23429
+ mediaType: 'application/json',
23430
+ errors: {
23431
+ 400: `Validation error.`,
23432
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
23433
+ 404: `Stage not found in this Pipeline.`
23434
+ }
23435
+ });
23436
+ }
23437
+ /**
23438
+ * Update a stage
23439
+ * Updates only the supplied fields on the PipelineStage.
23440
+ *
23441
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23442
+ * @returns PipelineStage
23443
+ * @throws ApiError
23444
+ */
23445
+ static pipelinesStagesPartialUpdate({
23446
+ id,
23447
+ pipelinePk,
23448
+ requestBody
23449
+ }) {
23450
+ return request(OpenAPI, {
23451
+ method: 'PATCH',
23452
+ url: '/pipelines/{pipeline_pk}/stages/{id}/',
23453
+ path: {
23454
+ 'id': id,
23455
+ 'pipeline_pk': pipelinePk
23456
+ },
23457
+ body: requestBody,
23458
+ mediaType: 'application/json',
23459
+ errors: {
23460
+ 400: `Validation error.`,
23461
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
23462
+ 404: `Stage not found in this Pipeline.`
23463
+ }
23464
+ });
23465
+ }
23466
+ /**
23467
+ * Delete a stage
23468
+ * Deletes the PipelineStage. Fails with `409 Conflict` if any Deal still references it (FK is PROTECTed).
23469
+ *
23470
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
23471
+ * @returns void
23472
+ * @throws ApiError
23473
+ */
23474
+ static pipelinesStagesDestroy({
23475
+ id,
23476
+ pipelinePk
23477
+ }) {
23478
+ return request(OpenAPI, {
23479
+ method: 'DELETE',
23480
+ url: '/pipelines/{pipeline_pk}/stages/{id}/',
23481
+ path: {
23482
+ 'id': id,
23483
+ 'pipeline_pk': pipelinePk
23484
+ },
23485
+ errors: {
23486
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
23487
+ 404: `Stage not found in this Pipeline.`,
23488
+ 409: `Stage still has Deals attached.`
23489
+ }
23490
+ });
23491
+ }
23492
+ /**
23493
+ * Retrieve a pipeline
23494
+ * Returns a single Pipeline by id, including its ordered `stages`.
23495
+ *
23496
+ * **Required permission:** `Ibl.CRM/Pipelines/read`.
23497
+ * @returns Pipeline
23498
+ * @throws ApiError
23499
+ */
23500
+ static pipelinesRetrieve({
23501
+ id
23502
+ }) {
23503
+ return request(OpenAPI, {
23504
+ method: 'GET',
23505
+ url: '/pipelines/{id}/',
23506
+ path: {
23507
+ 'id': id
23508
+ },
23509
+ errors: {
23510
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/read\`.`,
23511
+ 404: `Pipeline not found.`
23512
+ }
23513
+ });
23514
+ }
23515
+ /**
23516
+ * Replace a pipeline
23517
+ * Replaces all editable fields on the Pipeline.
23518
+ *
23519
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23520
+ * @returns Pipeline
23521
+ * @throws ApiError
23522
+ */
23523
+ static pipelinesUpdate({
23524
+ id,
23525
+ requestBody
23526
+ }) {
23527
+ return request(OpenAPI, {
23528
+ method: 'PUT',
23529
+ url: '/pipelines/{id}/',
23530
+ path: {
23531
+ 'id': id
23532
+ },
23533
+ body: requestBody,
23534
+ mediaType: 'application/json',
23535
+ errors: {
23536
+ 400: `Validation error.`,
23537
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
23538
+ 404: `Pipeline not found.`
23539
+ }
23540
+ });
23541
+ }
23542
+ /**
23543
+ * Update a pipeline
23544
+ * Updates only the supplied fields on the Pipeline.
23545
+ *
23546
+ * **Required permission:** `Ibl.CRM/Pipelines/write`.
23547
+ * @returns Pipeline
23548
+ * @throws ApiError
23549
+ */
23550
+ static pipelinesPartialUpdate({
23551
+ id,
23552
+ requestBody
23553
+ }) {
23554
+ return request(OpenAPI, {
23555
+ method: 'PATCH',
23556
+ url: '/pipelines/{id}/',
23557
+ path: {
23558
+ 'id': id
23559
+ },
23560
+ body: requestBody,
23561
+ mediaType: 'application/json',
23562
+ errors: {
23563
+ 400: `Validation error.`,
23564
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/write\`.`,
23565
+ 404: `Pipeline not found.`
23566
+ }
23567
+ });
23568
+ }
23569
+ /**
23570
+ * Delete a pipeline
23571
+ * Deletes the Pipeline. Fails with `409 Conflict` if any Deal still references it (FK is PROTECTed).
23572
+ *
23573
+ * **Required permission:** `Ibl.CRM/Pipelines/delete`.
23574
+ * @returns void
23575
+ * @throws ApiError
23576
+ */
23577
+ static pipelinesDestroy({
23578
+ id
23579
+ }) {
23580
+ return request(OpenAPI, {
23581
+ method: 'DELETE',
23582
+ url: '/pipelines/{id}/',
23583
+ path: {
23584
+ 'id': id
23585
+ },
23586
+ errors: {
23587
+ 403: `Missing required permission \`Ibl.CRM/Pipelines/delete\`.`,
23588
+ 404: `Pipeline not found.`,
23589
+ 409: `Pipeline still has Deals attached.`
23590
+ }
23591
+ });
23592
+ }
23593
+ }
23594
+
21689
23595
  class PlatformsService {
21690
23596
  /**
21691
23597
  * Check whether the authenticated user has payment access to an item on a scoped platform.
@@ -23912,5 +25818,5 @@ class TransactionsService {
23912
25818
  }
23913
25819
  }
23914
25820
 
23915
- export { AcceptanceEnum, AccessCheckService, AccountService, AiAnalyticsService, AnalyticsService, ApiError, AutoRechargeService, AutoRechargeTriggerResponseStatusEnum, BillingService, BlankEnum, BusinessTypeEnum, CancelError, CancelablePromise, CareerService, CatalogService, CeleryHeartbeatFailStatusEnum, CeleryHeartbeatStatusEnum, CommerceService, CoreService, CoursesProgressFrequencyEnum, CredentialsService, CreditTransactionHistoryStatusEnum, CreditsService, CrmService, CustomDomainsService, DisabilityStatusEnum, EthnicityEnum, EventsEnum, FeaturesService, FieldTypeEnum, FlowTypeEnum, GenderEnum, GooglePayAccountResponseStatusEnum, GradePostedNotifyModeEnum, GrandfatheringStrategyEnum, HumanSupportRecipientModeEnum, InstitutionTypeEnum, IntervalEnum, ItemTypeEnum, ItemsService, LifecycleStageEnum, MediaService, MediaTypeEnum, ModeEnum, NotificationFrequencyEnum, NotificationSourceTypeEnum, NotificationsService, OpenAPI, OrganizationsService, PeriodEnum, PeriodicFrequencyEnum, PeriodicLearnerScopeEnum, PersonsService, PlatformListStatusEnum, PlatformsService, PricesService, ProgramTypeEnum, RecommendationsService, ReportsService, ScimService, SearchService, SkillsService, StateEnum, Status0e3Enum, Status3daEnum, TransactionTypeEnum, TransactionsService, TypeD36Enum };
25821
+ export { AcceptanceEnum, AccessCheckService, AccountService, ActivitiesService, ActivityTypeEnum, AiAnalyticsService, AnalyticsService, ApiError, AutoRechargeService, AutoRechargeTriggerResponseStatusEnum, BillingService, BlankEnum, BusinessTypeEnum, CancelError, CancelablePromise, CareerService, CatalogService, CeleryHeartbeatFailStatusEnum, CeleryHeartbeatStatusEnum, CommerceService, CoreService, CoursesProgressFrequencyEnum, CredentialsService, CreditTransactionHistoryStatusEnum, CreditsService, CrmService, CustomDomainsService, DealStatusEnum, DealsService, DisabilityStatusEnum, EthnicityEnum, EventsEnum, FeaturesService, FieldTypeEnum, FlowTypeEnum, GenderEnum, GooglePayAccountResponseStatusEnum, GradePostedNotifyModeEnum, GrandfatheringStrategyEnum, HumanSupportRecipientModeEnum, InstitutionTypeEnum, IntervalEnum, ItemTypeEnum, ItemsService, LeadSourcesService, LifecycleStageEnum, MediaService, MediaTypeEnum, ModeEnum, NotificationFrequencyEnum, NotificationSourceTypeEnum, NotificationsService, OpenAPI, OrganizationsService, PeriodEnum, PeriodicFrequencyEnum, PeriodicLearnerScopeEnum, PersonsService, PipelinesService, PlatformListStatusEnum, PlatformsService, PricesService, ProgramTypeEnum, RecipientsRecipientModeEnum, RecommendationsService, ReportsService, ScimService, SearchService, SkillsService, StateEnum, Status0e3Enum, Status3daEnum, TransactionTypeEnum, TransactionsService, Type4b7Enum };
23916
25822
  //# sourceMappingURL=index.esm.js.map