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