Skip to content
Docs

Update an existing project

PATCHhttps://api.vercel.com/v9/projects/{idOrName}
Update the fields of a project using either its name or id.
https://api.vercel.com/v9/projects/{idOrName}
const response = await fetch('https://api.vercel.com/v9/projects/idOrName?teamId=string&slug=string', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"autoExposeSystemEnvs": "true",
"autoAssignCustomDomains": "true",
"autoAssignCustomDomainsUpdatedBy": "string",
"buildCommand": "string",
"commandForIgnoringBuildStep": "string",
"customerSupportCodeVisibility": "true",
"devCommand": "string",
"directoryListing": "true",
"framework": "null",
"gitForkProtection": "true",
"gitLFS": "true",
"protectedSourcemaps": "true",
"installCommand": "string",
"name": "a-project-name",
"nodeVersion": "24.x",
"outputDirectory": "string",
"previewDeploymentsDisabled": "true",
"previewDeploymentSuffix": "string",
"resourceConfig": {
"buildMachineType": "null",
"buildMachineSelection": "elastic",
"buildQueue": {
"configuration": "SKIP_NAMESPACE_QUEUE"
},
"fluid": "true",
"functionDefaultRegions": [],
"functionDefaultTimeout": "123",
"functionDefaultMemoryType": "standard_legacy",
"functionZeroConfigFailover": "true",
"elasticConcurrencyEnabled": "true",
"buildMachineElasticLastUpdated": "123",
"buildMachineElasticReason": "oom-failure",
"buildMachineElasticTransition": {
"at": "123",
"direction": "upgrade",
"algorithmVersion": "string"
},
"isNSNBDisabled": "true",
"enableFunctionsBeta": "true"
},
"publicSource": "true",
"rootDirectory": "string",
"serverlessFunctionRegion": "string",
"serverlessFunctionZeroConfigFailover": "true",
"skewProtectionBoundaryAt": "123",
"skewProtectionMaxAge": "123",
"skewProtectionAllowedDomains": [],
"skipGitConnectDuringLink": "true",
"sourceFilesOutsideRootDirectory": "true",
"enablePreviewFeedback": "true",
"enableProductionFeedback": "true",
"enableAffectedProjectsDeployments": "true",
"enableExternalRewriteCaching": "true",
"staticIps": {
"enabled": "true"
},
"tracing": {
"domains": "string",
"ignorePaths": [],
"samplingRules": [
{
"rate": "123",
"env": "production",
"requestPath": "string",
"destination": "internal"
}
]
},
"oidcTokenConfig": {
"enabled": "true",
"issuerMode": "team"
},
"passwordProtection": {
"deploymentType": "all",
"password": "string"
},
"passport": {
"connectorId": "example_id",
"deploymentType": "all"
},
"sandbox": {
"region": "iad1",
"failoverRegions": []
},
"ssoProtection": {
"deploymentType": "all"
},
"trustedIps": {
"deploymentType": "all",
"addresses": [
{
"value": "string",
"note": "string"
}
],
"protectionMode": "exclusive"
},
"trustedSources": {
"enableVercelCiSameRepository": "true",
"projects": "value",
"oidcProviders": "value"
},
"deploymentPolicy": {
"gitSources": [
{
"enabled": "true",
"environments": [
{
"type": "system",
"target": "production"
}
],
"sources": [
{
"provider": "github",
"org": "string",
"repo": "string"
}
]
}
],
"deploymentSources": [
{
"enabled": "true",
"environments": [
{
"type": "system",
"target": "production"
}
],
"sources": []
}
]
},
"optionsAllowlist": {
"paths": [
{
"value": "string"
}
]
},
"connectConfigurations": [
{
"envId": "example_id",
"connectConfigurationId": "example_id",
"passive": "true",
"buildsEnabled": "true"
}
],
"dismissedToasts": [
{
"key": "string",
"dismissedAt": "123",
"action": "cancel",
"value": "string"
}
]
}),
});
const data = await response.json();
console.log(data);
Response
{
"accountId": "example_id",
"alias": [
{
"configuredBy": "A",
"configuredChangedAt": "123",
"createdAt": "123",
"deployment": {
"alias": [],
"aliasAssigned": "123",
"aliasError": {
"code": "string",
"message": "string"
},
"aliasFinal": "string",
"automaticAliases": [],
"branchMatcher": {
"pattern": "string",
"type": "endsWith"
},
"buildingAt": "123",
"builds": [
{
"dest": "string",
"src": "string",
"use": "string"
}
],
"checksConclusion": "canceled",
"checksState": "completed",
"connectBuildsEnabled": "false",
"connectConfigurationId": "example_id",
"createdAt": "123",
"createdIn": "string",
"creator": {
"email": "user@example.com",
"githubLogin": "string",
"gitlabLogin": "string",
"uid": "example_id",
"username": "string"
},
"deletedAt": "123",
"deploymentHostname": "Example Name",
"forced": "false",
"id": "icfg_1234567890",
"meta": "value",
"monorepoManager": "string",
"name": "Example Name",
"oidcTokenClaims": {
"aud": "string",
"custom_environment_id": "example_id",
"deployment_id": "example_id",
"environment": "string",
"iss": "string",
"mfe_group_ids": [],
"owner": "string",
"owner_id": "example_id",
"plan": "string",
"project": "string",
"project_id": "example_id",
"scope": "string",
"sub": "string"
},
"plan": "enterprise",
"previewCommentsEnabled": "false",
"private": "false",
"readyAt": "123",
"readyState": "BLOCKED",
"readySubstate": "PROMOTED",
"requestedAt": "123",
"target": "string",
"teamId": "example_id",
"type": "LAMBDAS",
"url": "https://example.com",
"userId": "example_id",
"withCache": "false"
},
"domain": "string",
"environment": "preview",
"gitBranch": "string",
"redirect": "string",
"redirectStatusCode": "301",
"target": "PREVIEW"
}
],
"analytics": {
"canceledAt": "123",
"disabledAt": "123",
"enabledAt": "123",
"id": "icfg_1234567890",
"paidAt": "123",
"sampleRatePercent": "123",
"spendLimitInDollars": "123"
},
"appliedCve55182Migration": "false",
"autoAssignCustomDomains": "false",
"autoAssignCustomDomainsUpdatedBy": "string",
"autoExposeSystemEnvs": "false",
"avatar": "string",
"blobs": {
"isDefaultApp": "false"
},
"buildCommand": "string",
"commandForIgnoringBuildStep": "string",
"concurrencyBucketName": "Example Name",
"connectBuildsEnabled": "false",
"connectConfigurationId": "example_id",
"connectConfigurations": [
{
"aws": {
"securityGroupId": "https://example.com",
"subnetIds": []
},
"buildsEnabled": "false",
"connectConfigurationId": "example_id",
"createdAt": "123",
"dc": "string",
"envId": "example_id",
"passive": "false",
"updatedAt": "123"
}
],
"createdAt": "123",
"creator": {
"type": "user",
"via": {
"app": {
"clientId": "example_id",
"id": "icfg_1234567890"
},
"type": "app"
},
"user": {
"id": "icfg_1234567890"
}
},
"crons": {
"definitions": [
{
"description": "string",
"host": "vercel.com",
"hostInferred": "false",
"path": "/api/crons/sync-something?hello=world",
"schedule": "0 0 * * *",
"source": "api"
}
],
"deploymentId": "example_id",
"disabledAt": "123",
"enabledAt": "123",
"updatedAt": "123"
},
"customEnvironments": [
{
"branchMatcher": {
"pattern": "string",
"type": "endsWith"
},
"createdAt": "123",
"currentDeploymentAliases": [],
"description": "string",
"domains": [
{
"apexName": "Example Name",
"createdAt": "123",
"customEnvironmentId": "example_id",
"gitBranch": "string",
"name": "Example Name",
"projectId": "example_id",
"redirect": "string",
"redirectStatusCode": "301",
"updatedAt": "123",
"verification": [
{
"domain": "string",
"reason": "Customer requested refund",
"type": "string",
"value": "string"
}
],
"verified": "false"
}
],
"id": "icfg_1234567890",
"slug": "string",
"type": "development",
"updatedAt": "123"
}
],
"customerSupportCodeVisibility": "false",
"dataCache": {
"storageSizeBytes": "123",
"unlimited": "false",
"userDisabled": "false"
},
"defaultResourceConfig": {
"buildMachineElasticLastUpdated": "123",
"buildMachineElasticReason": "basic-floor",
"buildMachineElasticTransition": {
"algorithmVersion": "string",
"at": "123",
"direction": "downgrade"
},
"buildMachineSelection": "elastic",
"buildMachineType": "basic",
"buildQueue": {
"configuration": "SKIP_NAMESPACE_QUEUE"
},
"elasticConcurrencyEnabled": "false",
"enableFunctionsBeta": "false",
"fluid": "false",
"functionDefaultMemoryType": "performance",
"functionDefaultRegions": [],
"functionDefaultTimeout": "123",
"functionZeroConfigFailover": "false",
"isNSNBDisabled": "false"
},
"deploymentExpiration": {
"deploymentsToKeep": "123",
"expirationDays": "123",
"expirationDaysCanceled": "123",
"expirationDaysErrored": "123",
"expirationDaysProduction": "123"
},
"deploymentPolicy": {
"deploymentSources": [
{
"enabled": "false",
"environments": [
{
"target": "preview",
"type": "system"
}
],
"sources": []
}
],
"gitSources": [
{
"enabled": "false",
"environments": [
{
"target": "preview",
"type": "system"
}
],
"sources": [
{
"org": "string",
"provider": "bitbucket",
"repo": "string"
}
]
}
]
},
"devCommand": "string",
"directoryListing": "false",
"dismissedToasts": [
{
"action": "accept",
"dismissedAt": "123",
"key": "string",
"value": "string"
}
],
"enableAffectedProjectsDeployments": "false",
"enableExternalRewriteCaching": "false",
"enablePreviewFeedback": "false",
"enableProductionFeedback": "false",
"env": [
{
"comment": "string",
"configurationId": "example_id",
"contentHint": {
"storeId": "example_id",
"type": "redis-url"
},
"createdAt": "123",
"createdBy": "string",
"customEnvironmentIds": [],
"decrypted": "false",
"edgeConfigId": "example_id",
"edgeConfigTokenId": "example_id",
"gitBranch": "string",
"id": "icfg_1234567890",
"internalContentHint": {
"encryptedValue": "string",
"type": "flags-secret"
},
"key": "string",
"legacyValue": "string",
"sunsetSecretId": "example_id",
"target": [],
"type": "encrypted",
"updatedAt": "123",
"updatedBy": "string",
"value": "string",
"visibility": "config",
"vsmValue": "string"
}
],
"expiration": {
"expiresAt": "123"
},
"features": {
"webAnalytics": "false"
},
"framework": "actix-web",
"gitComments": {
"onCommit": "false",
"onPullRequest": "false"
},
"gitForkProtection": "false",
"gitLFS": "false",
"gitProviderOptions": {
"consolidatedGitCommitStatus": {
"enabled": "false",
"propagateFailures": "false"
},
"createDeployments": "disabled",
"disableRepositoryDispatchEvents": "false",
"gitCommitStatus": "false",
"requireVerifiedCommits": "false"
},
"hasActiveBranches": "false",
"hasDeployments": "false",
"id": "icfg_1234567890",
"installCommand": "string",
"internalRoutes": [
{
"expiry": "123",
"src": "string",
"status": "123"
}
],
"ipBuckets": [
{
"bucket": "string",
"default": "false",
"supportUntil": "123"
}
],
"jobs": {
"flag-definitions-present": {
"targets": []
},
"lint": {
"targets": []
},
"mfe-config-present": {
"targets": []
},
"typecheck": {
"targets": []
}
},
"lastAliasRequest": {
"fromDeploymentId": "example_id",
"fromRollingReleaseId": "example_id",
"jobStatus": "failed",
"requestedAt": "123",
"toDeploymentId": "example_id",
"type": "promote"
},
"lastRollbackTarget": "value",
"latestDeployments": [
{
"alias": [],
"aliasAssigned": "123",
"aliasError": {
"code": "string",
"message": "string"
},
"aliasFinal": "string",
"automaticAliases": [],
"branchMatcher": {
"pattern": "string",
"type": "endsWith"
},
"buildingAt": "123",
"builds": [
{
"dest": "string",
"src": "string",
"use": "string"
}
],
"checksConclusion": "canceled",
"checksState": "completed",
"connectBuildsEnabled": "false",
"connectConfigurationId": "example_id",
"createdAt": "123",
"createdIn": "string",
"creator": {
"email": "user@example.com",
"githubLogin": "string",
"gitlabLogin": "string",
"uid": "example_id",
"username": "string"
},
"deletedAt": "123",
"deploymentHostname": "Example Name",
"forced": "false",
"id": "icfg_1234567890",
"meta": "value",
"monorepoManager": "string",
"name": "Example Name",
"oidcTokenClaims": {
"aud": "string",
"custom_environment_id": "example_id",
"deployment_id": "example_id",
"environment": "string",
"iss": "string",
"mfe_group_ids": [],
"owner": "string",
"owner_id": "example_id",
"plan": "string",
"project": "string",
"project_id": "example_id",
"scope": "string",
"sub": "string"
},
"plan": "enterprise",
"previewCommentsEnabled": "false",
"private": "false",
"readyAt": "123",
"readyState": "BLOCKED",
"readySubstate": "PROMOTED",
"requestedAt": "123",
"target": "string",
"teamId": "example_id",
"type": "LAMBDAS",
"url": "https://example.com",
"userId": "example_id",
"withCache": "false"
}
],
"link": {
"createdAt": "123",
"deployHooks": [
{
"createdAt": "123",
"id": "icfg_1234567890",
"name": "Example Name",
"ref": "string",
"url": "https://example.com"
}
],
"gitCredentialId": "example_id",
"org": "string",
"productionBranch": "string",
"repo": "string",
"repoId": "123",
"repoOwnerId": "123",
"sourceless": "false",
"type": "github",
"updatedAt": "123"
},
"live": "false",
"microfrontends": {
"defaultRoute": "string",
"enabled": "true",
"freeProjectForLegacyLimits": "false",
"groupIds": [],
"isDefaultApp": "true",
"updatedAt": "123"
},
"name": "Example Name",
"nodeVersion": "10.x",
"oidcTokenConfig": {
"enabled": "false",
"issuerMode": "global"
},
"optionsAllowlist": {
"paths": [
{
"value": "string"
}
]
},
"outputDirectory": "string",
"passiveConnectConfigurationId": "example_id",
"passport": {
"connectorId": "example_id",
"deploymentType": "all"
},
"passwordProtection": "value",
"paused": "false",
"permissions": {
"accessGroup": [],
"agent": [],
"aiGatewayApiKey": [],
"aiGatewayApiKeyBypassAll": [],
"aiGatewayApiKeyOwnedBySelf": [],
"aiGatewayApiKeySpendAttribution": [],
"aiGatewayApiKeyZdrExemption": [],
"aiGatewayBudget": [],
"aiGatewayCredits": [],
"aiGatewayGuardrails": [],
"aiGatewayPrivateModels": [],
"aiGatewayRules": [],
"aiGatewaySettings": [],
"aiGatewayTranscripts": [],
"aiGatewayTranscriptsSettings": [],
"aiGatewayUsage": [],
"aiGatewayVirtualModelConfigs": [],
"alertRules": [],
"alerts": [],
"aliasGlobal": [],
"aliasProject": [],
"aliasProtectionBypass": [],
"analytics": [],
"analyticsSampling": [],
"analyticsUsage": [],
"apiKey": [],
"apiKeyAiGateway": [],
"apiKeyOwnedBySelf": [],
"auditLog": [],
"automation": [],
"billingAddress": [],
"billingInformation": [],
"billingInvoice": [],
"billingInvoiceEmailRecipient": [],
"billingInvoiceLanguage": [],
"billingPlan": [],
"billingPurchaseOrder": [],
"billingRefund": [],
"billingTaxId": [],
"blob": [],
"blobStoreTokenSet": [],
"budget": [],
"buildMachine": [],
"buildMachineDefault": [],
"bulkRedirects": [],
"cacheArtifact": [],
"cacheArtifactUsageEvent": [],
"ciInvocations": [],
"ciLogs": [],
"codeChecks": [],
"codeOwners": [],
"concurrentBuilds": [],
"connect": [],
"connectConfiguration": [],
"connectConfigurationLink": [],
"connectLogs": [],
"connexClient": [],
"connexClientProject": [],
"connexContact": [],
"connexInstallation": [],
"connexToken": [],
"cursorOriginInstallation": [],
"dataCacheBillingSettings": [],
"dataCacheNamespace": [],
"defaultDeploymentProtection": [],
"deployment": [],
"deploymentBuildLogs": [],
"deploymentCheck": [],
"deploymentCheckPreview": [],
"deploymentCheckReRunFromProductionBranch": [],
"deploymentPolicy": [],
"deploymentPreview": [],
"deploymentPrivate": [],
"deploymentProductionGit": [],
"deploymentPromote": [],
"deploymentProtectionException": [],
"deploymentRollback": [],
"deploymentV0": [],
"domain": [],
"domainAcceptDelegation": [],
"domainAuthCodes": [],
"domainCertificate": [],
"domainCheckConfig": [],
"domainMove": [],
"domainPurchase": [],
"domainRecord": [],
"domainTransferIn": [],
"drain": [],
"edgeCacheNamespace": [],
"edgeConfig": [],
"edgeConfigItem": [],
"edgeConfigSchema": [],
"edgeConfigToken": [],
"endpointVerification": [],
"environments": [],
"event": [],
"fileUpload": [],
"flagsExplorerSubscription": [],
"gitCredentialGrant": [],
"gitRepository": [],
"imageOptimizationNewPrice": [],
"integration": [],
"integrationAccount": [],
"integrationConfiguration": [],
"integrationConfigurationProjects": [],
"integrationConfigurationRole": [],
"integrationConfigurationTransfer": [],
"integrationDeploymentAction": [],
"integrationEvent": [],
"integrationLog": [],
"integrationPullRequest": [],
"integrationResource": [],
"integrationResourceData": [],
"integrationResourceReplCommand": [],
"integrationResourceSecrets": [],
"integrationSSOSession": [],
"integrationStoreTokenSet": [],
"integrationStrict": [],
"integrationVercelConfigurationOverride": [],
"ipBlocking": [],
"job": [],
"jobGlobal": [],
"kmsIssuer": [],
"kmsProjectGrant": [],
"logDrain": [],
"logs": [],
"logsPreset": [],
"marketplaceBillingData": [],
"marketplaceExperimentationEdgeConfigData": [],
"marketplaceExperimentationItem": [],
"marketplaceFlexCommit": [],
"marketplaceInstallationMember": [],
"marketplaceInvoice": [],
"marketplaceSettings": [],
"messageboard": [],
"messageboardSpace": [],
"messageboardTask": [],
"Monitoring": [],
"monitoringAlert": [],
"monitoringChart": [],
"monitoringQuery": [],
"monitoringSettings": [],
"notificationCustomerBudget": [],
"notificationDeploymentFailed": [],
"notificationDomainConfiguration": [],
"notificationDomainExpire": [],
"notificationDomainMoved": [],
"notificationDomainPurchase": [],
"notificationDomainRenewal": [],
"notificationDomainTransfer": [],
"notificationDomainUnverified": [],
"NotificationMonitoringAlert": [],
"notificationPaymentFailed": [],
"notificationPreferences": [],
"notificationStatementOfReasons": [],
"notificationUsageAlert": [],
"oauth2Application": [],
"oauth2Connection": [],
"observabilityConfiguration": [],
"observabilityData": [],
"observabilityFunnel": [],
"observabilityNotebook": [],
"oidcFederationPolicy": [],
"onDemandBuild": [],
"onDemandConcurrency": [],
"openTelemetryEndpoint": [],
"optionsAllowlist": [],
"organization": [],
"organizationDomain": [],
"organizationTeam": [],
"ownEvent": [],
"pageIntegrity": [],
"passwordProtection": [],
"passwordProtectionInvoiceItem": [],
"paymentMethod": [],
"permissions": [],
"postgres": [],
"postgresStoreTokenSet": [],
"previewDeploymentSuffix": [],
"privateCloudAccount": [],
"privateLinkEndpoint": [],
"productionAliasProtectionBypass": [],
"productionShareableLink": [],
"project": [],
"projectAccessGroup": [],
"projectAnalyticsSampling": [],
"projectAnalyticsUsage": [],
"projectCheck": [],
"projectCheckRun": [],
"projectDeploymentExpiration": [],
"projectDeploymentHook": [],
"projectDeploymentProtectionStrict": [],
"projectDomain": [],
"projectDomainCheckConfig": [],
"projectDomainMove": [],
"projectDomainVerify": [],
"projectEnvVars": [],
"projectEnvVarsProduction": [],
"projectEnvVarsUnownedByIntegration": [],
"projectEvent": [],
"projectFlags": [],
"projectFlagsProduction": [],
"projectFlagsSdkKey": [],
"projectFromV0": [],
"projectId": [],
"projectIntegrationConfiguration": [],
"projectLink": [],
"projectMember": [],
"projectMonitoring": [],
"projectOIDCToken": [],
"projectPermissions": [],
"projectProductionBranch": [],
"projectProtectionBypass": [],
"projectRollingRelease": [],
"projectRoutes": [],
"projectSetting": [],
"projectSupportCase": [],
"projectSupportCaseComment": [],
"projectTier": [],
"projectTransfer": [],
"projectTransferIn": [],
"projectTransferOut": [],
"projectTransferRequest": [],
"projectUsage": [],
"proTrialOnboarding": [],
"rateLimit": [],
"redis": [],
"redisStoreTokenSet": [],
"remoteCaching": [],
"repository": [],
"samlConfig": [],
"schedule": [],
"seawallConfig": [],
"secret": [],
"securityConfig": [],
"securityPlusConfiguration": [],
"sensitiveEnvironmentVariablePolicy": [],
"setting": [],
"shareableLink": [],
"shareableLinkStrict": [],
"sharedEnvVarConnection": [],
"sharedEnvVars": [],
"sharedEnvVarsProduction": [],
"skewProtection": [],
"space": [],
"spaceRun": [],
"storeIsLocked": [],
"storeTokenSetSensitive": [],
"storeTransfer": [],
"supportCase": [],
"supportCaseComment": [],
"team": [],
"teamAccessRequest": [],
"teamFellowMembership": [],
"teamGitExclusivity": [],
"teamInvite": [],
"teamInviteCode": [],
"teamInviteLink": [],
"teamJoin": [],
"teamMemberMfaStatus": [],
"teamMicrofrontends": [],
"teamOwnMembership": [],
"teamOwnMembershipDisconnectSAML": [],
"teamSudo": [],
"teamTokenInvalidation": [],
"token": [],
"toolbarComment": [],
"trustedIps": [],
"trustedSources": [],
"usage": [],
"usageCycle": [],
"user": [],
"userConnection": [],
"userMfaConfiguration": [],
"userPreference": [],
"userSudo": [],
"v0Chat": [],
"vcrRepository": [],
"vercelAppInstallation": [],
"vercelAppInstallationRequest": [],
"vercelAuth": [],
"vercelRun": [],
"vpcPeeringConnection": [],
"webAnalytics": [],
"webAnalyticsPlan": [],
"webAuthn": [],
"webhook": [],
"webhook-event": [],
"workflowRunData": []
},
"productionDeploymentsFastLane": "false",
"protectedSourcemaps": "false",
"protectionBypass": "value",
"protectionConfig": {
"sandboxUrls": {
"inheritDeploymentProtection": "false"
}
},
"resourceConfig": {
"buildMachineElasticLastUpdated": "123",
"buildMachineElasticReason": "basic-floor",
"buildMachineElasticTransition": {
"algorithmVersion": "string",
"at": "123",
"direction": "downgrade"
},
"buildMachineSelection": "elastic",
"buildMachineType": "basic",
"buildQueue": {
"configuration": "SKIP_NAMESPACE_QUEUE"
},
"elasticConcurrencyEnabled": "false",
"enableFunctionsBeta": "false",
"fluid": "false",
"functionDefaultMemoryType": "performance",
"functionDefaultRegions": [],
"functionDefaultTimeout": "123",
"functionZeroConfigFailover": "false",
"isNSNBDisabled": "false"
},
"rollbackDescription": {
"createdAt": "123",
"description": "string",
"userId": "example_id",
"username": "string"
},
"rollingRelease": {
"canaryResponseHeader": "false",
"gate": {
"action": "pause",
"checks": [
{
"excludePaths": [],
"excludeStatusCodes": [],
"ingestWatermarkSeconds": "30",
"minSampleSize": "100",
"type": "error-rate-5xx"
}
],
"dryRun": "false",
"enabled": "false",
"failureThreshold": "3",
"windowSize": "5"
},
"stages": [
{
"duration": "600",
"linearShift": "false",
"requireApproval": "false",
"targetPercentage": "25"
}
],
"target": "production"
},
"rootDirectory": "string",
"sandbox": {
"failoverRegions": [],
"region": "arn1"
},
"security": {
"attackModeActiveUntil": "123",
"attackModeEnabled": "false",
"attackModeUpdatedAt": "123",
"botIdEnabled": "false",
"firewallBypassIps": [],
"firewallConfigVersion": "123",
"firewallEnabled": "false",
"firewallSeawallEnabled": "false",
"firewallUpdatedAt": "123",
"ja3Enabled": "false",
"ja4Enabled": "false",
"log_headers": [],
"managedRules": {
"ai_bots": {
"action": "challenge",
"active": "false"
},
"bot_filter": {
"action": "challenge",
"active": "false"
},
"owasp": {
"action": "challenge",
"active": "false"
},
"traffic_sources": {
"action": "challenge",
"active": "false"
},
"vercel_ruleset": {
"action": "challenge",
"active": "false"
}
},
"pageIntegrityEnabled": "false",
"rulesets": "value"
},
"serverlessFunctionZeroConfigFailover": "false",
"services": [
{
"framework": "actix-web",
"runtime": "string",
"serviceName": "Example Name",
"serviceType": "cron"
}
],
"skewProtectionAllowedDomains": [],
"skewProtectionBoundaryAt": "123",
"skewProtectionMaxAge": "123",
"skipGitConnectDuringLink": "false",
"sourceFilesOutsideRootDirectory": "false",
"speedInsights": {
"canceledAt": "123",
"dataReceivedAt": "123",
"disabledAt": "123",
"enabledAt": "123",
"hasData": "false",
"id": "icfg_1234567890",
"paidAt": "123"
},
"ssoProtection": {
"april2026SecurityIncidentMigrationAppliedFrom": "all",
"cve55182MigrationAppliedFrom": "all",
"deploymentType": "all"
},
"staticIps": {
"builds": "false",
"enabled": "false",
"regions": []
},
"targets": "value",
"tier": "priority",
"tracing": {
"domains": "string",
"ignorePaths": [],
"samplingRules": [
{
"destination": "external",
"env": "preview",
"rate": "123",
"requestPath": "string"
}
]
},
"transferCompletedAt": "123",
"transferredFromAccountId": "example_id",
"transferStartedAt": "123",
"transferToAccountId": "example_id",
"trustedIps": {
"addresses": [
{
"note": "string",
"value": "string"
}
],
"deploymentType": "all",
"protectionMode": "additional"
},
"trustedSources": {
"enableVercelCiSameRepository": "false",
"oidcProviders": "value",
"projects": "value"
},
"updatedAt": "123",
"usageStatus": {
"bypassThrottleUntil": "123",
"exceededAllowanceUntil": "123",
"kind": "flat",
"teamThrottled": "false",
"throttled": "false"
},
"v0": "false",
"v0Created": "false",
"webAnalytics": {
"canceledAt": "123",
"disabledAt": "123",
"enabledAt": "123",
"hasData": "true",
"id": "icfg_1234567890"
}
}
AuthorizationbearerToken

