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

# Actualización IX

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

Actualiza la información editable para un IX.

El `productUid` identifica el IX.

**Consejo:** Use el endpoint `/v2/product` para determinar el `productUid`.

Los cambios se definen en el Cuerpo de la solicitud. Solo incluya los atributos que desea actualizar.

**Nota:** Puede actualizar un producto solo cuando su estado de aprovisionamiento es `CONFIGURED` o `LIVE`.

Para más detalles, consulte [Cambiar una Configuración de IX con la API](https://docs.megaport.com/api/api-ix-change/).

#### Atributos Disponibles

Estos atributos pueden actualizarse mediante este endpoint:

| **Atributo** | **Descripción** |
| --- | --- |
| `name` | (Cadena) Nombre del IX |
| `rateLimit` | (Entero) Límite de velocidad en Mbps |
| `costCentre` | (Cadena) Para propósitos de facturación |
| `vlan` | (Entero) |
| `macAddress` | (Cadena) |
| `asn` | (Entero) Tenga mucho cuidado al cambiar esto |
| `password` | (Cadena) Contraseña BGP |
| `publicGraph` | (Booleano) |
| `reverseDns` | (Cadena) Búsqueda DNS de un nombre de dominio desde una dirección IP. Puede cambiar este valor para introducir un nombre de host personalizado para su dirección IP. |
| `aEndProductUid` | (Cadena) Mover el IX cambiando el A-End del IX. Proporcione el `productUid` del nuevo A-End. |
| `shutdown` | (Booleano) Apagar y rehabilitar el IX. Los valores válidos son `true` (apagado) y `false` (habilitado). Si no se proporciona, el valor predeterminado es `false` (habilitado). |

#### Mover IX

Puede mover un IX actualizando el A-End mediante el campo `aEndProductUid`.

Existen reglas que determinan dónde y cómo se puede mover un IX:

- El nuevo Puerto A-End puede estar en una ubicación diferente pero debe estar en la **misma área metropolitana**.
    
- El IX debe estar al menos en un estado **Configurado**.
    
- Un IX bloqueado por un Administrador de Empresa no puede moverse.
    
- Puede mover un IX desbloqueado bajo un Puerto bloqueado.
    
- Los Puertos de origen y destino deben ser propiedad de la misma cuenta de cliente.
    
- Cualquier usuario que esté autorizado para editar la velocidad de un IX puede mover el IX desde cualquier tipo de cuenta.
    
- El movimiento no debe causar un cambio en la facturación.
    

Si el movimiento de IX no es válido, el movimiento fallará.

Reference: https://es.megaport.ferndocs.com/es/api-reference/internet-exchange-ix/update-ix

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

### Body (application/json)

This endpoint expects an object.

- `rateLimit` (double, optional)

## Response

### 200

Actualización IX - Límite de Tasa / Actualización IX - DNS Inverso / Mover IX / Apagar IX / Reactivar IX / Mover IX / Actualización IX - DNS Inverso / Apagar IX / Reactivar IX / Actualización IX - Límite de Tasa

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

## Types

### V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaData

- `aCountry` (string, optional)
- `aLocation` (string, optional)
- `aLocationId` (double, optional)
- `aMetro` (string, optional)
- `accountManager` (any, optional, nullable)
- `adminContactId` (any, optional, nullable)
- `adminContactName` (any, optional, nullable)
- `adminLocked` (boolean, optional)
- `aggregationId` (any, optional, nullable)
- `attributeTags` (V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataAttributeTags, optional)
- `attributes` (list of any, optional)
- `bCountry` (any, optional, nullable)
- `bLocation` (string, optional)
- `bLocationId` (any, optional, nullable)
- `bMetro` (any, optional, nullable)
- `bgpShutdownDefault` (boolean, optional)
- `billableId` (double, optional)
- `billableUsageAlgorithm` (any, optional, nullable)
- `billingContactId` (any, optional, nullable)
- `billingContactName` (any, optional, nullable)
- `buyoutPort` (any, optional, nullable)
- `companyId` (double, optional)
- `companyName` (string, optional)
- `components` (list of V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataComponentsItems, optional)
- `configuredDate` (double, optional)
- `contractStartDate` (any, optional, nullable)
- `contractTermMonths` (double, optional)
- `createDate` (double, optional)
- `createdBy` (string, optional)
- `currentEstimatedDelivery` (any, optional, nullable)
- `errorMessage` (any, optional, nullable)
- `failedReason` (any, optional, nullable)
- `inAdvanceBillingStatus` (any, optional, nullable)
- `intercapPath` (any, optional, nullable)
- `lagId` (any, optional, nullable)
- `lagPrimary` (boolean, optional)
- `locked` (boolean, optional)
- `market` (string, optional)
- `marketplaceVisibility` (boolean, optional)
- `maximumSpeed` (any, optional, nullable)
- `minimumSpeed` (any, optional, nullable)
- `name` (string, optional)
- `nonPayerCompanyId` (any, optional, nullable)
- `originDomain` (any, optional, nullable)
- `payerCompanyId` (any, optional, nullable)
- `productType` (string, optional)
- `promptUid` (any, optional, nullable)
- `provisioningItems` (list of any, optional)
- `provisioningStatus` (string, optional)
- `publicGraph` (boolean, optional)
- `rateLimit` (double, optional)
- `rateType` (string, optional)
- `requestedDate` (double, optional)
- `salesId` (any, optional, nullable)
- `salesName` (any, optional, nullable)
- `secondaryName` (any, optional, nullable)
- `serviceName` (string, optional)
- `tags` (list of any, optional)
- `technicalContactId` (any, optional, nullable)
- `technicalContactName` (any, optional, nullable)
- `technicalServiceId` (double, optional)
- `technicalServiceUid` (string, optional)
- `terminationDate` (any, optional, nullable)
- `trialAgreement` (boolean, optional)
- `virtual` (boolean, optional)
- `vxcAutoApproval` (boolean, optional)
- `vxcDistanceBand` (string, optional)
- `vxcPermitted` (boolean, optional)

### V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataAttributeTags

### V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataComponentsItems

- `description` (string, optional)
- `jservice_id` (double, optional)
- `nservice_id` (double, optional)
- `resources` (list of V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataComponentsItemsResourcesItems, optional)
- `status` (string, optional)
- `type` (string, optional)

### V2ProductIxProductUidPutResponsesContentApplicationJsonSchemaDataComponentsItemsResourcesItems

- `address` (string, optional)
- `asn` (double, optional)
- `customer_asn` (double, optional)
- `customer_ip_address` (string, optional)
- `demarcation` (string, optional)
- `description` (string, optional, nullable)
- `id` (double, optional)
- `isp_asn` (double, optional)
- `isp_ip_address` (string, optional)
- `ix_peer_macro` (any, optional, nullable)
- `ix_peer_policy` (string, optional)
- `loa_template` (string, optional)
- `mac_address` (string, optional)
- `max_prefixes` (double, optional)
- `media` (string, optional)
- `name` (string, optional)
- `password` (any, optional, nullable)
- `port_speed` (double, optional)
- `rate_limit_mbps` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `up` (double, optional, nullable)
- `version` (double, optional)
- `vlan` (double, optional)

## Examples

### Move IX

**Response**

```json
{
  "data": {
    "aCountry": "Australia",
    "aLocation": "bne-nxt2",
    "aLocationId": 383,
    "aMetro": "Brisbane",
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bCountry": null,
    "bLocation": "Ashburn IX",
    "bLocationId": null,
    "bMetro": null,
    "bgpShutdownDefault": false,
    "billableId": 169206,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Megaport Lab Ashburn IX en bne-nxt2 NextDC B2",
        "jservice_id": 177364,
        "nservice_id": 469441,
        "resources": [
          {
            "demarcation": "NextDC B2\n454 Street Pauls Terrace, Fortitude Valley\nRack B2-3A-13-07, RU 42, Slot B2 (LC)\nType: Single-mode Fibre Pair\nPorts: NXT-B2-3A-13-07-F42B2, ports 8 Tx+8 Rx\n",
            "loa_template": "megaport",
            "media": "LR",
            "port_speed": 10000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 1,
            "auto_negotiation": true,
            "shutdown": false
          },
          {
            "mac_address": "00:01:00:01:12:34",
            "rate_limit_mbps": 10000,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 90,
            "shutdown": false
          },
          {
            "address": "206.53.170.36/24",
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4,
            "reverse_dns": "as6533.ashburn.megaport.com."
          },
          {
            "address": "2606:a980:0:3::24/64",
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6,
            "reverse_dns": "as6533.ashburn.megaport.com."
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.170.36/24",
            "isp_asn": 64216,
            "isp_ip_address": "206.53.170.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:3::24/64",
            "isp_asn": 64216,
            "isp_ip_address": "2606:a980:0:3::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.170.36/24",
            "isp_asn": 64216,
            "isp_ip_address": "206.53.170.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:3::24/64",
            "isp_asn": 64216,
            "isp_ip_address": "2606:a980:0:3::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Ashburn IX",
        "up": true
      }
    ],
    "configuredDate": 1698125476207,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1698125456477,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "failedReason": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagId": null,
    "lagPrimary": false,
    "locked": false,
    "market": "Australia",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "PORTBNE2 IX Ashburn",
    "nonPayerCompanyId": null,
    "originDomain": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "CONFIGURED",
    "publicGraph": true,
    "rateLimit": 10000,
    "rateType": "MONTHLY",
    "requestedDate": 1698125456477,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "PORTBNE2 IX Ashburn",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 177364,
    "technicalServiceUid": "13c4185a-de6d-4124-8210-b29e64afdabd",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "INTERZONE",
    "vxcPermitted": true
  },
  "message": "El Servicio IX 177364 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Move IX
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

response = requests.put(url)

print(response.json())
```

```javascript Move IX
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {method: 'PUT'};

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

```go Move IX
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

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

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

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

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

}
```

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

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

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

request = Net::HTTP::Put.new(url)

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

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

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid');

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

```csharp Move IX
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
```

```swift Move IX
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

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()
```

### Re-enable IX

**Response**

```json
{
  "data": {
    "aLocation": "mel-nn2",
    "aLocationId": 366,
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bLocation": "Brisbane IX",
    "bLocationId": null,
    "bgpShutdownDefault": false,
    "billableId": 158711,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Laboratorio de Megaport Brisbane IX en mel-nn2   Equinix ME4",
        "jservice_id": 166814,
        "nservice_id": 434902,
        "resources": [
          {
            "demarcation": "Equinix ME4\n2 Davis Court, Derrimut VIC\nType: Single-mode Fibre Pair\nPorts: PPP:0009-A:1166991, ports 21 Tx+21 Rx\nTermination: LC connector\n",
            "loa_template": "megaport",
            "media": "LR",
            "port_speed": 10000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 1,
            "auto_negotiation": true,
            "shutdown": false
          },
          {
            "mac_address": "3c:22:fb:80:74:9c",
            "rate_limit_mbps": 500,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 3663,
            "shutdown": true
          },
          {
            "address": "103.26.70.10/24",
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4,
            "reverse_dns": "as45.brisbane.megaport.com."
          },
          {
            "address": "2001:dea:0:20::a/64",
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6,
            "reverse_dns": "as45.brisbane.megaport.com."
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "103.26.70.10/24",
            "isp_asn": 58942,
            "isp_ip_address": "103.26.70.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "2001:dea:0:20::a/64",
            "isp_asn": 58942,
            "isp_ip_address": "2001:dea:0:20::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "103.26.70.10/24",
            "isp_asn": 58942,
            "isp_ip_address": "103.26.70.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "2001:dea:0:20::a/64",
            "isp_asn": 58942,
            "isp_ip_address": "2001:dea:0:20::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Brisbane IX",
        "up": true
      }
    ],
    "configuredDate": 1689210963708,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1689210661032,
    "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "failedReason": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagId": null,
    "lagPrimary": false,
    "locked": false,
    "market": "Australia",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "GB IX",
    "nonPayerCompanyId": null,
    "originDomain": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "CONFIGURED",
    "publicGraph": true,
    "rateLimit": 500,
    "rateType": "MONTHLY",
    "requestedDate": 1689210661032,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "GB IX",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 166814,
    "technicalServiceUid": "85e797b9-1837-4488-ad87-b41362928e07",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "INTERZONE",
    "vxcPermitted": true
  },
  "message": "El Servicio IX 166814 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Re-enable IX
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

response = requests.put(url)

print(response.json())
```

```javascript Re-enable IX
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {method: 'PUT'};

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

```go Re-enable IX
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

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

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

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

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

}
```

```ruby Re-enable IX
require 'uri'
require 'net/http'

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

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

request = Net::HTTP::Put.new(url)

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

```java Re-enable IX
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .asString();
```

```php Re-enable IX
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid');

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

```csharp Re-enable IX
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
```

```swift Re-enable IX
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

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()
```

### Shut Down IX

**Response**

```json
{
  "data": {
    "aLocation": "mel-nn2",
    "aLocationId": 366,
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bLocation": "Brisbane IX",
    "bLocationId": null,
    "bgpShutdownDefault": false,
    "billableId": 158711,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Laboratorio de Megaport Brisbane IX en mel-nn2   Equinix ME4",
        "jservice_id": 166814,
        "nservice_id": 434902,
        "resources": [
          {
            "demarcation": "Equinix ME4\n2 Davis Court, Derrimut VIC\nType: Single-mode Fibre Pair\nPorts: PPP:0009-A:1166991, ports 21 Tx+21 Rx\nTermination: LC connector\n",
            "loa_template": "megaport",
            "media": "LR",
            "port_speed": 10000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 0,
            "auto_negotiation": true,
            "shutdown": false
          },
          {
            "mac_address": "3c:22:fb:80:74:9c",
            "rate_limit_mbps": 500,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 3663,
            "shutdown": false
          },
          {
            "address": "103.26.70.10/24",
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4,
            "reverse_dns": "as45.brisbane.megaport.com."
          },
          {
            "address": "2001:dea:0:20::a/64",
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6,
            "reverse_dns": "as45.brisbane.megaport.com."
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "103.26.70.10/24",
            "isp_asn": 58942,
            "isp_ip_address": "103.26.70.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "2001:dea:0:20::a/64",
            "isp_asn": 58942,
            "isp_ip_address": "2001:dea:0:20::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "103.26.70.10/24",
            "isp_asn": 58942,
            "isp_ip_address": "103.26.70.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 45,
            "customer_asn": 45,
            "customer_ip_address": "2001:dea:0:20::a/64",
            "isp_asn": 58942,
            "isp_ip_address": "2001:dea:0:20::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Brisbane IX",
        "up": false
      }
    ],
    "configuredDate": 1689210963708,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1689210661032,
    "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "failedReason": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagId": null,
    "lagPrimary": false,
    "locked": false,
    "market": "Australia",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "GB IX",
    "nonPayerCompanyId": null,
    "originDomain": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "CONFIGURED",
    "publicGraph": true,
    "rateLimit": 500,
    "rateType": "MONTHLY",
    "requestedDate": 1689210661032,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "GB IX",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 166814,
    "technicalServiceUid": "85e797b9-1837-4488-ad87-b41362928e07",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "INTERZONE",
    "vxcPermitted": true
  },
  "message": "El Servicio IX 166814 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Shut Down IX
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

response = requests.put(url)

print(response.json())
```

```javascript Shut Down IX
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {method: 'PUT'};

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

```go Shut Down IX
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

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

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

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

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

}
```

```ruby Shut Down IX
require 'uri'
require 'net/http'

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

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

