> 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.

# Get ingress stream

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

Retrieves a top level ingress stream object and its associated metadata. This includes
 ingress streams and internal Anduril streams.

Reference: https://developer.anduril.com/reference/rest/video/get-ingress-stream

## Authentication

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

## Request

### Path parameters

- `ingressId` (string, required) — Identifier of the ingress stream to retrieve.

## Response

### 200

OK

- `ingressStream` (IngressStream, optional) — The ingress stream corresponding to the requested `ingressId`.

## 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.

### 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
{
  "ingressStream": {
    "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"
    ]
  }
}
```