Skip to content
Reference
60 min read

Vercel REST API Interfaces

Shared interfaces referenced across multiple endpoints.

ACLAction

1
/** Enum containing the actions that can be performed against a resource. Group operations are included. */
2
ACLAction: "create" | "delete" | "read" | "update" | "list"

AuthToken

1
/** Authentication token metadata. */
2
interface AuthToken {
3
/** The unique identifier of the token. */
4
id: string
5
/** The human-readable name of the token. */
6
name: string
7
/** The type of the token. */
8
type: string
9
/** The origin of how the token was created. */
10
origin?: string
11
/** The access scopes granted to the token. */
12
scopes?: (
13
| {
14
type: "user"
15
origin:
16
| "saml"
17
| "github"
18
| "gitlab"
19
| "bitbucket"
20
| "email"
21
| "manual"
22
| "passkey"
23
createdAt: number
24
expiresAt?: number
25
}
26
| {
27
type: "team"
28
teamId: string
29
origin:
30
| "saml"
31
| "github"
32
| "gitlab"
33
| "bitbucket"
34
| "email"
35
| "manual"
36
| "passkey"
37
createdAt: number
38
expiresAt?: number
39
}
40
)[]
41
/** Timestamp (in milliseconds) of when the token expires. */
42
expiresAt?: number
43
/** Timestamp (in milliseconds) of when the token was most recently used. */
44
activeAt: number
45
/** Timestamp (in milliseconds) of when the token was created. */
46
createdAt: number
47
}

AuthUser