request = Net::HTTP::Put.new(url)

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

```java Shut Down IX
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid');

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

```csharp Shut Down IX
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
```

```swift Shut Down IX
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

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()
```

### Update IX - Rate Limit

**Response**

```json
{
  "data": {
    "aLocation": "lax-cs1",
    "aLocationId": 60,
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bLocation": "Los Angeles IX",
    "bLocationId": null,
    "bgpShutdownDefault": false,
    "billableId": 69836,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Megaport Lab Los Angeles IX en lax-cs1   CoreSite LA1",
        "jservice_id": 70757,
        "nservice_id": 158689,
        "resources": [
          {
            "address": "206.53.172.24/24",
            "description": null,
            "id": 40444,
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4
          },
          {
            "address": "2606:a980:0:5::18/64",
            "description": null,
            "id": 40445,
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6
          },
          {
            "asn": 12345,
            "customer_asn": 12345,
            "customer_ip_address": "206.53.172.24/24",
            "id": 18924,
            "isp_asn": 64220,
            "isp_ip_address": "206.53.172.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "demarcation": "CoreSite LA1\n624 South Grand Avenue\nCR2700-118\nType: Single-mode Fibre Pair\nPorts: ODP.B SHELF.1 SLOT C, ports 7+8\n",
            "description": "I apologize, but it seems like no text was actually included in your message for translation. Could you please provide the specific English text you would like me to translate to Spanish?",
            "id": 56922,
            "loa_template": "megaport",
            "media": "LX",
            "name": "ge-0/0/0",
            "port_speed": 1000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 0
          },
          {
            "asn": 12345,
            "customer_asn": 12345,
            "customer_ip_address": "206.53.172.24/24",
            "id": 18923,
            "isp_asn": 64220,
            "isp_ip_address": "206.53.172.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 12345,
            "customer_asn": 12345,
            "customer_ip_address": "2606:a980:0:5::18/64",
            "id": 18925,
            "isp_asn": 64220,
            "isp_ip_address": "2606:a980:0:5::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "id": 11863,
            "mac_address": "00:11:22:33:44:55",
            "rate_limit_mbps": 500,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 2001
          },
          {
            "asn": 12345,
            "customer_asn": 12345,
            "customer_ip_address": "2606:a980:0:5::18/64",
            "id": 18926,
            "isp_asn": 64220,
            "isp_ip_address": "2606:a980:0:5::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Los Angeles IX"
      }
    ],
    "configuredDate": 1605140942517,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1605140885851,
    "createdBy": "52a26471-94de-4d32-b89e-0cd5d26c1f65",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagPrimary": false,
    "locked": false,
    "market": "USA",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "My LA IX",
    "nonPayerCompanyId": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "LIVE",
    "publicGraph": true,
    "rateLimit": 1000,
    "rateType": "MONTHLY",
    "requestedDate": 1605140885851,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "My LA IX",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 70757,
    "technicalServiceUid": "4fe74795-8b43-4252-a4c3-5c016985077b",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "DATA_CENTRE",
    "vxcPermitted": true
  },
  "message": "El servicio IX 70757 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update IX - Rate Limit
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

response = requests.put(url)

print(response.json())
```

```javascript Update IX - Rate Limit
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {method: 'PUT'};

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

```go Update IX - Rate Limit
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

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

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

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

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

}
```

```ruby Update IX - Rate Limit
require 'uri'
require 'net/http'

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

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

request = Net::HTTP::Put.new(url)

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

```java Update IX - Rate Limit
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .asString();
```

```php Update IX - Rate Limit
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid');

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

```csharp Update IX - Rate Limit
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
```

```swift Update IX - Rate Limit
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

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()
```

### Update IX - Reverse DNS

**Response**

```json
{
  "data": {
    "aCountry": "Australia",
    "aLocation": "mel-mdc",
    "aLocationId": 23,
    "aMetro": "Melbourne",
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bCountry": null,
    "bLocation": "Charlotte IX",
    "bLocationId": null,
    "bMetro": null,
    "bgpShutdownDefault": false,
    "billableId": 169477,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Laboratorio de Megaport Charlotte IX en mel-mdc   5GRedes",
        "jservice_id": 177636,
        "nservice_id": 470380,
        "resources": [
          {
            "demarcation": "5GNetworks\nLevel 15, 530 Collins Street, Melbourne\nRack Com 10\nType: Single-mode Fibre Pair\nPorts: FTP 1693, ports 129+130\nTermination: LCA connector\n",
            "loa_template": "megaport",
            "media": "LR",
            "port_speed": 10000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 1,
            "auto_negotiation": true,
            "shutdown": false
          },
          {
            "mac_address": "00:01:00:01:12:34",
            "rate_limit_mbps": 500,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 1144,
            "shutdown": false
          },
          {
            "address": "206.53.169.7/26",
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4,
            "reverse_dns": "as6533.charlotte.com."
          },
          {
            "address": "2606:a980:0:6::7/64",
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6,
            "reverse_dns": "as6533.charlotte.com."
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.169.7/26",
            "isp_asn": 64220,
            "isp_ip_address": "206.53.169.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:6::7/64",
            "isp_asn": 64220,
            "isp_ip_address": "2606:a980:0:6::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.169.7/26",
            "isp_asn": 64220,
            "isp_ip_address": "206.53.169.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:6::7/64",
            "isp_asn": 64220,
            "isp_ip_address": "2606:a980:0:6::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Charlotte IX",
        "up": true
      }
    ],
    "configuredDate": 1698292618921,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1698292608995,
    "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "failedReason": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagId": null,
    "lagPrimary": false,
    "locked": false,
    "market": "Australia",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "GB IX",
    "nonPayerCompanyId": null,
    "originDomain": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "CONFIGURED",
    "publicGraph": true,
    "rateLimit": 500,
    "rateType": "MONTHLY",
    "requestedDate": 1698292608995,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "GB IX",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 177636,
    "technicalServiceUid": "91c58c2c-1385-449e-b68e-9178954ccd65",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "INTERZONE",
    "vxcPermitted": true
  },
  "message": "El Servicio IX 177636 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update IX - Reverse DNS
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

response = requests.put(url)

print(response.json())
```

```javascript Update IX - Reverse DNS
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {method: 'PUT'};

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

```go Update IX - Reverse DNS
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

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

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

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

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

}
```

```ruby Update IX - Reverse DNS
require 'uri'
require 'net/http'

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

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

