# Live Stream API

- [REST Resource: v1.projects.locations](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations)
- [REST Resource: v1.projects.locations.assets](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.assets)
- [REST Resource: v1.projects.locations.channels](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.channels)
- [REST Resource: v1.projects.locations.channels.clips](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.channels.clips)
- [REST Resource: v1.projects.locations.channels.dvrSessions](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.channels.dvrSessions)
- [REST Resource: v1.projects.locations.channels.events](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.channels.events)
- [REST Resource: v1.projects.locations.inputs](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.inputs)
- [REST Resource: v1.projects.locations.operations](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.operations)
- [REST Resource: v1.projects.locations.pools](https://docs.cloud.google.com/livestream/docs/reference/rest#v1.projects.locations.pools)

## Service: livestream.googleapis.com

To call this service, we recommend that you use the Google-provided [client libraries](https://cloud.google.com/apis/docs/client-libraries-explained). If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

### Discovery document

A [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

- <https://livestream.googleapis.com/$discovery/rest?version=v1>

### Service endpoint

A [service endpoint](https://cloud.google.com/apis/design/glossary#api_service_endpoint) is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

- `https://livestream.googleapis.com`

## REST Resource: [v1.projects.locations](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations/get` | `GET /v1/{name=projects/*/locations/*}` Gets information about a location. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations/list` | `GET /v1/{name=projects/*}/locations` Lists information about the supported locations for this service. |

## REST Resource: [v1.projects.locations.assets](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.assets)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.assets/create` | `POST /v1/{parent=projects/*/locations/*}/assets` Creates a Asset with the provided unique ID in the specified region. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.assets/delete` | `DELETE /v1/{name=projects/*/locations/*/assets/*}` Deletes the specified asset if it is not used. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.assets/get` | `GET /v1/{name=projects/*/locations/*/assets/*}` Returns the specified asset. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.assets/list` | `GET /v1/{parent=projects/*/locations/*}/assets` Returns a list of all assets in the specified region. |

## REST Resource: [v1.projects.locations.channels](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/create` | `POST /v1/{parent=projects/*/locations/*}/channels` Creates a channel with the provided unique ID in the specified region. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/delete` | `DELETE /v1/{name=projects/*/locations/*/channels/*}` Deletes the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/get` | `GET /v1/{name=projects/*/locations/*/channels/*}` Returns the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/list` | `GET /v1/{parent=projects/*/locations/*}/channels` Returns a list of all channels in the specified region. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/patch` | `PATCH /v1/{channel.name=projects/*/locations/*/channels/*}` Updates the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/start` | `POST /v1/{name=projects/*/locations/*/channels/*}:start` Starts the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/startdistribution` | `POST /v1/{name=projects/*/locations/*/channels/*}:startdistribution` Starts distribution which delivers outputs to the destination indicated by the Distribution configuration. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/stop` | `POST /v1/{name=projects/*/locations/*/channels/*}:stop` Stops the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels/stopdistribution` | `POST /v1/{name=projects/*/locations/*/channels/*}:stopdistribution` Stops the specified distribution. |

## REST Resource: [v1.projects.locations.channels.clips](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.clips)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.clips/create` | `POST /v1/{parent=projects/*/locations/*/channels/*}/clips` Creates a clip with the provided clip ID in the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.clips/delete` | `DELETE /v1/{name=projects/*/locations/*/channels/*/clips/*}` Deletes the specified clip job resource. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.clips/get` | `GET /v1/{name=projects/*/locations/*/channels/*/clips/*}` Returns the specified clip. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.clips/list` | `GET /v1/{parent=projects/*/locations/*/channels/*}/clips` Returns a list of all clips in the specified channel. |

## REST Resource: [v1.projects.locations.channels.dvrSessions](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions/create` | `POST /v1/{parent=projects/*/locations/*/channels/*}/dvrSessions` Creates a DVR session with the provided unique ID in the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions/delete` | `DELETE /v1/{name=projects/*/locations/*/channels/*/dvrSessions/*}` Deletes the specified DVR session. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions/get` | `GET /v1/{name=projects/*/locations/*/channels/*/dvrSessions/*}` Returns the specified DVR session. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions/list` | `GET /v1/{parent=projects/*/locations/*/channels/*}/dvrSessions` Returns a list of all DVR sessions in the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.dvrSessions/patch` | `PATCH /v1/{dvrSession.name=projects/*/locations/*/channels/*/dvrSessions/*}` Updates the specified DVR session. |

## REST Resource: [v1.projects.locations.channels.events](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.events)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.events/create` | `POST /v1/{parent=projects/*/locations/*/channels/*}/events` Creates an event with the provided unique ID in the specified channel. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.events/delete` | `DELETE /v1/{name=projects/*/locations/*/channels/*/events/*}` Deletes the specified event. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.events/get` | `GET /v1/{name=projects/*/locations/*/channels/*/events/*}` Returns the specified event. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels.events/list` | `GET /v1/{parent=projects/*/locations/*/channels/*}/events` Returns a list of all events in the specified channel. |

## REST Resource: [v1.projects.locations.inputs](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/create` | `POST /v1/{parent=projects/*/locations/*}/inputs` Creates an input with the provided unique ID in the specified region. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/delete` | `DELETE /v1/{name=projects/*/locations/*/inputs/*}` Deletes the specified input. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/get` | `GET /v1/{name=projects/*/locations/*/inputs/*}` Returns the specified input. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/list` | `GET /v1/{parent=projects/*/locations/*}/inputs` Returns a list of all inputs in the specified region. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/patch` | `PATCH /v1/{input.name=projects/*/locations/*/inputs/*}` Updates the specified input. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs/preview` | `POST /v1/{name=projects/*/locations/*/inputs/*}:preview` Preview the streaming content of the specified input. |

## REST Resource: [v1.projects.locations.operations](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.operations)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.operations/cancel` | `POST /v1/{name=projects/*/locations/*/operations/*}:cancel` Starts asynchronous cancellation on a long-running operation. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.operations/delete` | `DELETE /v1/{name=projects/*/locations/*/operations/*}` Deletes a long-running operation. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.operations/get` | `GET /v1/{name=projects/*/locations/*/operations/*}` Gets the latest state of a long-running operation. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.operations/list` | `GET /v1/{name=projects/*/locations/*}/operations` Lists operations that match the specified filter in the request. |

## REST Resource: [v1.projects.locations.pools](https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.pools)

| Methods ||
|---|---|
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.pools/get` | `GET /v1/{name=projects/*/locations/*/pools/*}` Returns the specified pool. |
| `https://docs.cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.pools/patch` | `PATCH /v1/{pool.name=projects/*/locations/*/pools/*}` Updates the specified pool. |