1
/** Data for the currently authenticated User. */
2
interface AuthUser {
3
/** UNIX timestamp (in milliseconds) when the User account was created. */
4
createdAt: number
5
/** When the User account has been "soft blocked", this property will contain the date when the restriction was enacted, and the identifier for why. */
6
softBlock: {
7
blockedAt: number
8
reason:
9
| "SUBSCRIPTION_CANCELED"
10
| "SUBSCRIPTION_EXPIRED"
11
| "UNPAID_INVOICE"
12
| "ENTERPRISE_TRIAL_ENDED"
13
| "FAIR_USE_LIMITS_EXCEEDED"
14
| "BLOCKED_FOR_PLATFORM_ABUSE"
15
blockedDueToOverageType?:
16
| "blobStores"
17
| "analyticsUsage"
18
| "artifacts"
19
| "bandwidth"
20
| "dataCacheRead"
21
| "dataCacheRevalidation"
22
| "dataCacheWrite"
23
| "edgeConfigRead"
24
| "edgeConfigWrite"
25
| "edgeFunctionExecutionUnits"
26
| "edgeMiddlewareInvocations"
27
| "monitoringMetric"
28
| "postgresComputeTime"
29
| "postgresDatabase"
30
| "postgresDataStorage"
31
| "postgresDataTransfer"
32
| "postgresWrittenData"
33
| "serverlessFunctionExecution"
34
| "sourceImages"
35
| "storageRedisTotalBandwidthInBytes"
36
| "storageRedisTotalCommands"
37
| "storageRedisTotalDailyAvgStorageInBytes"
38
| "storageRedisTotalDatabases"
39
| "webAnalyticsEvent"
40
| "blobTotalSimpleRequests"
41
| "blobTotalAdvancedRequests"
42
| "blobTotalAvgSizeInBytes"
43
| "blobTotalGetResponseObjectSizeInBytes"
44
} | null
45
/** An object containing billing infomation associated with the User account. */
46
billing: {
47
currency?: "usd" | "eur"
48
cancelation?: number | null
49
period: {
50
start: number
51
end: number
52
} | null
53
contract?: {
54
start: number
55
end: number
56
} | null
57
plan: "pro" | "enterprise" | "hobby"
58
platform?: "stripe" | "stripeTestMode"
59
orbCustomerId?: string
60
syncedAt?: number
61
programType?: "startup" | "agency"
62
trial?: {
63
start: number
64
end: number
65
} | null
66
email?: string | null
67
tax?: {
68
type: string
69
id: string
70
} | null
71
language?: string | null
72
address?: {
73
line1?: string
74
line2?: string
75
postalCode?: string
76
city?: string
77
country?: string
78
state?: string
79
} | null
80
name?: string | null
81
invoiceItems?: {
82
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
83
concurrentBuilds?: {
84
tier?: number
85
price: number
86
quantity: number
87
highestQuantity?: number
88
name?: string
89
hidden: boolean
90
createdAt?: number
91
disabledAt?: number | null
92
frequency?: {
93
interval: "month"
94
intervalCount: 1 | 2 | 3 | 6 | 12
95
}
96
maxQuantity?: number
97
}
98
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
99
webAnalytics?: {
100
tier?: number
101
price: number
102
quantity: number
103
highestQuantity?: number
104
name?: string
105
hidden: boolean
106
createdAt?: number
107
disabledAt?: number | null
108
frequency?: {
109
interval: "month"
110
intervalCount: 1 | 2 | 3 | 6 | 12
111
}
112
maxQuantity?: number
113
}
114
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
115
pro?: {
116
tier?: number
117
price: number
118
quantity: number
119
highestQuantity?: number
120
name?: string
121
hidden: boolean
122
createdAt?: number
123
disabledAt?: number | null
124
frequency?: {
125
interval: "month"
126
intervalCount: 1 | 2 | 3 | 6 | 12
127
}
128
maxQuantity?: number
129
}
130
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
131
enterprise?: {
132
tier?: number
133
price: number
134
quantity: number
135
highestQuantity?: number
136
name?: string
137
hidden: boolean
138
createdAt?: number
139
disabledAt?: number | null
140
frequency?: {
141
interval: "month"
142
intervalCount: 1 | 2 | 3 | 6 | 12
143
}
144
maxQuantity?: number
145
}
146
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
147
analytics?: {
148
tier?: number
149
price: number
150
quantity: number
151
highestQuantity?: number
152
name?: string
153
hidden: boolean
154
createdAt?: number
155
disabledAt?: number | null
156
frequency?: {
157
interval: "month"
158
intervalCount: 1 | 2 | 3 | 6 | 12
159
}
160
maxQuantity?: number
161
}
162
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
163
monitoring?: {
164
tier?: number
165
price: number
166
quantity: number
167
highestQuantity?: number
168
name?: string
169
hidden: boolean
170
createdAt?: number
171
disabledAt?: number | null
172
frequency?: {
173
interval: "month"
174
intervalCount: 1 | 2 | 3 | 6 | 12
175
}
176
maxQuantity?: number
177
}
178
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
179
passwordProtection?: {
180
tier?: number
181
price: number
182
quantity: number
183
highestQuantity?: number
184
name?: string
185
hidden: boolean
186
createdAt?: number
187
disabledAt?: number | null
188
frequency?: {
189
interval: "month"
190
intervalCount: 1 | 2 | 3 | 6 | 12
191
}
192
maxQuantity?: number
193
}
194
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
195
previewDeploymentSuffix?: {
196
tier?: number
197
price: number
198
quantity: number
199
highestQuantity?: number
200
name?: string
201
hidden: boolean
202
createdAt?: number
203
disabledAt?: number | null
204
frequency?: {
205
interval: "month"
206
intervalCount: 1 | 2 | 3 | 6 | 12
207
}
208
maxQuantity?: number
209
}
210
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
211
saml?: {
212
tier?: number
213
price: number
214
quantity: number
215
highestQuantity?: number
216
name?: string
217
hidden: boolean
218
createdAt?: number
219
disabledAt?: number | null
220
frequency?: {
221
interval: "month"
222
intervalCount: 1 | 2 | 3 | 6 | 12
223
}
224
maxQuantity?: number
225
}
226
/** Will be used to create an invoice item. The price must be in cents: 2000 for $20. */
227
teamSeats?: {
228
tier?: number
229
price: number
230
quantity: number
231
highestQuantity?: number
232
name?: string
233
hidden: boolean
234
createdAt?: number
235
disabledAt?: number | null
236
frequency?: {
237
interval: "month"
238
intervalCount: 1 | 2 | 3 | 6 | 12
239
}
240
maxQuantity?: number
241
}
242
analyticsUsage?: {
243
tier?: number
244
price: number
245
batch: number
246
threshold: number
247
name?: string
248
hidden: boolean
249
disabledAt?: number | null
250
enabledAt?: number | null
251
}
252
artifacts?: {
253
tier?: number
254
price: number
255
batch: number
256
threshold: number
257
name?: string
258
hidden: boolean
259
disabledAt?: number | null
260
enabledAt?: number | null
261
}
262
bandwidth?: {
263
tier?: number
264
price: number
265
batch: number
266
threshold: number
267
name?: string
268
hidden: boolean
269
disabledAt?: number | null
270
enabledAt?: number | null
271
}
272
dataCacheRead?: {
273
tier?: number
274
price: number
275
batch: number
276
threshold: number
277
name?: string
278
hidden: boolean
279
disabledAt?: number | null
280
enabledAt?: number | null
281
}
282
dataCacheRevalidation?: {
283
tier?: number
284
price: number
285
batch: number
286
threshold: number
287
name?: string
288
hidden: boolean
289
disabledAt?: number | null
290
enabledAt?: number | null
291
}
292
dataCacheWrite?: {
293
tier?: number
294
price: number
295
batch: number
296
threshold: number
297
name?: string
298
hidden: boolean
299
disabledAt?: number | null
300
enabledAt?: number | null
301
}
302
edgeConfigRead?: {
303
tier?: number
304
price: number
305
batch: number
306
threshold: number
307
name?: string
308
hidden: boolean
309
disabledAt?: number | null
310
enabledAt?: number | null
311
}
312
edgeConfigWrite?: {
313
tier?: number
314
price: number
315
batch: number
316
threshold: number
317
name?: string
318
hidden: boolean
319
disabledAt?: number | null
320
enabledAt?: number | null
321
}
322
edgeFunctionExecutionUnits?: {
323
tier?: number
324
price: number
325
batch: number
326
threshold: number
327
name?: string
328
hidden: boolean
329
disabledAt?: number | null
330
enabledAt?: number | null
331
}
332
edgeMiddlewareInvocations?: {
333
tier?: number
334
price: number
335
batch: number
336
threshold: number
337
name?: string
338
hidden: boolean
339
disabledAt?: number | null
340
enabledAt?: number | null
341
}
342
monitoringMetric?: {
343
tier?: number
344
price: number
345
batch: number
346
threshold: number
347
name?: string
348
hidden: boolean
349
disabledAt?: number | null
350
enabledAt?: number | null
351
}
352
postgresComputeTime?: {
353
tier?: number
354
price: number
355
batch: number
356
threshold: number
357
name?: string
358
hidden: boolean
359
disabledAt?: number | null
360
enabledAt?: number | null
361
}
362
postgresDatabase?: {
363
tier?: number
364
price: number
365
batch: number
366
threshold: number
367
name?: string
368
hidden: boolean
369
disabledAt?: number | null
370
enabledAt?: number | null
371
}
372
postgresDataStorage?: {
373
tier?: number
374
price: number
375
batch: number
376
threshold: number
377
name?: string
378
hidden: boolean
379
disabledAt?: number | null
380
enabledAt?: number | null
381
}
382
postgresDataTransfer?: {
383
tier?: number
384
price: number
385
batch: number
386
threshold: number
387
name?: string
388
hidden: boolean
389
disabledAt?: number | null
390
enabledAt?: number | null
391
}
392
postgresWrittenData?: {
393
tier?: number
394
price: number
395
batch: number
396
threshold: number
397
name?: string
398
hidden: boolean
399
disabledAt?: number | null
400
enabledAt?: number | null
401
}
402
serverlessFunctionExecution?: {
403
tier?: number
404
price: number
405
batch: number
406
threshold: number
407
name?: string
408
hidden: boolean
409
disabledAt?: number | null
410
enabledAt?: number | null
411
}
412
sourceImages?: {
413
tier?: number
414
price: number
415
batch: number
416
threshold: number
417
name?: string
418
hidden: boolean
419
disabledAt?: number | null
420
enabledAt?: number | null
421
}
422
storageRedisTotalBandwidthInBytes?: {
423
tier?: number
424
price: number
425
batch: number
426
threshold: number
427
name?: string
428
hidden: boolean
429
disabledAt?: number | null
430
enabledAt?: number | null
431
}
432
storageRedisTotalCommands?: {
433
tier?: number
434
price: number
435
batch: number
436
threshold: number
437
name?: string
438
hidden: boolean
439
disabledAt?: number | null
440
enabledAt?: number | null
441
}
442
storageRedisTotalDailyAvgStorageInBytes?: {
443
tier?: number
444
price: number
445
batch: number
446
threshold: number
447
name?: string
448
hidden: boolean
449
disabledAt?: number | null
450
enabledAt?: number | null
451
}
452
storageRedisTotalDatabases?: {
453
tier?: number
454
price: number
455
batch: number
456
threshold: number
457
name?: string
458
hidden: boolean
459
disabledAt?: number | null
460
enabledAt?: number | null
461
}
462
webAnalyticsEvent?: {
463
tier?: number
464
price: number
465
batch: number
466
threshold: number
467
name?: string
468
hidden: boolean
469
disabledAt?: number | null
470
enabledAt?: number | null
471
}
472
} | null
473
invoiceSettings?: {
474
footer?: string
475
}
476
subscriptions?:
477
| {
478
id: string
479
trial: {
480
start: number
481
end: number
482
} | null
483
period: {
484
start: number
485
end: number
486
}
487
frequency: {
488
interval: "month" | "day" | "week" | "year"
489
intervalCount: number
490
}
491
discount: {
492
id: string
493
coupon: {
494
id: string
495
name: string | null
496
amountOff: number | null
497
percentageOff: number | null
498
durationInMonths: number | null
499
duration: "forever" | "repeating" | "once"
500
}
501
} | null
502
items: {
503
id: string
504
priceId: string
505
productId: string
506
amount: number
507
quantity: number
508
}[]
509
}[]
510
| null
511
controls?: {
512
analyticsSampleRateInPercent?: number | null
513
analyticsSpendLimitInDollars?: number | null
514
} | null
515
purchaseOrder?: string | null
516
status?: "active" | "trialing" | "overdue" | "expired" | "canceled"
517
pricingExperiment?: "august-2022"
518
orbMigrationScheduledAt?: number | null
519
} | null
520
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
521
resourceConfig: {
522
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
523
nodeType?: string
524
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
525
concurrentBuilds?: number
526
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
527
awsAccountType?: string
528
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
529
awsAccountIds?: string[]
530
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
531
cfZoneName?: string
532
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
533
edgeConfigs?: number
534
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
535
edgeConfigSize?: number
536
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
537
edgeFunctionMaxSizeBytes?: number
538
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
539
edgeFunctionExecutionTimeoutMs?: number
540
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
541
serverlessFunctionDefaultMaxExecutionTime?: number
542
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
543
kvDatabases?: number
544
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
545
postgresDatabases?: number
546
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
547
blobStores?: number
548
/** An object containing infomation related to the amount of platform resources may be allocated to the User account. */
549
cronJobs?: number
550
}
551
/** Prefix that will be used in the URL of "Preview" deployments created by the User account. */
552
stagingPrefix: string
553
/** set of dashboard view preferences (cards or list) per scopeId */
554
activeDashboardViews?: {
555
scopeId: string
556
viewPreference: "cards" | "list"
557
}[]
558
importFlowGitNamespace?: (string | number) | null
559
importFlowGitNamespaceId?: (string | number) | null
560
importFlowGitProvider?: "github" | "gitlab" | "bitbucket"
561
preferredScopesAndGitNamespaces?: {
562
scopeId: string
563
gitNamespaceId: (string | number) | null
564
}[]
565
/** A record of when, under a certain scopeId, a toast was dismissed */
566
dismissedToasts?: {
567
name: string
568
dismissals: {
569
scopeId: string
570
createdAt: number
571
}[]
572
}[]
573
/** A list of projects and spaces across teams that a user has marked as a favorite. */
574
favoriteProjectsAndSpaces?: (
575
| {
576
projectId: string
577
scopeSlug: string
578
scopeId: string
579
}
580
| {
581
spaceId: string
582
scopeSlug: string
583
scopeId: string
584
}
585
)[]
586
/** Whether the user has a trial available for a paid plan subscription. */
587
hasTrialAvailable: boolean
588
/** remote caching settings */
589
remoteCaching?: {
590
enabled?: boolean
591
}
592
/** data cache settings */
593
dataCache?: {
594
excessBillingEnabled?: boolean
595
}
596
/** Feature blocks for the user */
597
featureBlocks?: {
598
webAnalytics?: {
599
blockedFrom?: number
600
blockedUntil?: number
601
isCurrentlyBlocked: boolean
602
}
603
}
604
/** The User's unique identifier. */
605
id: string
606
/** Email address associated with the User account. */
607
email: string
608
/** Name associated with the User account, or `null` if none has been provided. */
609
name: string | null
610
/** Unique username associated with the User account. */
611
username: string
612
/** SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image. */
613
avatar: string | null
614
/** The user's default team. Only applies if the user's `version` is `'northstar'`. */
615
defaultTeamId: string | null
616
/** The user's version. Will either be unset or `northstar`. */
617
version: "northstar" | null
618
}