request = Net::HTTP::Put.new(url)

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

```java Update IX - Reverse DNS
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .asString();
```

```php Update IX - Reverse DNS
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid');

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

```csharp Update IX - Reverse DNS
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
IRestResponse response = client.Execute(request);
```

```swift Update IX - Reverse DNS
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"

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()
```

### Update IX

**Request**

```json
{
  "rateLimit": 1000
}
```

**Response**

```json
{
  "data": {
    "aCountry": "Australia",
    "aLocation": "bne-nxt2",
    "aLocationId": 383,
    "aMetro": "Brisbane",
    "accountManager": null,
    "adminContactId": null,
    "adminContactName": null,
    "adminLocked": false,
    "aggregationId": null,
    "attributeTags": {},
    "attributes": [],
    "bCountry": null,
    "bLocation": "Ashburn IX",
    "bLocationId": null,
    "bMetro": null,
    "bgpShutdownDefault": false,
    "billableId": 169206,
    "billableUsageAlgorithm": null,
    "billingContactId": null,
    "billingContactName": null,
    "buyoutPort": null,
    "companyId": 1153,
    "companyName": "Megaport Lab",
    "components": [
      {
        "description": "Megaport Lab Ashburn IX en bne-nxt2 NextDC B2",
        "jservice_id": 177364,
        "nservice_id": 469441,
        "resources": [
          {
            "demarcation": "NextDC B2\n454 Street Pauls Terrace, Fortitude Valley\nRack B2-3A-13-07, RU 42, Slot B2 (LC)\nType: Single-mode Fibre Pair\nPorts: NXT-B2-3A-13-07-F42B2, ports 8 Tx+8 Rx\n",
            "loa_template": "megaport",
            "media": "LR",
            "port_speed": 10000,
            "resource_name": "interface",
            "resource_type": "interface",
            "up": 1,
            "auto_negotiation": true,
            "shutdown": false
          },
          {
            "mac_address": "00:01:00:01:12:34",
            "rate_limit_mbps": 10000,
            "resource_name": "vpls_interface",
            "resource_type": "vpls_interface",
            "vlan": 90,
            "shutdown": false
          },
          {
            "address": "206.53.170.36/24",
            "resource_name": "ipv4_address",
            "resource_type": "ip_address",
            "version": 4,
            "reverse_dns": "as6533.ashburn.megaport.com."
          },
          {
            "address": "2606:a980:0:3::24/64",
            "resource_name": "ipv6_address",
            "resource_type": "ip_address",
            "version": 6,
            "reverse_dns": "as6533.ashburn.megaport.com."
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.170.36/24",
            "isp_asn": 64216,
            "isp_ip_address": "206.53.170.1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs1_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:3::24/64",
            "isp_asn": 64216,
            "isp_ip_address": "2606:a980:0:3::1",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs1_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "206.53.170.36/24",
            "isp_asn": 64216,
            "isp_ip_address": "206.53.170.2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 1000,
            "password": null,
            "resource_name": "rs2_ipv4_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          },
          {
            "asn": 6533,
            "customer_asn": 6533,
            "customer_ip_address": "2606:a980:0:3::24/64",
            "isp_asn": 64216,
            "isp_ip_address": "2606:a980:0:3::2",
            "ix_peer_macro": null,
            "ix_peer_policy": "open",
            "max_prefixes": 100,
            "password": null,
            "resource_name": "rs2_ipv6_bgp_connection",
            "resource_type": "bgp_connection",
            "up": null
          }
        ],
        "status": "Active",
        "type": "Ashburn IX",
        "up": true
      }
    ],
    "configuredDate": 1698125476207,
    "contractStartDate": null,
    "contractTermMonths": 1,
    "createDate": 1698125456477,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "currentEstimatedDelivery": null,
    "errorMessage": null,
    "failedReason": null,
    "inAdvanceBillingStatus": null,
    "intercapPath": null,
    "lagId": null,
    "lagPrimary": false,
    "locked": false,
    "market": "Australia",
    "marketplaceVisibility": true,
    "maximumSpeed": null,
    "minimumSpeed": null,
    "name": "PORTBNE2 IX Ashburn",
    "nonPayerCompanyId": null,
    "originDomain": null,
    "payerCompanyId": null,
    "productType": "IX",
    "promptUid": null,
    "provisioningItems": [],
    "provisioningStatus": "CONFIGURED",
    "publicGraph": true,
    "rateLimit": 10000,
    "rateType": "MONTHLY",
    "requestedDate": 1698125456477,
    "salesId": null,
    "salesName": null,
    "secondaryName": null,
    "serviceName": "PORTBNE2 IX Ashburn",
    "tags": [],
    "technicalContactId": null,
    "technicalContactName": null,
    "technicalServiceId": 177364,
    "technicalServiceUid": "13c4185a-de6d-4124-8210-b29e64afdabd",
    "terminationDate": null,
    "trialAgreement": false,
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcDistanceBand": "INTERZONE",
    "vxcPermitted": true
  },
  "message": "El Servicio IX 177364 ha sido actualizado",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update IX
import requests

url = "https://api.megaport.com/v2/product/ix/productUid"

payload = { "rateLimit": 1000 }
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Update IX
const url = 'https://api.megaport.com/v2/product/ix/productUid';
const options = {
  method: 'PUT',
  headers: {'Content-Type': 'application/json'},
  body: '{"rateLimit":1000}'
};

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

```go Update IX
package main

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

func main() {

	url := "https://api.megaport.com/v2/product/ix/productUid"

	payload := strings.NewReader("{\n  \"rateLimit\": 1000\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 Update IX
require 'uri'
require 'net/http'

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

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  \"rateLimit\": 1000\n}"

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

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

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/product/ix/productUid")
  .header("Content-Type", "application/json")
  .body("{\n  \"rateLimit\": 1000\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/product/ix/productUid', [
  'body' => '{
  "rateLimit": 1000
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Update IX
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/product/ix/productUid");
var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"rateLimit\": 1000\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Update IX
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["rateLimit": 1000] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v2/product/ix/productUid")! 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()
```