• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-typescript-sdk-gen / 16521791806

25 Jul 2025 12:19PM UTC coverage: 42.508% (+0.03%) from 42.481%
16521791806

push

github

web-flow
test: Add Archives integration tests (box/box-codegen#744) (#676)

Co-authored-by: box-sdk-build <box-sdk-build@box.com>

4472 of 18307 branches covered (24.43%)

Branch coverage included in aggregate %.

16545 of 31135 relevant lines covered (53.14%)

151.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.33
/src/client.generated.ts
1
import { serializeBaseUrls } from './networking/baseUrls.generated.js';
2
import { deserializeBaseUrls } from './networking/baseUrls.generated.js';
3
import { FetchOptionsInput } from './networking/fetchOptions.generated.js';
4
import { BaseUrlsInput } from './networking/baseUrls.generated.js';
5
import { AuthorizationManager } from './managers/authorization.generated.js';
240✔
6
import { FilesManager } from './managers/files.generated.js';
240✔
7
import { TrashedFilesManager } from './managers/trashedFiles.generated.js';
240✔
8
import { AppItemAssociationsManager } from './managers/appItemAssociations.generated.js';
240✔
9
import { DownloadsManager } from './managers/downloads.generated.js';
240✔
10
import { UploadsManager } from './managers/uploads.generated.js';
240✔
11
import { ChunkedUploadsManager } from './managers/chunkedUploads.generated.js';
240✔
12
import { ListCollaborationsManager } from './managers/listCollaborations.generated.js';
240✔
13
import { CommentsManager } from './managers/comments.generated.js';
240✔
14
import { TasksManager } from './managers/tasks.generated.js';
240✔
15
import { FileVersionsManager } from './managers/fileVersions.generated.js';
240✔
16
import { FileMetadataManager } from './managers/fileMetadata.generated.js';
240✔
17
import { FileClassificationsManager } from './managers/fileClassifications.generated.js';
240✔
18
import { SkillsManager } from './managers/skills.generated.js';
240✔
19
import { FileWatermarksManager } from './managers/fileWatermarks.generated.js';
240✔
20
import { FileRequestsManager } from './managers/fileRequests.generated.js';
240✔
21
import { FoldersManager } from './managers/folders.generated.js';
240✔
22
import { TrashedFoldersManager } from './managers/trashedFolders.generated.js';
240✔
23
import { FolderMetadataManager } from './managers/folderMetadata.generated.js';
240✔
24
import { FolderClassificationsManager } from './managers/folderClassifications.generated.js';
240✔
25
import { TrashedItemsManager } from './managers/trashedItems.generated.js';
240✔
26
import { FolderWatermarksManager } from './managers/folderWatermarks.generated.js';
240✔
27
import { FolderLocksManager } from './managers/folderLocks.generated.js';
240✔
28
import { MetadataTemplatesManager } from './managers/metadataTemplates.generated.js';
240✔
29
import { ClassificationsManager } from './managers/classifications.generated.js';
240✔
30
import { MetadataCascadePoliciesManager } from './managers/metadataCascadePolicies.generated.js';
240✔
31
import { SearchManager } from './managers/search.generated.js';
240✔
32
import { UserCollaborationsManager } from './managers/userCollaborations.generated.js';
240✔
33
import { TaskAssignmentsManager } from './managers/taskAssignments.generated.js';
240✔
34
import { SharedLinksFilesManager } from './managers/sharedLinksFiles.generated.js';
240✔
35
import { SharedLinksFoldersManager } from './managers/sharedLinksFolders.generated.js';
240✔
36
import { WebLinksManager } from './managers/webLinks.generated.js';
240✔
37
import { TrashedWebLinksManager } from './managers/trashedWebLinks.generated.js';
240✔
38
import { SharedLinksWebLinksManager } from './managers/sharedLinksWebLinks.generated.js';
240✔
39
import { SharedLinksAppItemsManager } from './managers/sharedLinksAppItems.generated.js';
240✔
40
import { UsersManager } from './managers/users.generated.js';
240✔
41
import { SessionTerminationManager } from './managers/sessionTermination.generated.js';
240✔
42
import { AvatarsManager } from './managers/avatars.generated.js';
240✔
43
import { TransferManager } from './managers/transfer.generated.js';
240✔
44
import { EmailAliasesManager } from './managers/emailAliases.generated.js';
240✔
45
import { MembershipsManager } from './managers/memberships.generated.js';
240✔
46
import { InvitesManager } from './managers/invites.generated.js';
240✔
47
import { GroupsManager } from './managers/groups.generated.js';
240✔
48
import { WebhooksManager } from './managers/webhooks.generated.js';
240✔
49
import { EventsManager } from './managers/events.generated.js';
240✔
50
import { CollectionsManager } from './managers/collections.generated.js';
240✔
51
import { RecentItemsManager } from './managers/recentItems.generated.js';
240✔
52
import { RetentionPoliciesManager } from './managers/retentionPolicies.generated.js';
240✔
53
import { RetentionPolicyAssignmentsManager } from './managers/retentionPolicyAssignments.generated.js';
240✔
54
import { LegalHoldPoliciesManager } from './managers/legalHoldPolicies.generated.js';
240✔
55
import { LegalHoldPolicyAssignmentsManager } from './managers/legalHoldPolicyAssignments.generated.js';
240✔
56
import { FileVersionRetentionsManager } from './managers/fileVersionRetentions.generated.js';
240✔
57
import { FileVersionLegalHoldsManager } from './managers/fileVersionLegalHolds.generated.js';
240✔
58
import { ShieldInformationBarriersManager } from './managers/shieldInformationBarriers.generated.js';
240✔
59
import { ShieldInformationBarrierReportsManager } from './managers/shieldInformationBarrierReports.generated.js';
240✔
60
import { ShieldInformationBarrierSegmentsManager } from './managers/shieldInformationBarrierSegments.generated.js';
240✔
61
import { ShieldInformationBarrierSegmentMembersManager } from './managers/shieldInformationBarrierSegmentMembers.generated.js';
240✔
62
import { ShieldInformationBarrierSegmentRestrictionsManager } from './managers/shieldInformationBarrierSegmentRestrictions.generated.js';
240✔
63
import { DevicePinnersManager } from './managers/devicePinners.generated.js';
240✔
64
import { TermsOfServicesManager } from './managers/termsOfServices.generated.js';
240✔
65
import { TermsOfServiceUserStatusesManager } from './managers/termsOfServiceUserStatuses.generated.js';
240✔
66
import { CollaborationAllowlistEntriesManager } from './managers/collaborationAllowlistEntries.generated.js';
240✔
67
import { CollaborationAllowlistExemptTargetsManager } from './managers/collaborationAllowlistExemptTargets.generated.js';
240✔
68
import { StoragePoliciesManager } from './managers/storagePolicies.generated.js';
240✔
69
import { StoragePolicyAssignmentsManager } from './managers/storagePolicyAssignments.generated.js';
240✔
70
import { ZipDownloadsManager } from './managers/zipDownloads.generated.js';
240✔
71
import { SignRequestsManager } from './managers/signRequests.generated.js';
240✔
72
import { WorkflowsManager } from './managers/workflows.generated.js';
240✔
73
import { SignTemplatesManager } from './managers/signTemplates.generated.js';
240✔
74
import { IntegrationMappingsManager } from './managers/integrationMappings.generated.js';
240✔
75
import { AiManager } from './managers/ai.generated.js';
240✔
76
import { AiStudioManager } from './managers/aiStudio.generated.js';
240✔
77
import { DocgenTemplateManager } from './managers/docgenTemplate.generated.js';
240✔
78
import { DocgenManager } from './managers/docgen.generated.js';
240✔
79
import { HubsManager } from './managers/hubs.generated.js';
240✔
80
import { HubCollaborationsManager } from './managers/hubCollaborations.generated.js';
240✔
81
import { HubItemsManager } from './managers/hubItems.generated.js';
240✔
82
import { ShieldListsManager } from './managers/shieldLists.generated.js';
240✔
83
import { ArchivesManager } from './managers/archives.generated.js';
240✔
84
import { Authentication } from './networking/auth.generated.js';
85
import { NetworkSession } from './networking/network.generated.js';
240✔
86
import { BoxSdkError } from './box/errors.js';
87
import { FetchOptions } from './networking/fetchOptions.generated.js';
240✔
88
import { FetchResponse } from './networking/fetchResponse.generated.js';
89
import { BaseUrls } from './networking/baseUrls.generated.js';
240✔
90
import { ProxyConfig } from './networking/proxyConfig.generated.js';
91
import { AgentOptions } from './internal/utils.js';
92
import { Interceptor } from './networking/interceptors.generated.js';
93
import { SerializedData } from './serialization/json.js';
94
import { sdIsEmpty } from './serialization/json.js';
95
import { sdIsBoolean } from './serialization/json.js';
96
import { sdIsNumber } from './serialization/json.js';
97
import { sdIsString } from './serialization/json.js';
98
import { sdIsList } from './serialization/json.js';
99
import { sdIsMap } from './serialization/json.js';
100
export class BoxClient {
240✔
101
  readonly auth!: Authentication;
102
  readonly networkSession: NetworkSession = new NetworkSession({
510✔
103
    baseUrls: new BaseUrls({}),
104
  });
105
  readonly authorization: AuthorizationManager;
106
  readonly files: FilesManager;
107
  readonly trashedFiles: TrashedFilesManager;
108
  readonly appItemAssociations: AppItemAssociationsManager;
109
  readonly downloads: DownloadsManager;
110
  readonly uploads: UploadsManager;
111
  readonly chunkedUploads: ChunkedUploadsManager;
112
  readonly listCollaborations: ListCollaborationsManager;
113
  readonly comments: CommentsManager;
114
  readonly tasks: TasksManager;
115
  readonly fileVersions: FileVersionsManager;
116
  readonly fileMetadata: FileMetadataManager;
117
  readonly fileClassifications: FileClassificationsManager;
118
  readonly skills: SkillsManager;
119
  readonly fileWatermarks: FileWatermarksManager;
120
  readonly fileRequests: FileRequestsManager;
121
  readonly folders: FoldersManager;
122
  readonly trashedFolders: TrashedFoldersManager;
123
  readonly folderMetadata: FolderMetadataManager;
124
  readonly folderClassifications: FolderClassificationsManager;
125
  readonly trashedItems: TrashedItemsManager;
126
  readonly folderWatermarks: FolderWatermarksManager;
127
  readonly folderLocks: FolderLocksManager;
128
  readonly metadataTemplates: MetadataTemplatesManager;
129
  readonly classifications: ClassificationsManager;
130
  readonly metadataCascadePolicies: MetadataCascadePoliciesManager;
131
  readonly search: SearchManager;
132
  readonly userCollaborations: UserCollaborationsManager;
133
  readonly taskAssignments: TaskAssignmentsManager;
134
  readonly sharedLinksFiles: SharedLinksFilesManager;
135
  readonly sharedLinksFolders: SharedLinksFoldersManager;
136
  readonly webLinks: WebLinksManager;
137
  readonly trashedWebLinks: TrashedWebLinksManager;
138
  readonly sharedLinksWebLinks: SharedLinksWebLinksManager;
139
  readonly sharedLinksAppItems: SharedLinksAppItemsManager;
140
  readonly users: UsersManager;
141
  readonly sessionTermination: SessionTerminationManager;
142
  readonly avatars: AvatarsManager;
143
  readonly transfer: TransferManager;
144
  readonly emailAliases: EmailAliasesManager;
145
  readonly memberships: MembershipsManager;
146
  readonly invites: InvitesManager;
147
  readonly groups: GroupsManager;
148
  readonly webhooks: WebhooksManager;
149
  readonly events: EventsManager;
150
  readonly collections: CollectionsManager;
151
  readonly recentItems: RecentItemsManager;
152
  readonly retentionPolicies: RetentionPoliciesManager;
153
  readonly retentionPolicyAssignments: RetentionPolicyAssignmentsManager;
154
  readonly legalHoldPolicies: LegalHoldPoliciesManager;
155
  readonly legalHoldPolicyAssignments: LegalHoldPolicyAssignmentsManager;
156
  readonly fileVersionRetentions: FileVersionRetentionsManager;
157
  readonly fileVersionLegalHolds: FileVersionLegalHoldsManager;
158
  readonly shieldInformationBarriers: ShieldInformationBarriersManager;
159
  readonly shieldInformationBarrierReports: ShieldInformationBarrierReportsManager;
160
  readonly shieldInformationBarrierSegments: ShieldInformationBarrierSegmentsManager;
161
  readonly shieldInformationBarrierSegmentMembers: ShieldInformationBarrierSegmentMembersManager;
162
  readonly shieldInformationBarrierSegmentRestrictions: ShieldInformationBarrierSegmentRestrictionsManager;
163
  readonly devicePinners: DevicePinnersManager;
164
  readonly termsOfServices: TermsOfServicesManager;
165
  readonly termsOfServiceUserStatuses: TermsOfServiceUserStatusesManager;
166
  readonly collaborationAllowlistEntries: CollaborationAllowlistEntriesManager;
167
  readonly collaborationAllowlistExemptTargets: CollaborationAllowlistExemptTargetsManager;
168
  readonly storagePolicies: StoragePoliciesManager;
169
  readonly storagePolicyAssignments: StoragePolicyAssignmentsManager;
170
  readonly zipDownloads: ZipDownloadsManager;
171
  readonly signRequests: SignRequestsManager;
172
  readonly workflows: WorkflowsManager;
173
  readonly signTemplates: SignTemplatesManager;
174
  readonly integrationMappings: IntegrationMappingsManager;
175
  readonly ai: AiManager;
176
  readonly aiStudio: AiStudioManager;
177
  readonly docgenTemplate: DocgenTemplateManager;
178
  readonly docgen: DocgenManager;
179
  readonly hubs: HubsManager;
180
  readonly hubCollaborations: HubCollaborationsManager;
181
  readonly hubItems: HubItemsManager;
182
  readonly shieldLists: ShieldListsManager;
183
  readonly archives: ArchivesManager;
184
  constructor(
185
    fields: Omit<
186
      BoxClient,
187
      | 'authorization'
188
      | 'files'
189
      | 'trashedFiles'
190
      | 'appItemAssociations'
191
      | 'downloads'
192
      | 'uploads'
193
      | 'chunkedUploads'
194
      | 'listCollaborations'
195
      | 'comments'
196
      | 'tasks'
197
      | 'fileVersions'
198
      | 'fileMetadata'
199
      | 'fileClassifications'
200
      | 'skills'
201
      | 'fileWatermarks'
202
      | 'fileRequests'
203
      | 'folders'
204
      | 'trashedFolders'
205
      | 'folderMetadata'
206
      | 'folderClassifications'
207
      | 'trashedItems'
208
      | 'folderWatermarks'
209
      | 'folderLocks'
210
      | 'metadataTemplates'
211
      | 'classifications'
212
      | 'metadataCascadePolicies'
213
      | 'search'
214
      | 'userCollaborations'
215
      | 'taskAssignments'
216
      | 'sharedLinksFiles'
217
      | 'sharedLinksFolders'
218
      | 'webLinks'
219
      | 'trashedWebLinks'
220
      | 'sharedLinksWebLinks'
221
      | 'sharedLinksAppItems'
222
      | 'users'
223
      | 'sessionTermination'
224
      | 'avatars'
225
      | 'transfer'
226
      | 'emailAliases'
227
      | 'memberships'
228
      | 'invites'
229
      | 'groups'
230
      | 'webhooks'
231
      | 'events'
232
      | 'collections'
233
      | 'recentItems'
234
      | 'retentionPolicies'
235
      | 'retentionPolicyAssignments'
236
      | 'legalHoldPolicies'
237
      | 'legalHoldPolicyAssignments'
238
      | 'fileVersionRetentions'
239
      | 'fileVersionLegalHolds'
240
      | 'shieldInformationBarriers'
241
      | 'shieldInformationBarrierReports'
242
      | 'shieldInformationBarrierSegments'
243
      | 'shieldInformationBarrierSegmentMembers'
244
      | 'shieldInformationBarrierSegmentRestrictions'
245
      | 'devicePinners'
246
      | 'termsOfServices'
247
      | 'termsOfServiceUserStatuses'
248
      | 'collaborationAllowlistEntries'
249
      | 'collaborationAllowlistExemptTargets'
250
      | 'storagePolicies'
251
      | 'storagePolicyAssignments'
252
      | 'zipDownloads'
253
      | 'signRequests'
254
      | 'workflows'
255
      | 'signTemplates'
256
      | 'integrationMappings'
257
      | 'ai'
258
      | 'aiStudio'
259
      | 'docgenTemplate'
260
      | 'docgen'
261
      | 'hubs'
262
      | 'hubCollaborations'
263
      | 'hubItems'
264
      | 'shieldLists'
265
      | 'archives'
266
      | 'networkSession'
267
      | 'makeRequest'
268
      | 'withAsUserHeader'
269
      | 'withSuppressedNotifications'
270
      | 'withExtraHeaders'
271
      | 'withCustomBaseUrls'
272
      | 'withProxy'
273
      | 'withCustomAgentOptions'
274
      | 'withInterceptors'
275
    > &
276
      Partial<Pick<BoxClient, 'networkSession'>>,
277
  ) {
278
    if (fields.auth !== undefined) {
510✔
279
      this.auth = fields.auth;
510✔
280
    }
281
    if (fields.networkSession !== undefined) {
510✔
282
      this.networkSession = fields.networkSession;
45✔
283
    }
284
    this.authorization = new AuthorizationManager({
510✔
285
      auth: this.auth,
286
      networkSession: this.networkSession,
287
    });
288
    this.files = new FilesManager({
510✔
289
      auth: this.auth,
290
      networkSession: this.networkSession,
291
    });
292
    this.trashedFiles = new TrashedFilesManager({
510✔
293
      auth: this.auth,
294
      networkSession: this.networkSession,
295
    });
296
    this.appItemAssociations = new AppItemAssociationsManager({
510✔
297
      auth: this.auth,
298
      networkSession: this.networkSession,
299
    });
300
    this.downloads = new DownloadsManager({
510✔
301
      auth: this.auth,
302
      networkSession: this.networkSession,
303
    });
304
    this.uploads = new UploadsManager({
510✔
305
      auth: this.auth,
306
      networkSession: this.networkSession,
307
    });
308
    this.chunkedUploads = new ChunkedUploadsManager({
510✔
309
      auth: this.auth,
310
      networkSession: this.networkSession,
311
    });
312
    this.listCollaborations = new ListCollaborationsManager({
510✔
313
      auth: this.auth,
314
      networkSession: this.networkSession,
315
    });
316
    this.comments = new CommentsManager({
510✔
317
      auth: this.auth,
318
      networkSession: this.networkSession,
319
    });
320
    this.tasks = new TasksManager({
510✔
321
      auth: this.auth,
322
      networkSession: this.networkSession,
323
    });
324
    this.fileVersions = new FileVersionsManager({
510✔
325
      auth: this.auth,
326
      networkSession: this.networkSession,
327
    });
328
    this.fileMetadata = new FileMetadataManager({
510✔
329
      auth: this.auth,
330
      networkSession: this.networkSession,
331
    });
332
    this.fileClassifications = new FileClassificationsManager({
510✔
333
      auth: this.auth,
334
      networkSession: this.networkSession,
335
    });
336
    this.skills = new SkillsManager({
510✔
337
      auth: this.auth,
338
      networkSession: this.networkSession,
339
    });
340
    this.fileWatermarks = new FileWatermarksManager({
510✔
341
      auth: this.auth,
342
      networkSession: this.networkSession,
343
    });
344
    this.fileRequests = new FileRequestsManager({
510✔
345
      auth: this.auth,
346
      networkSession: this.networkSession,
347
    });
348
    this.folders = new FoldersManager({
510✔
349
      auth: this.auth,
350
      networkSession: this.networkSession,
351
    });
352
    this.trashedFolders = new TrashedFoldersManager({
510✔
353
      auth: this.auth,
354
      networkSession: this.networkSession,
355
    });
356
    this.folderMetadata = new FolderMetadataManager({
510✔
357
      auth: this.auth,
358
      networkSession: this.networkSession,
359
    });
360
    this.folderClassifications = new FolderClassificationsManager({
510✔
361
      auth: this.auth,
362
      networkSession: this.networkSession,
363
    });
364
    this.trashedItems = new TrashedItemsManager({
510✔
365
      auth: this.auth,
366
      networkSession: this.networkSession,
367
    });
368
    this.folderWatermarks = new FolderWatermarksManager({
510✔
369
      auth: this.auth,
370
      networkSession: this.networkSession,
371
    });
372
    this.folderLocks = new FolderLocksManager({
510✔
373
      auth: this.auth,
374
      networkSession: this.networkSession,
375
    });
376
    this.metadataTemplates = new MetadataTemplatesManager({
510✔
377
      auth: this.auth,
378
      networkSession: this.networkSession,
379
    });
380
    this.classifications = new ClassificationsManager({
510✔
381
      auth: this.auth,
382
      networkSession: this.networkSession,
383
    });
384
    this.metadataCascadePolicies = new MetadataCascadePoliciesManager({
510✔
385
      auth: this.auth,
386
      networkSession: this.networkSession,
387
    });
388
    this.search = new SearchManager({
510✔
389
      auth: this.auth,
390
      networkSession: this.networkSession,
391
    });
392
    this.userCollaborations = new UserCollaborationsManager({
510✔
393
      auth: this.auth,
394
      networkSession: this.networkSession,
395
    });
396
    this.taskAssignments = new TaskAssignmentsManager({
510✔
397
      auth: this.auth,
398
      networkSession: this.networkSession,
399
    });
400
    this.sharedLinksFiles = new SharedLinksFilesManager({
510✔
401
      auth: this.auth,
402
      networkSession: this.networkSession,
403
    });
404
    this.sharedLinksFolders = new SharedLinksFoldersManager({
510✔
405
      auth: this.auth,
406
      networkSession: this.networkSession,
407
    });
408
    this.webLinks = new WebLinksManager({
510✔
409
      auth: this.auth,
410
      networkSession: this.networkSession,
411
    });
412
    this.trashedWebLinks = new TrashedWebLinksManager({
510✔
413
      auth: this.auth,
414
      networkSession: this.networkSession,
415
    });
416
    this.sharedLinksWebLinks = new SharedLinksWebLinksManager({
510✔
417
      auth: this.auth,
418
      networkSession: this.networkSession,
419
    });
420
    this.sharedLinksAppItems = new SharedLinksAppItemsManager({
510✔
421
      auth: this.auth,
422
      networkSession: this.networkSession,
423
    });
424
    this.users = new UsersManager({
510✔
425
      auth: this.auth,
426
      networkSession: this.networkSession,
427
    });
428
    this.sessionTermination = new SessionTerminationManager({
510✔
429
      auth: this.auth,
430
      networkSession: this.networkSession,
431
    });
432
    this.avatars = new AvatarsManager({
510✔
433
      auth: this.auth,
434
      networkSession: this.networkSession,
435
    });
436
    this.transfer = new TransferManager({
510✔
437
      auth: this.auth,
438
      networkSession: this.networkSession,
439
    });
440
    this.emailAliases = new EmailAliasesManager({
510✔
441
      auth: this.auth,
442
      networkSession: this.networkSession,
443
    });
444
    this.memberships = new MembershipsManager({
510✔
445
      auth: this.auth,
446
      networkSession: this.networkSession,
447
    });
448
    this.invites = new InvitesManager({
510✔
449
      auth: this.auth,
450
      networkSession: this.networkSession,
451
    });
452
    this.groups = new GroupsManager({
510✔
453
      auth: this.auth,
454
      networkSession: this.networkSession,
455
    });
456
    this.webhooks = new WebhooksManager({
510✔
457
      auth: this.auth,
458
      networkSession: this.networkSession,
459
    });
460
    this.events = new EventsManager({
510✔
461
      auth: this.auth,
462
      networkSession: this.networkSession,
463
    });
464
    this.collections = new CollectionsManager({
510✔
465
      auth: this.auth,
466
      networkSession: this.networkSession,
467
    });
468
    this.recentItems = new RecentItemsManager({
510✔
469
      auth: this.auth,
470
      networkSession: this.networkSession,
471
    });
472
    this.retentionPolicies = new RetentionPoliciesManager({
510✔
473
      auth: this.auth,
474
      networkSession: this.networkSession,
475
    });
476
    this.retentionPolicyAssignments = new RetentionPolicyAssignmentsManager({
510✔
477
      auth: this.auth,
478
      networkSession: this.networkSession,
479
    });
480
    this.legalHoldPolicies = new LegalHoldPoliciesManager({
510✔
481
      auth: this.auth,
482
      networkSession: this.networkSession,
483
    });
484
    this.legalHoldPolicyAssignments = new LegalHoldPolicyAssignmentsManager({
510✔
485
      auth: this.auth,
486
      networkSession: this.networkSession,
487
    });
488
    this.fileVersionRetentions = new FileVersionRetentionsManager({
510✔
489
      auth: this.auth,
490
      networkSession: this.networkSession,
491
    });
492
    this.fileVersionLegalHolds = new FileVersionLegalHoldsManager({
510✔
493
      auth: this.auth,
494
      networkSession: this.networkSession,
495
    });
496
    this.shieldInformationBarriers = new ShieldInformationBarriersManager({
510✔
497
      auth: this.auth,
498
      networkSession: this.networkSession,
499
    });
500
    this.shieldInformationBarrierReports =
510✔
501
      new ShieldInformationBarrierReportsManager({
502
        auth: this.auth,
503
        networkSession: this.networkSession,
504
      });
505
    this.shieldInformationBarrierSegments =
510✔
506
      new ShieldInformationBarrierSegmentsManager({
507
        auth: this.auth,
508
        networkSession: this.networkSession,
509
      });
510
    this.shieldInformationBarrierSegmentMembers =
510✔
511
      new ShieldInformationBarrierSegmentMembersManager({
512
        auth: this.auth,
513
        networkSession: this.networkSession,
514
      });
515
    this.shieldInformationBarrierSegmentRestrictions =
510✔
516
      new ShieldInformationBarrierSegmentRestrictionsManager({
517
        auth: this.auth,
518
        networkSession: this.networkSession,
519
      });
520
    this.devicePinners = new DevicePinnersManager({
510✔
521
      auth: this.auth,
522
      networkSession: this.networkSession,
523
    });
524
    this.termsOfServices = new TermsOfServicesManager({
510✔
525
      auth: this.auth,
526
      networkSession: this.networkSession,
527
    });
528
    this.termsOfServiceUserStatuses = new TermsOfServiceUserStatusesManager({
510✔
529
      auth: this.auth,
530
      networkSession: this.networkSession,
531
    });
532
    this.collaborationAllowlistEntries =
510✔
533
      new CollaborationAllowlistEntriesManager({
534
        auth: this.auth,
535
        networkSession: this.networkSession,
536
      });
537
    this.collaborationAllowlistExemptTargets =
510✔
538
      new CollaborationAllowlistExemptTargetsManager({
539
        auth: this.auth,
540
        networkSession: this.networkSession,
541
      });
542
    this.storagePolicies = new StoragePoliciesManager({
510✔
543
      auth: this.auth,
544
      networkSession: this.networkSession,
545
    });
546
    this.storagePolicyAssignments = new StoragePolicyAssignmentsManager({
510✔
547
      auth: this.auth,
548
      networkSession: this.networkSession,
549
    });
550
    this.zipDownloads = new ZipDownloadsManager({
510✔
551
      auth: this.auth,
552
      networkSession: this.networkSession,
553
    });
554
    this.signRequests = new SignRequestsManager({
510✔
555
      auth: this.auth,
556
      networkSession: this.networkSession,
557
    });
558
    this.workflows = new WorkflowsManager({
510✔
559
      auth: this.auth,
560
      networkSession: this.networkSession,
561
    });
562
    this.signTemplates = new SignTemplatesManager({
510✔
563
      auth: this.auth,
564
      networkSession: this.networkSession,
565
    });
566
    this.integrationMappings = new IntegrationMappingsManager({
510✔
567
      auth: this.auth,
568
      networkSession: this.networkSession,
569
    });
570
    this.ai = new AiManager({
510✔
571
      auth: this.auth,
572
      networkSession: this.networkSession,
573
    });
574
    this.aiStudio = new AiStudioManager({
510✔
575
      auth: this.auth,
576
      networkSession: this.networkSession,
577
    });
578
    this.docgenTemplate = new DocgenTemplateManager({
510✔
579
      auth: this.auth,
580
      networkSession: this.networkSession,
581
    });
582
    this.docgen = new DocgenManager({
510✔
583
      auth: this.auth,
584
      networkSession: this.networkSession,
585
    });
586
    this.hubs = new HubsManager({
510✔
587
      auth: this.auth,
588
      networkSession: this.networkSession,
589
    });
590
    this.hubCollaborations = new HubCollaborationsManager({
510✔
591
      auth: this.auth,
592
      networkSession: this.networkSession,
593
    });
594
    this.hubItems = new HubItemsManager({
510✔
595
      auth: this.auth,
596
      networkSession: this.networkSession,
597
    });
598
    this.shieldLists = new ShieldListsManager({
510✔
599
      auth: this.auth,
600
      networkSession: this.networkSession,
601
    });
602
    this.archives = new ArchivesManager({
510✔
603
      auth: this.auth,
604
      networkSession: this.networkSession,
605
    });
606
  }
607
  /**
608
   * Make a custom http request using the client authentication and network session.
609
   * @param {FetchOptionsInput} fetchOptionsInput Options to be passed to the fetch call
610
   * @returns {Promise<FetchResponse>}
611
   */
612
  async makeRequest(
613
    fetchOptionsInput: FetchOptionsInput,
614
  ): Promise<FetchResponse> {
615
    const fetchOptions: FetchOptions = new FetchOptions({
18✔
616
      url: fetchOptionsInput.url,
617
      method: fetchOptionsInput.method,
618
      params: fetchOptionsInput.params,
619
      headers: fetchOptionsInput.headers,
620
      data: fetchOptionsInput.data,
621
      fileStream: fetchOptionsInput.fileStream,
622
      multipartData: fetchOptionsInput.multipartData,
623
      contentType: fetchOptionsInput.contentType,
624
      responseFormat: fetchOptionsInput.responseFormat,
625
      auth: fetchOptionsInput.auth,
626
      networkSession: fetchOptionsInput.networkSession,
627
      cancellationToken: fetchOptionsInput.cancellationToken,
628
      followRedirects: fetchOptionsInput.followRedirects,
629
    });
630
    const auth: Authentication =
631
      fetchOptions.auth == void 0 ? this.auth : fetchOptions.auth!;
18!
632
    const networkSession: NetworkSession =
633
      fetchOptions.networkSession == void 0
18!
634
        ? this.networkSession
635
        : fetchOptions.networkSession!;
636
    const enrichedFetchOptions: FetchOptions = new FetchOptions({
18✔
637
      auth: auth,
638
      networkSession: networkSession,
639
      url: fetchOptions.url,
640
      method: fetchOptions.method,
641
      params: fetchOptions.params,
642
      headers: fetchOptions.headers,
643
      data: fetchOptions.data,
644
      fileStream: fetchOptions.fileStream,
645
      multipartData: fetchOptions.multipartData,
646
      contentType: fetchOptions.contentType,
647
      responseFormat: fetchOptions.responseFormat,
648
      followRedirects: fetchOptions.followRedirects,
649
    });
650
    return await networkSession.networkClient.fetch(enrichedFetchOptions);
18✔
651
  }
652
  /**
653
   * Create a new client to impersonate user with the provided ID. All calls made with the new client will be made in context of the impersonated user, leaving the original client unmodified.
654
   * @param {string} userId ID of an user to impersonate
655
   * @returns {BoxClient}
656
   */
657
  withAsUserHeader(userId: string): BoxClient {
658
    return new BoxClient({
6✔
659
      auth: this.auth,
660
      networkSession: this.networkSession.withAdditionalHeaders({
661
        ['As-User']: userId,
662
      }),
663
    });
664
  }
665
  /**
666
   * Create a new client with suppressed notifications. Calls made with the new client will not trigger email or webhook notifications
667
   * @returns {BoxClient}
668
   */
669
  withSuppressedNotifications(): BoxClient {
670
    return new BoxClient({
3✔
671
      auth: this.auth,
672
      networkSession: this.networkSession.withAdditionalHeaders({
673
        ['Box-Notifications']: 'off',
674
      }),
675
    });
676
  }
677
  /**
678
     * Create a new client with a custom set of headers that will be included in every API call
679
     * @param {{
680
        readonly [key: string]: string;
681
    }} extraHeaders Custom set of headers that will be included in every API call
682
     * @returns {BoxClient}
683
     */
684
  withExtraHeaders(
685
    extraHeaders: {
×
686
      readonly [key: string]: string;
687
    } = {},
688
  ): BoxClient {
689
    return new BoxClient({
3✔
690
      auth: this.auth,
691
      networkSession: this.networkSession.withAdditionalHeaders(extraHeaders),
692
    });
693
  }
694
  /**
695
   * Create a new client with a custom set of base urls that will be used for every API call
696
   * @param {BaseUrlsInput} baseUrlsInput Custom set of base urls that will be used for every API call
697
   * @returns {BoxClient}
698
   */
699
  withCustomBaseUrls(baseUrlsInput: BaseUrlsInput): BoxClient {
700
    const baseUrls: BaseUrls = new BaseUrls({
3✔
701
      baseUrl: baseUrlsInput.baseUrl,
702
      uploadUrl: baseUrlsInput.uploadUrl,
703
      oauth2Url: baseUrlsInput.oauth2Url,
704
    });
705
    return new BoxClient({
3✔
706
      auth: this.auth,
707
      networkSession: this.networkSession.withCustomBaseUrls(baseUrls),
708
    });
709
  }
710
  /**
711
   * Create a new client with a custom proxy that will be used for every API call
712
   * @param {ProxyConfig} config
713
   * @returns {BoxClient}
714
   */
715
  withProxy(config: ProxyConfig): BoxClient {
716
    return new BoxClient({
×
717
      auth: this.auth,
718
      networkSession: this.networkSession.withProxy(config),
719
    });
720
  }
721
  /**
722
   * Create a new client with a custom set of agent options that will be used for every API call
723
   * @param {AgentOptions} agentOptions Custom set of agent options that will be used for every API call
724
   * @returns {BoxClient}
725
   */
726
  withCustomAgentOptions(agentOptions: AgentOptions): BoxClient {
727
    return new BoxClient({
×
728
      auth: this.auth,
729
      networkSession: this.networkSession.withCustomAgentOptions(agentOptions),
730
    });
731
  }
732
  /**
733
   * Create a new client with a custom set of interceptors that will be used for every API call
734
   * @param {readonly Interceptor[]} interceptors Custom set of interceptors that will be used for every API call
735
   * @returns {BoxClient}
736
   */
737
  withInterceptors(interceptors: readonly Interceptor[]): BoxClient {
738
    return new BoxClient({
12✔
739
      auth: this.auth,
740
      networkSession: this.networkSession.withInterceptors(interceptors),
741
    });
742
  }
743
}
744
export interface BoxClientInput {
745
  readonly auth: Authentication;
746
  readonly networkSession?: NetworkSession;
747
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc