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 "microfrontendGroupsPerTeam": {149 "type": "number",150 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."151 },152 "microfrontendProjectsPerGroup": {153 "type": "number",154 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."155 }156 },157 "type": "object",158 "description": "An object containing infomation related to the amount of platform resources may be allocated to the User account."159 },160 "stagingPrefix": {161 "type": "string",162 "description": "Prefix that will be used in the URL of \"Preview\" deployments created by the User account."163 },164 "activeDashboardViews": {165 "items": {166 "properties": {167 "scopeId": { "type": "string" },168 "viewPreference": { "type": "string", "enum": ["list", "cards"] },169 "favoritesViewPreference": {170 "type": "string",171 "enum": ["open", "closed"]172 },173 "recentsViewPreference": {174 "type": "string",175 "enum": ["open", "closed"]176 }177 },178 "required": ["scopeId"],179 "type": "object",180 "description": "set of dashboard view preferences (cards or list) per scopeId"181 },182 "type": "array",183 "description": "set of dashboard view preferences (cards or list) per scopeId"184 },185 "importFlowGitNamespace": {186 "nullable": true,187 "oneOf": [{ "type": "string" }, { "type": "number" }]188 },189 "importFlowGitNamespaceId": {190 "nullable": true,191 "oneOf": [{ "type": "string" }, { "type": "number" }]192 },193 "importFlowGitProvider": {194 "type": "string",195 "enum": ["github", "gitlab", "bitbucket"]196 },197 "preferredScopesAndGitNamespaces": {198 "items": {199 "properties": {200 "scopeId": { "type": "string" },201 "gitNamespaceId": {202 "nullable": true,203 "oneOf": [{ "type": "string" }, { "type": "number" }]204 }205 },206 "required": ["scopeId", "gitNamespaceId"],207 "type": "object"208 },209 "type": "array"210 },211 "dismissedToasts": {212 "items": {213 "properties": {214 "name": { "type": "string" },215 "dismissals": {216 "items": {217 "properties": {218 "scopeId": { "type": "string" },219 "createdAt": { "type": "number" }220 },221 "required": ["scopeId", "createdAt"],222 "type": "object"223 },224 "type": "array"225 }226 },227 "required": ["name", "dismissals"],228 "type": "object",229 "description": "A record of when, under a certain scopeId, a toast was dismissed"230 },231 "type": "array",232 "description": "A record of when, under a certain scopeId, a toast was dismissed"233 },234 "favoriteProjectsAndSpaces": {235 "items": {236 "oneOf": [237 {238 "properties": {239 "projectId": { "type": "string" },240 "scopeSlug": { "type": "string" },241 "scopeId": { "type": "string" }242 },243 "required": ["projectId", "scopeSlug", "scopeId"],244 "type": "object",245 "description": "A list of projects and spaces across teams that a user has marked as a favorite."246 },247 {248 "properties": {249 "spaceId": { "type": "string" },250 "scopeSlug": { "type": "string" },251 "scopeId": { "type": "string" }252 },253 "required": ["spaceId", "scopeSlug", "scopeId"],254 "type": "object",255 "description": "A list of projects and spaces across teams that a user has marked as a favorite."256 }257 ]258 },259 "type": "array",260 "description": "A list of projects and spaces across teams that a user has marked as a favorite."261 },262 "hasTrialAvailable": {263 "type": "boolean",264 "description": "Whether the user has a trial available for a paid plan subscription."265 },266 "remoteCaching": {267 "properties": { "enabled": { "type": "boolean" } },268 "type": "object",269 "description": "remote caching settings"270 },271 "dataCache": {272 "properties": { "excessBillingEnabled": { "type": "boolean" } },273 "type": "object",274 "description": "data cache settings"275 },276 "featureBlocks": {277 "properties": {278 "webAnalytics": {279 "properties": {280 "blockedFrom": { "type": "number" },281 "blockedUntil": { "type": "number" },282 "isCurrentlyBlocked": { "type": "boolean" }283 },284 "required": ["isCurrentlyBlocked"],285 "type": "object"286 }287 },288 "type": "object",289 "description": "Feature blocks for the user"290 },291 "northstarMigration": {292 "properties": {293 "teamId": {294 "type": "string",295 "description": "The ID of the team we created for this user."296 },297 "projects": {298 "type": "number",299 "description": "The number of projects migrated for this user."300 },301 "stores": {302 "type": "number",303 "description": "The number of stores migrated for this user."304 },305 "integrationConfigurations": {306 "type": "number",307 "description": "The number of integration configurations migrated for this user."308 },309 "integrationClients": {310 "type": "number",311 "description": "The number of integration clients migrated for this user."312 },313 "startTime": {314 "type": "number",315 "description": "The migration start time timestamp for this user."316 },317 "endTime": {318 "type": "number",319 "description": "The migration end time timestamp for this user."320 }321 },322 "required": [323 "teamId",324 "projects",325 "stores",326 "integrationConfigurations",327 "integrationClients",328 "startTime",329 "endTime"330 ],331 "type": "object"332 },333 "id": {334 "type": "string",335 "description": "The User's unique identifier.",336 "example": "AEIIDYVk59zbFF2Sxfyxxmua"337 },338 "email": {339 "type": "string",340 "description": "Email address associated with the User account.",341 "example": "me@example.com"342 },343 "name": {344 "nullable": true,345 "type": "string",346 "description": "Name associated with the User account, or `null` if none has been provided.",347 "example": "John Doe"348 },349 "username": {350 "type": "string",351 "description": "Unique username associated with the User account.",352 "example": "jdoe"353 },354 "avatar": {355 "nullable": true,356 "type": "string",357 "description": "SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image.",358 "example": "22cb30c85ff45ac4c72de8981500006b28114aa1"359 },360 "defaultTeamId": {361 "nullable": true,362 "type": "string",363 "description": "The user's default team. Only applies if the user's `version` is `'northstar'`."364 },365 "version": {366 "nullable": true,367 "type": "string",368 "enum": ["northstar"],369 "description": "The user's version. Will either be unset or `northstar`."370 }371 },372 "required": [373 "createdAt",374 "softBlock",375 "billing",376 "resourceConfig",377 "stagingPrefix",378 "hasTrialAvailable",379 "id",380 "email",381 "name",382 "username",383 "avatar",384 "defaultTeamId",385 "version"386 ],387 "type": "object",388 "description": "Data for the currently authenticated User."389}
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 24, 2024
Was this helpful?