Skip to main content
POST
/
v11
/
projects
createProject
import { Vercel } from "@vercel/sdk";

const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});

async function run() {
  const result = await vercel.projects.createProject({
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
    requestBody: {
      name: "a-project-name",
    },
  });

  console.log(result);
}

run();
{
  "accountId": "<string>",
  "directoryListing": false,
  "id": "<string>",
  "name": "<string>",
  "nodeVersion": "24.x",
  "resourceConfig": {
    "functionDefaultRegions": [
      "<string>"
    ],
    "elasticConcurrencyEnabled": false,
    "fluid": false,
    "functionDefaultTimeout": 123,
    "functionDefaultMemoryType": "standard_legacy",
    "functionZeroConfigFailover": false,
    "buildMachineType": "enhanced",
    "isNSNBDisabled": false,
    "buildQueue": {
      "configuration": "SKIP_NAMESPACE_QUEUE"
    }
  },
  "defaultResourceConfig": {
    "functionDefaultRegions": [
      "<string>"
    ],
    "elasticConcurrencyEnabled": false,
    "fluid": false,
    "functionDefaultTimeout": 123,
    "functionDefaultMemoryType": "standard_legacy",
    "functionZeroConfigFailover": false,
    "buildMachineType": "enhanced",
    "isNSNBDisabled": false,
    "buildQueue": {
      "configuration": "SKIP_NAMESPACE_QUEUE"
    }
  },
  "analytics": {
    "id": "<string>",
    "disabledAt": 123,
    "enabledAt": 123,
    "canceledAt": 123,
    "paidAt": 123,
    "sampleRatePercent": 123,
    "spendLimitInDollars": 123
  },
  "appliedCve55182Migration": false,
  "speedInsights": {
    "id": "<string>",
    "enabledAt": 123,
    "disabledAt": 123,
    "canceledAt": 123,
    "hasData": false,
    "paidAt": 123
  },
  "autoExposeSystemEnvs": false,
  "autoAssignCustomDomains": false,
  "autoAssignCustomDomainsUpdatedBy": "<string>",
  "buildCommand": "<string>",
  "commandForIgnoringBuildStep": "<string>",
  "connectConfigurations": [
    {
      "envId": "<string>",
      "connectConfigurationId": "<string>",
      "passive": false,
      "buildsEnabled": false,
      "createdAt": 123,
      "updatedAt": 123,
      "dc": "<string>",
      "aws": {
        "subnetIds": [
          "<string>"
        ],
        "securityGroupId": "<string>"
      }
    }
  ],
  "connectConfigurationId": "<string>",
  "connectBuildsEnabled": false,
  "passiveConnectConfigurationId": "<string>",
  "createdAt": 123,
  "customerSupportCodeVisibility": false,
  "crons": {
    "enabledAt": 123,
    "disabledAt": 123,
    "updatedAt": 123,
    "deploymentId": "<string>",
    "definitions": [
      {
        "host": "vercel.com",
        "path": "/api/crons/sync-something?hello=world",
        "schedule": "0 0 * * *"
      }
    ]
  },
  "dataCache": {
    "userDisabled": false,
    "storageSizeBytes": 123,
    "unlimited": false
  },
  "deploymentExpiration": {
    "expirationDays": 123,
    "expirationDaysProduction": 123,
    "expirationDaysCanceled": 123,
    "expirationDaysErrored": 123,
    "deploymentsToKeep": 123
  },
  "devCommand": "<string>",
  "installCommand": "<string>",
  "env": [
    {
      "type": "secret",
      "value": "<string>",
      "key": "<string>",
      "target": [
        "production"
      ],
      "sunsetSecretId": "<string>",
      "legacyValue": "<string>",
      "decrypted": false,
      "vsmValue": "<string>",
      "id": "<string>",
      "configurationId": "<string>",
      "createdAt": 123,
      "updatedAt": 123,
      "createdBy": "<string>",
      "updatedBy": "<string>",
      "gitBranch": "<string>",
      "edgeConfigId": "<string>",
      "edgeConfigTokenId": "<string>",
      "contentHint": {
        "type": "redis-url",
        "storeId": "<string>"
      },
      "internalContentHint": {
        "type": "flags-secret",
        "encryptedValue": "<string>"
      },
      "comment": "<string>",
      "customEnvironmentIds": [
        "<string>"
      ]
    }
  ],
  "customEnvironments": [
    {
      "id": "<string>",
      "slug": "<string>",
      "type": "production",
      "createdAt": 123,
      "updatedAt": 123,
      "description": "<string>",
      "branchMatcher": {
        "type": "endsWith",
        "pattern": "<string>"
      },
      "domains": [
        {
          "name": "<string>",
          "apexName": "<string>",
          "projectId": "<string>",
          "verified": false,
          "redirect": "<string>",
          "redirectStatusCode": 301,
          "gitBranch": "<string>",
          "customEnvironmentId": "<string>",
          "updatedAt": 123,
          "createdAt": 123,
          "verification": [
            {
              "type": "<string>",
              "domain": "<string>",
              "value": "<string>",
              "reason": "<string>"
            }
          ]
        }
      ],
      "currentDeploymentAliases": [
        "<string>"
      ]
    }
  ],
  "framework": "blitzjs",
  "gitForkProtection": false,
  "gitLFS": false,
  "ipBuckets": [
    {
      "bucket": "<string>",
      "supportUntil": 123
    }
  ],
  "latestDeployments": [
    {
      "createdAt": 123,
      "createdIn": "<string>",
      "creator": {
        "email": "<string>",
        "uid": "<string>",
        "username": "<string>",
        "githubLogin": "<string>",
        "gitlabLogin": "<string>"
      },
      "deploymentHostname": "<string>",
      "name": "<string>",
      "id": "<string>",
      "plan": "<string>",
      "private": false,
      "readyState": "<string>",
      "type": "<string>",
      "url": "<string>",
      "userId": "<string>",
      "alias": [
        "<string>"
      ],
      "aliasAssigned": 123,
      "builds": [
        {
          "use": "<string>",
          "src": "<string>",
          "dest": "<string>"
        }
      ],
      "forced": false,
      "meta": {},
      "requestedAt": 123,
      "target": "<string>",
      "teamId": "<string>",
      "withCache": false
    }
  ],
  "link": {
    "org": "<string>",
    "type": "github",
    "deployHooks": [
      {
        "id": "<string>",
        "name": "<string>",
        "ref": "<string>",
        "url": "<string>",
        "createdAt": 123
      }
    ],
    "gitCredentialId": "<string>",
    "productionBranch": "<string>",
    "repoOwnerId": 123,
    "repo": "<string>",
    "repoId": 123,
    "createdAt": 123,
    "updatedAt": 123,
    "sourceless": false
  },
  "microfrontends": {
    "isDefaultApp": true,
    "updatedAt": 123,
    "groupIds": [
      "<string>"
    ],
    "enabled": true,
    "defaultRoute": "<string>",
    "freeProjectForLegacyLimits": false
  },
  "optionsAllowlist": {
    "paths": [
      {
        "value": "<string>"
      }
    ]
  },
  "outputDirectory": "<string>",
  "passwordProtection": {},
  "productionDeploymentsFastLane": false,
  "publicSource": false,
  "rollbackDescription": {
    "userId": "<string>",
    "username": "<string>",
    "description": "<string>",
    "createdAt": 123
  },
  "rollingRelease": {
    "target": "production",
    "stages": [
      {
        "targetPercentage": 25,
        "requireApproval": false,
        "duration": 600,
        "linearShift": false
      }
    ],
    "canaryResponseHeader": false
  },
  "rootDirectory": "<string>",
  "serverlessFunctionZeroConfigFailover": false,
  "skewProtectionBoundaryAt": 123,
  "skewProtectionMaxAge": 123,
  "skewProtectionAllowedDomains": [
    "<string>"
  ],
  "skipGitConnectDuringLink": false,
  "staticIps": {
    "builds": false,
    "enabled": false,
    "regions": [
      "<string>"
    ]
  },
  "sourceFilesOutsideRootDirectory": false,
  "enableAffectedProjectsDeployments": false,
  "ssoProtection": {
    "deploymentType": "preview",
    "cve55182MigrationAppliedFrom": "preview"
  },
  "targets": {},
  "transferCompletedAt": 123,
  "transferStartedAt": 123,
  "transferToAccountId": "<string>",
  "transferredFromAccountId": "<string>",
  "updatedAt": 123,
  "live": false,
  "enablePreviewFeedback": false,
  "enableProductionFeedback": false,
  "permissions": {
    "oauth2Connection": [
      "create"
    ],
    "user": [
      "create"
    ],
    "userConnection": [
      "create"
    ],
    "userSudo": [
      "create"
    ],
    "webAuthn": [
      "create"
    ],
    "accessGroup": [
      "create"
    ],
    "agent": [
      "create"
    ],
    "alerts": [
      "create"
    ],
    "alertRules": [
      "create"
    ],
    "aliasGlobal": [
      "create"
    ],
    "analyticsSampling": [
      "create"
    ],
    "analyticsUsage": [
      "create"
    ],
    "apiKey": [
      "create"
    ],
    "apiKeyAiGateway": [
      "create"
    ],
    "apiKeyOwnedBySelf": [
      "create"
    ],
    "oauth2Application": [
      "create"
    ],
    "vercelAppInstallation": [
      "create"
    ],
    "vercelAppInstallationRequest": [
      "create"
    ],
    "auditLog": [
      "create"
    ],
    "billingAddress": [
      "create"
    ],
    "billingInformation": [
      "create"
    ],
    "billingInvoice": [
      "create"
    ],
    "billingInvoiceEmailRecipient": [
      "create"
    ],
    "billingInvoiceLanguage": [
      "create"
    ],
    "billingPlan": [
      "create"
    ],
    "billingPurchaseOrder": [
      "create"
    ],
    "billingRefund": [
      "create"
    ],
    "billingTaxId": [
      "create"
    ],
    "blob": [
      "create"
    ],
    "blobStoreTokenSet": [
      "create"
    ],
    "budget": [
      "create"
    ],
    "cacheArtifact": [
      "create"
    ],
    "cacheArtifactUsageEvent": [
      "create"
    ],
    "codeChecks": [
      "create"
    ],
    "concurrentBuilds": [
      "create"
    ],
    "connect": [
      "create"
    ],
    "connectConfiguration": [
      "create"
    ],
    "buildMachineDefault": [
      "create"
    ],
    "dataCacheBillingSettings": [
      "create"
    ],
    "defaultDeploymentProtection": [
      "create"
    ],
    "domain": [
      "create"
    ],
    "domainAcceptDelegation": [
      "create"
    ],
    "domainAuthCodes": [
      "create"
    ],
    "domainCertificate": [
      "create"
    ],
    "domainCheckConfig": [
      "create"
    ],
    "domainMove": [
      "create"
    ],
    "domainPurchase": [
      "create"
    ],
    "domainRecord": [
      "create"
    ],
    "domainTransferIn": [
      "create"
    ],
    "drain": [
      "create"
    ],
    "edgeConfig": [
      "create"
    ],
    "edgeConfigItem": [
      "create"
    ],
    "edgeConfigSchema": [
      "create"
    ],
    "edgeConfigToken": [
      "create"
    ],
    "endpointVerification": [
      "create"
    ],
    "event": [
      "create"
    ],
    "fileUpload": [
      "create"
    ],
    "flagsExplorerSubscription": [
      "create"
    ],
    "gitRepository": [
      "create"
    ],
    "imageOptimizationNewPrice": [
      "create"
    ],
    "integration": [
      "create"
    ],
    "integrationAccount": [
      "create"
    ],
    "integrationConfiguration": [
      "create"
    ],
    "integrationConfigurationProjects": [
      "create"
    ],
    "integrationConfigurationRole": [
      "create"
    ],
    "integrationConfigurationTransfer": [
      "create"
    ],
    "integrationDeploymentAction": [
      "create"
    ],
    "integrationEvent": [
      "create"
    ],
    "integrationLog": [
      "create"
    ],
    "integrationResource": [
      "create"
    ],
    "integrationResourceReplCommand": [
      "create"
    ],
    "integrationResourceSecrets": [
      "create"
    ],
    "integrationSSOSession": [
      "create"
    ],
    "integrationStoreTokenSet": [
      "create"
    ],
    "integrationVercelConfigurationOverride": [
      "create"
    ],
    "integrationPullRequest": [
      "create"
    ],
    "ipBlocking": [
      "create"
    ],
    "jobGlobal": [
      "create"
    ],
    "logDrain": [
      "create"
    ],
    "marketplaceBillingData": [
      "create"
    ],
    "marketplaceExperimentationEdgeConfigData": [
      "create"
    ],
    "marketplaceExperimentationItem": [
      "create"
    ],
    "marketplaceInstallationMember": [
      "create"
    ],
    "marketplaceInvoice": [
      "create"
    ],
    "marketplaceSettings": [
      "create"
    ],
    "Monitoring": [
      "create"
    ],
    "monitoringAlert": [
      "create"
    ],
    "monitoringChart": [
      "create"
    ],
    "monitoringQuery": [
      "create"
    ],
    "monitoringSettings": [
      "create"
    ],
    "notificationCustomerBudget": [
      "create"
    ],
    "notificationDeploymentFailed": [
      "create"
    ],
    "notificationDomainConfiguration": [
      "create"
    ],
    "notificationDomainExpire": [
      "create"
    ],
    "notificationDomainMoved": [
      "create"
    ],
    "notificationDomainPurchase": [
      "create"
    ],
    "notificationDomainRenewal": [
      "create"
    ],
    "notificationDomainTransfer": [
      "create"
    ],
    "notificationDomainUnverified": [
      "create"
    ],
    "NotificationMonitoringAlert": [
      "create"
    ],
    "notificationPaymentFailed": [
      "create"
    ],
    "notificationPreferences": [
      "create"
    ],
    "notificationStatementOfReasons": [
      "create"
    ],
    "notificationUsageAlert": [
      "create"
    ],
    "observabilityConfiguration": [
      "create"
    ],
    "observabilityFunnel": [
      "create"
    ],
    "observabilityNotebook": [
      "create"
    ],
    "openTelemetryEndpoint": [
      "create"
    ],
    "ownEvent": [
      "create"
    ],
    "organizationDomain": [
      "create"
    ],
    "passwordProtectionInvoiceItem": [
      "create"
    ],
    "paymentMethod": [
      "create"
    ],
    "permissions": [
      "create"
    ],
    "postgres": [
      "create"
    ],
    "postgresStoreTokenSet": [
      "create"
    ],
    "previewDeploymentSuffix": [
      "create"
    ],
    "projectTransferIn": [
      "create"
    ],
    "proTrialOnboarding": [
      "create"
    ],
    "rateLimit": [
      "create"
    ],
    "redis": [
      "create"
    ],
    "redisStoreTokenSet": [
      "create"
    ],
    "remoteCaching": [
      "create"
    ],
    "repository": [
      "create"
    ],
    "samlConfig": [
      "create"
    ],
    "secret": [
      "create"
    ],
    "securityPlusConfiguration": [
      "create"
    ],
    "sensitiveEnvironmentVariablePolicy": [
      "create"
    ],
    "sharedEnvVars": [
      "create"
    ],
    "sharedEnvVarsProduction": [
      "create"
    ],
    "space": [
      "create"
    ],
    "spaceRun": [
      "create"
    ],
    "storeTransfer": [
      "create"
    ],
    "supportCase": [
      "create"
    ],
    "supportCaseComment": [
      "create"
    ],
    "team": [
      "create"
    ],
    "teamAccessRequest": [
      "create"
    ],
    "teamFellowMembership": [
      "create"
    ],
    "teamGitExclusivity": [
      "create"
    ],
    "teamInvite": [
      "create"
    ],
    "teamInviteCode": [
      "create"
    ],
    "teamJoin": [
      "create"
    ],
    "teamMemberMfaStatus": [
      "create"
    ],
    "teamMicrofrontends": [
      "create"
    ],
    "teamOwnMembership": [
      "create"
    ],
    "teamOwnMembershipDisconnectSAML": [
      "create"
    ],
    "token": [
      "create"
    ],
    "usage": [
      "create"
    ],
    "usageCycle": [
      "create"
    ],
    "vercelRun": [
      "create"
    ],
    "vercelRunExec": [
      "create"
    ],
    "vpcPeeringConnection": [
      "create"
    ],
    "webAnalyticsPlan": [
      "create"
    ],
    "webhook": [
      "create"
    ],
    "webhook-event": [
      "create"
    ],
    "aliasProject": [
      "create"
    ],
    "aliasProtectionBypass": [
      "create"
    ],
    "buildMachine": [
      "create"
    ],
    "connectConfigurationLink": [
      "create"
    ],
    "dataCacheNamespace": [
      "create"
    ],
    "deployment": [
      "create"
    ],
    "deploymentBuildLogs": [
      "create"
    ],
    "deploymentCheck": [
      "create"
    ],
    "deploymentCheckPreview": [
      "create"
    ],
    "deploymentCheckReRunFromProductionBranch": [
      "create"
    ],
    "deploymentProductionGit": [
      "create"
    ],
    "deploymentV0": [
      "create"
    ],
    "deploymentPreview": [
      "create"
    ],
    "deploymentPrivate": [
      "create"
    ],
    "deploymentPromote": [
      "create"
    ],
    "deploymentRollback": [
      "create"
    ],
    "edgeCacheNamespace": [
      "create"
    ],
    "environments": [
      "create"
    ],
    "job": [
      "create"
    ],
    "logs": [
      "create"
    ],
    "logsPreset": [
      "create"
    ],
    "observabilityData": [
      "create"
    ],
    "onDemandBuild": [
      "create"
    ],
    "onDemandConcurrency": [
      "create"
    ],
    "optionsAllowlist": [
      "create"
    ],
    "passwordProtection": [
      "create"
    ],
    "productionAliasProtectionBypass": [
      "create"
    ],
    "project": [
      "create"
    ],
    "projectAccessGroup": [
      "create"
    ],
    "projectAnalyticsSampling": [
      "create"
    ],
    "projectAnalyticsUsage": [
      "create"
    ],
    "projectCheck": [
      "create"
    ],
    "projectCheckRun": [
      "create"
    ],
    "projectDeploymentExpiration": [
      "create"
    ],
    "projectDeploymentHook": [
      "create"
    ],
    "projectDeploymentProtectionStrict": [
      "create"
    ],
    "projectDomain": [
      "create"
    ],
    "projectDomainCheckConfig": [
      "create"
    ],
    "projectDomainMove": [
      "create"
    ],
    "projectEnvVars": [
      "create"
    ],
    "projectEnvVarsProduction": [
      "create"
    ],
    "projectEnvVarsUnownedByIntegration": [
      "create"
    ],
    "projectFlags": [
      "create"
    ],
    "projectFlagsProduction": [
      "create"
    ],
    "projectFromV0": [
      "create"
    ],
    "projectId": [
      "create"
    ],
    "projectIntegrationConfiguration": [
      "create"
    ],
    "projectLink": [
      "create"
    ],
    "projectMember": [
      "create"
    ],
    "projectMonitoring": [
      "create"
    ],
    "projectOIDCToken": [
      "create"
    ],
    "projectPermissions": [
      "create"
    ],
    "projectProductionBranch": [
      "create"
    ],
    "projectProtectionBypass": [
      "create"
    ],
    "projectRollingRelease": [
      "create"
    ],
    "projectSupportCase": [
      "create"
    ],
    "projectSupportCaseComment": [
      "create"
    ],
    "projectTier": [
      "create"
    ],
    "projectTransfer": [
      "create"
    ],
    "projectTransferOut": [
      "create"
    ],
    "projectUsage": [
      "create"
    ],
    "seawallConfig": [
      "create"
    ],
    "sharedEnvVarConnection": [
      "create"
    ],
    "skewProtection": [
      "create"
    ],
    "analytics": [
      "create"
    ],
    "trustedIps": [
      "create"
    ],
    "v0Chat": [
      "create"
    ],
    "webAnalytics": [
      "create"
    ]
  },
  "lastRollbackTarget": {},
  "lastAliasRequest": {
    "fromDeploymentId": "<string>",
    "toDeploymentId": "<string>",
    "jobStatus": "succeeded",
    "requestedAt": 123,
    "type": "promote",
    "fromRollingReleaseId": "<string>"
  },
  "protectionBypass": {},
  "hasActiveBranches": false,
  "trustedIps": {
    "deploymentType": "production",
    "addresses": [
      {
        "value": "<string>",
        "note": "<string>"
      }
    ],
    "protectionMode": "additional"
  },
  "gitComments": {
    "onPullRequest": false,
    "onCommit": false
  },
  "gitProviderOptions": {
    "createDeployments": "enabled",
    "disableRepositoryDispatchEvents": false,
    "requireVerifiedCommits": false
  },
  "paused": false,
  "concurrencyBucketName": "<string>",
  "webAnalytics": {
    "id": "<string>",
    "disabledAt": 123,
    "canceledAt": 123,
    "enabledAt": 123,
    "hasData": true
  },
  "security": {
    "attackModeEnabled": false,
    "attackModeUpdatedAt": 123,
    "firewallEnabled": false,
    "firewallUpdatedAt": 123,
    "attackModeActiveUntil": 123,
    "firewallConfigVersion": 123,
    "firewallSeawallEnabled": false,
    "ja3Enabled": false,
    "ja4Enabled": false,
    "firewallBypassIps": [
      "<string>"
    ],
    "managedRules": {
      "vercel_ruleset": {
        "active": false,
        "action": "log"
      },
      "bot_filter": {
        "active": false,
        "action": "log"
      },
      "ai_bots": {
        "active": false,
        "action": "log"
      },
      "owasp": {
        "active": false,
        "action": "log"
      }
    },
    "botIdEnabled": false
  },
  "oidcTokenConfig": {
    "enabled": false,
    "issuerMode": "team"
  },
  "tier": "standard",
  "features": {
    "webAnalytics": false
  },
  "v0": false,
  "abuse": {
    "history": [
      {
        "scanner": "<string>",
        "reason": "<string>",
        "by": "<string>",
        "byId": "<string>",
        "at": 123
      }
    ],
    "updatedAt": 123,
    "scanner": "<string>",
    "block": {
      "action": "blocked",
      "reason": "<string>",
      "statusCode": 123,
      "createdAt": 123,
      "caseId": "<string>",
      "actor": "<string>",
      "comment": "<string>",
      "ineligibleForAppeal": false,
      "isCascading": false
    },
    "blockHistory": [
      {
        "action": "blocked",
        "reason": "<string>",
        "statusCode": 123,
        "createdAt": 123,
        "caseId": "<string>",
        "actor": "<string>",
        "comment": "<string>",
        "ineligibleForAppeal": false,
        "isCascading": false
      }
    ],
    "interstitial": false
  },
  "internalRoutes": [
    {
      "src": "<string>",
      "status": 123
    }
  ],
  "hasDeployments": false,
  "dismissedToasts": [
    {
      "key": "<string>",
      "dismissedAt": 123,
      "action": "delete",
      "value": "<string>"
    }
  ],
  "protectedSourcemaps": false
}

