Vercel MCP

# LogDrains (*logDrains*) ## Overview ### Available Operations * [getIntegrationLogDrains](#getintegrationlogdrains) - Retrieves a list of Integration log drains * [createLogDrain](#createlogdrain) - Creates a new Integration Log Drain * [deleteIntegrationLogDrain](#deleteintegrationlogdrain) - Deletes the Integration log drain with the provided `id` * [getConfigurableLogDrain](#getconfigurablelogdrain) - Retrieves a Configurable Log Drain * [deleteConfigurableLogDrain](#deleteconfigurablelogdrain) - Deletes a Configurable Log Drain * [getAllLogDrains](#getalllogdrains) - Retrieves a list of all the Log Drains * [createConfigurableLogDrain](#createconfigurablelogdrain) - Creates a Configurable Log Drain ## getIntegrationLogDrains Retrieves a list of all Integration log drains that are defined for the authenticated user or team. When using an OAuth2 token, the list is limited to log drains created by the authenticated integration. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.logDrains.getIntegrationLogDrains({ 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 { logDrainsGetIntegrationLogDrains } from "@vercel/sdk/funcs/logDrainsGetIntegrationLogDrains.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 logDrainsGetIntegrationLogDrains(vercel, { 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.GetIntegrationLogDrainsRequest](../../models/getintegrationlogdrainsrequest.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.GetIntegrationLogDrainsResponseBody[]](../../models/.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## createLogDrain Creates an Integration log drain. This endpoint must be called with an OAuth2 client (integration), since log drains are tied to integrations. If it is called with a different token type it will produce a 400 error. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.logDrains.createLogDrain({ teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { name: "My first log drain", secret: "a1Xsfd325fXcs", deliveryFormat: "json", url: "https://example.com/log-drain", }, }); // 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 { logDrainsCreateLogDrain } from "@vercel/sdk/funcs/logDrainsCreateLogDrain.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 logDrainsCreateLogDrain(vercel, { teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { name: "My first log drain", secret: "a1Xsfd325fXcs", deliveryFormat: "json", url: "https://example.com/log-drain", }, }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.CreateLogDrainRequest](../../models/createlogdrainrequest.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.CreateLogDrainResponseBody](../../models/createlogdrainresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## deleteIntegrationLogDrain Deletes the Integration log drain with the provided `id`. When using an OAuth2 Token, the log drain can be deleted only if the integration owns it. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { await vercel.logDrains.deleteIntegrationLogDrain({ id: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { logDrainsDeleteIntegrationLogDrain } from "@vercel/sdk/funcs/logDrainsDeleteIntegrationLogDrain.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 logDrainsDeleteIntegrationLogDrain(vercel, { id: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.DeleteIntegrationLogDrainRequest](../../models/deleteintegrationlogdrainrequest.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\<void\>** ### 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 | \*/\* | ## getConfigurableLogDrain Retrieves a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be accessed. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.logDrains.getConfigurableLogDrain({ id: "<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 { logDrainsGetConfigurableLogDrain } from "@vercel/sdk/funcs/logDrainsGetConfigurableLogDrain.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 logDrainsGetConfigurableLogDrain(vercel, { id: "<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.GetConfigurableLogDrainRequest](../../models/getconfigurablelogdrainrequest.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.GetConfigurableLogDrainResponseBody](../../models/getconfigurablelogdrainresponsebody.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 | \*/\* | ## deleteConfigurableLogDrain Deletes a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be deleted. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { await vercel.logDrains.deleteConfigurableLogDrain({ id: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { VercelCore } from "@vercel/sdk/core.js"; import { logDrainsDeleteConfigurableLogDrain } from "@vercel/sdk/funcs/logDrainsDeleteConfigurableLogDrain.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 logDrainsDeleteConfigurableLogDrain(vercel, { id: "<id>", teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", }); if (!res.ok) { throw res.error; } const { value: result } = res; } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.DeleteConfigurableLogDrainRequest](../../models/deleteconfigurablelogdrainrequest.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\<void\>** ### 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 | \*/\* | ## getAllLogDrains Retrieves a list of all the Log Drains owned by the account. This endpoint must be called with an account AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated account can be accessed. ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.logDrains.getAllLogDrains({ 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 { logDrainsGetAllLogDrains } from "@vercel/sdk/funcs/logDrainsGetAllLogDrains.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 logDrainsGetAllLogDrains(vercel, { 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.GetAllLogDrainsRequest](../../models/getalllogdrainsrequest.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.GetAllLogDrainsResponseBody[]](../../models/.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## createConfigurableLogDrain Creates a configurable log drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed) ### Example Usage ```typescript import { Vercel } from "@vercel/sdk"; const vercel = new Vercel({ bearerToken: "<YOUR_BEARER_TOKEN_HERE>", }); async function run() { const result = await vercel.logDrains.createConfigurableLogDrain({ teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { deliveryFormat: "json", url: "https://sugary-technician.name", sources: [ "external", ], }, }); // 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 { logDrainsCreateConfigurableLogDrain } from "@vercel/sdk/funcs/logDrainsCreateConfigurableLogDrain.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 logDrainsCreateConfigurableLogDrain(vercel, { teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", slug: "my-team-url-slug", requestBody: { deliveryFormat: "json", url: "https://sugary-technician.name", sources: [ "external", ], }, }); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [models.CreateConfigurableLogDrainRequest](../../models/createconfigurablelogdrainrequest.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.CreateConfigurableLogDrainResponseBody](../../models/createconfigurablelogdrainresponsebody.md)\>** ### Errors | Error Type | Status Code | Content Type | | ---------------------------- | ---------------------------- | ---------------------------- | | models.VercelBadRequestError | 400 | application/json | | models.VercelForbiddenError | 401 | application/json | | models.SDKError | 4XX, 5XX | \*/\* |