> This is the Markdown version of the page. For the complete Lattice Developers documentation index, fetch https://developer.anduril.com/llms.txt. Append .md to any page URL for its clean Markdown.

# List ingress streams

GET https://example.developer.anduril.com/api/v1/video/ingress_streams

Returns a list of top level ingress stream objects, including ingress streams and internal
 Anduril streams. Will only return active streams.
 Results are ordered by ingress stream create time.

Reference: https://developer.anduril.com/reference/rest/video/list-ingress-streams

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `pageSize` (integer, optional) — Desired number of ingress streams per page. Defaults to 50 if left blank, and capped at 100. The response may contain fewer than requested.
- `pageToken` (string, optional) — To retrieve the next page, pass the `nextPageToken` from the previous response. Leave empty for the first page. Keep the rest of the request identical between pages, otherwise the server may reject it.

## Response

### 200

OK

- `ingressStreams` (list of IngressStream, optional) — The ingress streams on this page. Up to `pageSize` entries (defaults to 50, capped at 100). Ordered by ingress stream create time.
- `nextPageToken` (string, optional) — Pass this back as `pageToken` to retrieve the next page. Empty when there are no more pages.

## Errors

### 400 Bad Request Error

The request was malformed or violated a precondition. Possible causes include missing required fields, an unsupported value, an `oneof` with zero or more than one variant set, a malformed URL, or a state-based precondition such as the source ingress stream not being live.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

### 401 Unauthorized Error

The request was rejected because the bearer token was missing, malformed, or could not be resolved to a user identity.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

### 403 Forbidden Error

The caller is authenticated but lacks permission for the requested resource.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

### 404 Not Found Error

The specified ingress or egress stream was not found.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

### 500 Internal Server Error

An unexpected error occurred while processing the request. The ingress or egress backend may have failed, or an underlying storage operation may have failed. Retry with backoff.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

### 503 Service Unavailable Error

The service is temporarily unable to handle the request, such as during startup or when a backend dependency is shutting down. The response carries a RetryInfo hint (typically around 2 seconds); clients should retry per that hint.

- `code` (integer, optional) — The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
- `message` (string, optional) — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
- `details` (list of google.protobuf.Any, optional) — A list of messages that carry the error details. There is a common set of message types for APIs to use.

## Types

### IngressStream

An ingress stream represents a single source feeding frames into Lattice. Ingress streams are replicated across Lattice and visible anywhere in the deployment.

- `ingressId` (string, optional) — Unique identifier for the ingress stream.
- `title` (string, optional) — Human-readable title supplied at creation time.
- `status` (enum, optional) — Current lifecycle status of the stream. See StreamStatus for the full state machine.
  - Allowed values: `STREAM_STATUS_UNSPECIFIED`, `STREAM_STATUS_LIVE`, `STREAM_STATUS_INACTIVE`, `STREAM_STATUS_UNAVAILABLE`, `STREAM_STATUS_ARCHIVED`
- `mpegTs` (MpegTsIngress, optional) — MPEG-TS ingress connection details. MPEG-TS ingress is supported only at the edge, in closed networks; in a cloud environment reached over the public internet it may be disabled per deployment. These details are populated only when a stream was successfully created with `mpegTs`. An MPEG-TS stream created at the edge can still be listed and inspected on the IngressStream read model even when cloud ingress is disabled.
- `rtsp` (RtspIngress, optional) — RTSP ingress connection details.
- `srt` (SrtIngress, optional) — SRT ingress connection details. Returned to the producer so it knows where to push the stream.
- `createdAt` (datetime, optional) — Wall-clock time the stream was created.
- `updatedAt` (datetime, optional) — Wall-clock time the stream's status (STREAM_STATUS) was changed. The status can change based on the activity or the deletion of the stream.
- `egressIds` (list of string, optional) — Identifiers of the egress streams currently consuming this ingress stream.

### google.protobuf.Any

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

- `@type` (string, optional) — The type of the serialized message.

### MpegTsIngress

MPEG-TS ingress connection details. MPEG-TS ingress is supported only at the edge, in closed networks; in a cloud environment reached over the public internet it may be disabled per deployment. These details are populated only when a stream was successfully created with `mpegTs`. An MPEG-TS stream created at the edge can still be listed and inspected on the IngressStream read model even when cloud ingress is disabled.

- `url` (string, optional) — The URL that the producer should push the MPEG-TS stream to.

### RtspIngress

RTSP ingress connection details.

- `url` (string, optional) — The upstream RTSP URL. Lattice will pull from the supplied URL. The URL must be prefixed with `rtsp://`.

### SrtIngress

SRT ingress connection details. Returned to the producer so it knows where to push the stream.

- `url` (string, optional) — The URL the producer should push the SRT stream to.
- `sessionId` (string, optional) — Unique session identifier the producer must include on the SRT connection. See SrtSettings for context.

## Examples

**Response**

```json
{
  "ingressStreams": [
    {
      "ingressId": "string",
      "title": "string",
      "status": "STREAM_STATUS_UNSPECIFIED",
      "mpegTs": {
        "url": "string"
      },
      "rtsp": {
        "url": "string"
      },
      "srt": {
        "url": "string",
        "sessionId": "string"
      },
      "createdAt": "2024-01-15T09:30:00Z",
      "updatedAt": "2024-01-15T09:30:00Z",
      "egressIds": [
        "string"
      ]
    }
  ],
  "nextPageToken": "string"
}
```