Authorizations

Authorization
string
header
required

Default authentication mechanism

Query Parameters

teamId
string

The Team identifier to perform the request on behalf of.

Example:

"team_1a2b3c4d5e6f7g8h9i0j1k2l"

slug
string

The Team slug to perform the request on behalf of.

Example:

"my-team-url-slug"

Body

application/json
name
string
required

The desired name for the project

Maximum string length: 100
Example:

"a-project-name"

enablePreviewFeedback
boolean | null

Opt-in to preview toolbar on the project level

enableProductionFeedback
boolean | null

Opt-in to production toolbar on the project level

previewDeploymentsDisabled
boolean | null

Specifies whether preview deployments are disabled for this project.

previewDeploymentSuffix
string | null

Custom domain suffix for preview deployments. Takes precedence over team-level suffix. Must be a domain owned by the team.

Maximum string length: 253
buildCommand
string | null

The build command for this project. When null is used this value will be automatically detected

Maximum string length: 256
commandForIgnoringBuildStep
string | null
Maximum string length: 256
devCommand
string | null

The dev command for this project. When null is used this value will be automatically detected

Maximum string length: 256
environmentVariables
object[]

Collection of ENV Variables the Project will use

framework
any

The framework that is being used for this project. When null is used no framework is selected

Available options:
,
blitzjs,
nextjs,
gatsby,
remix,
react-router,
astro,
hexo,
eleventy,
docusaurus-2,
docusaurus,
preact,
solidstart-1,
solidstart,
dojo,
ember,
vue,
scully,
ionic-angular,
angular,
polymer,
svelte,
sveltekit,
sveltekit-1,
ionic-react,
create-react-app,
gridsome,
umijs,
sapper,
saber,
stencil,
nuxtjs,
redwoodjs,
hugo,
jekyll,
brunch,
middleman,
zola,
hydrogen,
vite,
tanstack-start,
vitepress,
vuepress,
parcel,
fastapi,
flask,
fasthtml,
sanity-v3,
sanity,
storybook,
nitro,
hono,
express,
h3,
koa,
nestjs,
elysia,
fastify,
xmcp,
python,
ruby,
rust,
node,
services
gitRepository
object