AuthUserLimited

1
/** A limited form of data for the currently authenticated User, due to the authentication token missing privileges to read the full User data. */
2
interface AuthUserLimited {
3
/** Property indicating that this User data contains only limited information, due to the authentication token missing privileges to read the full User data. Re-login with email, GitHub, GitLab or Bitbucket in order to upgrade the authentication token with the necessary privileges. */
4
limited: boolean
5
/** The User's unique identifier. */
6
id: string
7
/** Email address associated with the User account. */
8
email: string
9
/** Name associated with the User account, or `null` if none has been provided. */
10
name: string | null
11
/** Unique username associated with the User account. */
12
username: string
13
/** SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image. */
14
avatar: string | null
15
/** The user's default team. Only applies if the user's `version` is `'northstar'`. */
16
defaultTeamId: string | null
17
/** The user's version. Will either be unset or `northstar`. */
18
version: "northstar" | null
19
}

EdgeConfigItem

1
/** The EdgeConfig. */
2
interface EdgeConfigItem {
3
key: string
4
value: __REF__EdgeConfigItemValue__
5
description?: string
6
edgeConfigId: string
7
createdAt: number
8
updatedAt: number
9
}

EdgeConfigItemValue

1
EdgeConfigItemValue:
2
| (
3
| string
4
| number
5
| boolean
6
| { [key: string]: __REF__EdgeConfigItemValue__ }
7
| __REF__EdgeConfigItemValue__[]
8
)
9
| null;

