@unboundcx/sdk 2.8.7 → 2.8.8

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.
@@ -6,60 +6,133 @@ export class TollFreeCampaignsService {
6
6
  /**
7
7
  * Create toll-free campaign
8
8
  * @param {Object} params - Campaign parameters
9
- * @param {string} params.companyName - Company name (required)
10
- * @param {string} params.phoneNumber - Phone number (required)
11
- * @param {string} params.description - Campaign description (required)
12
- * @param {string} params.messageFlow - Message flow description (required)
13
- * @param {string} [params.helpMessage] - Help message
14
- * @param {Array<string>} [params.optInKeywords] - Opt-in keywords
15
- * @param {Array<string>} [params.optOutKeywords] - Opt-out keywords
9
+ * @param {string} params.name - Campaign name (required)
10
+ * @param {string} [params.campaignDescription] - Campaign description
11
+ * @param {string} [params.address1] - Business address line 1
12
+ * @param {string} [params.address2] - Business address line 2
13
+ * @param {string} [params.city] - Business city
14
+ * @param {string} [params.state] - Business state
15
+ * @param {string} [params.zip] - Business zip code
16
+ * @param {string} [params.pocFirstName] - Point of contact first name
17
+ * @param {string} [params.pocLastName] - Point of contact last name
18
+ * @param {string} [params.pocPhoneNumber] - Point of contact phone
19
+ * @param {string} [params.pocEmail] - Point of contact email
20
+ * @param {string} [params.businessName] - Business name
16
21
  * @param {string} [params.website] - Business website
22
+ * @param {string} [params.messageVolume] - Expected message volume
23
+ * @param {string} [params.optInWorkflow] - Opt-in workflow description
24
+ * @param {Array<string>} [params.optInWorkflowUrls] - Opt-in workflow image URLs
25
+ * @param {Array<string>} [params.phoneNumbers] - Phone numbers for campaign
26
+ * @param {string} [params.productionMessageExample] - Production message example
27
+ * @param {string} [params.useCase] - Use case category
28
+ * @param {string} [params.useCaseDescription] - Use case description
29
+ * @param {string} [params.webhookUrl] - Webhook URL
30
+ * @param {string} [params.businessRegistrationNumber] - Business registration number
31
+ * @param {string} [params.businessRegistrationType] - Business registration type
32
+ * @param {string} [params.businessRegistrationCountry] - Business registration country (ISO 3166-1 alpha-2)
33
+ * @param {string} [params.doingBusinessAs] - Doing business as name
34
+ * @param {string} [params.entityType] - Entity type
35
+ * @param {string} [params.optInConfirmationResponse] - Opt-in confirmation response
36
+ * @param {string} [params.helpMessageResponse] - Help message response
37
+ * @param {string} [params.privacyPolicyURL] - Privacy policy URL
38
+ * @param {string} [params.termsAndConditionURL] - Terms and conditions URL
39
+ * @param {boolean} [params.ageGatedContent] - Age gated content flag
40
+ * @param {string} [params.optInKeywords] - Opt-in keywords
17
41
  * @returns {Promise<Object>} Created campaign details
18
42
  */
19
43
  async create({
20
- companyName,
21
- phoneNumber,
22
- description,
23
- messageFlow,
24
- helpMessage,
25
- optInKeywords,
26
- optOutKeywords,
44
+ name,
45
+ campaignDescription,
46
+ address1,
47
+ address2,
48
+ city,
49
+ state,
50
+ zip,
51
+ pocFirstName,
52
+ pocLastName,
53
+ pocPhoneNumber,
54
+ pocEmail,
55
+ businessName,
27
56
  website,
57
+ messageVolume,
58
+ optInWorkflow,
59
+ optInWorkflowUrls,
60
+ phoneNumbers,
61
+ productionMessageExample,
62
+ useCase,
63
+ useCaseDescription,
64
+ webhookUrl,
65
+ businessRegistrationNumber,
66
+ businessRegistrationType,
67
+ businessRegistrationCountry,
68
+ doingBusinessAs,
69
+ entityType,
70
+ optInConfirmationResponse,
71
+ helpMessageResponse,
72
+ privacyPolicyURL,
73
+ termsAndConditionURL,
74
+ ageGatedContent,
75
+ optInKeywords,
28
76
  }) {
29
77
  this.sdk.validateParams(
30
- { companyName, phoneNumber, description, messageFlow },
78
+ { name },
31
79
  {
32
- companyName: { type: 'string', required: true },
33
- phoneNumber: { type: 'string', required: true },
34
- description: { type: 'string', required: true },
35
- messageFlow: { type: 'string', required: true },
36
- helpMessage: { type: 'string', required: false },
37
- optInKeywords: { type: 'array', required: false },
38
- optOutKeywords: { type: 'array', required: false },
39
- website: { type: 'string', required: false },
80
+ name: { type: 'string', required: true },
40
81
  },
41
82
  );
42
83
 
43
- const campaignData = {
44
- companyName,
45
- phoneNumber,
46
- description,
47
- messageFlow,
48
- };
49
-
50
- if (helpMessage) campaignData.helpMessage = helpMessage;
51
- if (optInKeywords) campaignData.optInKeywords = optInKeywords;
52
- if (optOutKeywords) campaignData.optOutKeywords = optOutKeywords;
53
- if (website) campaignData.website = website;
84
+ const campaignData = { name };
54
85
 
55
- const options = {
56
- body: campaignData,
57
- };
86
+ if (campaignDescription !== undefined)
87
+ campaignData.campaignDescription = campaignDescription;
88
+ if (address1 !== undefined) campaignData.address1 = address1;
89
+ if (address2 !== undefined) campaignData.address2 = address2;
90
+ if (city !== undefined) campaignData.city = city;
91
+ if (state !== undefined) campaignData.state = state;
92
+ if (zip !== undefined) campaignData.zip = zip;
93
+ if (pocFirstName !== undefined) campaignData.pocFirstName = pocFirstName;
94
+ if (pocLastName !== undefined) campaignData.pocLastName = pocLastName;
95
+ if (pocPhoneNumber !== undefined)
96
+ campaignData.pocPhoneNumber = pocPhoneNumber;
97
+ if (pocEmail !== undefined) campaignData.pocEmail = pocEmail;
98
+ if (businessName !== undefined) campaignData.businessName = businessName;
99
+ if (website !== undefined) campaignData.website = website;
100
+ if (messageVolume !== undefined) campaignData.messageVolume = messageVolume;
101
+ if (optInWorkflow !== undefined) campaignData.optInWorkflow = optInWorkflow;
102
+ if (optInWorkflowUrls !== undefined)
103
+ campaignData.optInWorkflowUrls = optInWorkflowUrls;
104
+ if (phoneNumbers !== undefined) campaignData.phoneNumbers = phoneNumbers;
105
+ if (productionMessageExample !== undefined)
106
+ campaignData.productionMessageExample = productionMessageExample;
107
+ if (useCase !== undefined) campaignData.useCase = useCase;
108
+ if (useCaseDescription !== undefined)
109
+ campaignData.useCaseDescription = useCaseDescription;
110
+ if (webhookUrl !== undefined) campaignData.webhookUrl = webhookUrl;
111
+ if (businessRegistrationNumber !== undefined)
112
+ campaignData.businessRegistrationNumber = businessRegistrationNumber;
113
+ if (businessRegistrationType !== undefined)
114
+ campaignData.businessRegistrationType = businessRegistrationType;
115
+ if (businessRegistrationCountry !== undefined)
116
+ campaignData.businessRegistrationCountry = businessRegistrationCountry;
117
+ if (doingBusinessAs !== undefined)
118
+ campaignData.doingBusinessAs = doingBusinessAs;
119
+ if (entityType !== undefined) campaignData.entityType = entityType;
120
+ if (optInConfirmationResponse !== undefined)
121
+ campaignData.optInConfirmationResponse = optInConfirmationResponse;
122
+ if (helpMessageResponse !== undefined)
123
+ campaignData.helpMessageResponse = helpMessageResponse;
124
+ if (privacyPolicyURL !== undefined)
125
+ campaignData.privacyPolicyURL = privacyPolicyURL;
126
+ if (termsAndConditionURL !== undefined)
127
+ campaignData.termsAndConditionURL = termsAndConditionURL;
128
+ if (ageGatedContent !== undefined)
129
+ campaignData.ageGatedContent = ageGatedContent;
130
+ if (optInKeywords !== undefined) campaignData.optInKeywords = optInKeywords;
58
131
 
59
132
  const result = await this.sdk._fetch(
60
133
  '/messaging/campaigns/tollfree',
61
134
  'POST',
62
- options,
135
+ { body: campaignData },
63
136
  );
64
137
  return result;
65
138
  }
@@ -88,27 +161,6 @@ export class TollFreeCampaignsService {
88
161
  * Update toll-free campaign
89
162
  * @param {string} campaignId - Campaign ID to update
90
163
  * @param {Object} params - Update parameters
91
- * @param {string} [params.name] - Campaign name
92
- * @param {string} [params.campaignDescription] - Campaign description
93
- * @param {string} [params.address1] - Business address line 1
94
- * @param {string} [params.address2] - Business address line 2
95
- * @param {string} [params.city] - Business city
96
- * @param {string} [params.state] - Business state
97
- * @param {string} [params.zip] - Business zip code
98
- * @param {string} [params.pocFirstName] - Point of contact first name
99
- * @param {string} [params.pocLastName] - Point of contact last name
100
- * @param {string} [params.pocPhoneNumber] - Point of contact phone
101
- * @param {string} [params.pocEmail] - Point of contact email
102
- * @param {string} [params.businessName] - Business name
103
- * @param {string} [params.website] - Business website
104
- * @param {string} [params.messageVolume] - Expected message volume
105
- * @param {string} [params.optInWorkflow] - Opt-in workflow description
106
- * @param {Array<string>} [params.optInWorkflowUrls] - Opt-in workflow image URLs
107
- * @param {Array<string>} [params.phoneNumbers] - Phone numbers for campaign
108
- * @param {string} [params.productionMessageExample] - Production message example
109
- * @param {string} [params.useCase] - Use case category
110
- * @param {string} [params.useCaseDescription] - Use case description
111
- * @param {string} [params.webhookUrl] - Webhook URL
112
164
  * @returns {Promise<Object>} Updated campaign information
113
165
  */
114
166
  async update(
@@ -135,56 +187,23 @@ export class TollFreeCampaignsService {
135
187
  useCase,
136
188
  useCaseDescription,
137
189
  webhookUrl,
190
+ businessRegistrationNumber,
191
+ businessRegistrationType,
192
+ businessRegistrationCountry,
193
+ doingBusinessAs,
194
+ entityType,
195
+ optInConfirmationResponse,
196
+ helpMessageResponse,
197
+ privacyPolicyURL,
198
+ termsAndConditionURL,
199
+ ageGatedContent,
200
+ optInKeywords,
138
201
  } = {},
139
202
  ) {
140
203
  this.sdk.validateParams(
141
- {
142
- campaignId,
143
- name,
144
- campaignDescription,
145
- address1,
146
- address2,
147
- city,
148
- state,
149
- zip,
150
- pocFirstName,
151
- pocLastName,
152
- pocPhoneNumber,
153
- pocEmail,
154
- businessName,
155
- website,
156
- messageVolume,
157
- optInWorkflow,
158
- optInWorkflowUrls,
159
- phoneNumbers,
160
- productionMessageExample,
161
- useCase,
162
- useCaseDescription,
163
- webhookUrl,
164
- },
204
+ { campaignId },
165
205
  {
166
206
  campaignId: { type: 'string', required: true },
167
- name: { type: 'string', required: false },
168
- campaignDescription: { type: 'string', required: false },
169
- address1: { type: 'string', required: false },
170
- address2: { type: 'string', required: false },
171
- city: { type: 'string', required: false },
172
- state: { type: 'string', required: false },
173
- zip: { type: 'string', required: false },
174
- pocFirstName: { type: 'string', required: false },
175
- pocLastName: { type: 'string', required: false },
176
- pocPhoneNumber: { type: 'string', required: false },
177
- pocEmail: { type: 'string', required: false },
178
- businessName: { type: 'string', required: false },
179
- website: { type: 'string', required: false },
180
- messageVolume: { type: 'string', required: false },
181
- optInWorkflow: { type: 'string', required: false },
182
- optInWorkflowUrls: { type: 'array', required: false },
183
- phoneNumbers: { type: 'array', required: false },
184
- productionMessageExample: { type: 'string', required: false },
185
- useCase: { type: 'string', required: false },
186
- useCaseDescription: { type: 'string', required: false },
187
- webhookUrl: { type: 'string', required: false },
188
207
  },
189
208
  );
190
209
 
@@ -215,15 +234,31 @@ export class TollFreeCampaignsService {
215
234
  if (useCaseDescription !== undefined)
216
235
  updateData.useCaseDescription = useCaseDescription;
217
236
  if (webhookUrl !== undefined) updateData.webhookUrl = webhookUrl;
218
-
219
- const options = {
220
- body: updateData,
221
- };
237
+ if (businessRegistrationNumber !== undefined)
238
+ updateData.businessRegistrationNumber = businessRegistrationNumber;
239
+ if (businessRegistrationType !== undefined)
240
+ updateData.businessRegistrationType = businessRegistrationType;
241
+ if (businessRegistrationCountry !== undefined)
242
+ updateData.businessRegistrationCountry = businessRegistrationCountry;
243
+ if (doingBusinessAs !== undefined)
244
+ updateData.doingBusinessAs = doingBusinessAs;
245
+ if (entityType !== undefined) updateData.entityType = entityType;
246
+ if (optInConfirmationResponse !== undefined)
247
+ updateData.optInConfirmationResponse = optInConfirmationResponse;
248
+ if (helpMessageResponse !== undefined)
249
+ updateData.helpMessageResponse = helpMessageResponse;
250
+ if (privacyPolicyURL !== undefined)
251
+ updateData.privacyPolicyURL = privacyPolicyURL;
252
+ if (termsAndConditionURL !== undefined)
253
+ updateData.termsAndConditionURL = termsAndConditionURL;
254
+ if (ageGatedContent !== undefined)
255
+ updateData.ageGatedContent = ageGatedContent;
256
+ if (optInKeywords !== undefined) updateData.optInKeywords = optInKeywords;
222
257
 
223
258
  const result = await this.sdk._fetch(
224
259
  `/messaging/campaigns/tollfree/${campaignId}`,
225
260
  'PUT',
226
- options,
261
+ { body: updateData },
227
262
  );
228
263
  return result;
229
264
  }
@@ -250,7 +285,7 @@ export class TollFreeCampaignsService {
250
285
  * @param {number} [params.limit=50] - Items per page
251
286
  * @param {string} [params.name] - Filter by campaign name
252
287
  * @param {string} [params.status] - Filter by status
253
- * @param {string} [params.operatorType='contains'] - Filter operator: contains, equals, startsWith, endsWith
288
+ * @param {string} [params.operatorType='contains'] - Filter operator
254
289
  * @returns {Promise<Array>} List of campaigns
255
290
  */
256
291
  async list({ page, limit, name, status, operatorType } = {}) {
@@ -285,6 +320,124 @@ export class TollFreeCampaignsService {
285
320
  return result;
286
321
  }
287
322
 
323
+ /**
324
+ * Submit a draft toll-free campaign for verification
325
+ * @param {string} campaignId - Campaign ID to submit
326
+ * @param {Object} params - Submit parameters
327
+ * @param {boolean} params.termsAndConditions - Must be true to accept T&C
328
+ * @returns {Promise<Object>} Submission result
329
+ */
330
+ async submit(campaignId, { termsAndConditions } = {}) {
331
+ this.sdk.validateParams(
332
+ { campaignId, termsAndConditions },
333
+ {
334
+ campaignId: { type: 'string', required: true },
335
+ termsAndConditions: { type: 'boolean', required: true },
336
+ },
337
+ );
338
+
339
+ const result = await this.sdk._fetch(
340
+ `/messaging/campaigns/tollfree/${campaignId}/submit`,
341
+ 'POST',
342
+ { body: { termsAndConditions } },
343
+ );
344
+ return result;
345
+ }
346
+
347
+ /**
348
+ * Duplicate an existing campaign as a new Draft
349
+ * @param {string} campaignId - Source campaign ID
350
+ * @param {Object} [params] - Optional parameters
351
+ * @param {string} [params.name] - Name for the new campaign
352
+ * @returns {Promise<Object>} New draft campaign details
353
+ */
354
+ async duplicate(campaignId, { name } = {}) {
355
+ this.sdk.validateParams(
356
+ { campaignId },
357
+ {
358
+ campaignId: { type: 'string', required: true },
359
+ },
360
+ );
361
+
362
+ const body = {};
363
+ if (name !== undefined) body.name = name;
364
+
365
+ const result = await this.sdk._fetch(
366
+ `/messaging/campaigns/tollfree/${campaignId}/duplicate`,
367
+ 'POST',
368
+ { body },
369
+ );
370
+ return result;
371
+ }
372
+
373
+ /**
374
+ * List phone numbers assigned to a campaign
375
+ * @param {string} campaignId - Campaign ID
376
+ * @returns {Promise<Array>} List of phone numbers
377
+ */
378
+ async listPhoneNumbers(campaignId) {
379
+ this.sdk.validateParams(
380
+ { campaignId },
381
+ {
382
+ campaignId: { type: 'string', required: true },
383
+ },
384
+ );
385
+
386
+ const result = await this.sdk._fetch(
387
+ `/messaging/campaigns/tollfree/${campaignId}/phoneNumbers`,
388
+ 'GET',
389
+ );
390
+ return result;
391
+ }
392
+
393
+ /**
394
+ * Add phone number to campaign
395
+ * @param {string} campaignId - Campaign ID
396
+ * @param {Object} params - Phone number data
397
+ * @param {string} params.phoneNumber - Phone number to add
398
+ * @returns {Promise<Object>} Result
399
+ */
400
+ async addPhoneNumber(campaignId, { phoneNumber }) {
401
+ this.sdk.validateParams(
402
+ { campaignId, phoneNumber },
403
+ {
404
+ campaignId: { type: 'string', required: true },
405
+ phoneNumber: { type: 'string', required: true },
406
+ },
407
+ );
408
+
409
+ const result = await this.sdk._fetch(
410
+ `/messaging/campaigns/tollfree/${campaignId}/phoneNumber`,
411
+ 'POST',
412
+ { body: { phoneNumber } },
413
+ );
414
+ return result;
415
+ }
416
+
417
+ /**
418
+ * Remove phone number from campaign
419
+ * @param {string} campaignId - Campaign ID
420
+ * @param {Object} params - Phone number data
421
+ * @param {string} params.phoneNumber - Phone number to remove
422
+ * @returns {Promise<Object>} Result
423
+ */
424
+ async removePhoneNumber(campaignId, { phoneNumber }) {
425
+ this.sdk.validateParams(
426
+ { campaignId, phoneNumber },
427
+ {
428
+ campaignId: { type: 'string', required: true },
429
+ phoneNumber: { type: 'string', required: true },
430
+ },
431
+ );
432
+
433
+ const result = await this.sdk._fetch(
434
+ `/messaging/campaigns/tollfree/${campaignId}/phoneNumber`,
435
+ 'DELETE',
436
+ { body: { phoneNumber } },
437
+ );
438
+ return result;
439
+ }
440
+
288
441
  async getPhoneNumberCampaignStatus(phoneNumber) {
289
442
  this.sdk.validateParams(
290
443
  { phoneNumber },
package/services/notes.js CHANGED
@@ -37,6 +37,7 @@ export class NotesService {
37
37
  content_binary,
38
38
  content_json,
39
39
  version,
40
+ isPublic,
40
41
  }) {
41
42
  this.sdk.validateParams(
42
43
  {
@@ -47,6 +48,7 @@ export class NotesService {
47
48
  content_binary,
48
49
  content_json,
49
50
  version,
51
+ isPublic,
50
52
  },
51
53
  {
52
54
  title: { type: 'string', required: false },
@@ -56,6 +58,7 @@ export class NotesService {
56
58
  content_binary: { type: 'array', required: false },
57
59
  content_json: { type: 'object', required: false },
58
60
  version: { type: 'number', required: false },
61
+ isPublic: { type: 'boolean', required: false },
59
62
  },
60
63
  );
61
64
 
@@ -68,6 +71,7 @@ export class NotesService {
68
71
  content_binary,
69
72
  content_json,
70
73
  version,
74
+ isPublic,
71
75
  },
72
76
  };
73
77
 
@@ -77,10 +81,10 @@ export class NotesService {
77
81
 
78
82
  async update(
79
83
  noteId,
80
- { title, content_html, content_binary, content_json, version },
84
+ { title, content_html, content_binary, content_json, version, isPublic },
81
85
  ) {
82
86
  this.sdk.validateParams(
83
- { noteId, title, content_html, content_binary, content_json, version },
87
+ { noteId, title, content_html, content_binary, content_json, version, isPublic },
84
88
  {
85
89
  noteId: { type: 'string', required: true },
86
90
  title: { type: 'string', required: false },
@@ -88,6 +92,7 @@ export class NotesService {
88
92
  content_binary: { type: 'array', required: false },
89
93
  content_json: { type: 'object', required: false },
90
94
  version: { type: 'number', required: false },
95
+ isPublic: { type: 'boolean', required: false },
91
96
  },
92
97
  );
93
98
 
@@ -98,6 +103,7 @@ export class NotesService {
98
103
  content_binary,
99
104
  content_json,
100
105
  version,
106
+ isPublic,
101
107
  },
102
108
  };
103
109
 
@@ -128,4 +134,23 @@ export class NotesService {
128
134
  const result = await this.sdk._fetch(`/notes/${noteId}`, 'GET');
129
135
  return result;
130
136
  }
137
+
138
+ async search({ query, relatedId, limit, isPublic }) {
139
+ this.sdk.validateParams(
140
+ { query, relatedId, limit, isPublic },
141
+ {
142
+ query: { type: 'string', required: true },
143
+ relatedId: { type: 'string', required: false },
144
+ limit: { type: 'number', required: false },
145
+ isPublic: { type: 'boolean', required: false },
146
+ },
147
+ );
148
+
149
+ const params = {
150
+ body: { query, relatedId, limit, isPublic },
151
+ };
152
+
153
+ const result = await this.sdk._fetch('/notes/search', 'POST', params);
154
+ return result;
155
+ }
131
156
  }
@@ -166,6 +166,31 @@ export class ObjectsService {
166
166
  throw new Error('Invalid arguments for query method');
167
167
  }
168
168
 
169
+ /**
170
+ * Query objects using UOQL v2 (SQL-like syntax).
171
+ *
172
+ * Usage:
173
+ * sdk.objects.queryV2({ query: "SELECT firstName, lastName FROM people WHERE companyId = '123' LIMIT 10" })
174
+ *
175
+ * @param {object} args
176
+ * @param {string} args.query - UOQL query string
177
+ * @param {boolean} [args.expandDetails=false] - Whether to expand related details
178
+ * @returns {Promise} Query results with pagination
179
+ */
180
+ async queryV2({ query, expandDetails = false, isPublic = false }) {
181
+ this.sdk.validateParams(
182
+ { query },
183
+ {
184
+ query: { type: 'string', required: true },
185
+ },
186
+ );
187
+
188
+ const body = { query, expandDetails };
189
+ if (isPublic) body.isPublic = isPublic;
190
+ const params = { body };
191
+ return await this.sdk._fetch('/object/query/v2', 'POST', params);
192
+ }
193
+
169
194
  /**
170
195
  * Update an object record by ID
171
196
  *
@@ -337,6 +362,14 @@ export class ObjectsService {
337
362
  return result;
338
363
  }
339
364
 
365
+ async botSchema() {
366
+ const result = await this.sdk._fetch(
367
+ '/object/manage/bot-schema',
368
+ 'GET',
369
+ );
370
+ return result;
371
+ }
372
+
340
373
  async describe(object) {
341
374
  this.sdk.validateParams(
342
375
  { object },
@@ -784,6 +817,37 @@ export class ObjectsService {
784
817
  return result;
785
818
  }
786
819
 
820
+ async modifyObject({
821
+ objectName,
822
+ isBotAccessible = null,
823
+ isPublicBot = null,
824
+ description = null,
825
+ }) {
826
+ this.sdk.validateParams(
827
+ { objectName, isBotAccessible, isPublicBot, description },
828
+ {
829
+ objectName: { type: 'string', required: true },
830
+ isBotAccessible: { type: 'boolean', required: false },
831
+ isPublicBot: { type: 'boolean', required: false },
832
+ description: { type: 'string', required: false },
833
+ },
834
+ );
835
+
836
+ const body = {};
837
+ if (isBotAccessible !== null) body.isBotAccessible = isBotAccessible;
838
+ if (isPublicBot !== null) body.isPublicBot = isPublicBot;
839
+ if (description !== null) body.description = description;
840
+
841
+ const params = { body };
842
+
843
+ const result = await this.sdk._fetch(
844
+ `/object/manage/${objectName}`,
845
+ 'PUT',
846
+ params,
847
+ );
848
+ return result;
849
+ }
850
+
787
851
  async modifyColumn({
788
852
  objectName,
789
853
  columnName,
@@ -792,6 +856,10 @@ export class ObjectsService {
792
856
  defaultValue = null,
793
857
  isEncrypted = null,
794
858
  isRequired = null,
859
+ isBotAccessible = null,
860
+ isPublicBot = null,
861
+ isStandard = null,
862
+ description = null,
795
863
  }) {
796
864
  this.sdk.validateParams(
797
865
  {
@@ -802,6 +870,10 @@ export class ObjectsService {
802
870
  defaultValue,
803
871
  isEncrypted,
804
872
  isRequired,
873
+ isBotAccessible,
874
+ isPublicBot,
875
+ isStandard,
876
+ description,
805
877
  },
806
878
  {
807
879
  objectName: { type: 'string', required: true },
@@ -811,6 +883,10 @@ export class ObjectsService {
811
883
  defaultValue: { type: 'string', required: false },
812
884
  isEncrypted: { type: 'boolean', required: false },
813
885
  isRequired: { type: 'boolean', required: false },
886
+ isBotAccessible: { type: 'boolean', required: false },
887
+ isPublicBot: { type: 'boolean', required: false },
888
+ isStandard: { type: 'boolean', required: false },
889
+ description: { type: 'string', required: false },
814
890
  },
815
891
  );
816
892
 
@@ -820,6 +896,10 @@ export class ObjectsService {
820
896
  if (defaultValue !== null) body.defaultValue = defaultValue;
821
897
  if (isEncrypted !== null) body.isEncrypted = isEncrypted;
822
898
  if (isRequired !== null) body.isRequired = isRequired;
899
+ if (isBotAccessible !== null) body.isBotAccessible = isBotAccessible;
900
+ if (isPublicBot !== null) body.isPublicBot = isPublicBot;
901
+ if (isStandard !== null) body.isStandard = isStandard;
902
+ if (description !== null) body.description = description;
823
903
 
824
904
  const params = { body };
825
905