# Entry points (/en/api-reference/api-ref/broadcast-streaming/entry-points)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

Entry points are used to categorize the streams. You can configure functions such as recording, transcoding, and snapshot capturing for one entry point, and these configurations apply to all the streams under this entry point.

Agora provides a default entry point `live` for your direct use.

> The entry point management function is in the beta stage. Contact [support@agora.io](mailto\:support@agora.io) before using it.

## Add entry points [#add-entry-points]

Add an entry point.

When adding an entry point, you need to specify the App ID of your Agora project.

### HTTP request [#http-request]

```bash
POST https://api.agora.io/v1/projects/{appid}/fls/entry_points?id={entry_point}
```

#### Path parameter [#path-parameter]

`appid`: String type, required. The App ID provided by Agora for each developer. You can get an App ID after creating a project in the Agora Console. The App ID is the only identification of a project.

#### Query parameters [#query-parameters]

`id`: String type, required. The name of the entry point to be added.

### HTTP response [#http-response]

If the returned HTTP status code is 201, it means the request is successful.

If the returned HTTP status code is not 201, the request fails. You can refer to the [HTTP status code](#http-code) for possible reasons.

### Example [#example]

**Request line**

```bash
POST https://api.agora.io/v1/projects/{your_appid}/fls/entry_points?id=live2 HTTP/1.1
```

**Response line**

```bash
HTTP/1.1 201 Created
```

## Delete entry points [#delete-entry-points]

Delete an entry point. The default entry point `live` cannot be deleted.

### HTTP request [#http-request-1]

```bash
DELETE https://api.agora.io/v1/projects/{appid}/fls/entry_points/{entry_point}
```

#### Path parameter [#path-parameter-1]

| Parameter     | Type   | Description                                                          |
| :------------ | :----- | :------------------------------------------------------------------- |
| `appid`       | String | Required. The App ID corresponding to the entry point being deleted. |
| `entry_point` | String | Required. The name of the entry point being deleted.                 |

### HTTP response [#http-response-1]

If the returned HTTP status code is 200, the request is successful.

If the returned HTTP status code is not 200, the request fails. You can refer to the [HTTP status code](#http-code) for possible reasons.

### Example [#example-1]

**Request line**

```bash
DELETE https://api.agora.io/v1/projects/{your_appid}/fls/entry_points/live2 HTTP/1.1
```

**Response line**

```bash
HTTP/1.1 200 OK
```

## Get the entry point list [#get-the-entry-point-list]

Get the list of all entry points under one Agora project.

### HTTP request [#http-request-2]

```bash
GET https://api.agora.io/v1/projects/{appid}/fls/entry_points
```

#### Path parameter [#path-parameter-2]

`appid`: String type, required. The App ID of your Agora project

### HTTP response [#http-response-2]

If the returned HTTP status code is 200, the request is successful, and the response body contains the following fields:

`entryPointList`: JSON Array type, the list of entry points. One entry point corresponds to a JSON Object, and contains the following fields:

| Field  | Type   | Description           |
| :----- | :----- | :-------------------- |
| `name` | String | The entry point name. |

If the returned HTTP status code is not 200, the request fails. You can refer to the [HTTP status code](#http-code) for possible reasons.

### Example [#example-2]

**Request line**

```bash
GET https://api.agora.io/v1/projects/{your_appid}/fls/entry_points HTTP/1.1
```

**Response line**

```bash
HTTP/1.1 200 OK
```

**Request body**

```json
{
    "entryPointList": [
        {
            "name": "live"
        }
    ]
}
```

<a name="http-code" />

## HTTP status code [#http-status-code]

| Status code | Description                                                                                                                                              |
| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200         | The request succeeds.                                                                                                                                    |
| 400         | The parameter is invalid, for example the `appid` or the `entry_point` is empty, or the `region` parameter value is invalid.                             |
| 401         | Unauthorized (the customer ID and the customer secret do not match).                                                                                     |
| 404         | The server cannot find the resource according to the request, which means the requested entry point does not exist or the requested URI path is invalid. |
| 500         | An internal error occurs in the server, so the server is not able to complete the request.                                                               |
| 504         | An internal error occurs in the server. The gateway or the proxy server did not receive a timely request from the remote server.                         |
