---
title: "Update a log source"
method: PATCH
path: "/log-sources/{logSourceId}"
tags: ["Log Sources"]
---

# Update a log source

`PATCH /log-sources/{logSourceId}`

Update a log source: pause or resume ingestion across its log streams, and/or set or clear its ongoing auto-provisioning filter. Log sources cannot be renamed — their generated names are immutable.

## Path parameters

- `logSourceId` string, uuid, required — Log source ID to update.

## Request body

- object
  - `enabled` boolean — Pause (`false`) or resume (`true`) ingestion for all of the log source's log streams. Reversible; never deletes anything.
  - `streamAutoProvisionFilter` object, nullable — Set the log source's ongoing auto-provisioning filter, or clear it (`null`) back to manual. Omit to leave the existing filter unchanged. Only for a standalone edit — an initial select-all-style filter set belongs on `logStreams.createBatch`'s own `setAutoProvisionFilter` field, atomic with the initial batch (ENG-6870).
    - `allowlist` string[], required — Glob patterns an item must match to be provisioned. Empty means no include restriction.
    - `denylist` string[], required — Glob patterns that exclude an item even when the allowlist admits it. Empty excludes nothing.

## Response `200`

OK

- object
  - `logSource` object, required
    - `id` string, uuid, required
    - `provider` 'vercel' | 'cloudflare' | 'railway' | 'render' | 'fly_io' | 'netlify' | 'supabase' | 'digital_ocean' | 'inngest' | 'trigger_dev' | 'temporal' | 'mastra' | 'neon' | 'langchain' | 'daytona' | 'e2b' | 'cloudwatch' | 'convex' | 'datadog' | 'sentry' | 'sentry_platform' | 'openrouter' | 'posthog' | 'posthog_sdk' | 'gcp' | 'otel' | 'otel_metrics' | 'fluent_bit' | 'vector' | 'grafana_alloy' | 'otel_collector' | 'cloudflare_workers' | 'elastic_cloud' | 'porter' | 'respan' | 'plain' | 'prometheus' | 'webhook_events' | 'claude_code' | 'codex' | 'sazabi_browser_sdk', required
    - `mode` 'managed' | 'connectionless', required
    - `name` string, required — Display name — a generated mnemonic (e.g. "amber-falcon"). Assigned at creation and immutable.
    - `streamCount` integer, required
    - `createdAt` string, date-time, required
    - `streamAutoProvisionFilter` object, nullable, required — The log source's persisted auto-provisioning filter, or null (manual — the default). See `streamAutoProvisionFilter` on `logSources.update`.
      - `allowlist` string[], required — Glob patterns an item must match to be provisioned. Empty means no include restriction.
      - `denylist` string[], required — Glob patterns that exclude an item even when the allowlist admits it. Empty excludes nothing.

## Changes

- **2026-09-05** `1d12b71c735a` — 2 info
  - added the new optional request property `streamAutoProvisionFilter`
  - added the required property `logSource/streamAutoProvisionFilter` to the response with the `200` status

[Change history](https://skmtc.dev/sazabi/apis/sazabi-public-api/changes/log-sources/:logSourceId/patch.md)

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) · [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sazabi/sazabi-public-api/revisions/1d12b71c735a/schema)
