> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://es.megaport.ferndocs.com/es/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://es.megaport.ferndocs.com/es/_mcp/server.

# Actualizar Lista de Prefijos MCR

PUT https://api.megaport.com/v2/product/mcr2/{productUid}/prefixList/{id}
Content-Type: application/json

Actualiza las listas de filtros de prefijos para el MCR especificado por el `productUid`.

Especifique la lista de filtros de prefijos para actualizar por el `id` de la lista. Puede usar el punto final **GET Obtener lista de prefijos de MCR** para encontrar el ID de la lista.

La lista de filtros de prefijos de MCR es una lista nombrada de direcciones de red IP. Una lista de filtros de prefijos se utiliza para coincidir y filtrar rutas basadas en el prefijo de la ruta y aplicar el filtro a rutas recibidas o anunciadas a pares BGP en el MCR. El MCR compara cada prefijo de ruta contra las condiciones en la lista, una coincidencia a la vez, de arriba a abajo, para denegar o anunciar la ruta.

- Una lista de filtros de prefijos se puede aplicar varias veces a diferentes pares BGP.
    
- Se pueden configurar hasta 50 listas de filtros de prefijos en cada MCR.
    
- Cada lista puede contener hasta 200 entradas.
    

Los parámetros tienen estos valores:

- `description` - (Obligatorio) El nombre de la nueva lista de filtros de prefijos.
    
- `addressFamily` - (Obligatorio) El estándar de dirección IP de las direcciones de red IP en la lista de filtros de prefijos.
    
- `action` - (Obligatorio) La acción a tomar para la dirección de red en la lista de filtros. Los valores aceptados son permitir y denegar.
    
- `prefix` - (Obligatorio) La dirección de red.
    
- `ge` - (Opcional) La longitud de prefijo mínima inicial para coincidir. Los valores válidos son de 0 a 32 (IPv4), o de 0 a 128 (IPv6). El mínimo (ge) no debe ser mayor o igual al valor máximo (le).
    
- `le` - (Opcional) La longitud de prefijo máxima final para coincidir. La longitud del prefijo es mayor o igual al valor mínimo (ge). Los valores válidos son de 0 a 32 (IPv4), o de 0 a 128 (IPv6), pero el máximo no debe ser menor que el valor mínimo (ge).
    