Default authentication mechanism

idOrNamestringRequired
The unique project identifier or the project name
teamIdstringOptional
The Team identifier to perform the request on behalf of.
slugstringOptional
The Team slug to perform the request on behalf of.
application/json
autoExposeSystemEnvsbooleanOptional
autoAssignCustomDomainsbooleanOptional
autoAssignCustomDomainsUpdatedBystringOptional
buildCommandstringOptional
The build command for this project. When null is used this value will be automatically detected
commandForIgnoringBuildStepstringOptional
customerSupportCodeVisibilitybooleanOptional
Specifies whether customer support can see git source for a deployment
devCommandstringOptional
The dev command for this project. When null is used this value will be automatically detected
directoryListingbooleanOptional
frameworkstringOptional
The framework that is being used for this project. When null is used no framework is selected
gitForkProtectionbooleanOptional
Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed
gitLFSbooleanOptional
Specifies whether Git LFS is enabled for this project.
protectedSourcemapsbooleanOptional
Specifies whether sourcemaps are protected and require authentication to access.
installCommandstringOptional
The install command for this project. When null is used this value will be automatically detected
namestringOptional
The desired name for the project
nodeVersionstringOptional
outputDirectorystringOptional
The output directory of the project. When null is used this value will be automatically detected
previewDeploymentsDisabledbooleanOptional
Specifies whether preview deployments are disabled for this project.
previewDeploymentSuffixstringOptional
Custom domain suffix for preview deployments. Takes precedence over team-level suffix. Must be a domain owned by the team.
resourceConfigobjectOptional
Specifies resource override configuration for the project
publicSourcebooleanOptionalDeprecated
Deprecated. Accepted for backwards compatibility but ignored.
rootDirectorystringOptional
The name of a directory or relative path to the source code of your project. When null is used it will default to the project root
serverlessFunctionRegionstringOptional
The region to deploy Serverless Functions in this project
serverlessFunctionZeroConfigFailoverbooleanOptional
skewProtectionBoundaryAtintegerOptional
Deployments created before this absolute datetime have Skew Protection disabled. Value is in milliseconds since epoch to match "createdAt" fields.
skewProtectionMaxAgeintegerOptional
Deployments created before this rolling window have Skew Protection disabled. Value is in seconds to match "revalidate" fields.
skewProtectionAllowedDomainsarrayOptional
Cross-site domains allowed to fetch skew-protected assets (hostnames, optionally with leading wildcard like *.example.com).
sourceFilesOutsideRootDirectorybooleanOptional
Indicates if there are source files outside of the root directory
enablePreviewFeedbackbooleanOptional
Opt-in to preview toolbar on the project level
enableProductionFeedbackbooleanOptional
Opt-in to production toolbar on the project level
enableAffectedProjectsDeploymentsbooleanOptional
Opt-in to skip deployments when there are no changes to the root directory and its dependencies
enableExternalRewriteCachingbooleanOptional
Specifies whether external rewrite caching is enabled for this project.
staticIpsobjectOptional
Manage Static IPs for this project
tracingobjectOptional
Tracing configuration for this project
oidcTokenConfigobjectOptional
OpenID Connect JSON Web Token generation configuration.
passwordProtectionobjectOptional
Allows to protect project deployments with a password
passportobjectOptional
Passport configuration for the project.
sandboxobjectOptional
Specifies the default region and failover regions for sandboxes created in the project
ssoProtectionobjectOptional
Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team
trustedIpsobjectOptional
Restricts access to deployments based on the incoming request IP address
trustedSourcesobjectOptional
Deployment Protection Trusted Sources
deploymentPolicyobjectOptional
Composable deployment-time policy. Each rule type holds a list of rules, one per environment scope.
optionsAllowlistobjectOptional
Specify a list of paths that should not be protected by Deployment Protection to enable Cors preflight requests
connectConfigurationsarrayOptional
The list of connections from project environments to dedicated Secure Compute networks. Shared networks must be managed through the shared-connect-links endpoint.
dismissedToastsarrayOptional
An array of objects representing a Dismissed Toast in regards to a Project. Objects are either merged with existing toasts (on key match), or added to the dimissedToasts array.`
200The project was successfully updated
accountIdstringRequired
aliasarrayRequired
analyticsobjectOptional
appliedCve55182MigrationbooleanOptional
autoAssignCustomDomainsbooleanOptional
autoAssignCustomDomainsUpdatedBystringOptional
autoExposeSystemEnvsbooleanOptional
avatarstringOptional
blobsobjectOptional
buildCommandstringOptional
commandForIgnoringBuildStepstringOptional
concurrencyBucketNamestringOptional
connectBuildsEnabledbooleanOptional
connectConfigurationIdstringOptional
connectConfigurationsarrayOptional
createdAtnumberOptional
creatorobjectOptional4 variants
cronsobjectOptional
customEnvironmentsarrayOptional
customerSupportCodeVisibilitybooleanOptional
dataCacheobjectOptional
defaultResourceConfigobjectRequired
deploymentExpirationobjectRequired
Retention policies for deployments. These are enforced at the project level, but we also maintain an instance of this at the team level as a default policy that gets applied to new projects.
deploymentPolicyobjectOptional
Project shape. null on a rule list clears the project's override for that rule type (fall back to team for every env); omitting is equivalent. Setting deploymentPolicy itself to null clears every override at once. Kept structurally distinct from {@link TeamDeploymentPolicy} so the two storage locations don't share a type by accident.
devCommandstringOptional
directoryListingbooleanRequired
dismissedToastsarrayOptional
enableAffectedProjectsDeploymentsbooleanOptional
enableExternalRewriteCachingbooleanOptional
enablePreviewFeedbackbooleanOptional
enableProductionFeedbackbooleanOptional
envarrayOptional
expirationobjectOptional2 variants
featuresobjectOptional
frameworkstringOptional
gitCommentsobjectOptional
gitForkProtectionbooleanOptional
gitLFSbooleanOptional
gitProviderOptionsobjectOptional
hasActiveBranchesbooleanOptional
hasDeploymentsbooleanOptional
idstringRequired
installCommandstringOptional
internalRoutesarrayOptional
ipBucketsarrayOptional
jobsobjectOptional
lastAliasRequestobjectOptional
lastRollbackTargetobjectOptional
latestDeploymentsarrayOptional
livebooleanOptional
microfrontendsobjectOptional3 variants
namestringRequired
nodeVersionstringRequired
oidcTokenConfigobjectOptional
optionsAllowlistobjectOptional
outputDirectorystringOptional
passiveConnectConfigurationIdstringOptional
passportobjectOptional
passwordProtectionobjectOptional
pausedbooleanOptional
permissionsobjectOptional
Requested and authorized operations when checkPermissions is used. Legacy includePermissions responses contain a broader, non-authoritative permission summary.
productionDeploymentsFastLanebooleanOptional
protectedSourcemapsbooleanOptional
protectionBypassobjectOptional
protectionConfigobjectOptional
resourceConfigobjectRequired
rollbackDescriptionobjectOptional
Description of why a project was rolled back, and by whom. Note that lastAliasRequest contains the from/to details of the rollback.
rollingReleaseobjectOptional
Project-level rolling release configuration that defines how deployments should be gradually rolled out
rootDirectorystringOptional
sandboxobjectOptional
securityobjectOptional
serverlessFunctionZeroConfigFailoverbooleanOptional
servicesarrayOptional
skewProtectionAllowedDomainsarrayOptional
skewProtectionBoundaryAtnumberOptional
skewProtectionMaxAgenumberOptional
sourceFilesOutsideRootDirectorybooleanOptional
speedInsightsobjectOptional
ssoProtectionobjectOptional
staticIpsobjectOptional
targetsobjectOptional
tierstringOptional
tracingobjectOptional
transferCompletedAtnumberOptional
transferredFromAccountIdstringOptional
transferStartedAtnumberOptional
transferToAccountIdstringOptional
trustedIpsobjectOptional2 variants
trustedSourcesobjectOptional
updatedAtnumberOptional
usageStatusobjectOptional
v0booleanOptional
v0CreatedbooleanOptional
webAnalyticsobjectOptional
400One of the provided values in the request body is invalid. One of the provided values in the request query is invalid. Trusted IPs is only accessible for enterprise customers. This plan gate runs before the ACL check below on purpose: it depends only on the team's billing plan, so it can reject unsupported plans deterministically. `auth.can` resolves team membership (a DynamoDB lookup) and rejecting here first avoids depending on that external read for a request that is invalid regardless of authorization.
401The request is not authorized.
402The account is missing a payment so payment method must be updated Pro customers are allowed to deploy Serverless Functions to up to `proMaxRegions` regions, or if the project was created before the limit was introduced. Deploying to Serverless Functions to multiple regions requires a plan update
403You do not have permission to access this resource.
404Error
409The provided name for the project is already being used The project is currently being transferred.
410Error
428Error