---
title: "Upsert Stream"
method: PUT
path: "/api/v1/stream/{stream_id}"
tags: ["Stream"]
---

# Upsert Stream

`PUT /api/v1/stream/{stream_id}`

Create or update a stream.

## Path parameters

- `stream_id` string, required — The Stream's ID or UID.

## Request body

- StreamIn
  - `name` string, required — The stream's name.
  - `uid` string, nullable — An optional unique identifier for the stream.
  - `metadata` object

## Response `200`

- StreamOut
  - `id` string, required — The stream's ID.
  - `uid` string, nullable — The stream's UID.
  - `name` string, nullable — The stream's name.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `metadata` object, required

## Other responses

- `201`
- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `429` — Too Many Requests

---

[API](https://skmtc.net/svix/apis/svix-api.md) · [All operations](https://skmtc.net/svix/apis/svix-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/svix/svix-api/versions/16dbcc056c48/schema)
