---
title: "Retrieves a list of all the Log Drains (deprecated)"
method: GET
path: "/v1/log-drains"
tags: ["logDrains"]
---

# Retrieves a list of all the Log Drains (deprecated)

`GET /v1/log-drains`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/v1/log-drains`
- Auth: HTTP bearer

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.

## Query parameters

- `projectId` string
- `projectIdOrName` string
- `includeMetadata` boolean
- `includeDeliveryStats` boolean: Include `deliveryStats` with the delivery health of each drain over the last 24 hours. Ignored for teams without drain delivery metrics.
- `teamId` string
- `slug` string

## Response `200`

- union
  - object[]
    - `clientId` string
    - `configurationId` string
    - `createdFrom` string, required
    - `integrationConfigurationUri` string
    - `integrationIcon` string
    - `integrationWebsite` string
    - `projectsMetadata` object[], nullable
      - `framework` 'actix-web' | 'angular' | 'ash' | 'astro' | 'axum' | 'blitzjs' | 'brunch' | 'bun' | 'container' | 'create-react-app' | 'django' | 'docusaurus' | 'docusaurus-2' | 'dojo' | 'eleventy' | 'elysia' | 'ember' | 'eve' | 'express' | 'factory-eve' | 'fastapi' | 'fasthtml' | 'fastify' | 'flask' | 'gatsby' | 'go' | 'gridsome' | 'h3' | 'hexo' | 'hono' | 'hugo' | 'hydrogen' | 'ionic-angular' | 'ionic-react' | 'jekyll' | 'koa' | 'mastra' | 'middleman' | 'nestjs' | 'nextjs' | 'nitro' | 'node' | 'nuxtjs' | 'parcel' | 'polymer' | 'preact' | 'python' | 'react-router' | 'redwoodjs' | 'remix' | 'ruby' | 'rust' | 'saber' | 'sanity' | 'sanity-v2' | 'sapper' | 'scully' | 'services' | 'solidstart' | 'solidstart-1' | 'stencil' | 'storybook' | 'svelte' | 'sveltekit' | 'sveltekit-1' | 'tanstack-start' | 'tanstack-start-lovable' | 'umijs' | 'vite' | 'vitepress' | 'vue' | 'vuepress' | 'xmcp' | 'zola' | 'null', nullable
      - `id` string, required
      - `latestDeployment` string
      - `name` string, required
  - object
    - `drains` union, required
      - object[]
        - `createdAt` number, required
        - `delivery` union, required
          - object
            - `compression` 'gzip' | 'none'
            - `encoding` 'json' | 'ndjson', required
            - `endpoint` string, required
            - `headers` object, required
            - `secret` union
              - …
            - `type` 'http', required
          - object
            - `encoding` 'json' | 'proto', required
            - `endpoint` object, required
              - …
            - `headers` object, required
            - `secret` union
              - …
            - `type` 'otlphttp', required
          - object
            - `endpoint` string, required
            - `table` string, required
            - `type` 'clickhouse', required
          - object
            - `compression` 'none', required
            - `encoding` 'json' | 'ndjson', required
            - `endpoint` string, required
            - `fileStructure` 'hive', required
            - `objectAcl` 'authenticated-read' | 'aws-exec-read' | 'bucket-owner-full-control' | 'bucket-owner-read' | 'private' | 'public-read' | 'public-read-write'
            - `region` string, required
            - `roleArn` string, required
            - `serverSideEncryption` 'AES256' | 'aws:kms' | 'aws:kms:dsse'
            - `type` 's3', required
          - object
            - `target` 'vercel-otel-traces-db', required
            - `type` 'internal', required
        - `disabledAt` number
        - `disabledBy` string
        - `disabledReason` 'account-plan-downgrade' | 'disabled-by-admin' | 'disabled-by-owner' | 'feature-not-available' | 'limits-exceeded'
        - `firstErrorTimestamp` number
        - `id` string, required
        - `name` string, required
        - `ownerId` string, required
        - `projectIds` string[]
        - `sampling` object[]
          - `env` 'preview' | 'production'
          - `rate` number, required
          - `requestPath` string
          - `type` 'head_sampling', required
        - `schemas` object, required
          - `ai_gateway` object
          - `analytics` object
          - `audit_log` object
          - `connect` object
          - `log` object
          - `speed_insights` object
          - `trace` object
        - `source` union, required
          - object
            - `defaultFor` 'eve-tracing': Informational marker for a system-owned default drain.
            - `kind` 'self-served', required
          - object
            - `externalResourceId` string
            - `integrationConfigurationId` string, required
            - `integrationId` string, required
            - `kind` 'integration', required
            - `resourceId` string
        - `status` 'disabled' | 'enabled' | 'errored'
        - `teamId` string, nullable
        - `updatedAt` number, required
        - `deliveryStats` object: Delivery health of a drain over the last 24 hours: `failing` when more than 5 delivery attempts and at least 1% of all attempts did not succeed, `healthy` otherwise, and `unknown` when there were no attempts or the stats could not be loaded.
          - `attempts` number, required: All delivery attempts in the window.
          - `failures` number, required: Delivery attempts that did not succeed in the window.
          - `state` 'failing' | 'healthy' | 'unknown', required
          - `window` '24h', required
        - `filterV2` object
          - `filter` union, required
            - object
              - …
            - object
              - …
          - `version` 'v2', required
      - object[]
        - `createdAt` number, required
        - `delivery` union, required
          - object
            - `compression` 'gzip' | 'none'
            - `encoding` 'json' | 'ndjson', required
            - `endpoint` string, required
            - `headers` object, required
            - `secret` union
              - …
            - `type` 'http', required
          - object
            - `encoding` 'json' | 'proto', required
            - `endpoint` object, required
              - …
            - `headers` object, required
            - `secret` union
              - …
            - `type` 'otlphttp', required
          - object
            - `endpoint` string, required
            - `table` string, required
            - `type` 'clickhouse', required
          - object
            - `compression` 'none', required
            - `encoding` 'json' | 'ndjson', required
            - `endpoint` string, required
            - `fileStructure` 'hive', required
            - `objectAcl` 'authenticated-read' | 'aws-exec-read' | 'bucket-owner-full-control' | 'bucket-owner-read' | 'private' | 'public-read' | 'public-read-write'
            - `region` string, required
            - `roleArn` string, required
            - `serverSideEncryption` 'AES256' | 'aws:kms' | 'aws:kms:dsse'
            - `type` 's3', required
          - object
            - `target` 'vercel-otel-traces-db', required
            - `type` 'internal', required
        - `disabledAt` number
        - `disabledBy` string
        - `disabledReason` 'account-plan-downgrade' | 'disabled-by-admin' | 'disabled-by-owner' | 'feature-not-available' | 'limits-exceeded'
        - `firstErrorTimestamp` number
        - `id` string, required
        - `name` string, required
        - `ownerId` string, required
        - `projectIds` string[]
        - `sampling` object[]
          - `env` 'preview' | 'production'
          - `rate` number, required
          - `requestPath` string
          - `type` 'head_sampling', required
        - `schemas` object, required
          - `ai_gateway` object
          - `analytics` object
          - `audit_log` object
          - `connect` object
          - `log` object
          - `speed_insights` object
          - `trace` object
        - `source` union, required
          - object
            - `defaultFor` 'eve-tracing': Informational marker for a system-owned default drain.
            - `kind` 'self-served', required
          - object
            - `externalResourceId` string
            - `integrationConfigurationId` string, required
            - `integrationId` string, required
            - `kind` 'integration', required
            - `resourceId` string
        - `status` 'disabled' | 'enabled' | 'errored'
        - `teamId` string, nullable
        - `updatedAt` number, required
        - `deliveryStats` object: Delivery health of a drain over the last 24 hours: `failing` when more than 5 delivery attempts and at least 1% of all attempts did not succeed, `healthy` otherwise, and `unknown` when there were no attempts or the stats could not be loaded.
          - `attempts` number, required: All delivery attempts in the window.
          - `failures` number, required: Delivery attempts that did not succeed in the window.
          - `state` 'failing' | 'healthy' | 'unknown', required
          - `window` '24h', required
        - `filterV2` object
          - `filter` union, required
            - object
              - …
            - object
              - …
          - `version` 'v2', required
        - `integrationConfigurationUri` string
        - `integrationIcon` string
        - `integrationWebsite` string
        - `projectAccess` union
          - object
            - `access` 'all', required
            - `managedBy` 'drain' | 'integration', required
          - object
            - `access` 'some', required
            - `projectIds` string[], required
            - `managedBy` 'drain' | 'integration', required

## Other responses

- `400`: One of the provided values in the request query is invalid.
- `401`: The request is not authorized.
- `403`: You do not have permission to access this resource.
- `404`
- `410`

## Changes

- **2026-10-22** `4686ebfcdc1e`: 1 breaking, 2 info
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
  - added the new optional `query` request parameter `includeDeliveryStats`
  - removed `subschema #1, subschema #2` from the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
- **2026-09-22** `0f7ea3d3b39b`: 1 breaking, 1 info
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
- **2026-09-03** `7c947faac0ef`: 1 warning
  - added the new `factory-eve` enum value to the `oneOf[subschema #1]/items/projectsMetadata/items/framework` response property for the response status `200`
- **2026-08-21** `915cc4809c98`: 1 breaking, 1 info
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2` from the `oneOf[subschema #2]/drains` response property `oneOf` list for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/vercel/apis/vercel-api/changes/v1/log-drains/get.md)

---

[API](https://skmtc.dev/vercel/apis/vercel-api.md) - [All operations](https://skmtc.dev/vercel/apis/vercel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/vercel-api/revisions/60686c0e1f6a?raw)
