Skip to main content
Every vercel.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Projects

getProjects

projects.getProjects Get all projects Risk: read
await corsair.vercel.api.projects.getProjects({});
Input
NameTypeRequiredDescription
limitnumberNo
untilnumberNo
sincenumberNo
teamIdstringNo
Output
NameTypeRequiredDescription
projectsarrayYes
paginationobjectYes
{
  projects: {
    id: string;
    name: string;
    accountId: string;
    createdAt: number;
    updatedAt: number;
    framework: string | null;
    link?: {
      type: string;
      repo: string;
      repoId?: number;
      org?: string | null;
      gitCredentialId?: string | null;
      productionBranch?: string | null;
      createdAt?: number | null;
      updatedAt?: number | null;
      deployHooks?: unknown[] | null;
    } | null;
    latestDeployments?: any[] | null;
    targets?: Record<string, any> | null;
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}

getProject

projects.getProject Get project details Risk: read
await corsair.vercel.api.projects.getProject({ idOrName: 'my-project' });
Input
NameTypeRequiredDescription
idOrNamestringYes
teamIdstringNo
Output
NameTypeRequiredDescription
idstringYes
namestringYes
accountIdstringYes
createdAtnumberYes
updatedAtnumberYes
frameworkstringNo
linkobjectNo
latestDeploymentsarrayNo
targetsobjectNo
{
  id: string;
  name: string;
  accountId: string;
  createdAt: number;
  updatedAt: number;
  framework: string | null;
  link?: {
    type: string;
    repo: string;
    repoId?: number;
    org?: string | null;
    gitCredentialId?: string | null;
    productionBranch?: string | null;
    createdAt?: number | null;
    updatedAt?: number | null;
    deployHooks?: unknown[] | null;
  } | null;
  latestDeployments?: any[] | null;
  targets?: Record<string, any> | null;
}

Deployments

getDeployments

deployments.getDeployments Get all deployments Risk: read
await corsair.vercel.api.deployments.getDeployments({});
Input
NameTypeRequiredDescription
projectIdstringNo
limitnumberNo
untilnumberNo
teamIdstringNo
Output
NameTypeRequiredDescription
deploymentsarrayYes
paginationobjectYes
{
  deployments: {
    uid: string;
    name: string;
    url: string;
    created: number;
    readyState: string;
    type: 'LAMBDAS' | 'PREBUILT' | 'STATIC' | string;
    creator?: {
      uid: string;
      email: string;
      username: string;
    } | null;
    meta?: Record<string, string> | null;
    target: 'production' | 'staging' | string | null;
    aliasError?: {
      code: string;
      message: string;
    } | null;
    aliasAssigned?: number | null;
    inspectorUrl?: string | null;
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}

getDeployment

deployments.getDeployment Get deployment details Risk: read
await corsair.vercel.api.deployments.getDeployment({ idOrUrl: 'dpl_xxx' });
Input
NameTypeRequiredDescription
idOrUrlstringYes
teamIdstringNo
Output
NameTypeRequiredDescription
uidstringYes
namestringYes
urlstringYes
creatednumberYes
readyStatestringYes
typestringYes
creatorobjectNo
metaobjectNo
targetstringNo
aliasErrorobjectNo
aliasAssignednumberNo
inspectorUrlstringNo
{
  uid: string;
  name: string;
  url: string;
  created: number;
  readyState: string;
  type: 'LAMBDAS' | 'PREBUILT' | 'STATIC' | string;
  creator?: {
    uid: string;
    email: string;
    username: string;
  } | null;
  meta?: Record<string, string> | null;
  target: 'production' | 'staging' | string | null;
  aliasError?: {
    code: string;
    message: string;
  } | null;
  aliasAssigned?: number | null;
  inspectorUrl?: string | null;
}

createDeployment

deployments.createDeployment Create a deployment Risk: write
await corsair.vercel.api.deployments.createDeployment({ name: 'my-deploy' });
Input
NameTypeRequiredDescription
namestringYes
projectstringNo
target'production' | 'staging'No
gitSourceobjectNo
filesarrayNo
metarecordNo
envrecordNo
teamIdstringNo
Output
NameTypeRequiredDescription
uidstringYes
namestringYes
urlstringYes
creatednumberYes
readyStatestringYes
typestringYes
creatorobjectNo
metaobjectNo
targetstringNo
aliasErrorobjectNo
aliasAssignednumberNo
inspectorUrlstringNo
{
  type: 'github' | 'gitlab' | 'bitbucket';
  ref?: string;
  repoId?: string | number;
  sha?: string;
}
{
  uid: string;
  name: string;
  url: string;
  created: number;
  readyState: string;
  type: 'LAMBDAS' | 'PREBUILT' | 'STATIC' | string;
  creator?: {
    uid: string;
    email: string;
    username: string;
  } | null;
  meta?: Record<string, string> | null;
  target: 'production' | 'staging' | string | null;
  aliasError?: {
    code: string;
    message: string;
  } | null;
  aliasAssigned?: number | null;
  inspectorUrl?: string | null;
}

Domains

getDomains

domains.getDomains Get all domains Risk: read
await corsair.vercel.api.domains.getDomains({});
Input
NameTypeRequiredDescription
limitnumberNo
untilnumberNo
sincenumberNo
teamIdstringNo
Output
NameTypeRequiredDescription
domainsarrayYes
paginationobjectYes
{
  domains: {
    id: string;
    name: string;
    createdAt: number;
    boughtAt: number | null;
    expiresAt: number | null;
    transferredAt: number | null;
    verified: boolean;
    nameservers: string[];
    intendedNameservers: string[];
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}

getProjectDomains

domains.getProjectDomains Get project domains Risk: read
await corsair.vercel.api.domains.getProjectDomains({ idOrName: 'my-project' });
Input
NameTypeRequiredDescription
idOrNamestringYes
limitnumberNo
untilnumberNo
sincenumberNo
teamIdstringNo
Output
NameTypeRequiredDescription
domainsarrayYes
paginationobjectYes
{
  domains: {
    name: string;
    apexName: string;
    projectId: string;
    redirect: string | null;
    redirectStatusCode: number | null;
    gitBranch: string | null;
    updatedAt: number;
    createdAt: number;
    verified: boolean;
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}

Envs

getEnvVariables

envs.getEnvVariables Get environment variables for a project (may include secret/sensitive values) Risk: read
await corsair.vercel.api.envs.getEnvVariables({ idOrName: 'my-project' });
Input
NameTypeRequiredDescription
idOrNamestringYes
teamIdstringNo
Output
NameTypeRequiredDescription
envsarrayNo
{
  envs?: {
    id: string;
    key: string;
    value: string;
    type: 'plain' | 'secret' | 'encrypted' | 'sensitive';
    target: ('production' | 'preview' | 'development')[];
    gitBranch: string | null;
    configurationId?: string | null;
    createdAt: number;
    updatedAt: number;
    createdBy?: string | null;
    updatedBy?: string | null;
  }[];
}

createEnvVariable

envs.createEnvVariable Create an environment variable for a project (supports plain, secret, encrypted, and sensitive types) Risk: write
await corsair.vercel.api.envs.createEnvVariable({
    idOrName: 'my-project',
    key: 'API_KEY',
    value: 'secret',
    type: 'encrypted',
    target: ['production']
});
Input
NameTypeRequiredDescription
idOrNamestringYes
keystringYes
valuestringYes
type'plain' | 'secret' | 'encrypted' | 'sensitive'Yes
targetarrayYes
gitBranchstringNo
commentstringNo
teamIdstringNo
Output
NameTypeRequiredDescription
idstringYes
keystringYes
valuestringYes
typestringYes
targetarrayYes
gitBranchstringNo
configurationIdstringNo
createdAtnumberYes
updatedAtnumberYes
createdBystringNo
updatedBystringNo
{
  id: string;
  key: string;
  value: string;
  type: 'plain' | 'secret' | 'encrypted' | 'sensitive';
  target: ('production' | 'preview' | 'development')[];
  gitBranch: string | null;
  configurationId?: string | null;
  createdAt: number;
  updatedAt: number;
  createdBy?: string | null;
  updatedBy?: string | null;
}

Aliases

getAliases

aliases.getAliases Get all aliases Risk: read
await corsair.vercel.api.aliases.getAliases({});
Input
NameTypeRequiredDescription
limitnumberNo
untilnumberNo
sincenumberNo
teamIdstringNo
Output
NameTypeRequiredDescription
aliasesarrayYes
paginationobjectYes
{
  aliases: {
    uid: string;
    alias: string;
    created: string;
    createdAt: number;
    deploymentId: string | null;
    projectId: string | null;
    redirect: string | null;
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}

assignAlias

aliases.assignAlias Assign an alias Risk: write
await corsair.vercel.api.aliases.assignAlias({
    deploymentId: 'dpl_123',
    alias: 'my-alias.vercel.app'
});
Input
NameTypeRequiredDescription
deploymentIdstringYes
aliasstringYes
redirectstringNo
teamIdstringNo
Output
NameTypeRequiredDescription
uidstringYes
aliasstringYes
createdstringYes
oldDeploymentIdstringNo
{
  uid: string;
  alias: string;
  created: string;
  oldDeploymentId: string | null;
}

Webhooks

getWebhooks

webhooks.getWebhooks Get all webhooks Risk: read
await corsair.vercel.api.webhooks.getWebhooks({});
Input
NameTypeRequiredDescription
teamIdstringNo
Output
NameTypeRequiredDescription
(Array of Webhooks)arrayYes
{
  id: string;
  url: string;
  events: string[];
  ownerId: string;
  projectIds?: string[];
  createdAt: number;
  updatedAt: number;
}[]

createWebhook

webhooks.createWebhook Create a webhook Risk: write
await corsair.vercel.api.webhooks.createWebhook({
    url: 'https://example.com/api/webhook',
    events: ['deployment.created']
});
Input
NameTypeRequiredDescription
urlstringYes
eventsstring[]Yes
projectIdsstring[]No
teamIdstringNo
Output
NameTypeRequiredDescription
idstringYes
urlstringYes
eventsarrayYes
ownerIdstringYes
projectIdsarrayNo
createdAtnumberYes
updatedAtnumberYes
{
  id: string;
  url: string;
  events: string[];
  ownerId: string;
  projectIds?: string[];
  createdAt: number;
  updatedAt: number;
}

Teams

getTeams

teams.getTeams Get all teams Risk: read
await corsair.vercel.api.teams.getTeams({});
Input
NameTypeRequiredDescription
teamIdstringNo
Output
NameTypeRequiredDescription
teamsarrayYes
paginationobjectYes
{
  teams: {
    id: string;
    slug: string;
    name: string;
    createdAt: number;
    updatedAt?: number | null;
    avatar: string | null;
    membership: {
      uid: string;
      role: 'OWNER' | 'MEMBER' | 'DEVELOPER' | 'BILLING' | 'VIEWER' | string;
      createdAt: number;
    };
  }[];
  pagination: {
    count: number;
    next: number | null;
    prev: number | null;
  };
}