---
title: "Start stream detection"
method: POST
path: "/cameras/stream-detection/"
tags: ["camera-stream-detection"]
---

# Start stream detection

`POST /cameras/stream-detection/`

## Request

- Base URL: `https://api.angelcam.com/v1`
- URL: `https://api.angelcam.com/v1/cameras/stream-detection/`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://my.angelcam.com/oauth/authorize/`, token URL `https://my.angelcam.com/oauth/token/`
    - Password, token URL `https://api.angelcam.com/oauth/token/`
    - Scopes: `streams_detect`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/angelcam/apis/angelcam-api/docs/cameras/stream-detection/post.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve `session_id` which can be used for [querying stream detection result](#tag/camera-stream-detection/GET/cameras/stream-detection/{session_id}/).

## Request body

- object
  - `address` string: Various address types can be used. Valid examples: `my-camera.my-site.com/feed`, `http://test:test@my-camera.my-site.com:80/feed?show=1`, `rtsp://site.domain.com/camera1`, `132.45.32.21`. As you can see from examples `address` can optionally contain information about `port`, `username` and `password`. In such cases these fields can be omitted from request body. The `arrow_service` field must not be present if the `address` field is being used.
  - `arrow_service` object: Use this field for stream detection via an Arrow client. The `path` field can be used to request detection on a specific endpoint in addition to all endpoints tested by the stream detector service. The `address` field must not be present if the `arrow_service` field is being used.
    - `arrow_client` string, uuid: Arrow client UUID
    - `service_id` string: Arrow service ID
  - `path` string: Stream path (if not given in the address field).
  - `port` integer: If port is not specified all reasonable ports will be tested.
  - `username` string
  - `password` string

## Response `200`

OK

- CameraStartStreamDetectionResponse
  - `session_id` string, required

## Other responses

- `400`: Query params are invalid.
- `401`: Missing or invalid authorization.
- `403`: Missing permission.

---

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