The Git Repository that will be connected to the project. When this is defined, any pushes to the specified connected Git Repository will be automatically deployed

installCommand
string | null

The install command for this project. When null is used this value will be automatically detected

Maximum string length: 256

Opts-out of the message prompting a CLI user to connect a Git repository in vercel link.

ssoProtection
object

The Vercel Auth setting for the project (historically named "SSO Protection")

outputDirectory
string | null

The output directory of the project. When null is used this value will be automatically detected

Maximum string length: 256
publicSource
boolean | null

Specifies whether the source code and logs of the deployments for this project should be public or not

rootDirectory
string | null

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

Maximum string length: 256
serverlessFunctionRegion
string | null

The region to deploy Serverless Functions in this project

Maximum string length: 4
serverlessFunctionZeroConfigFailover
boolean

Specifies whether Zero Config Failover is enabled for this project.

oidcTokenConfig
object

OpenID Connect JSON Web Token generation configuration.

enableAffectedProjectsDeployments
boolean

Opt-in to skip deployments when there are no changes to the root directory and its dependencies

resourceConfig
object

Specifies resource override configuration for the project

Response

The project was successfuly created

accountId
string
required
directoryListing
enum<boolean>
required
Available options:
true,
false
id
string
required
name
string
required
nodeVersion
enum<string>
required
Available options:
24.x,
22.x,
20.x,
18.x,
16.x,
14.x,
12.x,
10.x,
8.10.x
resourceConfig
object
required
defaultResourceConfig
object
required
analytics
object
appliedCve55182Migration
enum<boolean>
Available options:
true,
false
speedInsights
object
autoExposeSystemEnvs
enum<boolean>
Available options:
true,
false
autoAssignCustomDomains
enum<boolean>
Available options:
true,
false
autoAssignCustomDomainsUpdatedBy
string
buildCommand
string | null
commandForIgnoringBuildStep
string | null
connectConfigurations
object[] | null
connectConfigurationId
string | null
connectBuildsEnabled
enum<boolean>
Available options:
true,
false
passiveConnectConfigurationId
string | null
createdAt
number
customerSupportCodeVisibility
enum<boolean>
Available options:
true,
false
crons
object
dataCache
object
deploymentExpiration
object

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.

