Vercel MCP

# Security (*security*) ## Overview ### Available Operations * [updateAttackChallengeMode](#updateattackchallengemode) - Update Attack Challenge mode * [putFirewallConfig](#putfirewallconfig) - Put Firewall Configuration * [updateFirewallConfig](#updatefirewallconfig) - Update Firewall Configuration * [getFirewallConfig](#getfirewallconfig) - Read Firewall Configuration * [getActiveAttackStatus](#getactiveattackstatus) - Read active attack data * [getBypassIp](#getbypassip) - Read System Bypass * [addBypassIp](#addbypassip) - Create System Bypass Rule * [removeBypassIp](#removebypassip) - Remove System Bypass Rule ## updateAttackChallengeMode Update the setting for determining if the project has Attack Challenge mode enabled. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.updateAttackChallengeMode({ teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { projectId: "<id>", attackModeEnabled: true, }, }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityUpdateAttackChallengeMode } from "@vercel/sdk/funcs/securityUpdateAttackChallengeMode.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityUpdateAttackChallengeMode(vercel, { teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { projectId: "<id>", attackModeEnabled: true, }, }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.UpdateAttackChallengeModeRequest](../../models/updateattackchallengemoderequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.UpdateAttackChallengeModeResponseBody](../../models/updateattackchallengemoderesponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## putFirewallConfig Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.putFirewallConfig({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { firewallEnabled: true, }, }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityPutFirewallConfig } from "@vercel/sdk/funcs/securityPutFirewallConfig.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityPutFirewallConfig(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { firewallEnabled: true, }, }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.PutFirewallConfigRequest](../../models/putfirewallconfigrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.PutFirewallConfigResponseBody](../../models/putfirewallconfigresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## updateFirewallConfig Process updates to modify the existing firewall config for a project ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.updateFirewallConfig({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { action: "ip.remove", id: "<id>", }, }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityUpdateFirewallConfig } from "@vercel/sdk/funcs/securityUpdateFirewallConfig.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityUpdateFirewallConfig(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { action: "ip.remove", id: "<id>", }, }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.UpdateFirewallConfigRequest](../../models/updatefirewallconfigrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.UpdateFirewallConfigResponseBody](../../models/updatefirewallconfigresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## getFirewallConfig Retrieve the specified firewall configuration for a project. The deployed configVersion will be `active` ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.getFirewallConfig({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", configVersion: "<value>", }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityGetFirewallConfig } from "@vercel/sdk/funcs/securityGetFirewallConfig.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityGetFirewallConfig(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", configVersion: "<value>", }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.GetFirewallConfigRequest](../../models/getfirewallconfigrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.GetFirewallConfigResponseBody](../../models/getfirewallconfigresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## getActiveAttackStatus Retrieve active attack data within the last 24h window ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.getActiveAttackStatus({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityGetActiveAttackStatus } from "@vercel/sdk/funcs/securityGetActiveAttackStatus.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityGetActiveAttackStatus(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.GetActiveAttackStatusRequest](../../models/getactiveattackstatusrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.GetActiveAttackStatusResponseBody](../../models/getactiveattackstatusresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## getBypassIp Retrieve the system bypass rules configured for the specified project ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.getBypassIp({ projectId: "<id>", limit: 10, teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityGetBypassIp } from "@vercel/sdk/funcs/securityGetBypassIp.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityGetBypassIp(vercel, { projectId: "<id>", limit: 10, teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.GetBypassIpRequest](../../models/getbypassiprequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.GetBypassIpResponseBody](../../models/getbypassipresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## addBypassIp Create new system bypass rules ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.addBypassIp({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityAddBypassIp } from "@vercel/sdk/funcs/securityAddBypassIp.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityAddBypassIp(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.AddBypassIpRequest](../../models/addbypassiprequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.AddBypassIpResponseBody](../../models/addbypassipresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## removeBypassIp Remove system bypass rules ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.security.removeBypassIp({ projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { securityRemoveBypassIp } from "@vercel/sdk/funcs/securityRemoveBypassIp.js"; // Use `VercelCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const vercel = new VercelCore({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const res = await securityRemoveBypassIp(vercel, { projectId: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.RemoveBypassIpRequest](../../models/removebypassiprequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[models.RemoveBypassIpResponseBody](../../models/removebypassipresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.VercelNotFoundError | 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* |