Para obtener más información sobre las listas de filtros de prefijos, consulte [Crear un VXC de MCR con la API](https://docs.megaport.com/api/api-mcr-vxc-csp/) y [Filtrado de rutas de MCR](https://docs.megaport.com/mcr/route-filtering/).

Reference: https://es.megaport.ferndocs.com/es/api-reference/megaport-cloud-router-mcr/update-mcr-prefix-list

## Servers

- `https://api.megaport.com` (Entorno de producción, default)
- `https://api-staging.megaport.com` (Entorno de pruebas (solo pruebas, se restablece cada 24 horas))

## Request

### Path parameters

- `productUid` (string, required)
- `id` (string, required)

### Body (application/json)

This endpoint expects an object.

- `addressFamily` (string, optional)
- `description` (string, optional)
- `entries` (list of V2ProductMcr2ProductUidPrefixListIdPutRequestBodyContentApplicationJsonSchemaEntriesItems, optional)

## Response

### 200

Actualizar lista de prefijos MCR / Actualizar lista de prefijos MCR

- `data` (V2ProductMcr2ProductUidPrefixListIdPutResponsesContentApplicationJsonSchemaData, optional)
- `message` (string, optional)
- `terms` (string, optional)

## Types

### V2ProductMcr2ProductUidPrefixListIdPutRequestBodyContentApplicationJsonSchemaEntriesItems

- `action` (string, optional)
- `ge` (double, optional)
- `le` (double, optional)
- `prefix` (string, optional)

### V2ProductMcr2ProductUidPrefixListIdPutResponsesContentApplicationJsonSchemaData

- `addressFamily` (string, optional)
- `description` (string, optional)
- `entries` (list of V2ProductMcr2ProductUidPrefixListIdPutResponsesContentApplicationJsonSchemaDataEntriesItems, optional)
- `id` (double, optional)

### V2ProductMcr2ProductUidPrefixListIdPutResponsesContentApplicationJsonSchemaDataEntriesItems

- `action` (string, optional)
- `ge` (string, optional)
- `le` (string, optional)
- `prefix` (string, optional)

## Examples

**Request**

```json
{
  "addressFamily": "IPv4",
  "description": "Lista de Filtros de Prefijo Actualizada",
  "entries": [
    {
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.0.0.0/24"
    },
    {
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.1.0.0/24"
    },
    {
      "action": "permit",
      "ge": 20,
      "le": 32,
      "prefix": "10.2.0.0/16"
    }
  ]
}
```

**Response**

```json
{
  "data": {
    "addressFamily": "IPv4",
    "description": "Lista de Filtros de Prefijo Actualizada",
    "entries": [
      {
        "action": "permit",
        "prefix": "10.0.0.0/24"
      },
      {
        "action": "permit",
        "prefix": "10.1.0.0/24"
      },
      {
        "action": "permit",
        "ge": "20",
        "le": "32",
        "prefix": "10.2.0.0/16"
      }
    ],
    "id": 2798
  },
  "message": "Lista de prefijos actualizada",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python
import requests

url = "https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id"

payload = {
    "addressFamily": "IPv4",
    "description": "Lista de Filtros de Prefijo Actualizada",
    "entries": [
        {
            "action": "permit",
            "ge": 24,
            "le": 24,
            "prefix": "10.0.0.0/24"
        },
        {
            "action": "permit",
            "ge": 24,
            "le": 24,
            "prefix": "10.1.0.0/24"
        },
        {
            "action": "permit",
            "ge": 20,
            "le": 32,
            "prefix": "10.2.0.0/16"
        }
    ]
}
headers = {"Content-Type": "application/json"}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id';
const options = {
  method: 'PUT',
  headers: {'Content-Type': 'application/json'},
  body: '{"addressFamily":"IPv4","description":"Lista de Filtros de Prefijo Actualizada","entries":[{"action":"permit","ge":24,"le":24,"prefix":"10.0.0.0/24"},{"action":"permit","ge":24,"le":24,"prefix":"10.1.0.0/24"},{"action":"permit","ge":20,"le":32,"prefix":"10.2.0.0/16"}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id"

	payload := strings.NewReader("{\n  \"addressFamily\": \"IPv4\",\n  \"description\": \"Lista de Filtros de Prefijo Actualizada\",\n  \"entries\": [\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.0.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.1.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 20,\n      \"le\": 32,\n      \"prefix\": \"10.2.0.0/16\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"addressFamily\": \"IPv4\",\n  \"description\": \"Lista de Filtros de Prefijo Actualizada\",\n  \"entries\": [\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.0.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.1.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 20,\n      \"le\": 32,\n      \"prefix\": \"10.2.0.0/16\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id")
  .header("Content-Type", "application/json")
  .body("{\n  \"addressFamily\": \"IPv4\",\n  \"description\": \"Lista de Filtros de Prefijo Actualizada\",\n  \"entries\": [\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.0.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.1.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 20,\n      \"le\": 32,\n      \"prefix\": \"10.2.0.0/16\"\n    }\n  ]\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id', [
  'body' => '{
  "addressFamily": "IPv4",
  "description": "Lista de Filtros de Prefijo Actualizada",
  "entries": [
    {
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.0.0.0/24"
    },
    {
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.1.0.0/24"
    },
    {
      "action": "permit",
      "ge": 20,
      "le": 32,
      "prefix": "10.2.0.0/16"
    }
  ]
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id");
var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"addressFamily\": \"IPv4\",\n  \"description\": \"Lista de Filtros de Prefijo Actualizada\",\n  \"entries\": [\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.0.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 24,\n      \"le\": 24,\n      \"prefix\": \"10.1.0.0/24\"\n    },\n    {\n      \"action\": \"permit\",\n      \"ge\": 20,\n      \"le\": 32,\n      \"prefix\": \"10.2.0.0/16\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "addressFamily": "IPv4",
  "description": "Lista de Filtros de Prefijo Actualizada",
  "entries": [
    [
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.0.0.0/24"
    ],
    [
      "action": "permit",
      "ge": 24,
      "le": 24,
      "prefix": "10.1.0.0/24"
    ],
    [
      "action": "permit",
      "ge": 20,
      "le": 32,
      "prefix": "10.2.0.0/16"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/mcr2/productUid/prefixList/id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```