devCommand
string | null
installCommand
string | null
env
object[]
customEnvironments
object[]
framework
enum<string> | null
Available options:
blitzjs,
nextjs,
gatsby,
remix,
react-router,
astro,
hexo,
eleventy,
docusaurus-2,
docusaurus,
preact,
solidstart-1,
solidstart,
dojo,
ember,
vue,
scully,
ionic-angular,
angular,
polymer,
svelte,
sveltekit,
sveltekit-1,
ionic-react,
create-react-app,
gridsome,
umijs,
sapper,
saber,
stencil,
nuxtjs,
redwoodjs,
hugo,
jekyll,
brunch,
middleman,
zola,
hydrogen,
vite,
tanstack-start,
vitepress,
vuepress,
parcel,
fastapi,
flask,
fasthtml,
sanity-v3,
sanity,
storybook,
nitro,
hono,
express,
h3,
koa,
nestjs,
elysia,
fastify,
xmcp,
python,
ruby,
rust,
node,
services
gitForkProtection
enum<boolean>
Available options:
true,
false
gitLFS
enum<boolean>
Available options:
true,
false
ipBuckets
object[]
latestDeployments
object[]
microfrontends
object
optionsAllowlist
object
outputDirectory
string | null
passwordProtection
object
productionDeploymentsFastLane
enum<boolean>
Available options:
true,
false
publicSource
enum<boolean> | null
Available options:
true,
false
rollbackDescription
object