EdgeConfigToken

1
/** The EdgeConfig. */
2
interface EdgeConfigToken {
3
token: string
4
label: string
5
/** This is not the token itself, but rather an id to identify the token by */
6
id: string
7
edgeConfigId: string
8
createdAt: number
9
}

FileTree

1
/** A deployment file tree entry */
2
interface FileTree {
3
/** The name of the file tree entry */
4
name: string
5
/** String indicating the type of file tree entry. */
6
type: "directory" | "file" | "symlink" | "lambda" | "middleware" | "invalid"
7
/** The unique identifier of the file (only valid for the `file` type) */
8
uid?: string
9
/** The list of children files of the directory (only valid for the `directory` type) */
10
children?: __REF__FileTree__[]
11
/** The content-type of the file (only valid for the `file` type) */
12
contentType?: string
13
/** The file "mode" indicating file type and permissions. */
14
mode: number
15
/** Not currently used. See `file-list-to-tree.ts`. */
16
symlink?: string
17
}

Pagination

1
/** This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data. */
2
interface Pagination {
3
/** Amount of items in the current page. */
4
count: number
5
/** Timestamp that must be used to request the next page. */
6
next: number | null
7
/** Timestamp that must be used to request the previous page. */
8
prev: number | null
9
}

Team

1
/** Data representing a Team. */
2
interface Team {
3
[key: string]: unknown
4
}

