# Standard recording configuration (/en/api-reference/api-ref/broadcast-streaming/standard-recording/configuration)

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

<CalloutContainer type="info">
  <CalloutDescription>
    Custom recording enables you to use third-party cloud storage services, while standard recording does not.
  </CalloutDescription>
</CalloutContainer>

## Set standard recording configuration [#set-standard-recording-configuration]

Sets the standard recording configuration for all live streams under the specified entry point.

### HTTP request [#http-request]

```bash
PATCH https://api.agora.io/v1/projects/{appid}/fls/entry_points/{entry_point}/settings/record/standard/regions/{region}
```

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

| Parameter     | Type   | Description                                             |
| :------------ | :----- | :------------------------------------------------------ |
| `appid`       | String | Required. The App ID retrieved from Agora Console.      |
| `entry_point` | String | Required. The entry point name.                         |
| `region`      | String | Required. The configured region when adding the domain. |

#### Request body [#request-body]

The request body is in the JSON Object type, and contains the following fields:

| Field       | Type        | Description                                                                          |
| :---------- | :---------- | :----------------------------------------------------------------------------------- |
| `mp4Config` | JSON Object | Optional. The configuration of the MP4 recording files. See [mp4Config](#mp4config). |
| `hlsConfig` | JSON Object | Optional. The configuration of the HLS recording files. See [HlsConfig](#hlsconfig). |

### HTTP response [#http-response]

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]

**Request line**

```bash
PATCH https://api.agora.io/v1/projects/{your_appid}/fls/entry_points/live/settings/record/standard/regions/cn HTTP/1.1
```

**Request body**

```json
{
    "hlsConfig": {
        "enabled": true
    },
    "mp4Config": {
        "enabled": true
    }
}
```

**Response line**

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

## Get standard recording configuration [#get-standard-recording-configuration]

Gets the standard recording configuration for the specified entry point.

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

```bash
GET https://api.agora.io/v1/projects/{appid}/fls/entry_points/{entry_point}/settings/record/standard/regions/{region}
```

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

| Parameter     | Type   | Description                                             |
| :------------ | :----- | :------------------------------------------------------ |
| `appid`       | String | Required. The App ID retrieved from Agora Console.      |
| `entry_point` | String | Required. The entry point name.                         |
| `region`      | String | Required. The configured region when adding the domain. |

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

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

| Field       | Type        | Description                                                                |
| :---------- | :---------- | :------------------------------------------------------------------------- |
| `mp4Config` | JSON Object | The configuration of the MP4 recording files. See [mp4Config](#mp4config). |
| `hlsConfig` | JSON Object | The configuration of the HLS recording files. See [HlsConfig](#hlsconfig). |

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
GET https://api.agora.io/v1/projects/{your_appid}/fls/entry_points/live/settings/record/standard/regions/cn HTTP/1.1
```

**Response line**

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

**Request body**

```json
{
    "hlsConfig": {
        "enabled": true
    },
    "mp4Config": {
        "enabled": true
    }
}
```

## Parameter type [#parameter-type]

### mp4Config [#mp4config]

The configuration of the MP4 recording files contains the following fields:

`enabled`: Bool type, optional. Whether to enable the recording in the MP4 format.

<a name="hlsconfig" />

### HlsConfig [#hlsconfig]

The configuration of the HLS recording files contains the following fields:

`enabled`: Bool type, optional. Whether to enable recording in the HLS format.

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