Description of why a project was rolled back, and by whom. Note that lastAliasRequest contains the from/to details of the rollback.

rollingRelease
object

Project-level rolling release configuration that defines how deployments should be gradually rolled out

rootDirectory
string | null
serverlessFunctionZeroConfigFailover
enum<boolean>
Available options:
true,
false
skewProtectionBoundaryAt
number
skewProtectionMaxAge
number
skewProtectionAllowedDomains
string[]
Available options:
true,
false
staticIps
object
sourceFilesOutsideRootDirectory
enum<boolean>
Available options:
true,
false
enableAffectedProjectsDeployments
enum<boolean>
Available options:
true,
false
ssoProtection
object
targets
object
transferCompletedAt
number
transferStartedAt
number
transferToAccountId
string
transferredFromAccountId
string
updatedAt
number
live
enum<boolean>
Available options:
true,
false
enablePreviewFeedback
enum<boolean> | null
Available options:
true,
false
enableProductionFeedback
enum<boolean> | null
Available options:
true,
false
permissions
object
lastRollbackTarget
object
lastAliasRequest
object
protectionBypass
object
hasActiveBranches
enum<boolean>
Available options:
true,
false
trustedIps
object
gitComments
object
gitProviderOptions
object
paused
enum<boolean>
Available options:
true,
false
concurrencyBucketName
string
webAnalytics
object
security
object
oidcTokenConfig
object
tier
enum<string>
Available options:
standard,
advanced,
critical
features
object
v0
enum<boolean>
Available options:
true,
false
abuse
object
internalRoutes
object[]
hasDeployments
enum<boolean>
Available options:
true,
false
dismissedToasts
object[]
protectedSourcemaps
enum<boolean>
Available options:
true,
false