TeamLimited

1
/** A limited form of data representing a Team, due to the authentication token missing privileges to read the full Team data. */
2
interface TeamLimited {
3
/** Property indicating that this Team data contains only limited information, due to the authentication token missing privileges to read the full Team data. Re-login with the Team's configured SAML Single Sign-On provider in order to upgrade the authentication token with the necessary privileges. */
4
limited: boolean
5
/** When "Single Sign-On (SAML)" is configured, this object contains information that allows the client-side to identify whether or not this Team has SAML enforced. */
6
saml?: {
7
/** Information for the SAML Single Sign-On configuration. */
8
connection?: {
9
/** The Identity Provider "type", for example Okta. */
10
type: string
11
/** Current status of the connection. */
12
status: string
13
/** Current state of the connection. */
14
state: string
15
/** Timestamp (in milliseconds) of when the configuration was connected. */
16
connectedAt: number
17
/** Timestamp (in milliseconds) of when the last webhook event was received from WorkOS. */
18
lastReceivedWebhookEvent?: number
19
}
20
/** Information for the SAML Single Sign-On configuration. */
21
directory?: {
22
/** The Identity Provider "type", for example Okta. */
23
type: string
24
/** Current status of the connection. */
25
status: string
26
/** Current state of the connection. */
27
state: string
28
/** Timestamp (in milliseconds) of when the configuration was connected. */
29
connectedAt: number
30
/** Timestamp (in milliseconds) of when the last webhook event was received from WorkOS. */
31
lastReceivedWebhookEvent?: number
32
}
33
/** When `true`, interactions with the Team **must** be done with an authentication token that has been authenticated with the Team's SAML Single Sign-On provider. */
34
enforced: boolean
35
}
36
/** The Team's unique identifier. */
37
id: string
38
/** The Team's slug, which is unique across the Vercel platform. */
39
slug: string
40
/** Name associated with the Team account, or `null` if none has been provided. */
41
name: string | null
42
/** The ID of the file used as avatar for this Team. */
43
avatar: string | null
44
membership:
45
| {
46
confirmed: boolean
47
confirmedAt: number
48
accessRequestedAt?: number
49
role:
50
| "OWNER"
51
| "MEMBER"
52
| "VIEWER"
53
| "DEVELOPER"
54
| "BILLING"
55
| "CONTRIBUTOR"
56
teamId?: string
57
uid: string
58
createdAt: number
59
created: number
60
joinedFrom?: {
61
origin:
62
| "link"
63
| "saml"
64
| "mail"
65
| "import"
66
| "teams"
67
| "github"
68
| "gitlab"
69
| "bitbucket"
70
| "dsync"
71
| "feedback"
72
| "organization-teams"
73
commitId?: string
74
repoId?: string
75
repoPath?: string
76
gitUserId?: string | number
77
gitUserLogin?: string
78
ssoUserId?: string
79
ssoConnectedAt?: number
80
idpUserId?: string
81
dsyncUserId?: string
82
dsyncConnectedAt?: number
83
}
84
}
85
| {
86
confirmed: boolean
87
confirmedAt?: number
88
accessRequestedAt: number
89
role:
90
| "OWNER"
91
| "MEMBER"
92
| "VIEWER"
93
| "DEVELOPER"
94
| "BILLING"
95
| "CONTRIBUTOR"
96
teamId?: string
97
uid: string
98
createdAt: number
99
created: number
100
joinedFrom?: {
101
origin:
102
| "link"
103
| "saml"
104
| "mail"
105
| "import"
106
| "teams"
107
| "github"
108
| "gitlab"
109
| "bitbucket"
110
| "dsync"
111
| "feedback"
112
| "organization-teams"
113
commitId?: string
114
repoId?: string
115
repoPath?: string
116
gitUserId?: string | number
117
gitUserLogin?: string
118
ssoUserId?: string
119
ssoConnectedAt?: number
120
idpUserId?: string
121
dsyncUserId?: string
122
dsyncConnectedAt?: number
123
}
124
}
125
/** Will remain undocumented. Remove in v3 API. */
126
created: string
127
/** UNIX timestamp (in milliseconds) when the Team was created. */
128
createdAt: number
129
}

