Add environment variables to a project
In this example, you will add new environment variables to a project and list the details of the added values.run.ts
Copy
Ask AI
import { Vercel } from '@vercel/sdk'; const vercel = new Vercel({ bearerToken: process.env.VERCEL_TOKEN, }); const projectName = 'my-project'; //The project name used in the deployment URL async function addAndListEnvVars() { try { // Add new environment variables const addResponse = await vercel.projects.createProjectEnv({ idOrName: projectName, upsert: 'true', requestBody: [ { key: 'API_KEY', value: 'secret_value', target: ['production', 'preview'], type: 'encrypted', }, { key: 'DEBUG', value: 'true', target: ['development'], type: 'plain', }, ], }); console.log( 'Added environment variables:', JSON.stringify(addResponse, null, 2), ); } catch (error) { console.error( error instanceof Error ? `Error: ${error.message}` : String(error), ); } } addAndListEnvVars();
Manage variables across projects
In this example, you manage environment variables across multiple projects and environments.run.ts
Copy
Ask AI
import { Vercel } from '@vercel/sdk'; import { OneTarget } from '@vercel/sdk/models/operations/createprojectenv'; const PROJECTS = ['project-id-1', 'project-id-2', 'project-id-3']; const environments = ['development', 'preview', 'production']; const VERCEL_TOKEN = process.env.VERCEL_TOKEN; const vercel = new Vercel({ bearerToken: VERCEL_TOKEN, }); async function manageEnvironmentVariables() { try { const variables = [ { key: 'API_URL', value: 'https://api.example.com' }, { key: 'DEBUG', value: 'true', environments: ['development', 'preview'] }, { key: 'SECRET_KEY', value: 'super-secret-key', encrypt: true, environments: ['production', 'preview'], }, ]; for (const projectId of PROJECTS) { console.log(`Managing environment variables for project: ${projectId}`); for (const variable of variables) { const targets = (variable.environments as OneTarget[]) || (environments as OneTarget[]); const addEnv = await vercel.projects.createProjectEnv({ idOrName: projectId, upsert: 'true', requestBody: { key: variable.key, value: variable.value, target: targets, type: variable.encrypt ? 'encrypted' : 'plain', }, }); console.log(addEnv.created); } const readEnvs = await vercel.projects.filterProjectEnvs({ idOrName: projectId, }); console.log( 'Env Details for ', projectId, ':', JSON.stringify(readEnvs, null, 2), ); } } catch (error) { console.error('Error:', error.response?.data || error.message); } } manageEnvironmentVariables();