---
title: "Create / Enable / Disable / Update Stream Forwarder"
method: POST
path: "/openapi/v2.0/manage/api/v1.0/stream-converters"
tags: ["Livestream/Livestream Sharing & Forwarding/Bypass Streaming"]
---

# Create / Enable / Disable / Update Stream Forwarder

`POST /openapi/v2.0/manage/api/v1.0/stream-converters`

## Request

- Base URL: `https://41b04hdzmc.apifox.cn` (the document declares no server; this is the origin it was published from)
- URL: `https://41b04hdzmc.apifox.cn/openapi/v2.0/manage/api/v1.0/stream-converters`
- Auth: none required

This endpoint executes four operations based on the request body:

**① Create Forwarder** (no `converter_id`)
Create a new bypass push-stream transcoder. `schema` defaults to rtmp if omitted. `auto_push_stream=false` persists config without starting the stream (can be enabled later via ②); omitting the field or setting `auto_push_stream=true` starts streaming immediately (default).

**② Enable Streaming** (`converter_id` + `auto_push_stream=true`)
Resume streaming for a created-but-not-started or stopped forwarder. Configuration is reused — no need to re-supply device parameters.

**③ Disable Streaming** (`converter_id` + `auto_push_stream=false`)
Stop streaming for the specified forwarder while retaining configuration. Can be re-enabled at any time. Unlike DELETE, which destroys the configuration.

**④ Update Configuration** (`converter_id`, no `auto_push_stream`)
Update `converter_name`, `sn`, `camera`, `video_type`, `schema`/`bypass_option`. The forwarder must be in stopped state (error returned otherwise). `schema` update supports rtmp (requires `bypass_option.url`) and gb28181 (requires `bypass_option.server_id`); updating to rtsp is not supported.

> **Note**: `sn` and `camera` are binding required fields and must be provided in all scenarios.

## Headers

- `X-Organization-Key` string, required
- `X-Request-Id` string
- `x-user-token` string, required

## Request body

- object
  - `converter_id` string: Forwarder ID. Required for enable/disable/update; omit when creating.
  - `auto_push_stream` boolean: Stream control. **Create** (no converter_id): false=persist without streaming, omit/true=stream immediately (default). **Enable/Disable** (with converter_id): true=enable, false=stop (config retained). **Update** (converter_id, no auto_push_stream): field ignored.
  - `sn` string, required: Aircraft SN (required in all scenarios; not used by handler in enable/disable/update but enforced by binding validation)
  - `camera` string, required: Camera identifier (required in all scenarios, same as above)
  - `video` string, required: Video stream identifier, fixed value `normal-0`.
  - `video_type` string: Video type (e.g. normal-0)
  - `schema` 'rtmp' | 'rtsp' | 'gb28181': Push protocol: rtmp / rtsp / gb28181. Defaults to rtmp if omitted. Update supports rtmp (requires bypass_option.url) and gb28181 (requires bypass_option.server_id); updating to rtsp is not supported.
  - `rtmp_url` string: RTMP push URL (alternative to bypass_option.url; bypass_option.url takes precedence)
  - `bypass_option` object: Protocol parameters; fill the corresponding fields based on schema
    - `url` string: RTMP push URL (for schema=rtmp; also accepts top-level rtmp_url)
    - `rtsp_url` string: RTSP pull URL (read-only, server-generated; do not set in requests)
    - `username` string: RTSP username
    - `password` string: RTSP password
    - `enable_ts` boolean: Enable MISB standard TS stream (RTSP only)
    - `server_id` string: GB28181 SIP server ID
    - `server_ip` string: GB28181 SIP server IP
    - `server_port` string: GB28181 SIP server port
    - `device_password` string: GB28181 registration password
    - `local_port` string: GB28181 local port
    - `device_id` string: GB28181 device ID
    - `local_channel` string: GB28181 local channel
  - `converter_name` string: Transcoder name (optional)

## Response `200`

OK

- object
  - `data` object: Returns forwarder info on create; data is null for enable/disable/update.
    - `converter_id` string: Forwarder UUID
    - `create_ts` integer: Creation timestamp (seconds); currently fixed at 0
    - `update_ts` integer: Update timestamp (seconds); currently fixed at 0
    - `converter_state` string: Forwarder state; returns "running" after creation

## Other responses

- `400`: Invalid Request Parameter
- `500`: Internal Service Error

---

[API](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises.md) - [All operations](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises/llms.txt) - [OpenAPI document](https://skmtc.dev/dji/apis/flighthub-2-openapi-v2-0-on-premises/revisions/e4544b7809ea?raw)
