Reference
Vercel REST API Interfaces
Shared interfaces referenced across multiple endpoints.Table of Contents
ACLAction
1{2 "type": "string",3 "enum": ["create", "delete", "read", "update", "list"],4 "description": "Enum containing the actions that can be performed against a resource. Group operations are included."5}
AuthToken
1{2 "properties": {3 "id": {4 "type": "string",5 "description": "The unique identifier of the token.",6 "example": "5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391"7 },8 "name": {9 "type": "string",10 "description": "The human-readable name of the token."11 },12 "type": {13 "type": "string",14 "description": "The type of the token.",15 "example": "oauth2-token"16 },17 "origin": {18 "type": "string",19 "description": "The origin of how the token was created.",20 "example": "github"21 },22 "scopes": {23 "items": {24 "oneOf": [25 {26 "properties": {27 "type": { "type": "string", "enum": ["user"] },28 "origin": {29 "type": "string",30 "enum": [31 "saml",32 "github",33 "gitlab",34 "bitbucket",35 "email",36 "manual",37 "passkey",38 "otp",39 "sms",40 "invite"41 ]42 },43 "createdAt": { "type": "number" },44 "expiresAt": { "type": "number" }45 },46 "required": ["type", "origin", "createdAt"],47 "type": "object",48 "description": "The access scopes granted to the token."49 },50 {51 "properties": {52 "type": { "type": "string", "enum": ["team"] },53 "teamId": { "type": "string" },54 "origin": {55 "type": "string",56 "enum": [57 "saml",58 "github",59 "gitlab",60 "bitbucket",61 "email",62 "manual",63 "passkey",64 "otp",65 "sms",66 "invite"67 ]68 },69 "createdAt": { "type": "number" },70 "expiresAt": { "type": "number" }71 },72 "required": ["type", "teamId", "origin", "createdAt"],73 "type": "object",74 "description": "The access scopes granted to the token."75 }76 ]77 },78 "type": "array",79 "description": "The access scopes granted to the token."80 },81 "expiresAt": {82 "type": "number",83 "description": "Timestamp (in milliseconds) of when the token expires.",84 "example": 163281653600285 },86 "activeAt": {87 "type": "number",88 "description": "Timestamp (in milliseconds) of when the token was most recently used.",89 "example": 163281653600290 },91 "createdAt": {92 "type": "number",93 "description": "Timestamp (in milliseconds) of when the token was created.",94 "example": 163281653600295 }96 },97 "required": ["id", "name", "type", "activeAt", "createdAt"],98 "type": "object",99 "description": "Authentication token metadata."100}
AuthUser
1{2 "properties": {3 "createdAt": {4 "type": "number",5 "description": "UNIX timestamp (in milliseconds) when the User account was created.",6 "example": 16307485233957 },8 "softBlock": {9 "nullable": true,10 "properties": {11 "blockedAt": { "type": "number" },12 "reason": {13 "type": "string",14 "enum": [15 "SUBSCRIPTION_CANCELED",16 "SUBSCRIPTION_EXPIRED",17 "UNPAID_INVOICE",18 "ENTERPRISE_TRIAL_ENDED",19 "FAIR_USE_LIMITS_EXCEEDED",20 "BLOCKED_FOR_PLATFORM_ABUSE"21 ]22 },23 "blockedDueToOverageType": {24 "type": "string",25 "enum": [26 "analyticsUsage",27 "artifacts",28 "bandwidth",29 "blobStores",30 "blobTotalAdvancedRequests",31 "blobTotalAvgSizeInBytes",32 "blobTotalGetResponseObjectSizeInBytes",33 "blobTotalSimpleRequests",34 "buildMinute",35 "dataCacheRead",36 "dataCacheRevalidation",37 "dataCacheWrite",38 "edgeConfigRead",39 "edgeConfigWrite",40 "edgeFunctionExecutionUnits",41 "edgeMiddlewareInvocations",42 "edgeRequestAdditionalCpuDuration",43 "edgeRequest",44 "fastDataTransfer",45 "fastOriginTransfer",46 "functionDuration",47 "functionInvocation",48 "logDrainsVolume",49 "monitoringMetric",50 "observabilityEvent",51 "postgresComputeTime",52 "postgresDataStorage",53 "postgresDataTransfer",54 "postgresDatabase",55 "postgresWrittenData",56 "serverlessFunctionExecution",57 "sourceImages",58 "storageRedisTotalBandwidthInBytes",59 "storageRedisTotalCommands",60 "storageRedisTotalDailyAvgStorageInBytes",61 "storageRedisTotalDatabases",62 "wafOwaspExcessBytes",63 "wafOwaspRequests",64 "wafRateLimitRequest",65 "webAnalyticsEvent"66 ]67 }68 },69 "required": ["blockedAt", "reason"],70 "type": "object",71 "description": "When the User account has been \"soft blocked\", this property will contain the date when the restriction was enacted, and the identifier for why."72 },73 "billing": {74 "nullable": true,75 "type": "object",76 "description": "An object containing billing infomation associated with the User account."77 },78 "resourceConfig": {79 "properties": {80 "blobStores": {81 "type": "number",82 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."83 },84 "nodeType": {85 "type": "string",86 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."87 },88 "concurrentBuilds": {89 "type": "number",90 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."91 },92 "awsAccountType": {93 "type": "string",94 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."95 },96 "awsAccountIds": {97 "items": { "type": "string" },98 "type": "array",99 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."100 },101 "cfZoneName": {102 "type": "string",103 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."104 },105 "imageOptimizationType": {106 "type": "string",107 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."108 },109 "edgeConfigs": {110 "type": "number",111 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."112 },113 "edgeConfigSize": {114 "type": "number",115 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."116 },117 "edgeFunctionMaxSizeBytes": {118 "type": "number",119 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."120 },121 "edgeFunctionExecutionTimeoutMs": {122 "type": "number",123 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."124 },125 "serverlessFunctionDefaultMaxExecutionTime": {126 "type": "number",127 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."128 },129 "kvDatabases": {130 "type": "number",131 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."132 },133 "postgresDatabases": {134 "type": "number",135 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."136 },137 "integrationStores": {138 "type": "number",139 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."140 },141 "cronJobs": {142 "type": "number",143 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."144 },145 "cronJobsPerProject": {146 "type": "number",147 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."148 },149 "microfrontendGroupsPerTeam": {150 "type": "number",151 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."152 },153 "microfrontendProjectsPerGroup": {154 "type": "number",155 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."156 }157 },158 "type": "object",159 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."160 },161 "stagingPrefix": {162 "type": "string",163 "description": "Prefix that will be used in the URL of \"Preview\" deployments created by the User account."164 },165 "activeDashboardViews": {166 "items": {167 "properties": {168 "scopeId": { "type": "string" },169 "viewPreference": { "type": "string", "enum": ["list", "cards"] },170 "favoritesViewPreference": {171 "type": "string",172 "enum": ["open", "closed"]173 },174 "recentsViewPreference": {175 "type": "string",176 "enum": ["open", "closed"]177 }178 },179 "required": ["scopeId"],180 "type": "object",181 "description": "set of dashboard view preferences (cards or list) per scopeId"182 },183 "type": "array",184 "description": "set of dashboard view preferences (cards or list) per scopeId"185 },186 "importFlowGitNamespace": {187 "nullable": true,188 "oneOf": [{ "type": "string" }, { "type": "number" }]189 },190 "importFlowGitNamespaceId": {191 "nullable": true,192 "oneOf": [{ "type": "string" }, { "type": "number" }]193 },194 "importFlowGitProvider": {195 "type": "string",196 "enum": ["github", "gitlab", "bitbucket"]197 },198 "preferredScopesAndGitNamespaces": {199 "items": {200 "properties": {201 "scopeId": { "type": "string" },202 "gitNamespaceId": {203 "nullable": true,204 "oneOf": [{ "type": "string" }, { "type": "number" }]205 }206 },207 "required": ["scopeId", "gitNamespaceId"],208 "type": "object"209 },210 "type": "array"211 },212 "dismissedToasts": {213 "items": {214 "properties": {215 "name": { "type": "string" },216 "dismissals": {217 "items": {218 "properties": {219 "scopeId": { "type": "string" },220 "createdAt": { "type": "number" }221 },222 "required": ["scopeId", "createdAt"],223 "type": "object"224 },225 "type": "array"226 }227 },228 "required": ["name", "dismissals"],229 "type": "object",230 "description": "A record of when, under a certain scopeId, a toast was dismissed"231 },232 "type": "array",233 "description": "A record of when, under a certain scopeId, a toast was dismissed"234 },235 "favoriteProjectsAndSpaces": {236 "items": {237 "oneOf": [238 {239 "properties": {240 "projectId": { "type": "string" },241 "scopeSlug": { "type": "string" },242 "scopeId": { "type": "string" }243 },244 "required": ["projectId", "scopeSlug", "scopeId"],245 "type": "object",246 "description": "A list of projects and spaces across teams that a user has marked as a favorite."247 },248 {249 "properties": {250 "spaceId": { "type": "string" },251 "scopeSlug": { "type": "string" },252 "scopeId": { "type": "string" }253 },254 "required": ["spaceId", "scopeSlug", "scopeId"],255 "type": "object",256 "description": "A list of projects and spaces across teams that a user has marked as a favorite."257 }258 ]259 },260 "type": "array",261 "description": "A list of projects and spaces across teams that a user has marked as a favorite."262 },263 "hasTrialAvailable": {264 "type": "boolean",265 "description": "Whether the user has a trial available for a paid plan subscription."266 },267 "remoteCaching": {268 "properties": { "enabled": { "type": "boolean" } },269 "type": "object",270 "description": "remote caching settings"271 },272 "dataCache": {273 "properties": { "excessBillingEnabled": { "type": "boolean" } },274 "type": "object",275 "description": "data cache settings"276 },277 "featureBlocks": {278 "properties": {279 "webAnalytics": {280 "properties": {281 "blockedFrom": { "type": "number" },282 "blockedUntil": { "type": "number" },283 "isCurrentlyBlocked": { "type": "boolean" }284 },285 "required": ["isCurrentlyBlocked"],286 "type": "object"287 }288 },289 "type": "object",290 "description": "Feature blocks for the user"291 },292 "northstarMigration": {293 "properties": {294 "teamId": {295 "type": "string",296 "description": "The ID of the team we created for this user."297 },298 "projects": {299 "type": "number",300 "description": "The number of projects migrated for this user."301 },302 "stores": {303 "type": "number",304 "description": "The number of stores migrated for this user."305 },306 "integrationConfigurations": {307 "type": "number",308 "description": "The number of integration configurations migrated for this user."309 },310 "integrationClients": {311 "type": "number",312 "description": "The number of integration clients migrated for this user."313 },314 "startTime": {315 "type": "number",316 "description": "The migration start time timestamp for this user."317 },318 "endTime": {319 "type": "number",320 "description": "The migration end time timestamp for this user."321 }322 },323 "required": [324 "teamId",325 "projects",326 "stores",327 "integrationConfigurations",328 "integrationClients",329 "startTime",330 "endTime"331 ],332 "type": "object"333 },334 "id": {335 "type": "string",336 "description": "The User's unique identifier.",337 "example": "AEIIDYVk59zbFF2Sxfyxxmua"338 },339 "email": {340 "type": "string",341 "description": "Email address associated with the User account.",342 "example": "me@example.com"343 },344 "name": {345 "nullable": true,346 "type": "string",347 "description": "Name associated with the User account, or `null` if none has been provided.",348 "example": "John Doe"349 },350 "username": {351 "type": "string",352 "description": "Unique username associated with the User account.",353 "example": "jdoe"354 },355 "avatar": {356 "nullable": true,357 "type": "string",358 "description": "SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image.",359 "example": "22cb30c85ff45ac4c72de8981500006b28114aa1"360 },361 "defaultTeamId": {362 "nullable": true,363 "type": "string",364 "description": "The user's default team. Only applies if the user's `version` is `'northstar'`."365 },366 "version": {367 "nullable": true,368 "type": "string",369 "enum": ["northstar"],370 "description": "The user's version. Will either be unset or `northstar`."371 }372 },373 "required": [374 "createdAt",375 "softBlock",376 "billing",377 "resourceConfig",378 "stagingPrefix",379 "hasTrialAvailable",380 "id",381 "email",382 "name",383 "username",384 "avatar",385 "defaultTeamId",386 "version"387 ],388 "type": "object",389 "description": "Data for the currently authenticated User."390}
AuthUserLimited
1{2 "properties": {3 "limited": {4 "type": "boolean",5 "description": "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."6 },7 "id": {8 "type": "string",9 "description": "The User's unique identifier.",10 "example": "AEIIDYVk59zbFF2Sxfyxxmua"11 },12 "email": {13 "type": "string",14 "description": "Email address associated with the User account.",15 "example": "me@example.com"16 },17 "name": {18 "nullable": true,19 "type": "string",20 "description": "Name associated with the User account, or `null` if none has been provided.",21 "example": "John Doe"22 },23 "username": {24 "type": "string",25 "description": "Unique username associated with the User account.",26 "example": "jdoe"27 },28 "avatar": {29 "nullable": true,30 "type": "string",31 "description": "SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image.",32 "example": "22cb30c85ff45ac4c72de8981500006b28114aa1"33 },34 "defaultTeamId": {35 "nullable": true,36 "type": "string",37 "description": "The user's default team. Only applies if the user's `version` is `'northstar'`."38 },39 "version": {40 "nullable": true,41 "type": "string",42 "enum": ["northstar"],43 "description": "The user's version. Will either be unset or `northstar`."44 }45 },46 "required": [47 "limited",48 "id",49 "email",50 "name",51 "username",52 "avatar",53 "defaultTeamId",54 "version"55 ],56 "type": "object",57 "description": "A limited form of data for the currently authenticated User, due to the authentication token missing privileges to read the full User data."58}
EdgeConfigItem
1{2 "properties": {3 "key": { "type": "string" },4 "value": { "$ref": "#/components/schemas/EdgeConfigItemValue" },5 "description": { "type": "string" },6 "edgeConfigId": { "type": "string" },7 "createdAt": { "type": "number" },8 "updatedAt": { "type": "number" }9 },10 "required": ["key", "value", "edgeConfigId", "createdAt", "updatedAt"],11 "type": "object",12 "description": "The EdgeConfig."13}
EdgeConfigItemValue
1{2 "nullable": true,3 "oneOf": [4 { "type": "string" },5 { "type": "number" },6 { "type": "boolean" },7 {8 "additionalProperties": {9 "$ref": "#/components/schemas/EdgeConfigItemValue"10 },11 "type": "object"12 },13 {14 "items": { "$ref": "#/components/schemas/EdgeConfigItemValue" },15 "type": "array"16 }17 ]18}
EdgeConfigToken
1{2 "properties": {3 "token": { "type": "string" },4 "label": { "type": "string" },5 "id": {6 "type": "string",7 "description": "This is not the token itself, but rather an id to identify the token by"8 },9 "edgeConfigId": { "type": "string" },10 "createdAt": { "type": "number" }11 },12 "required": ["token", "label", "id", "edgeConfigId", "createdAt"],13 "type": "object",14 "description": "The EdgeConfig."15}
FileTree
1{2 "properties": {3 "name": {4 "type": "string",5 "description": "The name of the file tree entry",6 "example": "my-file.json"7 },8 "type": {9 "type": "string",10 "enum": [11 "directory",12 "file",13 "symlink",14 "lambda",15 "middleware",16 "invalid"17 ],18 "description": "String indicating the type of file tree entry.",19 "example": "file"20 },21 "uid": {22 "type": "string",23 "description": "The unique identifier of the file (only valid for the `file` type)",24 "example": "2d4aad419917f15b1146e9e03ddc9bb31747e4d0"25 },26 "children": {27 "items": { "$ref": "#/components/schemas/FileTree" },28 "type": "array",29 "description": "The list of children files of the directory (only valid for the `directory` type)"30 },31 "contentType": {32 "type": "string",33 "description": "The content-type of the file (only valid for the `file` type)",34 "example": "application/json"35 },36 "mode": {37 "type": "number",38 "description": "The file \"mode\" indicating file type and permissions."39 },40 "symlink": {41 "type": "string",42 "description": "Not currently used. See `file-list-to-tree.ts`."43 }44 },45 "required": ["name", "type", "mode"],46 "type": "object",47 "description": "A deployment file tree entry"48}
FlagJSONValue
1{2 "nullable": true,3 "oneOf": [4 { "type": "string" },5 { "type": "number" },6 { "type": "boolean" },7 {8 "items": { "$ref": "#/components/schemas/FlagJSONValue" },9 "type": "array",10 "description": "TODO: The following types will eventually be exported by a more relevant package."11 },12 {13 "additionalProperties": { "$ref": "#/components/schemas/FlagJSONValue" },14 "type": "object"15 }16 ]17}
Pagination
1{2 "properties": {3 "count": {4 "type": "number",5 "description": "Amount of items in the current page.",6 "example": 207 },8 "next": {9 "nullable": true,10 "type": "number",11 "description": "Timestamp that must be used to request the next page.",12 "example": 154009577595113 },14 "prev": {15 "nullable": true,16 "type": "number",17 "description": "Timestamp that must be used to request the previous page.",18 "example": 154009577595119 }20 },21 "required": ["count", "next", "prev"],22 "type": "object",23 "description": "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."24}
Team
1{ "type": "object", "description": "Data representing a Team." }
TeamLimited
1{2 "properties": {3 "limited": {4 "type": "boolean",5 "description": "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."6 },7 "saml": {8 "properties": {9 "connection": {10 "properties": {11 "type": {12 "type": "string",13 "description": "The Identity Provider \"type\", for example Okta.",14 "example": "OktaSAML"15 },16 "status": {17 "type": "string",18 "description": "Current status of the connection.",19 "example": "linked"20 },21 "state": {22 "type": "string",23 "description": "Current state of the connection.",24 "example": "active"25 },26 "connectedAt": {27 "type": "number",28 "description": "Timestamp (in milliseconds) of when the configuration was connected.",29 "example": 161179691567730 },31 "lastReceivedWebhookEvent": {32 "type": "number",33 "description": "Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.",34 "example": 161179691567735 }36 },37 "required": ["type", "status", "state", "connectedAt"],38 "type": "object",39 "description": "Information for the SAML Single Sign-On configuration."40 },41 "directory": {42 "properties": {43 "type": {44 "type": "string",45 "description": "The Identity Provider \"type\", for example Okta.",46 "example": "OktaSAML"47 },48 "state": {49 "type": "string",50 "description": "Current state of the connection.",51 "example": "active"52 },53 "connectedAt": {54 "type": "number",55 "description": "Timestamp (in milliseconds) of when the configuration was connected.",56 "example": 161179691567757 },58 "lastReceivedWebhookEvent": {59 "type": "number",60 "description": "Timestamp (in milliseconds) of when the last webhook event was received from WorkOS.",61 "example": 161179691567762 }63 },64 "required": ["type", "state", "connectedAt"],65 "type": "object",66 "description": "Information for the Directory Sync configuration."67 },68 "enforced": {69 "type": "boolean",70 "description": "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."71 }72 },73 "required": ["enforced"],74 "type": "object",75 "description": "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."76 },77 "id": {78 "type": "string",79 "description": "The Team's unique identifier.",80 "example": "team_nllPyCtREAqxxdyFKbbMDlxd"81 },82 "slug": {83 "type": "string",84 "description": "The Team's slug, which is unique across the Vercel platform.",85 "example": "my-team"86 },87 "name": {88 "nullable": true,89 "type": "string",90 "description": "Name associated with the Team account, or `null` if none has been provided.",91 "example": "My Team"92 },93 "avatar": {94 "nullable": true,95 "type": "string",96 "description": "The ID of the file used as avatar for this Team.",97 "example": "6eb07268bcfadd309905ffb1579354084c24655c"98 },99 "membership": {100 "properties": {101 "uid": { "type": "string" },102 "entitlements": {103 "items": {104 "properties": { "entitlement": { "type": "string" } },105 "required": ["entitlement"],106 "type": "object"107 },108 "type": "array"109 },110 "confirmed": { "type": "boolean" },111 "confirmedAt": { "type": "number" },112 "accessRequestedAt": { "type": "number" },113 "role": {114 "type": "string",115 "enum": [116 "OWNER",117 "MEMBER",118 "DEVELOPER",119 "BILLING",120 "VIEWER",121 "CONTRIBUTOR"122 ]123 },124 "teamId": { "type": "string" },125 "createdAt": { "type": "number" },126 "created": { "type": "number" },127 "joinedFrom": {128 "properties": {129 "origin": {130 "type": "string",131 "enum": [132 "link",133 "saml",134 "github",135 "gitlab",136 "bitbucket",137 "mail",138 "import",139 "teams",140 "dsync",141 "feedback",142 "organization-teams"143 ]144 },145 "commitId": { "type": "string" },146 "repoId": { "type": "string" },147 "repoPath": { "type": "string" },148 "gitUserId": {149 "oneOf": [{ "type": "string" }, { "type": "number" }]150 },151 "gitUserLogin": { "type": "string" },152 "ssoUserId": { "type": "string" },153 "ssoConnectedAt": { "type": "number" },154 "idpUserId": { "type": "string" },155 "dsyncUserId": { "type": "string" },156 "dsyncConnectedAt": { "type": "number" }157 },158 "required": ["origin"],159 "type": "object"160 }161 },162 "required": ["confirmed", "confirmedAt", "role", "createdAt", "created"],163 "type": "object",164 "description": "The membership of the authenticated User in relation to the Team."165 },166 "created": {167 "type": "string",168 "description": "Will remain undocumented. Remove in v3 API."169 },170 "createdAt": {171 "type": "number",172 "description": "UNIX timestamp (in milliseconds) when the Team was created.",173 "example": 1630748523395174 }175 },176 "required": [177 "limited",178 "id",179 "slug",180 "name",181 "avatar",182 "membership",183 "created",184 "createdAt"185 ],186 "type": "object",187 "description": "A limited form of data representing a Team, due to the authentication token missing privileges to read the full Team data."188}
UserEvent
1{ "type": "object", "description": "Array of events generated by the User." }
Last updated on December 20, 2024
Was this helpful?