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 ]41 },42 "createdAt": { "type": "number" },43 "expiresAt": { "type": "number" }44 },45 "required": ["type", "origin", "createdAt"],46 "type": "object",47 "description": "The access scopes granted to the token."48 },49 {50 "properties": {51 "type": { "type": "string", "enum": ["team"] },52 "teamId": { "type": "string" },53 "origin": {54 "type": "string",55 "enum": [56 "saml",57 "github",58 "gitlab",59 "bitbucket",60 "email",61 "manual",62 "passkey",63 "otp",64 "sms"65 ]66 },67 "createdAt": { "type": "number" },68 "expiresAt": { "type": "number" }69 },70 "required": ["type", "teamId", "origin", "createdAt"],71 "type": "object",72 "description": "The access scopes granted to the token."73 }74 ]75 },76 "type": "array",77 "description": "The access scopes granted to the token."78 },79 "expiresAt": {80 "type": "number",81 "description": "Timestamp (in milliseconds) of when the token expires.",82 "example": 163281653600283 },84 "activeAt": {85 "type": "number",86 "description": "Timestamp (in milliseconds) of when the token was most recently used.",87 "example": 163281653600288 },89 "createdAt": {90 "type": "number",91 "description": "Timestamp (in milliseconds) of when the token was created.",92 "example": 163281653600293 }94 },95 "required": ["id", "name", "type", "activeAt", "createdAt"],96 "type": "object",97 "description": "Authentication token metadata."98}
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 "edgeRequest",43 "edgeRequestAdditionalCpuDuration",44 "fastDataTransfer",45 "fastOriginTransfer",46 "functionDuration",47 "functionInvocation",48 "logDrainsVolume",49 "monitoringMetric",50 "postgresComputeTime",51 "postgresDataStorage",52 "postgresDataTransfer",53 "postgresDatabase",54 "postgresWrittenData",55 "serverlessFunctionExecution",56 "sourceImages",57 "storageRedisTotalBandwidthInBytes",58 "storageRedisTotalCommands",59 "storageRedisTotalDailyAvgStorageInBytes",60 "storageRedisTotalDatabases",61 "wafOwaspExcessBytes",62 "wafOwaspRequests",63 "wafRateLimitRequest",64 "webAnalyticsEvent"65 ]66 }67 },68 "required": ["blockedAt", "reason"],69 "type": "object",70 "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."71 },72 "billing": {73 "nullable": true,74 "type": "object",75 "description": "An object containing billing infomation associated with the User account."76 },77 "resourceConfig": {78 "properties": {79 "blobStores": {80 "type": "number",81 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."82 },83 "nodeType": {84 "type": "string",85 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."86 },87 "concurrentBuilds": {88 "type": "number",89 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."90 },91 "awsAccountType": {92 "type": "string",93 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."94 },95 "awsAccountIds": {96 "items": { "type": "string" },97 "type": "array",98 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."99 },100 "cfZoneName": {101 "type": "string",102 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."103 },104 "imageOptimizationType": {105 "type": "string",106 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."107 },108 "edgeConfigs": {109 "type": "number",110 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."111 },112 "edgeConfigSize": {113 "type": "number",114 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."115 },116 "edgeFunctionMaxSizeBytes": {117 "type": "number",118 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."119 },120 "edgeFunctionExecutionTimeoutMs": {121 "type": "number",122 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."123 },124 "serverlessFunctionDefaultMaxExecutionTime": {125 "type": "number",126 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."127 },128 "kvDatabases": {129 "type": "number",130 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."131 },132 "postgresDatabases": {133 "type": "number",134 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."135 },136 "integrationStores": {137 "type": "number",138 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."139 },140 "cronJobs": {141 "type": "number",142 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."143 },144 "cronJobsPerProject": {145 "type": "number",146 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."147 }148 },149 "type": "object",150 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."151 },152 "stagingPrefix": {153 "type": "string",154 "description": "Prefix that will be used in the URL of \"Preview\" deployments created by the User account."155 },156 "activeDashboardViews": {157 "items": {158 "properties": {159 "scopeId": { "type": "string" },160 "viewPreference": { "type": "string", "enum": ["list", "cards"] },161 "favoritesViewPreference": {162 "type": "string",163 "enum": ["open", "closed"]164 },165 "recentsViewPreference": {166 "type": "string",167 "enum": ["open", "closed"]168 }169 },170 "required": ["scopeId"],171 "type": "object",172 "description": "set of dashboard view preferences (cards or list) per scopeId"173 },174 "type": "array",175 "description": "set of dashboard view preferences (cards or list) per scopeId"176 },177 "importFlowGitNamespace": {178 "nullable": true,179 "oneOf": [{ "type": "string" }, { "type": "number" }]180 },181 "importFlowGitNamespaceId": {182 "nullable": true,183 "oneOf": [{ "type": "string" }, { "type": "number" }]184 },185 "importFlowGitProvider": {186 "type": "string",187 "enum": ["github", "gitlab", "bitbucket"]188 },189 "preferredScopesAndGitNamespaces": {190 "items": {191 "properties": {192 "scopeId": { "type": "string" },193 "gitNamespaceId": {194 "nullable": true,195 "oneOf": [{ "type": "string" }, { "type": "number" }]196 }197 },198 "required": ["scopeId", "gitNamespaceId"],199 "type": "object"200 },201 "type": "array"202 },203 "dismissedToasts": {204 "items": {205 "properties": {206 "name": { "type": "string" },207 "dismissals": {208 "items": {209 "properties": {210 "scopeId": { "type": "string" },211 "createdAt": { "type": "number" }212 },213 "required": ["scopeId", "createdAt"],214 "type": "object"215 },216 "type": "array"217 }218 },219 "required": ["name", "dismissals"],220 "type": "object",221 "description": "A record of when, under a certain scopeId, a toast was dismissed"222 },223 "type": "array",224 "description": "A record of when, under a certain scopeId, a toast was dismissed"225 },226 "favoriteProjectsAndSpaces": {227 "items": {228 "oneOf": [229 {230 "properties": {231 "projectId": { "type": "string" },232 "scopeSlug": { "type": "string" },233 "scopeId": { "type": "string" }234 },235 "required": ["projectId", "scopeSlug", "scopeId"],236 "type": "object",237 "description": "A list of projects and spaces across teams that a user has marked as a favorite."238 },239 {240 "properties": {241 "spaceId": { "type": "string" },242 "scopeSlug": { "type": "string" },243 "scopeId": { "type": "string" }244 },245 "required": ["spaceId", "scopeSlug", "scopeId"],246 "type": "object",247 "description": "A list of projects and spaces across teams that a user has marked as a favorite."248 }249 ]250 },251 "type": "array",252 "description": "A list of projects and spaces across teams that a user has marked as a favorite."253 },254 "hasTrialAvailable": {255 "type": "boolean",256 "description": "Whether the user has a trial available for a paid plan subscription."257 },258 "remoteCaching": {259 "properties": { "enabled": { "type": "boolean" } },260 "type": "object",261 "description": "remote caching settings"262 },263 "dataCache": {264 "properties": { "excessBillingEnabled": { "type": "boolean" } },265 "type": "object",266 "description": "data cache settings"267 },268 "featureBlocks": {269 "properties": {270 "webAnalytics": {271 "properties": {272 "blockedFrom": { "type": "number" },273 "blockedUntil": { "type": "number" },274 "isCurrentlyBlocked": { "type": "boolean" }275 },276 "required": ["isCurrentlyBlocked"],277 "type": "object"278 }279 },280 "type": "object",281 "description": "Feature blocks for the user"282 },283 "northstarMigration": {284 "properties": {285 "teamId": {286 "type": "string",287 "description": "The ID of the team we created for this user."288 },289 "projects": {290 "type": "number",291 "description": "The number of projects migrated for this user."292 },293 "stores": {294 "type": "number",295 "description": "The number of stores migrated for this user."296 },297 "integrationConfigurations": {298 "type": "number",299 "description": "The number of integration configurations migrated for this user."300 },301 "integrationClients": {302 "type": "number",303 "description": "The number of integration clients migrated for this user."304 },305 "startTime": {306 "type": "number",307 "description": "The migration start time timestamp for this user."308 },309 "endTime": {310 "type": "number",311 "description": "The migration end time timestamp for this user."312 }313 },314 "required": [315 "teamId",316 "projects",317 "stores",318 "integrationConfigurations",319 "integrationClients",320 "startTime",321 "endTime"322 ],323 "type": "object"324 },325 "id": {326 "type": "string",327 "description": "The User's unique identifier.",328 "example": "AEIIDYVk59zbFF2Sxfyxxmua"329 },330 "email": {331 "type": "string",332 "description": "Email address associated with the User account.",333 "example": "me@example.com"334 },335 "name": {336 "nullable": true,337 "type": "string",338 "description": "Name associated with the User account, or `null` if none has been provided.",339 "example": "John Doe"340 },341 "username": {342 "type": "string",343 "description": "Unique username associated with the User account.",344 "example": "jdoe"345 },346 "avatar": {347 "nullable": true,348 "type": "string",349 "description": "SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image.",350 "example": "22cb30c85ff45ac4c72de8981500006b28114aa1"351 },352 "defaultTeamId": {353 "nullable": true,354 "type": "string",355 "description": "The user's default team. Only applies if the user's `version` is `'northstar'`."356 },357 "version": {358 "nullable": true,359 "type": "string",360 "enum": ["northstar"],361 "description": "The user's version. Will either be unset or `northstar`."362 }363 },364 "required": [365 "createdAt",366 "softBlock",367 "billing",368 "resourceConfig",369 "stagingPrefix",370 "hasTrialAvailable",371 "id",372 "email",373 "name",374 "username",375 "avatar",376 "defaultTeamId",377 "version"378 ],379 "type": "object",380 "description": "Data for the currently authenticated User."381}
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 "mail",135 "import",136 "teams",137 "github",138 "gitlab",139 "bitbucket",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 November 14, 2024
Was this helpful?