UserEvent

1
/** Array of events generated by the User. */
2
interface UserEvent {
3
/** The unique identifier of the Event. */
4
id: string
5
/** The human-readable text of the Event. */
6
text: string
7
/** A list of "entities" within the event `text`. Useful for enhancing the displayed text with additional styling and links. */
8
entities: {
9
/** The type of entity. */
10
type:
11
| "author"
12
| "bitbucket_login"
13
| "bold"
14
| "deployment_host"
15
| "dns_record"
16
| "git_link"
17
| "github_login"
18
| "gitlab_login"
19
| "hook_name"
20
| "integration"
21
| "edge-config"
22
| "link"
23
| "project_name"
24
| "scaling_rules"
25
| "env_var_name"
26
| "target"
27
| "store"
28
| "system"
29
/** The index of where the entity begins within the `text` (inclusive). */
30
start: number
31
/** The index of where the entity ends within the `text` (non-inclusive). */
32
end: number
33
}[]
34
/** Timestamp (in milliseconds) of when the event was generated. */
35
createdAt: number
36
/** Metadata for the User who generated the event. */
37
user?: {
38
avatar: string
39
email: string
40
slug?: string
41
uid: string
42
username: string
43
}
44
/** The unique identifier of the User who generated the event. */
45
userId: string
46
}
Last updated on December 3, 2023